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 2004/08/27 03:03:17 UTC

cvs commit: ws-jaxme/src/jaxme/org/apache/ws/jaxme/impl JMXmlSerializerImpl.java

jochen      2004/08/26 18:03:17

  Modified:    src/jaxme/org/apache/ws/jaxme/junit Tag: Branch_R0_3
                        DefaultValueTest.java
               src/jaxme/org/apache/ws/jaxme/generator/sg/impl Tag:
                        Branch_R0_3 JAXBGroupSG.java
               src/jaxme/org/apache/ws/jaxme/impl Tag: Branch_R0_3
                        JMXmlSerializerImpl.java
  Added:       src/test/jaxb Tag: Branch_R0_3 recursion.xsd
               src/jaxme/org/apache/ws/jaxme/junit Tag: Branch_R0_3
                        RecursionTest.java
  Log:
  Applying patches for JAXME-24 and JAXME-26.
  PR: JAXME-24 and JAXME-26
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.1.2.1   +0 -17     ws-jaxme/src/test/jaxb/recursion.xsd
  
  Index: recursion.xsd
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/test/jaxb/recursion.xsd,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- recursion.xsd	27 Aug 2004 01:02:41 -0000	1.1
  +++ recursion.xsd	27 Aug 2004 01:03:17 -0000	1.1.2.1
  @@ -49,21 +49,4 @@
       <attribute name="name" type="string" use="required" />
     </complexType>
     <element name="PotEmployee" type="rec:PotEmployeeType" />
  -
  -  <element name="Attribute">
  -	<complexType>
  -	  <sequence>
  -        <element name="AttributeList">
  -          <complexType>
  -            <sequence>
  -              <element ref="rec:Attribute"/>
  -            </sequence>
  -          </complexType>
  -        </element>
  -	  </sequence>
  -	  <attribute name="id" type="string" use="required"/>
  -	  <attribute name="value" type="string" use="optional"/>
  -	</complexType>
  -  </element>
  -
   </schema>
  
  
  
  No                   revision
  No                   revision
  1.2.2.1   +4 -0      ws-jaxme/src/jaxme/org/apache/ws/jaxme/junit/DefaultValueTest.java
  
  Index: DefaultValueTest.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/junit/DefaultValueTest.java,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- DefaultValueTest.java	16 Feb 2004 23:39:54 -0000	1.2
  +++ DefaultValueTest.java	27 Aug 2004 01:03:17 -0000	1.2.2.1
  @@ -25,6 +25,7 @@
   import org.apache.ws.jaxme.test.misc.defaults.Persons;
   import org.apache.ws.jaxme.test.misc.defaults.PersonsType.PersonType;
   import org.apache.ws.jaxme.test.misc.defaults.PersonsType.PersonType.NameType;
  +import org.apache.ws.jaxme.test.misc.defaults.impl.PersonsTypeImpl.PersonTypeImpl.NameTypeImpl;
   import org.xml.sax.InputSource;
   
   /**
  @@ -68,6 +69,9 @@
       i.hasNext();
       person = (PersonType) i.next();
       name = person.getName();
  +    if (name == null) {
  +        name = new NameTypeImpl();
  +    }
       assertEquals("Anonymous", name.getFirst());
       assertEquals(null, name.getLast());
       assertEquals("Cb", person.getAlias());
  
  
  
  No                   revision
  
  Index: DefaultValueTest.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/junit/DefaultValueTest.java,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- DefaultValueTest.java	16 Feb 2004 23:39:54 -0000	1.2
  +++ DefaultValueTest.java	27 Aug 2004 01:03:17 -0000	1.2.2.1
  @@ -25,6 +25,7 @@
   import org.apache.ws.jaxme.test.misc.defaults.Persons;
   import org.apache.ws.jaxme.test.misc.defaults.PersonsType.PersonType;
   import org.apache.ws.jaxme.test.misc.defaults.PersonsType.PersonType.NameType;
  +import org.apache.ws.jaxme.test.misc.defaults.impl.PersonsTypeImpl.PersonTypeImpl.NameTypeImpl;
   import org.xml.sax.InputSource;
   
   /**
  @@ -68,6 +69,9 @@
       i.hasNext();
       person = (PersonType) i.next();
       name = person.getName();
  +    if (name == null) {
  +        name = new NameTypeImpl();
  +    }
       assertEquals("Anonymous", name.getFirst());
       assertEquals(null, name.getLast());
       assertEquals("Cb", person.getAlias());
  
  
  
  No                   revision
  
  Index: DefaultValueTest.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/junit/DefaultValueTest.java,v
  retrieving revision 1.2
  retrieving revision 1.2.2.1
  diff -u -r1.2 -r1.2.2.1
  --- DefaultValueTest.java	16 Feb 2004 23:39:54 -0000	1.2
  +++ DefaultValueTest.java	27 Aug 2004 01:03:17 -0000	1.2.2.1
  @@ -25,6 +25,7 @@
   import org.apache.ws.jaxme.test.misc.defaults.Persons;
   import org.apache.ws.jaxme.test.misc.defaults.PersonsType.PersonType;
   import org.apache.ws.jaxme.test.misc.defaults.PersonsType.PersonType.NameType;
  +import org.apache.ws.jaxme.test.misc.defaults.impl.PersonsTypeImpl.PersonTypeImpl.NameTypeImpl;
   import org.xml.sax.InputSource;
   
   /**
  @@ -68,6 +69,9 @@
       i.hasNext();
       person = (PersonType) i.next();
       name = person.getName();
  +    if (name == null) {
  +        name = new NameTypeImpl();
  +    }
       assertEquals("Anonymous", name.getFirst());
       assertEquals(null, name.getLast());
       assertEquals("Cb", person.getAlias());
  
  
  
  1.1.2.1   +0 -2      ws-jaxme/src/jaxme/org/apache/ws/jaxme/junit/RecursionTest.java
  
  Index: RecursionTest.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/junit/RecursionTest.java,v
  retrieving revision 1.1
  retrieving revision 1.1.2.1
  diff -u -r1.1 -r1.1.2.1
  --- RecursionTest.java	27 Aug 2004 01:02:41 -0000	1.1
  +++ RecursionTest.java	27 Aug 2004 01:03:17 -0000	1.1.2.1
  @@ -8,7 +8,6 @@
   import javax.xml.bind.Marshaller;
   import javax.xml.bind.Unmarshaller;
   
  -import org.apache.ws.jaxme.impl.JMMarshallerImpl;
   import org.apache.ws.jaxme.test.recursion.DirectEmployee;
   import org.apache.ws.jaxme.test.recursion.IndirectEmployee;
   import org.apache.ws.jaxme.test.recursion.PotEmployee;
  @@ -111,7 +110,6 @@
   		JAXBContext context = JAXBContext.newInstance(getPackageName(pClass));
   		Marshaller marshaller = context.createMarshaller();
   		marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
  -        marshaller.setProperty(JMMarshallerImpl.JAXME_XML_DECLARATION, Boolean.FALSE);
   		StringWriter sw = new StringWriter();
   		marshaller.marshal(o, sw);
   		return sw.toString();
  
  
  
  No                   revision
  No                   revision
  1.10.2.2  +21 -10    ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBGroupSG.java
  
  Index: JAXBGroupSG.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/generator/sg/impl/JAXBGroupSG.java,v
  retrieving revision 1.10.2.1
  retrieving revision 1.10.2.2
  diff -u -r1.10.2.1 -r1.10.2.2
  --- JAXBGroupSG.java	27 Jul 2004 08:40:59 -0000	1.10.2.1
  +++ JAXBGroupSG.java	27 Aug 2004 01:03:17 -0000	1.10.2.2
  @@ -176,7 +176,7 @@
         if (particle.isElement()) {
           ObjectSG elementSG = particle.getObjectSG();
           TypeSG typeSG = elementSG.getTypeSG();
  -        if (!typeSG.isGlobalType()  &&  typeSG.isComplex()) {
  +        if (!typeSG.isGlobalType()  &&  !typeSG.isGlobalClass()  &&  typeSG.isComplex()) {
             ComplexTypeSG complexTypeSG = typeSG.getComplexTypeSG();
             complexTypeSG.getXMLInterface(pSource);
           }
  @@ -243,14 +243,7 @@
         String serializerName = getXMLSerializersFieldName(particle.getPropertySG());
         Context myClassContext = child.getTypeSG().getComplexTypeSG().getClassContext();
         JavaQName serializerClass = myClassContext.getXMLSerializerName();
  -      JavaField jf = pSource.newJavaField(serializerName, serializerClass, JavaSource.PRIVATE);
  -      JavaQName elementInterface = myClassContext.getXMLInterfaceName();
  -      if (child.getTypeSG().isGlobalClass()) {
  -        jm.addLine(jf, " = (", serializerClass, ") ", pFactory, ".getJMXmlSerializer(", elementInterface, ".class);");
  -      } else {
  -        jm.addLine(jf, " = new ", serializerClass, "();");
  -      }
  -      jm.addLine(jf, ".init(pFactory);");
  +      pSource.newJavaField(serializerName, serializerClass, JavaSource.PRIVATE);
       }
       return jm;
     }
  @@ -284,7 +277,25 @@
         f.addLine("new ", QName.class, "(", JavaSource.getQuoted(objectSG.getName().getNamespaceURI()),
                   ", ", JavaSource.getQuoted(objectSG.getName().getLocalName()), ");");
         if (objectSG.getTypeSG().isComplex()) {
  -        pMethod.addLine(fieldName, ".marshal(", data, ", ", f, ", ", pValue, ");");
  +          Context myClassContext =
  +              child.getObjectSG().getTypeSG().getComplexTypeSG().getClassContext();
  +          JavaQName serializerClass = myClassContext.getXMLSerializerName();
  +          JavaQName elementInterface = myClassContext.getXMLInterfaceName();
  +          pMethod.addIf(fieldName + " == null");
  +          pMethod.addTry();
  +          if (child.getObjectSG().getTypeSG().isGlobalClass()) {
  +              pMethod.addLine(fieldName + " = ("+ serializerClass+ ") ",
  +                      	      "getFactory().getJMXmlSerializer(", elementInterface,
  +                      	      ".class);");
  +    	  } else {
  +    	      pMethod.addLine(fieldName + " = new ", serializerClass, "();");
  +              pMethod.addLine(fieldName + ".init(getFactory());");
  +    	  }
  +          DirectAccessible e = pMethod.addCatch(JAXBException.class);
  +          pMethod.addThrowNew(SAXException.class, e);
  +          pMethod.addEndTry();
  +          pMethod.addEndIf();
  +          pMethod.addLine(fieldName, ".marshal(", data, ", ", f, ", ", pValue, ");");
         } else {
           Object v = child.getObjectSG().getTypeSG().getSimpleTypeSG().getCastToString(pMethod, pValue, data);
           pMethod.addLine("marshalAtomicChild(", data, ", ", f, ", ", v, ");");
  
  
  
  No                   revision
  No                   revision
  1.3.2.2   +10 -2     ws-jaxme/src/jaxme/org/apache/ws/jaxme/impl/JMXmlSerializerImpl.java
  
  Index: JMXmlSerializerImpl.java
  ===================================================================
  RCS file: /home/cvs/ws-jaxme/src/jaxme/org/apache/ws/jaxme/impl/JMXmlSerializerImpl.java,v
  retrieving revision 1.3.2.1
  retrieving revision 1.3.2.2
  diff -u -r1.3.2.1 -r1.3.2.2
  --- JMXmlSerializerImpl.java	16 Aug 2004 08:29:17 -0000	1.3.2.1
  +++ JMXmlSerializerImpl.java	27 Aug 2004 01:03:17 -0000	1.3.2.2
  @@ -80,7 +80,15 @@
   	}
     }
   
  -  public void init(JAXBContextImpl pFactory) throws JAXBException {}
  +  private JAXBContextImpl factory;
  +
  +  public void init(JAXBContextImpl pFactory) throws JAXBException {
  +      factory = pFactory;
  +  }
  +
  +  public JAXBContextImpl getFactory() {
  +      return factory;
  +  }
   
     public String getPreferredPrefix(String pURI) {
       return null;
  
  
  

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