Author: jochen
Date: Mon Nov 21 23:31:59 2005
New Revision: 348117

URL: http://svn.apache.org/viewcvs?rev=348117&view=rev
Log:
The namespace of a simple type xs:QName wasn't necessarily
declared by the marshaller.
PR: JAXME-72
Submitted-By: Andreas Arrgård, andreas.arrgard at octagroup.com


Added:
    webservices/jaxme/branches/b0_5/src/test/jaxb/jira/jaxme-72.xsd
Modified:
    webservices/jaxme/branches/b0_5/ant/docs.xml
    
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/QNameSG.java
    
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/impl/JMSAXDriverController.java
    
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/junit/JiraTest.java
    webservices/jaxme/branches/b0_5/src/test/jaxb/jira/jaxme-10.xsd
    webservices/jaxme/branches/b0_5/status.xml

Modified: webservices/jaxme/branches/b0_5/ant/docs.xml
URL: 
http://svn.apache.org/viewcvs/webservices/jaxme/branches/b0_5/ant/docs.xml?rev=348117&r1=348116&r2=348117&view=diff
==============================================================================
--- webservices/jaxme/branches/b0_5/ant/docs.xml (original)
+++ webservices/jaxme/branches/b0_5/ant/docs.xml Mon Nov 21 23:31:59 2005
@@ -69,7 +69,7 @@
         <fail>Missing DocBook, terminating.</fail>
     </target>
 
-    <target name="all" 
depends="javadoc,docbook.html,old.releases,forrest,replace"
+    <target name="Docs.all" 
depends="javadoc,docbook.html,old.releases,forrest,replace"
           description="Generates the documentation"/>
 
     <target name="javadoc" depends="all"

Modified: 
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/QNameSG.java
URL: 
http://svn.apache.org/viewcvs/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/QNameSG.java?rev=348117&r1=348116&r2=348117&view=diff
==============================================================================
--- 
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/QNameSG.java
 (original)
+++ 
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/generator/types/QNameSG.java
 Mon Nov 21 23:31:59 2005
@@ -68,8 +68,8 @@
   }
 
   public TypedValue getCastToString(SimpleTypeSG pController, Object pValue, 
DirectAccessible pData) {
-      return new TypedValueImpl(new Object[]{ pData, 
".getDatatypeConverter().printQName(", pValue, ", ", pData,
-                                                       
".getNamespaceContext())" }, String.class);
+         return new TypedValueImpl(new Object[]{ pData, 
".getElementQName(this, ", pValue, ".getNamespaceURI(), ", pValue,
+                                                                               
        ".getLocalPart())" }, String.class);
   }
   
   public void forAllNonNullValues(SimpleTypeSG pController, JavaMethod 
pMethod, Object pValue, SGlet pSGlet) throws SAXException {

Modified: 
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/impl/JMSAXDriverController.java
URL: 
http://svn.apache.org/viewcvs/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/impl/JMSAXDriverController.java?rev=348117&r1=348116&r2=348117&view=diff
==============================================================================
--- 
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/impl/JMSAXDriverController.java
 (original)
+++ 
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/impl/JMSAXDriverController.java
 Mon Nov 21 23:31:59 2005
@@ -130,8 +130,12 @@
                }
        }
 
-       protected String getElementQName(JMSAXDriver pDriver, String 
pNamespaceURI,
-                                                                        String 
pLocalName)
+       /** Returns the qualified name of the element <code>pLocalName</code>
+        * in namespace <code>pNamespaceURI</code>. In other words, it attachs
+        * a prefix, if required.
+        */
+       public String getElementQName(JMSAXDriver pDriver, String pNamespaceURI,
+                                                                 String 
pLocalName)
                        throws SAXException {
                if (pNamespaceURI == null) {
                        pNamespaceURI = "";

Modified: 
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/junit/JiraTest.java
URL: 
http://svn.apache.org/viewcvs/webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/junit/JiraTest.java?rev=348117&r1=348116&r2=348117&view=diff
==============================================================================
--- 
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/junit/JiraTest.java
 (original)
+++ 
webservices/jaxme/branches/b0_5/src/jaxme/org/apache/ws/jaxme/junit/JiraTest.java
 Mon Nov 21 23:31:59 2005
@@ -9,6 +9,7 @@
 import javax.xml.bind.Unmarshaller;
 import javax.xml.bind.ValidationEvent;
 import javax.xml.bind.ValidationEventHandler;
+import javax.xml.namespace.QName;
 
 import magoffin.matt.ieat.domain.impl.IngredientImpl;
 import net.dspc.commons.activitymodel.TransmissionData;
@@ -24,6 +25,7 @@
 import org.apache.ws.jaxme.generator.util.JavaNamer;
 import org.apache.ws.jaxme.test.jira.jaxme65.Jaxme65;
 import org.apache.ws.jaxme.test.jira.jaxme65.Jaxme65Type;
+import org.apache.ws.jaxme.test.jira72.Jaxme72;
 import org.apache.ws.jaxme.test.misc.types.Jira62;
 import org.apache.ws.jaxme.test.misc.types.Row;
 import org.apache.ws.jaxme.test.misc.types.impl.RowImpl;
@@ -256,5 +258,22 @@
                List list2 = text2.getContent();
                assertEquals(1, list2.size());
                assertEquals("some text", list2.get(0));
+       }
+
+       /** Test for <a 
href="http://issues.apache.org/jira/browse/JAXME-72";>JAXME-72</a>.
+        */
+       public void testJAXME72() throws JAXBException {
+               // create test structure
+               org.apache.ws.jaxme.test.jira72.ObjectFactory oFact = new 
org.apache.ws.jaxme.test.jira72.ObjectFactory();
+               Jaxme72 jaxme72  = oFact.createJaxme72();
+               QName qName = new 
QName("http://this.namespace/must/be/declared";, "jaxme72");
+               jaxme72.setTest(qName);
+               // try to marshal it...Jira issue 72 address the problem that 
this will fail.
+               JAXBContext ctx = 
JAXBContext.newInstance("org.apache.ws.jaxme.test.jira72");
+               StringWriter sw = new StringWriter();
+               ctx.createMarshaller().marshal(jaxme72, sw);
+               // if we get this far issue 72 shoulb be fixed. just to be sure 
- unmarshal and compare QNames.
+               Jaxme72 jaxme72Clone = (Jaxme72) 
ctx.createUnmarshaller().unmarshal(new InputSource(new 
StringReader(sw.toString())));
+               assertEquals(jaxme72.getTest(),jaxme72Clone.getTest());
        }
 }

Modified: webservices/jaxme/branches/b0_5/src/test/jaxb/jira/jaxme-10.xsd
URL: 
http://svn.apache.org/viewcvs/webservices/jaxme/branches/b0_5/src/test/jaxb/jira/jaxme-10.xsd?rev=348117&r1=348116&r2=348117&view=diff
==============================================================================
Binary files - no diff available.

Added: webservices/jaxme/branches/b0_5/src/test/jaxb/jira/jaxme-72.xsd
URL: 
http://svn.apache.org/viewcvs/webservices/jaxme/branches/b0_5/src/test/jaxb/jira/jaxme-72.xsd?rev=348117&view=auto
==============================================================================
--- webservices/jaxme/branches/b0_5/src/test/jaxb/jira/jaxme-72.xsd (added)
+++ webservices/jaxme/branches/b0_5/src/test/jaxb/jira/jaxme-72.xsd Mon Nov 21 
23:31:59 2005
@@ -0,0 +1,8 @@
+<xs:schema targetNamespace='http://apache.org/ws/jaxme/test/jira72'
+           xmlns:xs='http://www.w3.org/2001/XMLSchema'>
+  <xs:element name='jaxme-72'>
+    <xs:complexType>
+      <xs:attribute name="test" type="xs:QName"/>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>

Modified: webservices/jaxme/branches/b0_5/status.xml
URL: 
http://svn.apache.org/viewcvs/webservices/jaxme/branches/b0_5/status.xml?rev=348117&r1=348116&r2=348117&view=diff
==============================================================================
--- webservices/jaxme/branches/b0_5/status.xml (original)
+++ webservices/jaxme/branches/b0_5/status.xml Mon Nov 21 23:31:59 2005
@@ -53,6 +53,11 @@
         The generated marshallers didn't honor the JAXME_FORMAT_*.
         properties.
       </action>
+      <action dev="JW" type="fix" context="generator">
+        The namespace of a simple type xs:QName wasn't necessarily
+        declared by the marshaller. (JAXME-72, Andreas Arrgård,
+        andreas.arrgard at octagroup.com)
+      </action>
     </release>
        <release version="0.5" date="2005-Aug-08">
       <action dev="JW" type="enhancement" context="js">



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to