You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by bi...@apache.org on 2009/05/19 01:06:22 UTC

svn commit: r776126 - in /cxf/trunk/rt/databinding/aegis/src: main/java/org/apache/cxf/aegis/type/ main/java/org/apache/cxf/aegis/type/basic/ test/java/org/apache/cxf/aegis/ test/java/org/apache/cxf/aegis/integration/ test/java/org/apache/cxf/aegis/ser...

Author: bimargulies
Date: Mon May 18 23:06:22 2009
New Revision: 776126

URL: http://svn.apache.org/viewvc?rev=776126&view=rev
Log:
CXF-2224

Added:
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/takeNumber.xml   (with props)
Modified:
    cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/AbstractTypeCreator.java
    cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/XMLTypeCreator.java
    cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BeanType.java
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/AbstractAegisTest.java
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/WrappedTest.java
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.aegis.xml
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.java
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.aegis.xml
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.java
    cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/basic/BeanTest.java

Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/AbstractTypeCreator.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/AbstractTypeCreator.java?rev=776126&r1=776125&r2=776126&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/AbstractTypeCreator.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/AbstractTypeCreator.java Mon May 18 23:06:22 2009
@@ -119,7 +119,14 @@
         } else {
             Type type = getTypeMapping().getType(javaType);
             if (type == null) {
-                type = createDefaultType(info);
+                if (info.getTypeName() != null) {
+                    type = getTypeMapping().getType(info.getTypeName());
+                }
+                if (type == null) {
+                    type = createDefaultType(info);
+                } else {
+                    newType = false;
+                }
             } else {
                 newType = false;
             }

Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/XMLTypeCreator.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/XMLTypeCreator.java?rev=776126&r1=776125&r2=776126&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/XMLTypeCreator.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/XMLTypeCreator.java Mon May 18 23:06:22 2009
@@ -260,7 +260,7 @@
 
         TypeClassInfo info = new TypeClassInfo();
         info.setTypeClass(pd.getReadMethod().getReturnType());
-        info.setDescription("property " + pd);
+        info.setDescription("property " + pd.getDisplayName());
         readMetadata(info, mapping, propertyEl);
 
         return info;

Modified: cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BeanType.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BeanType.java?rev=776126&r1=776125&r2=776126&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BeanType.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/main/java/org/apache/cxf/aegis/type/basic/BeanType.java Mon May 18 23:06:22 2009
@@ -509,7 +509,7 @@
         }
 
         /*
-         * Automagically add chain of superclassesif this is an an extension.
+         * Automagically add chain of superclasses if this is an an extension.
          */
         if (inf.isExtension()) {
             Type sooperType = getSuperType();

Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/AbstractAegisTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/AbstractAegisTest.java?rev=776126&r1=776125&r2=776126&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/AbstractAegisTest.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/AbstractAegisTest.java Mon May 18 23:06:22 2009
@@ -18,6 +18,7 @@
  */
 package org.apache.cxf.aegis;
 
+import java.io.StringWriter;
 import java.util.ArrayList;
 import java.util.Collection;
 
@@ -58,6 +59,7 @@
 import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
 import org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean;
 import org.apache.cxf.service.Service;
+import org.apache.cxf.staxutils.StaxUtils;
 import org.apache.cxf.staxutils.W3CDOMStreamWriter;
 import org.apache.cxf.test.AbstractCXFTest;
 import org.apache.cxf.transport.ConduitInitiatorManager;
@@ -333,4 +335,12 @@
         this.enableJDOM = enableJDOM;
     }
     
+    protected String renderWsdl(Document wsdlDoc) throws XMLStreamException {
+        StringWriter out = new StringWriter();
+        XMLStreamWriter writer = StaxUtils.createXMLStreamWriter(out);
+        StaxUtils.writeNode(wsdlDoc, writer, true);
+        writer.flush();
+        return out.toString();
+    }
+    
 }

Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/WrappedTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/WrappedTest.java?rev=776126&r1=776125&r2=776126&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/WrappedTest.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/WrappedTest.java Mon May 18 23:06:22 2009
@@ -27,6 +27,7 @@
 import org.apache.cxf.aegis.AbstractAegisTest;
 import org.apache.cxf.aegis.services.ArrayService;
 import org.apache.cxf.aegis.services.BeanService;
+
 import org.junit.Before;
 import org.junit.Test;
 
@@ -37,6 +38,7 @@
 public class WrappedTest extends AbstractAegisTest {
     
     private ArrayService arrayService;
+    private Document arrayWsdlDoc;
     
     @Before 
     public void setUp() throws Exception {
@@ -45,6 +47,7 @@
         arrayService = new ArrayService();
         createService(BeanService.class, "BeanService");
         createService(ArrayService.class, arrayService, "Array", new QName("urn:Array", "Array"));
+        arrayWsdlDoc = getWSDLDocument("Array");
     }
     
     @Test
@@ -61,10 +64,25 @@
     
     @Test
     public void testArrayWsdl() throws Exception {
-        Document doc = getWSDLDocument("Array");
-        NodeList stuff = assertValid("//xsd:complexType[@name='ArrayOfString-2-50']", doc);
+        NodeList stuff = assertValid("//xsd:complexType[@name='ArrayOfString-2-50']", arrayWsdlDoc);
         assertEquals(1, stuff.getLength());
     }
+    
+    @Test
+    public void testXmlConfigurationOfParameterTypeSchema() throws Exception {
+        assertValid(
+                    "/wsdl:definitions/wsdl:types"
+                        + "/xsd:schema[@targetNamespace='urn:Array']"
+                        + "/xsd:complexType[@name=\"takeNumber\"]/xsd:sequence/xsd:element"
+                        + "[@type=\"xsd:long\"]",
+                    arrayWsdlDoc);
+    }
+    
+    @Test
+    public void testXmlConfigurationOfParameterType() throws Exception {
+        invoke("Array", "takeNumber.xml");
+        assertEquals(Long.valueOf(123456789), arrayService.getNumberValue());
+    }
 
     @Test
     public void testBeanServiceWSDL() throws Exception {

Added: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/takeNumber.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/takeNumber.xml?rev=776126&view=auto
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/takeNumber.xml (added)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/takeNumber.xml Mon May 18 23:06:22 2009
@@ -0,0 +1,8 @@
+<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
+ <env:Header/>
+ <env:Body>
+  <takeNumber xmlns="urn:Array">
+  	<numberParam>123456789</numberParam>
+  </takeNumber>
+ </env:Body>
+</env:Envelope>
\ No newline at end of file

Propchange: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/takeNumber.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/takeNumber.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.aegis.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.aegis.xml?rev=776126&r1=776125&r2=776126&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.aegis.xml (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.aegis.xml Mon May 18 23:06:22 2009
@@ -22,5 +22,8 @@
         <method name="submitStringArray">
             <parameter index="0" minOccurs='2' maxOccurs='50' nillable='false' />
         </method>
+        <method name="takeNumber" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+        	<parameter index="0" typeName="xsd:long"/>
+        </method>
     </mapping>
 </mappings>

Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.java?rev=776126&r1=776125&r2=776126&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.java Mon May 18 23:06:22 2009
@@ -35,6 +35,10 @@
     private org.w3c.dom.Document[] w3cArray;
     private String beforeValue;
     private String afterValue;
+    private Number numberValue;
+    
+    public ArrayService() {
+    }
     
     @WebMethod
     public SimpleBean[] getBeanArray() {
@@ -93,6 +97,14 @@
     public org.w3c.dom.Document[] getW3cArray() {
         return w3cArray;
     }
+    
+    public void takeNumber(Number numberParam) {
+        numberValue = numberParam;
+    }
+    
+    public Number getNumberValue() {
+        return numberValue;
+    }
 
     public String getBeforeValue() {
         return beforeValue;

Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.aegis.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.aegis.xml?rev=776126&r1=776125&r2=776126&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.aegis.xml (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.aegis.xml Mon May 18 23:06:22 2009
@@ -20,5 +20,7 @@
 <mappings xmlns:stalk='urn:beanz'>
     <mapping name="stalk:SimpleBean">
     	<property name='numbers' nillable='false' minOccurs='2' maxOccurs='50' />
+    	<property name='number' typeName='xsd:long' xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
     </mapping>
+    
 </mappings>
\ No newline at end of file

Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.java?rev=776126&r1=776125&r2=776126&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.java Mon May 18 23:06:22 2009
@@ -34,6 +34,15 @@
     private char primitiveCharacter;
     private byte littleByte;
     private Byte bigByte;
+    private Number numberValue;
+    
+    public Number getNumber() {
+        return numberValue;
+    }
+    
+    public void setNumber(Number value) {
+        numberValue = value;
+    }
 
     public int[] getNumbers() {
         return numbers;

Modified: cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/basic/BeanTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/basic/BeanTest.java?rev=776126&r1=776125&r2=776126&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/basic/BeanTest.java (original)
+++ cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/basic/BeanTest.java Mon May 18 23:06:22 2009
@@ -487,7 +487,7 @@
         type.setSchemaType(new QName("urn:Bean", "bean"));
 
         PropertyDescriptor[] pds = info.getPropertyDescriptors();
-        assertEquals(8, pds.length);
+        assertEquals(9, pds.length);
 
         ExtendedBean bean = new ExtendedBean();
         bean.setHowdy("howdy");