You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Aaron Mulder <am...@alumni.princeton.edu> on 2006/03/29 23:23:53 UTC

Re: svn commit: r389823 - in /geronimo/branches/1.1/modules/upgrade: ./ src/ src/java/ src/java/org/ src/java/org/apache/ src/java/org/apache/geronimo/ src/java/org/apache/geronimo/upgrade/ src/test-data/ src/test/ src/test/org/ src/test/org/apache/

Well, I've put Geronimo code in the util module -- does that mean that
LICENSE.txt should contain two full licenses?

Thanks,
    Aaron

On 3/29/06, Kevan Miller <ke...@gmail.com> wrote:
> Hmmm. Good question. I would guess that David copied the LICENSE.txt
> from the util directory and didn't realize it wasn't the Apache
> license. Is it proper that util <only> contains the BouncyCastle
> license?
> --kevan
> On Mar 29, 2006, at 12:07 PM, Aaron Mulder wrote:
>
> > Why is the BouncyCastle license used for this module?
> >
> > Thanks,
> >     Aaron
> >
> > On 3/29/06, djencks@apache.org <dj...@apache.org> 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;
> >> +    }
> >> +
> >> +}
> >>
> >>
> >>
>
>