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]