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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to