You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jaxme-dev@ws.apache.org by jo...@apache.org on 2006/09/22 15:21:47 UTC

svn commit: r448918 - in /webservices/jaxme/branches: MAVEN/ MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/ MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/ b0_5/ b0_5/src/jaxme/org/apache/ws/jaxme/generator/...

Author: jochen
Date: Fri Sep 22 06:21:46 2006
New Revision: 448918

URL: http://svn.apache.org/viewvc?view=rev&rev=448918
Log:
The ObjectFactory wasn't properly initialized when multiple packages
have been used.

Modified:
    webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java
    webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/StringSG.java
    webservices/jaxme/branches/MAVEN/status.xml
    webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java
    webservices/jaxme/branches/b0_5/status.xml

Modified: webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java?view=diff&rev=448918&r1=448917&r2=448918
==============================================================================
--- webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java (original)
+++ webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java Fri Sep 22 06:21:46 2006
@@ -468,12 +468,6 @@
     JavaField jf = js.newJavaField("jaxbContext", JAXBContextImpl.class, "private");
     JavaField properties = js.newJavaField("properties", Map.class, "private");
 
-    JavaConstructor jcon = js.newJavaConstructor("public");
-    jcon.addThrows(JAXBException.class);
-    jcon.addLine(jf, " = (", JAXBContextImpl.class, ") ",
-                 JAXBContext.class, ".newInstance(",
-                 JavaSource.getQuoted(pPackageName), ");");
-
     JavaMethod newInstanceMethod = js.newJavaMethod("newInstance", Object.class, "public");
     newInstanceMethod.addThrows(JAXBException.class);
     Parameter pElementInterface = newInstanceMethod.addParam(Class.class, "pElementInterface");
@@ -499,6 +493,8 @@
     }
 
     Set contextSet = new HashSet();
+    final Set packageNames = new HashSet();
+    packageNames.add(pPackageName);
     for (Iterator iter = pContextList.iterator();  iter.hasNext();  ) {
       Object o = iter.next();
       TypeSG typeSG;
@@ -506,6 +502,7 @@
         ObjectSG objectSG = ((ObjectSG) o);
         typeSG = objectSG.getTypeSG();
         generateCreateMethod(js, null, objectSG.getClassContext());
+        packageNames.add(objectSG.getClassContext().getXMLInterfaceName().getPackageName());
         //NB: we don't have to check for duplicate element names since that would violate the XSD spec
       } else if (o instanceof TypeSG) {
         typeSG = (TypeSG) o;
@@ -516,6 +513,18 @@
 	  generateCreateMethod(js, contextSet, typeSG, null);
     }
 
+    StringBuffer sb = new StringBuffer();
+    for (Iterator iter = packageNames.iterator();  iter.hasNext();  ) {
+        if (sb.length() > 0) {
+            sb.append(':');
+        }
+        sb.append(iter.next());
+    }
+    JavaConstructor jcon = js.newJavaConstructor("public");
+    jcon.addThrows(JAXBException.class);
+    jcon.addLine(jf, " = (", JAXBContextImpl.class, ") ",
+                 JAXBContext.class, ".newInstance(",
+                 JavaSource.getQuoted(pPackageName), ");");
     return js;
   }
 

Modified: webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/StringSG.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/StringSG.java?view=diff&rev=448918&r1=448917&r2=448918
==============================================================================
--- webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/StringSG.java (original)
+++ webservices/jaxme/branches/MAVEN/projects/jm/src/main/java/org/apache/ws/jaxme/generator/types/StringSG.java Fri Sep 22 06:21:46 2006
@@ -63,10 +63,6 @@
     return new TypedValueImpl(pValue, STRING_TYPE);
   }
 
-  public TypedValue getCastToString(SimpleTypeSG pController, Object pValue, DirectAccessible pData) {
-    return new TypedValueImpl(pValue, STRING_TYPE);
-  }
-
   public void forAllNonNullValues(SimpleTypeSG pController, JavaMethod pMethod, Object pValue, SGlet pSGlet) throws SAXException {
     LocalJavaField f = pMethod.newJavaField(STRING_TYPE);
     f.addLine(pValue);

Modified: webservices/jaxme/branches/MAVEN/status.xml
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/MAVEN/status.xml?view=diff&rev=448918&r1=448917&r2=448918
==============================================================================
--- webservices/jaxme/branches/MAVEN/status.xml (original)
+++ webservices/jaxme/branches/MAVEN/status.xml Fri Sep 22 06:21:46 2006
@@ -81,6 +81,10 @@
       <action dev="JW" type="fix" context="generator">
         Invalid code was generated for an xs:list with item type xs:QName.
       </action>
+      <action dev="JW" type="fix" context="generator">
+        The object factory wasn't properly initialized, if a schema was using
+        multiple package names.
+      </action>
     </release>
 	<release version="0.5.1" date="Not yet published">
       <action dev="JW" type="enhancement" context="js">

Modified: webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java?view=diff&rev=448918&r1=448917&r2=448918
==============================================================================
--- webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java (original)
+++ webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBSchemaSG.java Fri Sep 22 06:21:46 2006
@@ -462,12 +462,6 @@
     JavaField jf = js.newJavaField("jaxbContext", JAXBContextImpl.class, "private");
     JavaField properties = js.newJavaField("properties", Map.class, "private");
 
-    JavaConstructor jcon = js.newJavaConstructor("public");
-    jcon.addThrows(JAXBException.class);
-    jcon.addLine(jf, " = (", JAXBContextImpl.class, ") ",
-                 JAXBContext.class, ".newInstance(",
-                 JavaSource.getQuoted(pPackageName), ");");
-
     JavaMethod newInstanceMethod = js.newJavaMethod("newInstance", Object.class, "public");
     newInstanceMethod.addThrows(JAXBException.class);
     Parameter pElementInterface = newInstanceMethod.addParam(Class.class, "pElementInterface");
@@ -493,6 +487,8 @@
     }
 
     Set contextSet = new HashSet();
+    final Set packageNames = new HashSet();
+    packageNames.add(pPackageName);
     for (Iterator iter = pContextList.iterator();  iter.hasNext();  ) {
       Object o = iter.next();
       TypeSG typeSG;
@@ -501,6 +497,7 @@
         typeSG = objectSG.getTypeSG();
         generateCreateMethod(js, null, objectSG.getClassContext());
         //NB: we don't have to check for duplicate element names since that would violate the XSD spec
+        packageNames.add(objectSG.getClassContext().getXMLInterfaceName().getPackageName());
       } else if (o instanceof TypeSG) {
         typeSG = (TypeSG) o;
       } else {
@@ -508,8 +505,21 @@
       }
 
 	  generateCreateMethod(js, contextSet, typeSG, null);
+
     }
     
+    StringBuffer sb = new StringBuffer();
+    for (Iterator iter = packageNames.iterator();  iter.hasNext();  ) {
+        if (sb.length() > 0) {
+            sb.append(':');
+        }
+        sb.append(iter.next());
+    }
+    JavaConstructor jcon = js.newJavaConstructor("public");
+    jcon.addThrows(JAXBException.class);
+    jcon.addLine(jf, " = (", JAXBContextImpl.class, ") ",
+            JAXBContext.class, ".newInstance(",
+            JavaSource.getQuoted(sb.toString()), ");");
     return js;
   }
 

Modified: webservices/jaxme/branches/b0_5/status.xml
URL: http://svn.apache.org/viewvc/webservices/jaxme/branches/b0_5/status.xml?view=diff&rev=448918&r1=448917&r2=448918
==============================================================================
--- webservices/jaxme/branches/b0_5/status.xml (original)
+++ webservices/jaxme/branches/b0_5/status.xml Fri Sep 22 06:21:46 2006
@@ -77,6 +77,10 @@
       <action dev="JW" type="fix" context="generator">
         Invalid code was generated for an xs:list with item type xs:QName.
       </action>
+      <action dev="JW" type="fix" context="generator">
+        The object factory wasn't properly initialized, if a schema was using
+        multiple package names.
+      </action>
     </release>
     <release version="0.5.1" date="06-Jan-2006">
       <action dev="JW" type="enhancement" context="js">



---------------------------------------------------------------------
To unsubscribe, e-mail: jaxme-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: jaxme-dev-help@ws.apache.org