You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ja...@apache.org on 2006/07/05 11:32:02 UTC

svn commit: r419193 - in /geronimo/sandbox/servlet-2.5/modules: client-builder/src/java/org/apache/geronimo/client/builder/ j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/ j2ee-schema/src/java/org/apache/geronimo/schema/ j2ee-schema/src/test...

Author: janb
Date: Wed Jul  5 02:31:58 2006
New Revision: 419193

URL: http://svn.apache.org/viewvc?rev=419193&view=rev
Log:
Still trying to make the schema to schema conversion work. Seems like a bug in xmlbeans that
removeAttribute() doesn't work on version attribute.

Modified:
    geronimo/sandbox/servlet-2.5/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
    geronimo/sandbox/servlet-2.5/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java
    geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtils.java
    geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtilsJavaEE.java
    geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/test/org/apache/geronimo/schema/SchemaConversionUtilsTest.java
    geronimo/sandbox/servlet-2.5/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java
    geronimo/sandbox/servlet-2.5/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java
    geronimo/sandbox/servlet-2.5/modules/service-builder/src/java/org/apache/geronimo/deployment/xmlbeans/XmlBeansUtil.java

Modified: geronimo/sandbox/servlet-2.5/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/servlet-2.5/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java?rev=419193&r1=419192&r2=419193&view=diff
==============================================================================
--- geronimo/sandbox/servlet-2.5/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java (original)
+++ geronimo/sandbox/servlet-2.5/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java Wed Jul  5 02:31:58 2006
@@ -55,7 +55,7 @@
 import org.apache.geronimo.kernel.repository.Environment;
 import org.apache.geronimo.kernel.repository.Repository;
 import org.apache.geronimo.naming.deployment.ENCConfigBuilder;
-import org.apache.geronimo.schema.SchemaConversionUtils;
+import org.apache.geronimo.schema.SchemaConversionUtilsJavaEE;
 import org.apache.geronimo.security.deploy.DefaultPrincipal;
 import org.apache.geronimo.security.deployment.SecurityBuilder;
 import org.apache.geronimo.xbeans.geronimo.client.GerApplicationClientDocument;
@@ -215,7 +215,7 @@
         try {
             // parse it
             XmlObject xmlObject = XmlBeansUtil.parse(specDD);
-            ApplicationClientDocument appClientDoc = SchemaConversionUtils.convertToApplicationClientSchema(xmlObject);
+            ApplicationClientDocument appClientDoc = SchemaConversionUtilsJavaEE.convertToApplicationClientSchema(xmlObject);
             appClient = appClientDoc.getApplicationClient();
         } catch (XmlException e) {
             throw new DeploymentException("Unable to parse application-client.xml", e);
@@ -280,7 +280,7 @@
 
             // if we got one extract the validate it otherwise create a default one
             if (rawPlan != null) {
-                gerAppClient = (GerApplicationClientType) SchemaConversionUtils.fixGeronimoSchema(rawPlan, GerApplicationClientDocument.type.getDocumentElementName(), GerApplicationClientType.type);
+                gerAppClient = (GerApplicationClientType) SchemaConversionUtilsJavaEE.fixGeronimoSchema(rawPlan, GerApplicationClientDocument.type.getDocumentElementName(), GerApplicationClientType.type);
             } else {
                 String path;
                 if (standAlone) {

Modified: geronimo/sandbox/servlet-2.5/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/servlet-2.5/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java?rev=419193&r1=419192&r2=419193&view=diff
==============================================================================
--- geronimo/sandbox/servlet-2.5/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java (original)
+++ geronimo/sandbox/servlet-2.5/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java Wed Jul  5 02:31:58 2006
@@ -80,7 +80,7 @@
 import org.apache.geronimo.kernel.repository.Repository;
 import org.apache.geronimo.management.J2EEServer;
 import org.apache.geronimo.management.J2EEResource;
-import org.apache.geronimo.schema.SchemaConversionUtils;
+import org.apache.geronimo.schema.SchemaConversionUtilsJavaEE;
 import org.apache.geronimo.security.deployment.SecurityBuilder;
 import org.apache.geronimo.security.deployment.SecurityConfiguration;
 import org.apache.geronimo.xbeans.geronimo.j2ee.GerApplicationDocument;
@@ -311,7 +311,7 @@
             //we found something called application.xml in the right place, if we can't parse it it's an error
             try {
                 XmlObject xmlObject = XmlBeansUtil.parse(specDD);
-                application = SchemaConversionUtils.convertToApplicationSchema(xmlObject).getApplication();
+                application = SchemaConversionUtilsJavaEE.convertToApplicationSchema(xmlObject).getApplication();
             } catch (XmlException e) {
                 throw new DeploymentException("Could not parse application.xml", e);
             }
@@ -324,14 +324,14 @@
             try {
                 if (planFile != null) {
                     rawPlan = XmlBeansUtil.parse(planFile.toURL());
-                    gerApplication = (GerApplicationType) SchemaConversionUtils.fixGeronimoSchema(rawPlan, APPLICATION_QNAME, GerApplicationType.type);
+                    gerApplication = (GerApplicationType) SchemaConversionUtilsJavaEE.fixGeronimoSchema(rawPlan, APPLICATION_QNAME, GerApplicationType.type);
                     if (gerApplication == null) {
                         return null;
                     }
                 } else {
                     URL path = DeploymentUtil.createJarURL(earFile, "META-INF/geronimo-application.xml");
                     rawPlan = XmlBeansUtil.parse(path);
-                    gerApplication = (GerApplicationType) SchemaConversionUtils.fixGeronimoSchema(rawPlan, APPLICATION_QNAME, GerApplicationType.type);
+                    gerApplication = (GerApplicationType) SchemaConversionUtilsJavaEE.fixGeronimoSchema(rawPlan, APPLICATION_QNAME, GerApplicationType.type);
                 }
             } catch (IOException e) {
                 //TODO isn't this an error?

Modified: geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtils.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtils.java?rev=419193&r1=419192&r2=419193&view=diff
==============================================================================
--- geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtils.java (original)
+++ geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtils.java Wed Jul  5 02:31:58 2006
@@ -23,11 +23,11 @@
 import java.util.Map;
 import javax.xml.namespace.QName;
 
-import org.apache.geronimo.xbeans.javaee.ApplicationClientDocument;
-import org.apache.geronimo.xbeans.javaee.ApplicationDocument;
+import org.apache.geronimo.xbeans.j2ee.ApplicationClientDocument;
+import org.apache.geronimo.xbeans.j2ee.ApplicationDocument;
 import org.apache.geronimo.xbeans.j2ee.ConnectorDocument;
-import org.apache.geronimo.xbeans.javaee.EjbJarDocument;
-import org.apache.geronimo.xbeans.javaee.WebAppDocument;
+import org.apache.geronimo.xbeans.j2ee.EjbJarDocument;
+import org.apache.geronimo.xbeans.j2ee.WebAppDocument;
 import org.apache.xmlbeans.SchemaType;
 import org.apache.xmlbeans.XmlCursor;
 import org.apache.xmlbeans.XmlDocumentProperties;
@@ -40,15 +40,14 @@
  */
 public class SchemaConversionUtils {
     static final String J2EE_NAMESPACE = "http://java.sun.com/xml/ns/j2ee";
-    static final String JAVAEE_NAMESPACE = "http://java.sun.com/xml/ns/javaee";
 
     static final String GERONIMO_NAMING_NAMESPACE = "http://geronimo.apache.org/xml/ns/naming-1.1";
     private static final String GERONIMO_SECURITY_NAMESPACE = "http://geronimo.apache.org/xml/ns/security-1.1";
     private static final String GERONIMO_SERVICE_NAMESPACE = "http://geronimo.apache.org/xml/ns/deployment-1.1";
 
     private static final QName RESOURCE_ADAPTER_VERSION = new QName(J2EE_NAMESPACE, "resourceadapter-version");
-    private static final QName TAGLIB = new QName(JAVAEE_NAMESPACE, "taglib");
-    private static final QName CMP_VERSION = new QName(JAVAEE_NAMESPACE, "cmp-version");
+    private static final QName TAGLIB = new QName(J2EE_NAMESPACE, "taglib");
+    private static final QName CMP_VERSION = new QName(J2EE_NAMESPACE, "cmp-version");
 
     private static final Map GERONIMO_SCHEMA_CONVERSIONS = new HashMap();
 
@@ -89,12 +88,12 @@
         }
         XmlCursor cursor = xmlObject.newCursor();
         XmlCursor moveable = xmlObject.newCursor();
-        String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/application_5.xsd";
-        String version = "5";
+        String schemaLocationURL = "http://java.sun.com/xml/ns/j2ee/application_1_4.xsd";
+        String version = "1.4";
         try {
-            convertToSchema(cursor, JAVAEE_NAMESPACE, schemaLocationURL, version);
+            convertToSchema(cursor, J2EE_NAMESPACE, schemaLocationURL, version);
             cursor.toStartDoc();
-            cursor.toChild(JAVAEE_NAMESPACE, "application");
+            cursor.toChild(J2EE_NAMESPACE, "application");
             cursor.toFirstChild();
             convertToDescriptionGroup(cursor, moveable);
         } finally {
@@ -118,12 +117,12 @@
         }
         XmlCursor cursor = xmlObject.newCursor();
         XmlCursor moveable = xmlObject.newCursor();
-        String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/application-client_5.xsd ";
-        String version = "5";
+        String schemaLocationURL = "http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd";
+        String version = "1.4";
         try {
-            convertToSchema(cursor, JAVAEE_NAMESPACE, schemaLocationURL, version);
+            convertToSchema(cursor, J2EE_NAMESPACE, schemaLocationURL, version);
             cursor.toStartDoc();
-            cursor.toChild(JAVAEE_NAMESPACE, "application-client");
+            cursor.toChild(J2EE_NAMESPACE, "application-client");
             cursor.toFirstChild();
             convertToDescriptionGroup(cursor, moveable);
         } finally {
@@ -221,7 +220,7 @@
         //cursor is intially located before the logical STARTDOC token
         try {
             cursor.toFirstChild();
-            if ("http://java.sun.com/xml/ns/javaee".equals(cursor.getName().getNamespaceURI())) {
+            if ("http://java.sun.com/xml/ns/j2ee".equals(cursor.getName().getNamespaceURI())) {
                 XmlObject result = xmlObject.changeType(EjbJarDocument.type);
                 validateDD(result);
                 return (EjbJarDocument) result;
@@ -237,9 +236,9 @@
             } else {
                 throw new XmlException("Unrecognized document type: " + publicId);
             }
-            String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd";
-            String version = "3.0";
-            convertToSchema(cursor, JAVAEE_NAMESPACE, schemaLocationURL, version);
+            String schemaLocationURL = "http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd";
+            String version = "2.1";
+            convertToSchema(cursor, J2EE_NAMESPACE, schemaLocationURL, version);
             //play with message-driven
             cursor.toStartDoc();
             convertBeans(cursor, moveable, cmpVersion);
@@ -258,7 +257,6 @@
 
     public static WebAppDocument convertToServletSchema(XmlObject xmlObject) throws XmlException {
         if (WebAppDocument.type.equals(xmlObject.schemaType())) {
-            System.err.println("DOC Is correct type:"+WebAppDocument.type+" validating");
             validateDD(xmlObject);
             return (WebAppDocument) xmlObject;
         }
@@ -267,14 +265,6 @@
             cursor.toStartDoc();
             cursor.toFirstChild();
             if ("http://java.sun.com/xml/ns/j2ee".equals(cursor.getName().getNamespaceURI())) {
-                System.err.println("DOC Is j2ee type, converting type and validating");
-                XmlObject result = xmlObject.changeType(WebAppDocument.type);
-                validateDD(result);
-                return (WebAppDocument) result;
-            }
-            
-            if ("http://java.sun.com/xml/ns/javaee".equals(cursor.getName().getNamespaceURI())) {
-                System.err.println("Doc is javaee namespace, converting to type:"+WebAppDocument.type);
                 XmlObject result = xmlObject.changeType(WebAppDocument.type);
                 validateDD(result);
                 return (WebAppDocument) result;
@@ -286,14 +276,13 @@
                     "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN".equals(publicId)) {
                 XmlCursor moveable = xmlObject.newCursor();
                 try {
-                    System.err.println("Coverting 2.3 or 2.2 to schema 5");
                     moveable.toStartDoc();
                     moveable.toFirstChild();
-                    String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
-                    String version = "2.5";
-                    convertToSchema(cursor, JAVAEE_NAMESPACE, schemaLocationURL, version);
+                    String schemaLocationURL = "http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";
+                    String version = "2.4";
+                    convertToSchema(cursor, J2EE_NAMESPACE, schemaLocationURL, version);
                     cursor.toStartDoc();
-                    cursor.toChild(JAVAEE_NAMESPACE, "web-app");
+                    cursor.toChild(J2EE_NAMESPACE, "web-app");
                     cursor.toFirstChild();
                     convertToDescriptionGroup(cursor, moveable);
                     convertToJNDIEnvironmentRefsGroup(cursor, moveable);
@@ -301,7 +290,7 @@
                     if (cursor.toNextSibling(TAGLIB)) {
                         cursor.toPrevSibling();
                         moveable.toCursor(cursor);
-                        cursor.beginElement("jsp-config", JAVAEE_NAMESPACE);
+                        cursor.beginElement("jsp-config", J2EE_NAMESPACE);
                         while (moveable.toNextSibling(TAGLIB)) {
                             moveable.moveXml(cursor);
                         }
@@ -313,7 +302,7 @@
                             cursor.push();
                             cursor.toFirstChild();
                             convertToDescriptionGroup(cursor, moveable);
-                            while (cursor.toNextSibling(JAVAEE_NAMESPACE, "init-param")) {
+                            while (cursor.toNextSibling(J2EE_NAMESPACE, "init-param")) {
                                 cursor.push();
                                 cursor.toFirstChild();
                                 convertToDescriptionGroup(cursor, moveable);
@@ -475,22 +464,22 @@
     }
 
     public static void convertBeans(XmlCursor cursor, XmlCursor moveable, String cmpVersion) {
-        cursor.toChild(JAVAEE_NAMESPACE, "ejb-jar");
-        cursor.toChild(JAVAEE_NAMESPACE, "enterprise-beans");
+        cursor.toChild(J2EE_NAMESPACE, "ejb-jar");
+        cursor.toChild(J2EE_NAMESPACE, "enterprise-beans");
         if (cursor.toFirstChild()) {
             //there's at least one ejb...
             do {
                 cursor.push();
                 String type = cursor.getName().getLocalPart();
                 if ("session".equals(type)) {
-                    cursor.toChild(JAVAEE_NAMESPACE, "transaction-type");
+                    cursor.toChild(J2EE_NAMESPACE, "transaction-type");
                     cursor.toNextSibling();
                     convertToJNDIEnvironmentRefsGroup(cursor, moveable);
                 } else if ("entity".equals(type)) {
-                    cursor.toChild(JAVAEE_NAMESPACE, "persistence-type");
+                    cursor.toChild(J2EE_NAMESPACE, "persistence-type");
                     String persistenceType = cursor.getTextValue();
                     //reentrant is the last required tag before jndiEnvironmentRefsGroup
-                    cursor.toNextSibling(JAVAEE_NAMESPACE, "reentrant");
+                    cursor.toNextSibling(J2EE_NAMESPACE, "reentrant");
                     //Convert 2.0 True/False to true/false for 2.1
                     cursor.setTextValue(cursor.getTextValue().toLowerCase());
                     if (cmpVersion != null && !cursor.toNextSibling(CMP_VERSION) && "Container".equals(persistenceType)) {
@@ -498,35 +487,35 @@
                         cursor.insertElementWithText(CMP_VERSION, cmpVersion);
                     }
 
-                    cursor.toNextSibling(JAVAEE_NAMESPACE, "abstract-schema-name");
-                    while (cursor.toNextSibling(JAVAEE_NAMESPACE, "cmp-field")) {
+                    cursor.toNextSibling(J2EE_NAMESPACE, "abstract-schema-name");
+                    while (cursor.toNextSibling(J2EE_NAMESPACE, "cmp-field")) {
                         ;
                     }
-                    cursor.toNextSibling(JAVAEE_NAMESPACE, "primkey-field");
+                    cursor.toNextSibling(J2EE_NAMESPACE, "primkey-field");
                     cursor.toNextSibling();
                     convertToJNDIEnvironmentRefsGroup(cursor, moveable);
                 } else if ("message-driven".equals(type)) {
                     cursor.toFirstChild();
-                    if (cursor.toNextSibling(JAVAEE_NAMESPACE, "messaging-type")) {
-                        cursor.toNextSibling(JAVAEE_NAMESPACE, "transaction-type");
+                    if (cursor.toNextSibling(J2EE_NAMESPACE, "messaging-type")) {
+                        cursor.toNextSibling(J2EE_NAMESPACE, "transaction-type");
                     } else {
-                        cursor.toNextSibling(JAVAEE_NAMESPACE, "transaction-type");
+                        cursor.toNextSibling(J2EE_NAMESPACE, "transaction-type");
                         //insert messaging-type (introduced in EJB 2.1 spec) before transaction-type
-                        cursor.insertElementWithText("messaging-type", JAVAEE_NAMESPACE, "javax.jms.MessageListener");
+                        cursor.insertElementWithText("messaging-type", J2EE_NAMESPACE, "javax.jms.MessageListener");
                         //cursor still on transaction-type
                     }
-                    if (!cursor.toNextSibling(JAVAEE_NAMESPACE, "activation-config")) {
+                    if (!cursor.toNextSibling(J2EE_NAMESPACE, "activation-config")) {
                         boolean hasProperties = false;
                         //skip transaction-type
                         cursor.toNextSibling();
                         //convert EJB 2.0 elements to activation-config-properties.
                         moveable.toCursor(cursor);
                         cursor.push();
-                        cursor.beginElement("activation-config", JAVAEE_NAMESPACE);
+                        cursor.beginElement("activation-config", J2EE_NAMESPACE);
                         hasProperties |= addActivationConfigProperty(moveable, cursor, "message-selector", "messageSelector");
                         hasProperties |= addActivationConfigProperty(moveable, cursor, "acknowledge-mode", "acknowledgeMode");
-                        if (new QName(JAVAEE_NAMESPACE, "message-driven-destination").equals(moveable.getName()) ||
-                                moveable.toNextSibling(JAVAEE_NAMESPACE, "message-driven-destination")) {
+                        if (new QName(J2EE_NAMESPACE, "message-driven-destination").equals(moveable.getName()) ||
+                                moveable.toNextSibling(J2EE_NAMESPACE, "message-driven-destination")) {
                             moveable.push();
                             moveable.toFirstChild();
                             hasProperties |= addActivationConfigProperty(moveable, cursor, "destination-type", "destinationType");
@@ -554,12 +543,12 @@
     }
 
     private static boolean addActivationConfigProperty(XmlCursor moveable, XmlCursor cursor, String elementName, String propertyName) {
-        QName name = new QName(JAVAEE_NAMESPACE, elementName);
+        QName name = new QName(J2EE_NAMESPACE, elementName);
         if (name.equals(moveable.getName()) || moveable.toNextSibling(name)) {
             cursor.push();
-            cursor.beginElement("activation-config-property", JAVAEE_NAMESPACE);
-            cursor.insertElementWithText("activation-config-property-name", JAVAEE_NAMESPACE, propertyName);
-            cursor.insertElementWithText("activation-config-property-value", JAVAEE_NAMESPACE, moveable.getTextValue());
+            cursor.beginElement("activation-config-property", J2EE_NAMESPACE);
+            cursor.insertElementWithText("activation-config-property-name", J2EE_NAMESPACE, propertyName);
+            cursor.insertElementWithText("activation-config-property-value", J2EE_NAMESPACE, moveable.getTextValue());
             moveable.removeXml();
             cursor.pop();
             cursor.toNextSibling();
@@ -619,7 +608,7 @@
     }
 
     private static void moveElements(String localName, XmlCursor moveable, XmlCursor toHere) {
-        QName name = new QName(JAVAEE_NAMESPACE, localName);
+        QName name = new QName(J2EE_NAMESPACE, localName);
         //skip elements already in the correct order.
         while (name.equals(toHere.getName()) && toHere.toNextSibling()) {
         }

Modified: geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtilsJavaEE.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtilsJavaEE.java?rev=419193&r1=419192&r2=419193&view=diff
==============================================================================
--- geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtilsJavaEE.java (original)
+++ geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/java/org/apache/geronimo/schema/SchemaConversionUtilsJavaEE.java Wed Jul  5 02:31:58 2006
@@ -82,11 +82,9 @@
         GERONIMO_SCHEMA_CONVERSIONS.putAll(conversions);
     }
 
+    
     public static ApplicationDocument convertToApplicationSchema(XmlObject xmlObject) throws XmlException {
-        if (ApplicationDocument.type.equals(xmlObject.schemaType())) {
-            validateDD(xmlObject);
-            return (ApplicationDocument) xmlObject;
-        }
+       
         XmlCursor cursor = xmlObject.newCursor();
         XmlCursor moveable = xmlObject.newCursor();
         String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/application_5.xsd";
@@ -96,20 +94,37 @@
             cursor.toFirstChild();
             if ("http://java.sun.com/xml/ns/j2ee".equals(cursor.getName().getNamespaceURI())) {
                 System.err.println("DOC Is j2ee type, converting type and validating");
+                System.err.println("PRIOR TO CONVERSION: "+xmlObject.toString());
+                System.err.println("____________________________________");
+                convertSchemaVersion(cursor, JAVAEE_NAMESPACE, schemaLocationURL, version);
+                
+                System.err.println("____________________________________");
+                System.err.println("CONVERSION: "+xmlObject.toString());
+                System.err.println("____________________________________");
                 XmlObject result = xmlObject.changeType(ApplicationDocument.type);
+                System.err.println("AFTER CONVERSION TO APPLICATIONDOCUMENT");
+                System.err.println(result.toString());
                 validateDD(result);
                 return (ApplicationDocument) result;
             }
             
             if ("http://java.sun.com/xml/ns/javaee".equals(cursor.getName().getNamespaceURI())) {
-                System.err.println("Doc is javaee namespace, converting to type:"+ApplicationDocument.type);
+                System.err.println("Doc is javaee namespace, ensuring full conversion");
+                
+                System.err.println("PRIOR TO CONVERSION: "+xmlObject.toString());
+                System.err.println("____________________________________");
+                convertSchemaVersion(cursor, JAVAEE_NAMESPACE, schemaLocationURL, version);
+                
+                System.err.println("____________________________________");
+                System.err.println("CONVERSION: "+xmlObject.toString());
+                System.err.println("____________________________________");
                 XmlObject result = xmlObject.changeType(ApplicationDocument.type);
+                System.err.println("AFTER CONVERSION TO APPLICATIONDOCUMENT");
+                System.err.println(result.toString());
                 validateDD(result);
                 return (ApplicationDocument) result;
             }
             
-            XmlDocumentProperties xmlDocumentProperties = cursor.documentProperties();
-
             convertToSchema(cursor, JAVAEE_NAMESPACE, schemaLocationURL, version);
             cursor.toStartDoc();
             cursor.toChild(JAVAEE_NAMESPACE, "application");
@@ -138,7 +153,17 @@
         XmlCursor moveable = xmlObject.newCursor();
         String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/application-client_5.xsd ";
         String version = "5";
-        try {
+        try {           
+            cursor.toStartDoc();
+            cursor.toFirstChild();
+            if ("http://java.sun.com/xml/ns/j2ee".equals(cursor.getName().getNamespaceURI())) {
+                System.err.println("DOC Is j2ee type, converting type and validating");
+                convertSchemaVersion(cursor, JAVAEE_NAMESPACE, schemaLocationURL, version);
+                XmlObject result = xmlObject.changeType(ApplicationDocument.type);
+                validateDD(result);
+                return (ApplicationClientDocument) result;
+            }
+            
             convertToSchema(cursor, JAVAEE_NAMESPACE, schemaLocationURL, version);
             cursor.toStartDoc();
             cursor.toChild(JAVAEE_NAMESPACE, "application-client");
@@ -234,12 +259,16 @@
             validateDD(xmlObject);
             return (EjbJarDocument) xmlObject;
         }
+        String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd";
+        String version = "3.0";
+        
         XmlCursor cursor = xmlObject.newCursor();
         XmlCursor moveable = xmlObject.newCursor();
         //cursor is intially located before the logical STARTDOC token
         try {
             cursor.toFirstChild();
-            if ("http://java.sun.com/xml/ns/javaee".equals(cursor.getName().getNamespaceURI())) {
+            if ("http://java.sun.com/xml/ns/j2ee".equals(cursor.getName().getNamespaceURI())) {
+                convertSchemaVersion(cursor, JAVAEE_NAMESPACE, schemaLocationURL, version);
                 XmlObject result = xmlObject.changeType(EjbJarDocument.type);
                 validateDD(result);
                 return (EjbJarDocument) result;
@@ -255,8 +284,7 @@
             } else {
                 throw new XmlException("Unrecognized document type: " + publicId);
             }
-            String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd";
-            String version = "3.0";
+
             convertToSchema(cursor, JAVAEE_NAMESPACE, schemaLocationURL, version);
             //play with message-driven
             cursor.toStartDoc();
@@ -280,12 +308,15 @@
             validateDD(xmlObject);
             return (WebAppDocument) xmlObject;
         }
+        String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
+        String version = "2.5";
         XmlCursor cursor = xmlObject.newCursor();
         try {
             cursor.toStartDoc();
             cursor.toFirstChild();
             if ("http://java.sun.com/xml/ns/j2ee".equals(cursor.getName().getNamespaceURI())) {
                 System.err.println("DOC Is j2ee type, converting type and validating");
+                convertSchemaVersion(cursor,JAVAEE_NAMESPACE, schemaLocationURL, version);
                 XmlObject result = xmlObject.changeType(WebAppDocument.type);
                 validateDD(result);
                 return (WebAppDocument) result;
@@ -307,8 +338,7 @@
                     System.err.println("Coverting 2.3 or 2.2 to schema 5");
                     moveable.toStartDoc();
                     moveable.toFirstChild();
-                    String schemaLocationURL = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
-                    String version = "2.5";
+
                     convertToSchema(cursor, JAVAEE_NAMESPACE, schemaLocationURL, version);
                     cursor.toStartDoc();
                     cursor.toChild(JAVAEE_NAMESPACE, "web-app");
@@ -489,6 +519,31 @@
                 cursor.toNextToken();
             }
         }
+        return true;
+    }
+    
+    public static boolean convertSchemaVersion (XmlCursor cursor, String namespace, String schemaLocationURL, String version) {
+        
+        //convert namespace
+        boolean isFirstStart = true;
+        while (cursor.hasNextToken()) {
+            if (cursor.isStart()) {
+                System.err.println("CURSOR="+cursor.getName().getLocalPart()+" "+cursor.getName().getNamespaceURI());
+                cursor.setName(new QName(namespace, cursor.getName().getLocalPart()));
+                System.err.println("CURSOR="+cursor.getName().getLocalPart()+" "+cursor.getName().getNamespaceURI()+" "+cursor.getName().getPrefix());               
+                cursor.toNextToken();                
+                if (isFirstStart) {
+                    cursor.removeAttribute(new QName("version"));
+                    //cursor.insertAttributeWithValue(new QName("version"), version);
+                    cursor.insertAttributeWithValue(new QName("http://www.w3.org/2001/XMLSchema-instance", "schemaLocation", "xsi"), namespace + "  "+schemaLocationURL);   
+                    isFirstStart = false;
+                }
+ 
+            } else {
+                cursor.toNextToken();
+            }
+        }
+        
         return true;
     }
 

Modified: geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/test/org/apache/geronimo/schema/SchemaConversionUtilsTest.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/test/org/apache/geronimo/schema/SchemaConversionUtilsTest.java?rev=419193&r1=419192&r2=419193&view=diff
==============================================================================
--- geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/test/org/apache/geronimo/schema/SchemaConversionUtilsTest.java (original)
+++ geronimo/sandbox/servlet-2.5/modules/j2ee-schema/src/test/org/apache/geronimo/schema/SchemaConversionUtilsTest.java Wed Jul  5 02:31:58 2006
@@ -321,14 +321,14 @@
         URL srcXml = classLoader.getResource("j2ee_1_3dtd/web-23.xml");
         URL expectedOutputXml = classLoader.getResource("j2ee_1_3dtd/web-25.xml");
         XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
-        xmlObject = SchemaConversionUtils.convertToServletSchema(xmlObject);
+        xmlObject = SchemaConversionUtilsJavaEE.convertToServletSchema(xmlObject);
         XmlObject expected = XmlObject.Factory.parse(expectedOutputXml);
 //        System.out.println(xmlObject.toString());
 //        System.out.println(expected.toString());
         List problems = new ArrayList();
         boolean ok = compareXmlObjects(xmlObject, expected, problems);
         assertTrue("Differences: " + problems, ok);
-        xmlObject = SchemaConversionUtils.convertToServletSchema(xmlObject);
+        xmlObject = SchemaConversionUtilsJavaEE.convertToServletSchema(xmlObject);
         boolean ok2 = compareXmlObjects(xmlObject, expected, problems);
         assertTrue("Differences: " + problems, ok2);
     }
@@ -337,13 +337,13 @@
         URL srcXml = classLoader.getResource("j2ee_1_3dtd/web-1-23.xml");
         URL expectedOutputXml = classLoader.getResource("j2ee_1_3dtd/web-1-25.xml");
         XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
-        xmlObject = SchemaConversionUtils.convertToServletSchema(xmlObject);
+        xmlObject = SchemaConversionUtilsJavaEE.convertToServletSchema(xmlObject);
 //        System.out.println(xmlObject.toString());
         XmlObject expected = XmlObject.Factory.parse(expectedOutputXml);
         List problems = new ArrayList();
         boolean ok = compareXmlObjects(xmlObject, expected, problems);
         assertTrue("Differences: " + problems, ok);
-        xmlObject = SchemaConversionUtils.convertToServletSchema(xmlObject);
+        xmlObject = SchemaConversionUtilsJavaEE.convertToServletSchema(xmlObject);
         boolean ok2 = compareXmlObjects(xmlObject, expected, problems);
         assertTrue("Differences: " + problems, ok2);
     }
@@ -352,14 +352,14 @@
         URL srcXml = classLoader.getResource("j2ee_1_2dtd/web-1-22.xml");
         URL expectedOutputXml = classLoader.getResource("j2ee_1_2dtd/web-1-25.xml");
         XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
-        xmlObject = SchemaConversionUtils.convertToServletSchema(xmlObject);
+        xmlObject = SchemaConversionUtilsJavaEE.convertToServletSchema(xmlObject);
         XmlObject expected = XmlObject.Factory.parse(expectedOutputXml);
 //        System.out.println(xmlObject.toString());
 //        System.out.println(expected.toString());
         List problems = new ArrayList();
         boolean ok = compareXmlObjects(xmlObject, expected, problems);
         assertTrue("Differences: " + problems, ok);
-        xmlObject = SchemaConversionUtils.convertToServletSchema(xmlObject);
+        xmlObject = SchemaConversionUtilsJavaEE.convertToServletSchema(xmlObject);
         boolean ok2 = compareXmlObjects(xmlObject, expected, problems);
         assertTrue("Differences: " + problems, ok2);
     }
@@ -368,7 +368,7 @@
         URL srcXml = classLoader.getResource("javaee_5schema/web-1-25.xml");
         XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
         try {
-            xmlObject = SchemaConversionUtils.convertToServletSchema(xmlObject);
+            xmlObject = SchemaConversionUtilsJavaEE.convertToServletSchema(xmlObject);
             fail("doc src/test-data/javaee_5schema/web-1-25.xml is invalid, should not have validated");
         } catch (XmlException e) {
             //expected
@@ -378,14 +378,14 @@
     public void testParseWeb25() throws Exception {
         URL srcXml = classLoader.getResource("javaee_5schema/web-2-25.xml");
         XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
-        xmlObject = SchemaConversionUtils.convertToServletSchema(xmlObject);
+        xmlObject = SchemaConversionUtilsJavaEE.convertToServletSchema(xmlObject);
     }
 /*
     public void testEJB21To21DoesNothing() throws Exception {
         URL srcXml = classLoader.getResource("j2ee_1_4schema/ejb-jar.xml");
         URL expectedOutputXml = classLoader.getResource("j2ee_1_4schema/ejb-jar.xml");
         XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
-        xmlObject = SchemaConversionUtils.convertToEJBSchema(xmlObject);
+        xmlObject = SchemaConversionUtilsJavaEE.convertToEJBSchema(xmlObject);
         XmlObject expected = XmlObject.Factory.parse(expectedOutputXml);
         List problems = new ArrayList();
         boolean ok = compareXmlObjects(xmlObject, expected, problems);
@@ -399,14 +399,14 @@
         XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
         XmlCursor cursor = xmlObject.newCursor();
         try {
-            SchemaConversionUtils.convertToGeronimoSubSchemas(cursor);
+            SchemaConversionUtilsJavaEE.convertToGeronimoSubSchemas(cursor);
                     System.out.println(xmlObject.toString());
             XmlObject expected = XmlObject.Factory.parse(expectedOutputXml);
             System.out.println(expected.toString());
             List problems = new ArrayList();
             boolean ok = compareXmlObjects(xmlObject, expected, problems);
             assertTrue("Differences: " + problems, ok);
-            SchemaConversionUtils.convertToGeronimoSubSchemas(cursor);
+            SchemaConversionUtilsJavaEE.convertToGeronimoSubSchemas(cursor);
             boolean ok2 = compareXmlObjects(xmlObject, expected, problems);
             assertTrue("Differences: " + problems, ok2);
         } finally {
@@ -419,7 +419,7 @@
 //        URL expectedOutputXml = classLoader.getResource("geronimo/ejb-naming-post.xml");
         XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
         //this is not a usable type, we'll see what happens though
-        xmlObject = SchemaConversionUtils.getNestedObjectAsType(xmlObject, new QName("http://www.openejb.org/xml/ns/openejb-jar-2.1", "openejb-jar"), EjbJarType.type);
+        xmlObject = SchemaConversionUtilsJavaEE.getNestedObjectAsType(xmlObject, new QName("http://www.openejb.org/xml/ns/openejb-jar-2.1", "openejb-jar"), EjbJarType.type);
 //	        System.out.println(xmlObject.toString());
     }
 
@@ -437,7 +437,7 @@
             List problems = new ArrayList();
             boolean ok = compareXmlObjects(xmlObject, expected, problems);
             assertTrue("Differences: " + problems, ok);
-            SchemaConversionUtils.convertToGeronimoSubSchemas(cursor);
+            SchemaConversionUtilsJavaEE.convertToGeronimoSubSchemas(cursor);
             boolean ok2 = compareXmlObjects(xmlObject, expected, problems);
             assertTrue("Differences: " + problems, ok2);
         } finally {
@@ -461,7 +461,7 @@
             List problems = new ArrayList();
             boolean ok = compareXmlObjects(xmlObject, expected, problems);
             assertTrue("Differences: " + problems, ok);
-            SchemaConversionUtils.convertToGeronimoSubSchemas(cursor);
+            SchemaConversionUtilsJavaEE.convertToGeronimoSubSchemas(cursor);
             boolean ok2 = compareXmlObjects(xmlObject, expected, problems);
             assertTrue("Differences: " + problems, ok2);
         } finally {
@@ -485,7 +485,7 @@
             List problems = new ArrayList();
             boolean ok = compareXmlObjects(xmlObject, expected, problems);
             assertTrue("Differences: " + problems, ok);
-            SchemaConversionUtils.convertToGeronimoSubSchemas(cursor);
+            SchemaConversionUtilsJavaEE.convertToGeronimoSubSchemas(cursor);
             boolean ok2 = compareXmlObjects(xmlObject, expected, problems);
             assertTrue("Differences: " + problems, ok2);
         } finally {
@@ -508,7 +508,7 @@
             List problems = new ArrayList();
             boolean ok = compareXmlObjects(xmlObject, expected, problems);
             assertTrue("Differences: " + problems, ok);
-            SchemaConversionUtils.convertToGeronimoSubSchemas(cursor);
+            SchemaConversionUtilsJavaEE.convertToGeronimoSubSchemas(cursor);
             boolean ok2 = compareXmlObjects(xmlObject, expected, problems);
             assertTrue("Differences: " + problems, ok2);
         } finally {
@@ -523,14 +523,14 @@
         XmlObject xmlObject = XmlObject.Factory.parse(srcXml);
         XmlCursor cursor = xmlObject.newCursor();
         try {
-            SchemaConversionUtils.convertToGeronimoSubSchemas(cursor);
+            SchemaConversionUtilsJavaEE.convertToGeronimoSubSchemas(cursor);
                     System.out.println(xmlObject.toString());
             XmlObject expected = XmlObject.Factory.parse(expectedOutputXml);
             System.out.println(expected.toString());
             List problems = new ArrayList();
             boolean ok = compareXmlObjects(xmlObject, expected, problems);
             assertTrue("Differences: " + problems, ok);
-            SchemaConversionUtils.convertToGeronimoSubSchemas(cursor);
+            SchemaConversionUtilsJavaEE.convertToGeronimoSubSchemas(cursor);
             boolean ok2 = compareXmlObjects(xmlObject, expected, problems);
             assertTrue("Differences: " + problems, ok2);
         } finally {

Modified: geronimo/sandbox/servlet-2.5/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/servlet-2.5/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java?rev=419193&r1=419192&r2=419193&view=diff
==============================================================================
--- geronimo/sandbox/servlet-2.5/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java (original)
+++ geronimo/sandbox/servlet-2.5/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java Wed Jul  5 02:31:58 2006
@@ -80,7 +80,7 @@
 import org.apache.geronimo.kernel.repository.Environment;
 import org.apache.geronimo.naming.deployment.ENCConfigBuilder;
 import org.apache.geronimo.naming.deployment.GBeanResourceEnvironmentBuilder;
-import org.apache.geronimo.schema.SchemaConversionUtils;
+import org.apache.geronimo.schema.SchemaConversionUtilsJavaEE;
 import org.apache.geronimo.security.deploy.DefaultPrincipal;
 import org.apache.geronimo.security.deployment.SecurityBuilder;
 import org.apache.geronimo.security.deployment.SecurityConfiguration;
@@ -201,7 +201,7 @@
         try {
             // parse it
             XmlObject parsed = XmlBeansUtil.parse(specDD);
-            WebAppDocument webAppDoc = SchemaConversionUtils.convertToServletSchema(parsed);
+            WebAppDocument webAppDoc = SchemaConversionUtilsJavaEE.convertToServletSchema(parsed);
             webApp = webAppDoc.getWebApp();
         } catch (XmlException xmle) {
             // Output the target path in the error to make it clearer to the user which webapp
@@ -286,7 +286,7 @@
                 XmlObject webPlan = new GenericToSpecificPlanConverter(GerJettyDocument.type.getDocumentElementName().getNamespaceURI(),
                         JettyWebAppDocument.type.getDocumentElementName().getNamespaceURI(), "jetty").convertToSpecificPlan(rawPlan);
                 jettyWebApp = (JettyWebAppType) webPlan.changeType(JettyWebAppType.type);
-                SchemaConversionUtils.validateDD(jettyWebApp);
+                SchemaConversionUtilsJavaEE.validateDD(jettyWebApp);
             } else {
                 String defaultContextRoot = determineDefaultContextRoot(webApp, standAlone, moduleFile, targetPath);
                 jettyWebApp = createDefaultPlan(defaultContextRoot);

Modified: geronimo/sandbox/servlet-2.5/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/servlet-2.5/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java?rev=419193&r1=419192&r2=419193&view=diff
==============================================================================
--- geronimo/sandbox/servlet-2.5/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java (original)
+++ geronimo/sandbox/servlet-2.5/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java Wed Jul  5 02:31:58 2006
@@ -13,14 +13,14 @@
 import org.apache.geronimo.kernel.Naming;
 import org.apache.geronimo.kernel.repository.Artifact;
 import org.apache.geronimo.kernel.repository.Environment;
-import org.apache.geronimo.schema.SchemaConversionUtils;
+import org.apache.geronimo.schema.SchemaConversionUtilsJavaEE;
 import org.apache.geronimo.web.deployment.GenericToSpecificPlanConverter;
 import org.apache.geronimo.xbeans.geronimo.naming.GerResourceRefType;
 import org.apache.geronimo.xbeans.geronimo.web.jetty.JettyWebAppDocument;
 import org.apache.geronimo.xbeans.geronimo.web.jetty.JettyWebAppType;
 import org.apache.geronimo.xbeans.geronimo.web.jetty.config.GerJettyDocument;
-import org.apache.geronimo.xbeans.j2ee.WebAppDocument;
-import org.apache.geronimo.xbeans.j2ee.WebAppType;
+import org.apache.geronimo.xbeans.javaee.WebAppDocument;
+import org.apache.geronimo.xbeans.javaee.WebAppType;
 import org.apache.xmlbeans.XmlCursor;
 import org.apache.xmlbeans.XmlObject;
 
@@ -117,7 +117,7 @@
         ref.setRefName("ref");
         ref.setResourceLink("target");
 
-        SchemaConversionUtils.validateDD(webApp);
+        SchemaConversionUtilsJavaEE.validateDD(webApp);
         System.out.println(webApp.toString());
     }
 
@@ -204,7 +204,7 @@
         assertTrue(ConvertedPlan != null);
         XmlObject converted = XmlBeansUtil.parse(ConvertedPlan);
         XmlCursor c = converted.newCursor();
-        SchemaConversionUtils.findNestedElement(c, JettyWebAppDocument.type.getDocumentElementName());
+        SchemaConversionUtilsJavaEE.findNestedElement(c, JettyWebAppDocument.type.getDocumentElementName());
         c.toFirstChild();
         ArrayList problems = new ArrayList();
         compareXmlObjects(webPlan, c, problems);

Modified: geronimo/sandbox/servlet-2.5/modules/service-builder/src/java/org/apache/geronimo/deployment/xmlbeans/XmlBeansUtil.java
URL: http://svn.apache.org/viewvc/geronimo/sandbox/servlet-2.5/modules/service-builder/src/java/org/apache/geronimo/deployment/xmlbeans/XmlBeansUtil.java?rev=419193&r1=419192&r2=419193&view=diff
==============================================================================
--- geronimo/sandbox/servlet-2.5/modules/service-builder/src/java/org/apache/geronimo/deployment/xmlbeans/XmlBeansUtil.java (original)
+++ geronimo/sandbox/servlet-2.5/modules/service-builder/src/java/org/apache/geronimo/deployment/xmlbeans/XmlBeansUtil.java Wed Jul  5 02:31:58 2006
@@ -54,6 +54,7 @@
         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");
+        NAMESPACE_UPDATES.put("http://java.sun.com/xml/ns/j2ee", "http://java.sun.com/xml/ns/javaee");
     }
 
     private XmlBeansUtil() {