Why is the BouncyCastle license used for this module?
Thanks,
Aaron
On 3/29/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> Author: djencks
> Date: Wed Mar 29 08:38:17 2006
> New Revision: 389823
>
> URL: http://svn.apache.org/viewcvs?rev=389823&view=rev
> Log:
> Add the start of a converter utility, also has a loginmodulegbean change that
> should be ok but I'm not sure why I didn't commit it before. revert if it
> causes problems.
>
> Added:
> geronimo/branches/1.1/modules/upgrade/
> geronimo/branches/1.1/modules/upgrade/LICENSE.txt
> geronimo/branches/1.1/modules/upgrade/NOTICE.txt
> geronimo/branches/1.1/modules/upgrade/project.xml
> geronimo/branches/1.1/modules/upgrade/src/
> geronimo/branches/1.1/modules/upgrade/src/java/
> geronimo/branches/1.1/modules/upgrade/src/java/org/
> geronimo/branches/1.1/modules/upgrade/src/java/org/apache/
> geronimo/branches/1.1/modules/upgrade/src/java/org/apache/geronimo/
>
> geronimo/branches/1.1/modules/upgrade/src/java/org/apache/geronimo/upgrade/
>
> geronimo/branches/1.1/modules/upgrade/src/java/org/apache/geronimo/upgrade/Upgrade1_0To1_1.java
> geronimo/branches/1.1/modules/upgrade/src/test/
> geronimo/branches/1.1/modules/upgrade/src/test-data/
> geronimo/branches/1.1/modules/upgrade/src/test-data/appclient_ejb_1.xml
> geronimo/branches/1.1/modules/upgrade/src/test/org/
> geronimo/branches/1.1/modules/upgrade/src/test/org/apache/
> geronimo/branches/1.1/modules/upgrade/src/test/org/apache/geronimo/
>
> geronimo/branches/1.1/modules/upgrade/src/test/org/apache/geronimo/upgrade/
>
> geronimo/branches/1.1/modules/upgrade/src/test/org/apache/geronimo/upgrade/Upgrade1_0To1_1Test.java
>
> Added: geronimo/branches/1.1/modules/upgrade/LICENSE.txt
> URL:
> http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/upgrade/LICENSE.txt?rev=389823&view=auto
> ==============================================================================
> --- geronimo/branches/1.1/modules/upgrade/LICENSE.txt (added)
> +++ geronimo/branches/1.1/modules/upgrade/LICENSE.txt Wed Mar 29 08:38:17 2006
> @@ -0,0 +1,20 @@
> +The Bouncy Castle License
> +
> +Copyright (c) 2000-2005 The Legion Of The Bouncy Castle
> (http://www.bouncycastle.org)
> +
> +Permission is hereby granted, free of charge, to any person obtaining a copy
> of this software
> +and associated documentation files (the "Software"), to deal in the Software
> without restriction,
> +including without limitation the rights to use, copy, modify, merge,
> publish, distribute, sublicense,
> +and/or sell copies of the Software, and to permit persons to whom the
> Software is furnished to do so,
> +subject to the following conditions:
> +
> +The above copyright notice and this permission notice shall be included in
> all copies or substantial
> +portions of the Software.
> +
> +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
> IMPLIED,
> +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR
> A PARTICULAR
> +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
> HOLDERS BE
> +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
> CONTRACT, TORT OR
> +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
> USE OR OTHER
> +DEALINGS IN THE SOFTWARE.
> +
>
> Added: geronimo/branches/1.1/modules/upgrade/NOTICE.txt
> URL:
> http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/upgrade/NOTICE.txt?rev=389823&view=auto
> ==============================================================================
> --- geronimo/branches/1.1/modules/upgrade/NOTICE.txt (added)
> +++ geronimo/branches/1.1/modules/upgrade/NOTICE.txt Wed Mar 29 08:38:17 2006
> @@ -0,0 +1,3 @@
> +This product includes software developed by
> +The Apache Software Foundation (http://www.apache.org/).
> +
>
> Added: geronimo/branches/1.1/modules/upgrade/project.xml
> URL:
> http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/upgrade/project.xml?rev=389823&view=auto
> ==============================================================================
> --- geronimo/branches/1.1/modules/upgrade/project.xml (added)
> +++ geronimo/branches/1.1/modules/upgrade/project.xml Wed Mar 29 08:38:17 2006
> @@ -0,0 +1,158 @@
> +<?xml version="1.0" encoding="ISO-8859-1"?>
> +<!--
> +
> + Copyright 2003-2004 The Apache Software Foundation
> +
> + Licensed under the Apache License, Version 2.0 (the "License");
> + you may not use this file except in compliance with the License.
> + You may obtain a copy of the License at
> +
> + http://www.apache.org/licenses/LICENSE-2.0
> +
> + Unless required by applicable law or agreed to in writing, software
> + distributed under the License is distributed on an "AS IS" BASIS,
> + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> + See the License for the specific language governing permissions and
> + limitations under the License.
> +-->
> +
> +<!-- $Rev: 355877 $ $Date: 2005-12-10 18:48:27 -0800 (Sat, 10 Dec 2005) $ -->
> +
> +<project>
> + <pomVersion>3</pomVersion>
> + <extend>../../etc/project.xml</extend>
> +
> + <!-- ===================== -->
> + <!-- Module Identification -->
> + <!-- ===================== -->
> +
> + <name>Geronimo :: Upgrade</name>
> + <id>geronimo-upgrade</id>
> + <shortDescription>Geronimo Upgrade</shortDescription>
> + <description>Geronimo Upgrade</description>
> + <url>http://incubator.apache.org/projects/geronimo/kernel/</url>
> +
> <siteDirectory>/www/incubator.apache.org/projects/geronimo/kernel</siteDirectory>
> +
> <distributionDirectory>/www/incubator.apache.org/projects/geronimo/builds/kernel</distributionDirectory>
> +
> + <package>org.apache.geronimo.ugrade</package>
> +
> + <!-- ============ -->
> + <!-- Dependencies -->
> + <!-- ============ -->
> +
> + <dependencies>
> + <!-- Module Dependencies -->
> + <dependency>
> + <groupId>geronimo</groupId>
> + <artifactId>geronimo-client-builder</artifactId>
> + <version>${geronimo_version}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>geronimo</groupId>
> + <artifactId>geronimo-connector-builder</artifactId>
> + <version>${geronimo_version}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>geronimo</groupId>
> + <artifactId>geronimo-j2ee-builder</artifactId>
> + <version>${geronimo_version}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>geronimo</groupId>
> + <artifactId>geronimo-jetty-builder</artifactId>
> + <version>${geronimo_version}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>geronimo</groupId>
> + <artifactId>geronimo-naming-builder</artifactId>
> + <version>${geronimo_version}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>geronimo</groupId>
> + <artifactId>geronimo-security-builder</artifactId>
> + <version>${geronimo_version}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>geronimo</groupId>
> + <artifactId>geronimo-service-builder</artifactId>
> + <version>${geronimo_version}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>geronimo</groupId>
> + <artifactId>geronimo-tomcat-builder</artifactId>
> + <version>${geronimo_version}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>geronimo</groupId>
> + <artifactId>geronimo-web-builder</artifactId>
> + <version>${geronimo_version}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>openejb</groupId>
> + <artifactId>openejb-builder</artifactId>
> + <version>${openejb_version}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>xmlbeans</groupId>
> + <artifactId>xbean</artifactId>
> + <version>${xmlbeans_version}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>stax</groupId>
> + <artifactId>stax-api</artifactId>
> + <version>${stax_api_version}</version>
> + </dependency>
> +
> + <dependency>
> + <groupId>geronimo</groupId>
> + <artifactId>geronimo-j2ee-schema</artifactId>
> + <version>${pom.currentVersion}</version>
> + <properties>
> + <xmlbeans>true</xmlbeans>
> + </properties>
> + </dependency>
> + <dependency>
> + <groupId>geronimo</groupId>
> + <artifactId>geronimo-kernel</artifactId>
> + <version>${pom.currentVersion}</version>
> + </dependency>
> +
> + </dependencies>
> +
> + <build>
> + <resources>
> + <resource>
> + <directory>${basedir}/src/java</directory>
> + <includes>
> + <include>**/*.xml</include>
> + <include>**/*.properties</include>
> + </includes>
> + </resource>
> + </resources>
> + <unitTest>
> + <includes>
> + <include>**/*Test.java</include>
> + </includes>
> + <excludes>
> + <exclude>**/Abstract*.java</exclude>
> + </excludes>
> + <resources>
> + <resource>
> + <directory>${basedir}/src/test-data</directory>
> + </resource>
> + </resources>
> + </unitTest>
> + </build>
> +
> +</project>
>
> Added:
> geronimo/branches/1.1/modules/upgrade/src/java/org/apache/geronimo/upgrade/Upgrade1_0To1_1.java
> URL:
> http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/upgrade/src/java/org/apache/geronimo/upgrade/Upgrade1_0To1_1.java?rev=389823&view=auto
> ==============================================================================
> ---
> geronimo/branches/1.1/modules/upgrade/src/java/org/apache/geronimo/upgrade/Upgrade1_0To1_1.java
> (added)
> +++
> geronimo/branches/1.1/modules/upgrade/src/java/org/apache/geronimo/upgrade/Upgrade1_0To1_1.java
> Wed Mar 29 08:38:17 2006
> @@ -0,0 +1,167 @@
> +/**
> + *
> + * Copyright 2006 The Apache Software Foundation
> + *
> + * Licensed under the Apache License, Version 2.0 (the "License");
> + * you may not use this file except in compliance with the License.
> + * You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing, software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> + * See the License for the specific language governing permissions and
> + * limitations under the License.
> + */
> +
> +package org.apache.geronimo.upgrade;
> +
> +import java.io.InputStream;
> +import java.io.IOException;
> +import java.io.Writer;
> +import java.util.Map;
> +import java.util.HashMap;
> +import java.util.ArrayList;
> +import java.util.Collection;
> +
> +import javax.xml.namespace.QName;
> +
> +import org.apache.xmlbeans.XmlObject;
> +import org.apache.xmlbeans.XmlException;
> +import org.apache.xmlbeans.XmlOptions;
> +import org.apache.xmlbeans.XmlCursor;
> +import org.apache.geronimo.kernel.repository.Artifact;
> +import org.apache.geronimo.kernel.repository.Environment;
> +import org.apache.geronimo.kernel.repository.ImportType;
> +import org.apache.geronimo.deployment.xbeans.EnvironmentType;
> +import org.apache.geronimo.deployment.service.EnvironmentBuilder;
> +
> +/**
> + * @version $Rev:$ $Date:$
> + */
> +public class Upgrade1_0To1_1 {
> +
> + private static final Map NAMESPACE_UPDATES = new HashMap();
> +
> + static {
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/j2ee/application-client",
> "http://geronimo.apache.org/xml/ns/j2ee/application-client-1.1");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/j2ee/application-client-1.0",
> "http://geronimo.apache.org/xml/ns/j2ee/application-client-1.1");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/j2ee/application",
> "http://geronimo.apache.org/xml/ns/j2ee/application-1.1");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/j2ee/application-1.0",
> "http://geronimo.apache.org/xml/ns/j2ee/application-1.1");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/deployment",
> "http://geronimo.apache.org/xml/ns/deployment-1.1");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/deployment-1.0",
> "http://geronimo.apache.org/xml/ns/deployment-1.1");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/j2ee/connector",
> "http://geronimo.apache.org/xml/ns/j2ee/connector-1.1");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/deployment/javabean",
> "http://geronimo.apache.org/xml/ns/deployment/javabean-1.0");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/loginconfig",
> "http://geronimo.apache.org/xml/ns/loginconfig-1.0");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/loginconfig-1.0",
> "http://geronimo.apache.org/xml/ns/loginconfig-1.0");
> + NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/naming",
> "http://geronimo.apache.org/xml/ns/naming-1.1");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/naming-1.0",
> "http://geronimo.apache.org/xml/ns/naming-1.1");
> + NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/security",
> "http://geronimo.apache.org/xml/ns/security-1.1");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/security-1.0",
> "http://geronimo.apache.org/xml/ns/security-1.1");
> + NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/web",
> "http://geronimo.apache.org/xml/ns/j2ee/web-1.1");
> + NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/web-1.0",
> "http://geronimo.apache.org/xml/ns/j2ee/web-1.1");
> + NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/web/jetty",
> "http://geronimo.apache.org/xml/ns/j2ee/web/jetty-1.1");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/web/jetty-1.0",
> "http://geronimo.apache.org/xml/ns/j2ee/web/jetty-1.1");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/web/jetty/config",
> "http://geronimo.apache.org/xml/ns/j2ee/web/jetty/config-1.0");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/web/tomcat",
> "http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.1");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/web/tomcat-1.0",
> "http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.1");
> +
> NAMESPACE_UPDATES.put("http://geronimo.apache.org/xml/ns/web/tomcat/config",
> "http://geronimo.apache.org/xml/ns/j2ee/web/tomcat/config-1.0");
> + NAMESPACE_UPDATES.put("http://www.openejb.org/xml/ns/openejb-jar",
> "http://www.openejb.org/xml/ns/openejb-jar-2.1");
> +
> NAMESPACE_UPDATES.put("http://www.openejb.org/xml/ns/openejb-jar-2.0",
> "http://www.openejb.org/xml/ns/openejb-jar-2.1");
> + NAMESPACE_UPDATES.put("http://www.openejb.org/xml/ns/pkgen",
> "http://www.openejb.org/xml/ns/pkgen-2.0");
> +
> NAMESPACE_UPDATES.put("http://www.openejb.org/xml/ns/corba-css-config_1_0",
> "http://www.openejb.org/xml/ns/corba-css-config-2.0");
> +
> NAMESPACE_UPDATES.put("http://www.openejb.org/xml/ns/corba-tss-config_1_0",
> "http://www.openejb.org/xml/ns/corba-tss-config-2.0");
> + }
> +
> + private static final QName ENVIRONMENT_QNAME = new
> QName("http://geronimo.apache.org/xml/ns/deployment-1.1", "environment");
> + private static final String DEFAULT_GROUPID = "default";
> + private static final String DEFAULT_VERSION = "1-default";
> + private static final QName CLIENT_ENVIRONMENT_QNAME = new
> QName("http://geronimo.apache.org/xml/ns/deployment-1.1",
> "client-environment");
> + private static final QName PARENT_ENVIRONMENT_QNAME = new
> QName("http://geronimo.apache.org/xml/ns/deployment-1.1",
> "parent-environment");
> +
> + public static void upgrade(InputStream source, Writer target) throws
> IOException, XmlException {
> + XmlObject xmlObject = parse(source);
> + XmlCursor cursor = xmlObject.newCursor();
> + XmlCursor.TokenType token;
> + while ((token = cursor.toNextToken()) != XmlCursor.TokenType.ENDDOC)
> {
> + if (token == XmlCursor.TokenType.START) {
> + Artifact configId = extractArtifact("configId", cursor);
> + Artifact parentId = extractArtifact("parentId", cursor);
> + Artifact clientConfigId = extractArtifact("clientConfigId",
> cursor);
> + Artifact clientParentId = extractArtifact("clientParentId",
> cursor);
> + if (clientConfigId != null) {
> +
> + insertEnvironment(clientConfigId, clientParentId,
> cursor, CLIENT_ENVIRONMENT_QNAME);
> +
> + insertEnvironment(configId, parentId, cursor,
> PARENT_ENVIRONMENT_QNAME);
> +
> + } else if (configId != null) {
> +
> + insertEnvironment(configId, parentId, cursor,
> ENVIRONMENT_QNAME);
> + }
> + }
> + }
> +
> + XmlOptions xmlOptions = new XmlOptions();
> + xmlOptions.setSavePrettyPrint();
> + xmlObject.save(target, xmlOptions);
> +
> + }
> +
> + private static void insertEnvironment(Artifact configId, Artifact
> parentId, XmlCursor cursor, QName environmentQname) {
> + positionEnvironment(cursor);
> + Environment environment = new Environment();
> + environment.setConfigId(configId);
> + if (parentId != null ) {
> + environment.addDependency(parentId, ImportType.ALL);
> + }
> + EnvironmentType environmentType =
> EnvironmentBuilder.buildEnvironmentType(environment);
> + cursor.beginElement(environmentQname);
> + XmlCursor element = environmentType.newCursor();
> + try {
> + element.copyXmlContents(cursor);
> + } finally {
> + element.dispose();
> + }
> + }
> +
> + private static void positionEnvironment(XmlCursor cursor) {
> + XmlCursor.TokenType token;
> + while ((token = cursor.toNextToken()) != XmlCursor.TokenType.START
> && token != XmlCursor.TokenType.END) {
> + //keep going
> + }
> + }
> +
> + private static Artifact extractArtifact(String attrName, XmlCursor
> cursor) {
> + String attrValue;
> + QName attrQName = new QName(null, attrName);
> + if ((attrValue = cursor.getAttributeText(attrQName)) != null) {
> + cursor.removeAttribute(attrQName);
> + try {
> + return Artifact.create(attrValue);
> + } catch (Exception e) {
> + return new Artifact(DEFAULT_GROUPID, attrValue.replace('/',
> '_'), DEFAULT_VERSION, "car");
> + }
> + }
> + return null;
> + }
> +
> + public static XmlObject parse(InputStream is) throws IOException,
> XmlException {
> + ArrayList errors = new ArrayList();
> + XmlObject parsed = XmlObject.Factory.parse(is,
> createXmlOptions(errors));
> + if (errors.size() != 0) {
> + throw new XmlException(errors.toArray().toString());
> + }
> + return parsed;
> + }
> +
> + public static XmlOptions createXmlOptions(Collection errors) {
> + XmlOptions options = new XmlOptions();
> + options.setLoadLineNumbers();
> + options.setErrorListener(errors);
> + options.setLoadSubstituteNamespaces(NAMESPACE_UPDATES);
> + return options;
> + }
> +
> +}
>
> Added: geronimo/branches/1.1/modules/upgrade/src/test-data/appclient_ejb_1.xml
> URL:
> http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/upgrade/src/test-data/appclient_ejb_1.xml?rev=389823&view=auto
> ==============================================================================
> --- geronimo/branches/1.1/modules/upgrade/src/test-data/appclient_ejb_1.xml
> (added)
> +++ geronimo/branches/1.1/modules/upgrade/src/test-data/appclient_ejb_1.xml
> Wed Mar 29 08:38:17 2006
> @@ -0,0 +1,41 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<application
> + xmlns="http://geronimo.apache.org/xml/ns/j2ee/application"
> + configId="appclient_ejb_1"
> + parentId="${pom.groupId}/server-security/${pom.currentVersion}/car">
> + <module>
> + <ejb>appclient_ejb_1_ejb.jar</ejb>
> + <openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar"
> configId="ejb">
> + <cmp-connection-factory>
> + <resource-link>jdbc/DB1</resource-link>
> + </cmp-connection-factory>
> + <enterprise-beans>
> + <entity>
> + <ejb-name>CMP20</ejb-name>
> + <table-name>CMP20_APPCLIENT_TABLE1</table-name>
> + <cmp-field-mapping>
> + <cmp-field-name>id</cmp-field-name>
> + <table-column>ID</table-column>
> + </cmp-field-mapping>
> + </entity>
> + <entity>
> + <ejb-name>CMP11</ejb-name>
> + <table-name>CMP20_APPCLIENT_TABLE2</table-name>
> + <cmp-field-mapping>
> + <cmp-field-name>KEY_ID</cmp-field-name>
> + <table-column>ID</table-column>
> + </cmp-field-mapping>
> + </entity>
> + </enterprise-beans>
> + </openejb-jar>
> + </module>
> + <module>
> + <java>appclient_ejb_1_client.jar</java>
> + <application-client
> xmlns="http://geronimo.apache.org/xml/ns/j2ee/application-client"
> + configId="bar"
> + clientConfigId="appclient_ejb_1/appclient_ejb_1_client"
> +
> clientParentId="${pom.groupId}/client-database/${pom.currentVersion}/car">
> +
> + </application-client>
> + </module>
> +</application>
>
> Added:
> geronimo/branches/1.1/modules/upgrade/src/test/org/apache/geronimo/upgrade/Upgrade1_0To1_1Test.java
> URL:
> http://svn.apache.org/viewcvs/geronimo/branches/1.1/modules/upgrade/src/test/org/apache/geronimo/upgrade/Upgrade1_0To1_1Test.java?rev=389823&view=auto
> ==============================================================================
> ---
> geronimo/branches/1.1/modules/upgrade/src/test/org/apache/geronimo/upgrade/Upgrade1_0To1_1Test.java
> (added)
> +++
> geronimo/branches/1.1/modules/upgrade/src/test/org/apache/geronimo/upgrade/Upgrade1_0To1_1Test.java
> Wed Mar 29 08:38:17 2006
> @@ -0,0 +1,103 @@
> +/**
> + *
> + * Copyright 2006 The Apache Software Foundation
> + *
> + * Licensed under the Apache License, Version 2.0 (the "License");
> + * you may not use this file except in compliance with the License.
> + * You may obtain a copy of the License at
> + *
> + * http://www.apache.org/licenses/LICENSE-2.0
> + *
> + * Unless required by applicable law or agreed to in writing, software
> + * distributed under the License is distributed on an "AS IS" BASIS,
> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> + * See the License for the specific language governing permissions and
> + * limitations under the License.
> + */
> +
> +package org.apache.geronimo.upgrade;
> +
> +
> +import java.net.URL;
> +import java.util.List;
> +import java.util.ArrayList;
> +import java.io.InputStream;
> +import java.io.OutputStream;
> +import java.io.StringWriter;
> +import java.io.Writer;
> +
> +import javax.xml.namespace.QName;
> +
> +import junit.framework.TestCase;
> +import org.apache.xmlbeans.XmlObject;
> +import org.apache.xmlbeans.XmlCursor;
> +import org.apache.geronimo.schema.SchemaConversionUtils;
> +
> +/**
> + * @version $Rev:$ $Date:$
> + */
> +public class Upgrade1_0To1_1Test extends TestCase {
> +
> + private final ClassLoader classLoader = this.getClass().getClassLoader();
> +
> + public void test1() throws Exception {
> +// InputStream srcXml =
> classLoader.getResourceAsStream("jms-plan.xml");
> + InputStream srcXml =
> classLoader.getResourceAsStream("appclient_ejb_1.xml");
> + Writer targetXml = new StringWriter();
> + Upgrade1_0To1_1.upgrade(srcXml, targetXml);
> +
> + String targetString = targetXml.toString();
> + System.out.println(targetString);
> + XmlObject targetXmlObject = XmlObject.Factory.parse(targetString);
> + //uncomment fail to see output
> +// fail();
> +// URL expectedOutputXml =
> classLoader.getResource("appclient_dep_ejblink_single.ear.xml");
> +// XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
> +// XmlObject expected = XmlObject.Factory.parse(expectedOutputXml);
> +// SchemaConversionUtils.validateDD(expected);
> +// xmlObject =
> SchemaConversionUtils.convertToApplicationClientSchema(xmlObject);
> +// System.out.println(xmlObject.toString());
> +// System.out.println(expected.toString());
> +// List problems = new ArrayList();
> +// boolean ok = compareXmlObjects(xmlObject, expected, problems);
> +// assertTrue("Differences: " + problems, ok);
> + }
> +
> + private boolean compareXmlObjects(XmlObject xmlObject, XmlObject
> expectedObject, List problems) {
> + XmlCursor test = xmlObject.newCursor();
> + XmlCursor expected = expectedObject.newCursor();
> + boolean similar = true;
> + int elementCount = 0;
> + while (toNextStartToken(test)) {
> + elementCount++;
> + if (!toNextStartToken(expected)) {
> + problems.add("test longer than expected at element: " +
> elementCount);
> + return false;
> + }
> + QName actualQName = test.getName();
> + QName expectedQName = expected.getName();
> + if (!actualQName.equals(expectedQName)) {
> + problems.add("Different elements at elementCount: " +
> elementCount + ", test: " + actualQName + ", expected: " + expectedQName);
> + similar = false;
> + }
> + test.toNextToken();
> + expected.toNextToken();
> + }
> + if (toNextStartToken(expected)) {
> + problems.add("test shorter that expected at element: " +
> elementCount);
> + similar = false;
> + }
> + return similar;
> + }
> +
> + private boolean toNextStartToken(XmlCursor cursor) {
> + while (!cursor.isStart()) {
> + if (!cursor.hasNextToken()) {
> + return false;
> + }
> + cursor.toNextToken();
> + }
> + return true;
> + }
> +
> +}
>
>
>