Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 15841 invoked from network); 12 Aug 2006 23:04:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 12 Aug 2006 23:04:28 -0000 Received: (qmail 43427 invoked by uid 500); 12 Aug 2006 23:04:27 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 43383 invoked by uid 500); 12 Aug 2006 23:04:27 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 43372 invoked by uid 99); 12 Aug 2006 23:04:27 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 12 Aug 2006 16:04:27 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 12 Aug 2006 16:04:26 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id B07611A981A; Sat, 12 Aug 2006 16:04:00 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r431110 - in /geronimo/xbean/trunk: maven-xbean-plugin/src/main/java/org/apache/xbean/maven/ xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/ Date: Sat, 12 Aug 2006 23:04:00 -0000 To: scm@geronimo.apache.org From: gnodet@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20060812230400.B07611A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: gnodet Date: Sat Aug 12 16:03:59 2006 New Revision: 431110 URL: http://svn.apache.org/viewvc?rev=431110&view=rev Log: XBEAN-43: The metadata generator should create the spring.schemas property file Modified: geronimo/xbean/trunk/maven-xbean-plugin/src/main/java/org/apache/xbean/maven/XBeanMojo.java geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/MappingGeneratorTask.java geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/XmlMetadataGenerator.java Modified: geronimo/xbean/trunk/maven-xbean-plugin/src/main/java/org/apache/xbean/maven/XBeanMojo.java URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/maven-xbean-plugin/src/main/java/org/apache/xbean/maven/XBeanMojo.java?rev=431110&r1=431109&r2=431110&view=diff ============================================================================== --- geronimo/xbean/trunk/maven-xbean-plugin/src/main/java/org/apache/xbean/maven/XBeanMojo.java (original) +++ geronimo/xbean/trunk/maven-xbean-plugin/src/main/java/org/apache/xbean/maven/XBeanMojo.java Sat Aug 12 16:03:59 2006 @@ -122,7 +122,7 @@ } MappingLoader mappingLoader = new QdoxMappingLoader(namespace, new File[] { srcDir }, excludedClasses); GeneratorPlugin[] plugins = new GeneratorPlugin[]{ - new XmlMetadataGenerator(this, outputDir.getAbsolutePath()), + new XmlMetadataGenerator(this, outputDir.getAbsolutePath(), schema), new DocumentationGenerator(this, schema), new XsdGenerator(this, schema) }; Modified: geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/MappingGeneratorTask.java URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/MappingGeneratorTask.java?rev=431110&r1=431109&r2=431110&view=diff ============================================================================== --- geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/MappingGeneratorTask.java (original) +++ geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/MappingGeneratorTask.java Sat Aug 12 16:03:59 2006 @@ -95,7 +95,7 @@ MappingLoader mappingLoader = new QdoxMappingLoader(namespace, getFiles(srcDir), excludedClasses); GeneratorPlugin[] plugins = new GeneratorPlugin[]{ - new XmlMetadataGenerator(this, metaInfDir), + new XmlMetadataGenerator(this, metaInfDir, destFile), new DocumentationGenerator(this, destFile), new XsdGenerator(this, destFile) }; Modified: geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/XmlMetadataGenerator.java URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/XmlMetadataGenerator.java?rev=431110&r1=431109&r2=431110&view=diff ============================================================================== --- geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/XmlMetadataGenerator.java (original) +++ geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/generator/XmlMetadataGenerator.java Sat Aug 12 16:03:59 2006 @@ -20,6 +20,7 @@ import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; +import java.net.URI; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -36,12 +37,14 @@ public class XmlMetadataGenerator implements GeneratorPlugin { private final String metaInfDir; private final LogFacade log; + private final File schema; public static final String NAMESPACE_HANDLER = "org.apache.xbean.spring.context.v2.XBeanNamespaceHandler"; - public XmlMetadataGenerator(LogFacade log, String metaInfDir) { + public XmlMetadataGenerator(LogFacade log, String metaInfDir, File schema) { this.metaInfDir = metaInfDir; this.log = log; + this.schema = schema; } public void generate(NamespaceMapping namespaceMapping) throws IOException { @@ -68,6 +71,18 @@ out.println(namespace.replaceAll(":", "\\\\:") + "=" + NAMESPACE_HANDLER); } finally { out.close(); + } + + if (schema != null) { + String cp = new File(metaInfDir).toURI().relativize(schema.toURI()).toString(); + file = new File(metaInfDir, "META-INF/spring.schemas"); + log.log("Generating Spring 2.0 schema mapping: " + file + " for namespace: " + namespace); + out = new PrintWriter(new FileWriter(file)); + try { + out.println(namespace.replaceAll(":", "\\\\:") + "=" + cp); + } finally { + out.close(); + } } }