You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by da...@apache.org on 2007/03/07 21:20:15 UTC

svn commit: r515734 [9/11] - in /incubator/cxf/trunk/rt: ./ core/src/main/java/org/apache/cxf/endpoint/ databinding/aegis/ databinding/aegis/src/ databinding/aegis/src/main/ databinding/aegis/src/main/java/ databinding/aegis/src/main/java/org/ databind...

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/client/EchoImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/client/EchoImpl.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/client/EchoImpl.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/client/EchoImpl.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,29 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.client;
+
+import javax.xml.ws.Holder;
+
+public class EchoImpl implements Echo
+{
+    public String echo(String text, Holder<String> textAgain) {
+        textAgain.value = "header2";
+        return text;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/client/EchoImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/client/EchoImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/client/HeaderTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/client/HeaderTest.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/client/HeaderTest.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/client/HeaderTest.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,100 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.client;
+
+import java.lang.reflect.Method;
+
+import javax.xml.ws.Holder;
+
+import org.w3c.dom.Document;
+
+import org.apache.cxf.aegis.AbstractAegisTest;
+import org.apache.cxf.aegis.databinding.AegisDatabinding;
+import org.apache.cxf.aegis.util.XmlConstants;
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.frontend.ClientProxyFactoryBean;
+import org.apache.cxf.frontend.ServerFactoryBean;
+import org.apache.cxf.service.Service;
+import org.apache.cxf.service.factory.ReflectionServiceFactoryBean;
+import org.apache.cxf.service.invoker.BeanInvoker;
+import org.apache.cxf.wsdl.WSDLBuilder;
+
+public class HeaderTest extends AbstractAegisTest
+{   
+    public void setUp()
+            throws Exception
+    {
+        super.setUp();
+
+        ReflectionServiceFactoryBean factory = new ReflectionServiceFactoryBean() {
+            public boolean isHeader(Method method, int j)
+            {
+                return true;
+            }
+
+            protected boolean isInParam(Method method, int j)
+            {
+                return j == 0;
+            }
+
+            protected boolean isOutParam(Method method, int j)
+            {
+                return j == -1 || j == 1;
+            }
+            
+        };
+        
+        factory.setInvoker(new BeanInvoker(new EchoImpl()));
+        
+        ServerFactoryBean svrFac = new ServerFactoryBean();
+        svrFac.setAddress("Echo");
+        setupAegis(svrFac);
+        svrFac.setServiceFactory(factory);
+        svrFac.setServiceClass(Echo.class);
+        svrFac.setBus(getBus());
+        svrFac.create();
+    }
+    
+    public void testHeaders() throws Exception
+    {
+        // not working yet
+    }
+    public void xtestHeaders() throws Exception
+    {
+        ClientProxyFactoryBean proxyFac = new ClientProxyFactoryBean();
+        proxyFac.setAddress("Echo");
+        proxyFac.setServiceClass(Echo.class);
+        proxyFac.setBus(getBus());
+        setupAegis(proxyFac.getClientFactoryBean());
+        
+        Echo echo = (Echo) proxyFac.create();
+        
+        
+        Holder<String> h = new Holder<String>();
+        assertEquals("hi", echo.echo("hi", h));
+        assertEquals("header2", h.value);
+        
+        Document wsdl = getWSDLDocument("Echo");
+
+        addNamespace("wsdlsoap", XmlConstants.WSDL11_NS);
+        assertValid("//wsdl:input/wsdlsoap:header[@message='tns:echoRequestHeaders'][@part='in0']", wsdl);
+        assertValid("//wsdl:output/wsdlsoap:header[@message='tns:echoResponseHeaders'][@part='out']", wsdl);
+        assertValid("//wsdl:output/wsdlsoap:header[@message='tns:echoResponseHeaders'][@part='out0']", wsdl);
+    }   
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/client/HeaderTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/client/HeaderTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/WrappedTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/WrappedTest.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/WrappedTest.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/WrappedTest.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,149 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.integration;
+
+import javax.xml.namespace.QName;
+
+import org.w3c.dom.Node;
+
+import org.apache.cxf.aegis.AbstractAegisTest;
+import org.apache.cxf.aegis.services.ArrayService;
+import org.apache.cxf.aegis.services.BeanService;
+import org.apache.cxf.transport.local.LocalTransportFactory;
+
+/**
+ * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
+ * @since Feb 21, 2004
+ */
+public class WrappedTest extends AbstractAegisTest {
+    public void setUp() throws Exception {
+        super.setUp();
+        createService(BeanService.class, "BeanService", null);
+        createService(ArrayService.class, "Array", new QName("urn:Array", "Array"));
+    }
+
+    public void testBeanService() throws Exception {
+        Node response = invoke("BeanService", LocalTransportFactory.TRANSPORT_ID, "bean11.xml");
+
+        addNamespace("sb", "http://services.aegis.cxf.apache.org");
+        assertValid("/s:Envelope/s:Body/sb:getSimpleBeanResponse", response);
+        assertValid("//sb:getSimpleBeanResponse/sb:return", response);
+        assertValid("//sb:getSimpleBeanResponse/sb:return/sb:howdy[text()=\"howdy\"]", response);
+        assertValid("//sb:getSimpleBeanResponse/sb:return/sb:bleh[text()=\"bleh\"]", response);
+    }
+
+    public void testBeanServiceWSDL() throws Exception {
+        Node doc = getWSDLDocument("BeanService");
+
+        assertValid("/wsdl:definitions/wsdl:types", doc);
+        assertValid("/wsdl:definitions/wsdl:types/xsd:schema", doc);
+        assertValid("/wsdl:definitions/wsdl:types/" +
+                        "xsd:schema[@targetNamespace='http://services.aegis.cxf.apache.org']",
+                    doc);
+        assertValid(
+                    "//xsd:schema[@targetNamespace='http://services.aegis.cxf.apache.org']/xsd:element[@name='getSubmitBean']",
+                    doc);
+        assertValid("//xsd:element[@name='getSubmitBean']/xsd:complexType/xsd:sequence"
+                    + "/xsd:element[@name='bleh'][@type='xsd:string'][@nillable='true']", doc);
+        assertValid("//xsd:element[@name='getSubmitBean']/xsd:complexType/xsd:sequence"
+                    + "/xsd:element[@name='bean'][@type='SimpleBean'][@nillable='true']", doc);
+
+        assertValid("/wsdl:definitions/wsdl:types"
+                    + "/xsd:schema[@targetNamespace='http://services.aegis.cxf.apache.org']", doc);
+        assertValid("/wsdl:definitions/wsdl:types"
+                    + "/xsd:schema[@targetNamespace='http://services.aegis.cxf.apache.org']"
+                    + "/xsd:complexType[@name=\"SimpleBean\"]", doc);
+        assertValid(
+                    "/wsdl:definitions/wsdl:types"
+                        + "/xsd:schema[@targetNamespace='http://services.aegis.cxf.apache.org']"
+                        + "/xsd:complexType[@name=\"SimpleBean\"]/xsd:sequence/xsd:element[@name=\"bleh\"][@nillable='true']",
+                    doc);
+        assertValid(
+                    "/wsdl:definitions/wsdl:types"
+                        + "/xsd:schema[@targetNamespace='http://services.aegis.cxf.apache.org']"
+                        + "/xsd:complexType[@name=\"SimpleBean\"]/xsd:sequence/xsd:element[@name=\"howdy\"][@nillable='true']",
+                    doc);
+        assertValid(
+                    "/wsdl:definitions/wsdl:types"
+                        + "/xsd:schema[@targetNamespace='http://services.aegis.cxf.apache.org']"
+                        + "/xsd:complexType[@name=\"SimpleBean\"]/xsd:sequence/xsd:element[@type=\"xsd:string\"]",
+                    doc);
+    }
+
+    // public void testGetArray()
+    // throws Exception
+    // {
+    // Document response = invokeService("Array",
+    // "/org/codehaus/xfire/message/wrapped/GetStringArray11.xml");
+    //
+    // addNamespace("a", "urn:Array");
+    // addNamespace("sb", "http://test.java.xfire.codehaus.org");
+    // assertValid("//a:getStringArrayResponse", response);
+    // assertValid("//a:getStringArrayResponse/a:out/a:string", response);
+    // }
+    //    
+    // public void testArrayService()
+    // throws Exception
+    // {
+    // Document response = invokeService("Array",
+    // "/org/codehaus/xfire/message/wrapped/SubmitStringArray11.xml");
+    //
+    // addNamespace("a", "urn:Array");
+    // addNamespace("sb", "http://test.java.xfire.codehaus.org");
+    // assertValid("//a:SubmitStringArrayResponse", response);
+    // assertValid("//a:SubmitStringArrayResponse/a:out[text()='true']",
+    // response);
+    // }
+    //
+    // public void testArrayServiceNoWhitespace()
+    // throws Exception
+    // {
+    // Document response = invokeService("Array",
+    // "/org/codehaus/xfire/message/wrapped/SubmitStringArray11NoWS.xml");
+    //
+    // addNamespace("a", "urn:Array");
+    // addNamespace("sb", "http://test.java.xfire.codehaus.org");
+    // assertValid("//a:SubmitStringArrayResponse", response);
+    // assertValid("//a:SubmitStringArrayResponse/a:out[text()='true']",
+    // response);
+    // }
+    //
+    // public void testArrayServiceWSDL()
+    // throws Exception
+    // {
+    // Document doc = getWSDLDocument("Array");
+    //
+    // addNamespace("wsdl", WSDLWriter.WSDL11_NS);
+    // addNamespace("wsdlsoap", WSDLWriter.WSDL11_SOAP_NS);
+    // addNamespace("xsd", SoapConstants.XSD);
+    //
+    // assertValid("/wsdl:definitions/wsdl:types", doc);
+    // assertValid("/wsdl:definitions/wsdl:types/xsd:schema", doc);
+    // assertValid("/wsdl:definitions/wsdl:types/xsd:schema[@targetNamespace='urn:Array']",
+    // doc);
+    // assertValid("//xsd:schema[@targetNamespace='urn:Array']/xsd:element[@name='SubmitBeanArray']",
+    // doc);
+    // assertValid(
+    // "//xsd:element[@name='SubmitStringArray']/xsd:complexType/xsd:sequence/xsd:element[@name='array'][@type='tns:ArrayOfString']",
+    // doc);
+    // assertValid(
+    // "//xsd:element[@name='SubmitBeanArray']/xsd:complexType/xsd:sequence/xsd:element[@name='array'][@type='ns1:ArrayOfSimpleBean']",
+    // doc);
+    // }
+}

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

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/WrappedTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/bean11.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/bean11.xml?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/bean11.xml (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/bean11.xml Wed Mar  7 12:20:07 2007
@@ -0,0 +1,6 @@
+<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
+ <env:Header/>
+ <env:Body>
+  <getSimpleBean xmlns="http://services.aegis.cxf.apache.org"/>
+ </env:Body>
+</env:Envelope>
\ No newline at end of file

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

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/bean11.xml
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/integration/bean11.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

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

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/AddNumbers.aegis.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/AddNumbers.aegis.xml?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/AddNumbers.aegis.xml (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/AddNumbers.aegis.xml Wed Mar  7 12:20:07 2007
@@ -0,0 +1,9 @@
+<mappings>
+    <mapping uri="urn:AddNumbers">
+        <method name="add">
+            <parameter index="0" mappedName="value1"/>
+            <parameter index="1" mappedName="value2"/>
+            <return-type mappedName="sum"/>
+        </method>
+    </mapping>
+</mappings>
\ No newline at end of file

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

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/AddNumbers.aegis.xml
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/AddNumbers.aegis.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

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

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/AddNumbers.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/AddNumbers.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/AddNumbers.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/AddNumbers.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,27 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services;
+
+public class AddNumbers
+{
+    public int add(int one, int two)
+    {
+        return one+two;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/AddNumbers.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/AddNumbers.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,51 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services;
+
+/**
+ * An array service for testing.
+ * 
+ * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
+ */
+public class ArrayService
+{
+    public SimpleBean[] getBeanArray()
+    {
+        SimpleBean bean = new SimpleBean();
+        bean.setBleh("bleh");
+        bean.setHowdy("howdy");
+        
+        return new SimpleBean[] { bean };
+    }
+
+    public String[] getStringArray()
+    {
+        return new String[] { "bleh", "bleh" };
+    }
+    
+    public boolean SubmitStringArray( String[] array )
+    {
+        return true;
+    }
+    
+    public boolean SubmitBeanArray( SimpleBean[] array )
+    {
+        return true;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ArrayService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/BeanService.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/BeanService.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/BeanService.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/BeanService.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,40 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services;
+
+/**
+ * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
+ */
+public class BeanService
+{
+    public SimpleBean getSimpleBean()
+    {
+        SimpleBean bean = new SimpleBean();
+        bean.setBleh("bleh");
+        bean.setHowdy("howdy");
+        
+        return bean;
+    }
+    
+    public String getSubmitBean( SimpleBean bean, String bleh )
+    {
+        return bean.getBleh();
+    }
+
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/BeanService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/BeanService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ComplexService.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ComplexService.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ComplexService.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ComplexService.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,32 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services;
+
+import org.apache.cxf.aegis.services.ns1.Complex1;
+
+public class ComplexService
+{
+    public Complex1 getComplex1()
+    {
+        Complex1 c1 = new Complex1();
+     
+        return c1;
+    }
+
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ComplexService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ComplexService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/DataBean.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/DataBean.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/DataBean.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/DataBean.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services;
+
+public class DataBean
+{
+    private byte[] data = new byte[0];
+
+    public byte[] getData()
+    {
+        return data;
+    }
+
+    public void setData(byte[] data)
+    {
+        this.data = data;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/DataBean.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/DataBean.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/DataService.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/DataService.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/DataService.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/DataService.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,27 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services;
+
+public class DataService
+{
+    public DataBean getData()
+    {
+        return new DataBean();
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/DataService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/DataService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/Echo.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/Echo.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/Echo.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/Echo.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,32 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services;
+
+/**
+ * Echo
+ * 
+ * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
+ */
+public class Echo
+{
+    public String echo( String echo )
+    {
+        return echo;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/Echo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/Echo.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/EchoOverload.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/EchoOverload.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/EchoOverload.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/EchoOverload.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,26 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services;
+
+public interface EchoOverload
+{
+    public String echo( String echo );
+    
+    public String echo( String echo, String echo2 );
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/EchoOverload.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/EchoOverload.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/EchoOverloadImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/EchoOverloadImpl.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/EchoOverloadImpl.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/EchoOverloadImpl.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,32 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services;
+
+public class EchoOverloadImpl implements EchoOverload
+{
+    public String echo( String echo )
+    {
+        return echo;
+    }
+    
+    public String echo( String echo, String echo2 )
+    {
+        return echo + echo2;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/EchoOverloadImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/EchoOverloadImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/PrimitiveService.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/PrimitiveService.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/PrimitiveService.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/PrimitiveService.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,35 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services;
+
+/**
+ * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
+ */
+public class PrimitiveService
+{
+    public Integer echoInteger( Integer integer )
+    {
+        return integer;
+    }
+
+    public int echoInt( int integer )
+    {
+        return integer;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/PrimitiveService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/PrimitiveService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,51 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services;
+
+/**
+ * SomeBean
+ * 
+ * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
+ */
+public class SimpleBean
+{
+    private String bleh;
+    
+    private String howdy;
+
+    public String getBleh()
+    {
+        return bleh;
+    }
+
+    public void setBleh(String bleh)
+    {
+        this.bleh = bleh;
+    }
+    
+    public String getHowdy()
+    {
+        return howdy;
+    }
+
+    public void setHowdy(String howdy)
+    {
+        this.howdy = howdy;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/SimpleBean.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/StaticEcho.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/StaticEcho.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/StaticEcho.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/StaticEcho.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,38 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services;
+
+/**
+ * Has a static method which shouldn't be registered with the service.
+ * 
+ * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
+ */
+public class StaticEcho
+{
+    
+    public static String echoStatic( String echo )
+    {
+        return echo;
+    }
+    
+    public String echo( String echo )
+    {
+        return echo;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/StaticEcho.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/StaticEcho.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/VoidService.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/VoidService.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/VoidService.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/VoidService.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,26 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services;
+
+public class VoidService
+{
+    public void doNothing()
+    {
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/VoidService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/VoidService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/BinaryDataService.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/BinaryDataService.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/BinaryDataService.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/BinaryDataService.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,62 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services.base64;
+
+import java.util.zip.CRC32;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class BinaryDataService {
+    private final Log log = LogFactory.getLog(getClass());
+
+    public String verifyDataIntegrity(byte[] data, int length, long crc32) {
+        log.debug("verifyDataIntegrity([" + data.length + " bytes of data], " + length + ", " + crc32
+                  + ") called.");
+
+        String status = getStatusForData(data, length, crc32);
+
+        log.debug("verifyDataIntegrity status: " + status);
+        return status;
+    }
+
+    /**
+     * @param data
+     * @param length
+     * @param crc32
+     * @return
+     */
+    private String getStatusForData(byte[] data, int length, long crc32) {
+
+        String status;
+        if (data.length != length) {
+            status = "data.length == " + data.length + ", should be " + length;
+        } else {
+            CRC32 computedCrc32 = new CRC32();
+            computedCrc32.update(data);
+            if (computedCrc32.getValue() != crc32) {
+                status = "Computed crc32 == " + computedCrc32.getValue() + ", should be " + crc32;
+            } else {
+                status = "OK";
+            }
+        }
+        return status;
+    }
+
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/BinaryDataService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/BinaryDataService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/BinaryDataTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/BinaryDataTest.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/BinaryDataTest.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/BinaryDataTest.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,48 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services.base64;
+
+import org.w3c.dom.Node;
+
+import org.apache.cxf.aegis.AbstractAegisTest;
+import org.apache.cxf.transport.local.LocalTransportFactory;
+
+public class BinaryDataTest extends AbstractAegisTest {
+    public void testBinary() throws Exception {
+        createService(BinaryDataService.class, null);
+
+        runTests();
+    }
+    
+    //    
+    private void runTests() throws Exception {
+        Node res = invoke("BinaryDataService",
+                          LocalTransportFactory.TRANSPORT_ID,
+                          "/org/apache/cxf/aegis/services/base64/binary.xml");
+
+        addNamespace("b", "http://base64.services.aegis.cxf.apache.org");
+        assertValid("//b:return[text()='OK']", res);
+
+//        res = invoke("BinaryDataService", 
+//                     LocalTransportFactory.TRANSPORT_ID,
+//                     "/org/apache/cxf/aegis/services/base64/binaryEmpty.xml");
+//        assertValid("//b:out[text()='OK']", res);
+    }
+
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/BinaryDataTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/BinaryDataTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binary.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binary.xml?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binary.xml (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binary.xml Wed Mar  7 12:20:07 2007
@@ -0,0 +1,33 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements. See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership. The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License. You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied. See the License for the
+   specific language governing permissions and limitations
+   under the License.
+-->
+<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><verifyDataIntegrity xmlns="http://base64.services.aegis.cxf.apache.org"><data>J6VE/+XTWDdheT9/uzjDAuYjKQQgoASUwV0fBlLHg/7Gslna3pIAlrGWYpcYnkPqVh7AwB4UN4ag
+rz2Hs1HlmfVBuQjf6CRUIpJTij5seyMaNbAzB8PgsXvSOi5UeOJfsMii1+U6Cm35b
+J6LwK1IMzMabX6hsZIyYQeNDK72/6mw9Nl2yqQ+4CpCOpolVPDNiQb7OQtjvf41b3bdrP2/A2z028zT0miO3IxU
+X3f3DQ0Wv4On+sWdTDbbQFsuYDMsgzYuMHkk+reebF1/D16GPWJpxux6FwimVo6W+JENYHtZJ9xBydyT8sXLCY5oHjzXVA
+L4xZ
+pGsWsth9rqjgEmkAvhJeeCRXSG1dQnrw16PjdSvqSOFJvhE3ZwE0IB
+qWTEpHmChvlVVA6OcvDFHwFds0iimM9dl3twABJxETIxhCtvYgqU97g+/GmV/6KqG/N0E1/6XhGV
+Zw39EYXn40PcXe7FVbz3ybuPZJtlx5fZxeQe/f7SNyUZ2vv9luUyVxkmuaKz5cY3fUmjavp2L6B1
+JEuhyOZECSXIq3rB+TLWXQ2BPg30JeAe53+0Ls0ro6pbh3GakY4y4bB96jpLdYMXzQzs9PGSgf9r
+guBmj9pYnQjQZnLAO8x+T1xddzql03H8nWHAPq65yAZyLg6ty1LVJE0xew8QVpFAbqWUNQnExa9v
+avJ5mF9aFp5sTg290IMKiFLtc1hi60fPf9AIJZP8rWhePmFgW4zt12RwpAeEgp0iiay211JXDH6q
+qhiOUfEKb6ClX5IhqizF/5vz8UY/S/0z5pvmRdYWBjLjtbF0X4ZzZjVm3iMKAN+A8Ni2ZBo3al4a
+W2pWJCnKj1hfPvV6UaAVgIsR2GzaKOW7ZVT9X6IYq0tSWQMbHEILnE/Kq8LqBp84oOOOJZHyQDOF
+mr7VzC+1R5KpJ/ec+WNJBjwcD3wj0V+1xb6/iYW5YBjPloKENc8gFGQvQN6nm6d/RR5U1jG2Yshe
+IAdw9r0M8MbfzGPhxNBt/A==</data><length>757</length><crc32>2247389156</crc32></verifyDataIntegrity></soap:Body></soap:Envelope>
\ No newline at end of file

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binary.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binary.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binary.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binaryEmpty.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binaryEmpty.xml?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binaryEmpty.xml (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binaryEmpty.xml Wed Mar  7 12:20:07 2007
@@ -0,0 +1,19 @@
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements. See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership. The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License. You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied. See the License for the
+   specific language governing permissions and limitations
+   under the License.
+-->
+<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><verifyDataIntegrity xmlns="http://base64.services.aegis.cxf.apache.org"><data/><length>0</length><crc32>0</crc32></verifyDataIntegrity></soap:Body></soap:Envelope>
\ No newline at end of file

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binaryEmpty.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binaryEmpty.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/base64/binaryEmpty.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ns1/Complex1.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ns1/Complex1.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ns1/Complex1.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ns1/Complex1.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,37 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services.ns1;
+
+import org.apache.cxf.aegis.services.ns2.Complex2;
+
+public class Complex1
+{
+    private Complex2 property;
+
+    public Complex2 getProperty()
+    {
+        return property;
+    }
+    
+    public void setProperty(Complex2 property)
+    {
+        this.property = property;
+    }
+    
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ns1/Complex1.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ns1/Complex1.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ns2/Complex2.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ns2/Complex2.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ns2/Complex2.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ns2/Complex2.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,34 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.aegis.services.ns2;
+
+public class Complex2
+{
+    private String property;
+
+    public String getProperty()
+    {
+        return property;
+    }
+
+    public void setProperty(String property)
+    {
+        this.property = property;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ns2/Complex2.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/services/ns2/Complex2.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean1.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean1.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean1.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean1.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,40 @@
+package org.apache.cxf.aegis.type.java5;
+
+public class AnnotatedBean1
+{
+    private String elementProperty;
+    private String attributeProperty;
+    private String bogusProperty;
+    
+    @XmlAttribute
+    public String getAttributeProperty()
+    {
+        return attributeProperty;
+    }
+    
+    public void setAttributeProperty(String attributeProperty)
+    {
+        this.attributeProperty = attributeProperty;
+    }
+    
+    public String getBogusProperty()
+    {
+        return bogusProperty;
+    }
+    
+    public void setBogusProperty(String bogusProperty)
+    {
+        this.bogusProperty = bogusProperty;
+    }
+    
+    @XmlElement(type=CustomStringType.class)
+    public String getElementProperty()
+    {
+        return elementProperty;
+    }
+    
+    public void setElementProperty(String elementProperty)
+    {
+        this.elementProperty = elementProperty;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean1.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean1.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean1.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean2.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean2.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean2.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean2.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,41 @@
+package org.apache.cxf.aegis.type.java5;
+
+public class AnnotatedBean2
+{
+    private String elementProperty;
+    private String attributeProperty;
+    private String ignoredProperty;
+    
+    @XmlAttribute(name="attribute")
+    public String getAttributeProperty()
+    {
+        return attributeProperty;
+    }
+    
+    public void setAttributeProperty(String attributeProperty)
+    {
+        this.attributeProperty = attributeProperty;
+    }
+
+    @XmlElement(name="element")
+    public String getElementProperty()
+    {
+        return elementProperty;
+    }
+    
+    public void setElementProperty(String elementProperty)
+    {
+        this.elementProperty = elementProperty;
+    }
+
+    @IgnoreProperty
+    public String getIgnoredProperty()
+    {
+        return ignoredProperty;
+    }
+
+    public void setIgnoredProperty(String ignoredProperty)
+    {
+        this.ignoredProperty = ignoredProperty;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean2.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean2.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean2.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.aegis.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.aegis.xml?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.aegis.xml (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.aegis.xml Wed Mar  7 12:20:07 2007
@@ -0,0 +1,5 @@
+<mappings>
+  <mapping>
+    <property name="attributeProperty" mappedName="attProp"/>
+  </mapping>
+</mappings>
\ No newline at end of file

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.aegis.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.aegis.xml
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.aegis.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

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

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,17 @@
+package org.apache.cxf.aegis.type.java5;
+
+public class AnnotatedBean3
+{
+    private String attributeProperty;
+
+    @XmlAttribute(name="attribute")
+    public String getAttributeProperty()
+    {
+        return attributeProperty;
+    }
+    
+    public void setAttributeProperty(String attributeProperty)
+    {
+        this.attributeProperty = attributeProperty;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean3.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean4.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean4.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean4.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean4.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,31 @@
+package org.apache.cxf.aegis.type.java5;
+
+@XmlType(extensibleElements = false, extensibleAttributes = false)
+public class AnnotatedBean4
+{
+    private String nillableProperty = null;
+
+    private String minOccursProperty = null;
+
+    @XmlElement(nillable = false)
+    public String getNillableProperty()
+    {
+        return nillableProperty;
+    }
+
+    public void setNillableProperty(String nillableProperty)
+    {
+        this.nillableProperty = nillableProperty;
+    }
+
+    @XmlElement(minOccurs = "1")
+    public String getMinOccursProperty()
+    {
+        return minOccursProperty;
+    }
+
+    public void setMinOccursProperty(String minOccursProperty)
+    {
+        this.minOccursProperty = minOccursProperty;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean4.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean4.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedBean4.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedService.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedService.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedService.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedService.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,23 @@
+package org.apache.cxf.aegis.type.java5;
+
+public class AnnotatedService
+{
+    public AnnotatedBean1 getAnnotatedBean1()
+    {
+        AnnotatedBean1 bean = new AnnotatedBean1();
+        bean.setAttributeProperty("attribute");
+        bean.setBogusProperty("bogus");
+        bean.setElementProperty("element");
+        
+        return bean;
+    }
+    
+    public AnnotatedBean2 getAnnotatedBean2()
+    {
+        AnnotatedBean2 bean = new AnnotatedBean2();
+        bean.setAttributeProperty("attribute");
+        bean.setElementProperty("element");
+        
+        return bean;
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedService.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedTypeTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedTypeTest.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedTypeTest.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedTypeTest.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,141 @@
+package org.apache.cxf.aegis.type.java5;
+
+import java.util.Iterator;
+
+import javax.xml.namespace.QName;
+
+import org.w3c.dom.Document;
+
+import org.apache.cxf.aegis.AbstractAegisTest;
+import org.apache.cxf.aegis.type.Type;
+import org.apache.cxf.aegis.type.TypeMapping;
+import org.apache.cxf.aegis.type.XMLTypeCreator;
+import org.apache.cxf.aegis.type.basic.BeanType;
+import org.apache.cxf.aegis.util.XmlConstants;
+import org.apache.cxf.endpoint.Server;
+import org.apache.cxf.service.Service;
+
+public class AnnotatedTypeTest
+    extends AbstractAegisTest
+{
+    private TypeMapping tm;
+    private Service service;
+    
+    public void setUp() throws Exception
+    {
+        super.setUp();
+       
+        Server s = createService(AnnotatedService.class, null);
+        service = s.getEndpoint().getService();
+        
+        tm = (TypeMapping) service.get(TypeMapping.class.getName());
+    }
+
+    public void testTM()
+    {
+        assertTrue( tm.getTypeCreator() instanceof XMLTypeCreator );
+    }
+    
+    public void testType()
+    {
+        AnnotatedTypeInfo info = new AnnotatedTypeInfo(tm, AnnotatedBean1.class, "urn:foo");
+        
+        Iterator elements = info.getElements();
+        assertTrue(elements.hasNext());
+        QName element = (QName) elements.next();
+        assertTrue(elements.hasNext());
+        
+        element = (QName) elements.next();
+        assertFalse(elements.hasNext());
+        
+        Type custom = info.getType(element);
+
+        assertTrue(custom instanceof CustomStringType);
+        
+        Iterator atts = info.getAttributes();
+        assertTrue(atts.hasNext());
+        atts.next();
+        assertFalse(atts.hasNext());
+        
+        assertTrue ( info.isExtensibleElements() );
+        assertTrue( info.isExtensibleAttributes() );
+    }
+
+    public void testAegisType()
+    {
+        BeanType type = (BeanType) tm.getTypeCreator().createType(AnnotatedBean3.class);
+
+        assertFalse(type.getTypeInfo().getAttributes().hasNext());
+        
+        Iterator itr = type.getTypeInfo().getElements();
+        assertTrue(itr.hasNext());
+        QName q = (QName) itr.next();
+        assertEquals("attProp", q.getLocalPart());
+    }
+    
+    public void testExtensibilityOff()
+    {
+        BeanType type = (BeanType) tm.getTypeCreator().createType(AnnotatedBean4.class);
+        
+        assertFalse ( type.getTypeInfo().isExtensibleElements() );
+        assertFalse ( type.getTypeInfo().isExtensibleAttributes() );
+    }
+    
+    public void testNillableAndMinOccurs()
+    {
+        BeanType type = (BeanType) tm.getTypeCreator().createType(AnnotatedBean4.class);
+        AnnotatedTypeInfo info = (AnnotatedTypeInfo) type.getTypeInfo();
+        Iterator elements = info.getElements();
+        assertTrue(elements.hasNext());
+        // nillable first
+        QName element = (QName) elements.next();
+        if ( "minOccursProperty".equals( element.getLocalPart() ) )
+        {
+            assertEquals(1, info.getMinOccurs( element ) );
+        }
+        else
+        {
+            assertFalse( info.isNillable( element ) );
+        }
+        
+        assertTrue(elements.hasNext());
+        // minOccurs = 1 second
+        element = (QName) elements.next();
+        if ( "minOccursProperty".equals( element.getLocalPart() ) )
+        {
+            assertEquals(1, info.getMinOccurs( element ) );
+        }
+        else
+        {
+            assertFalse( info.isNillable( element ) );
+        }        
+    }
+
+    public void testWSDL() throws Exception
+    {
+        Document wsdl = getWSDLDocument("AnnotatedService");
+
+        addNamespace("xsd", XmlConstants.XSD);
+        assertValid("//xsd:complexType[@name='AnnotatedBean1']/xsd:sequence/xsd:element[@name='elementProperty']", wsdl);
+        assertValid("//xsd:complexType[@name='AnnotatedBean1']/xsd:attribute[@name='attributeProperty']", wsdl);
+        assertValid("//xsd:complexType[@name='AnnotatedBean1']/xsd:sequence/xsd:element[@name='bogusProperty']", wsdl);
+
+        assertValid("//xsd:complexType[@name='AnnotatedBean2']/xsd:sequence/xsd:element[@name='element'][@type='xsd:string']", wsdl);
+        assertValid("//xsd:complexType[@name='AnnotatedBean2']/xsd:attribute[@name='attribute'][@type='xsd:string']", wsdl);
+    }
+    
+    public void testGetSetRequired() throws Exception
+    {
+        BeanType type = new BeanType(new AnnotatedTypeInfo(tm, BadBean.class, "urn:foo"));
+        type.setSchemaType(new QName("urn:foo", "BadBean"));
+        
+        assertFalse(type.getTypeInfo().getElements().hasNext());
+    }
+    
+    public static class BadBean
+    {
+        public void setString(String string)
+        {
+        }
+    }
+}

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedTypeTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedTypeTest.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/AnnotatedTypeTest.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/CollectionTest$CollectionService.aegis.xml
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/CollectionTest%24CollectionService.aegis.xml?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/CollectionTest$CollectionService.aegis.xml (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/CollectionTest$CollectionService.aegis.xml Wed Mar  7 12:20:07 2007
@@ -0,0 +1,7 @@
+<mappings>
+	<mapping>
+		<method name="getUnannotatedStrings">
+			<return-type name="UnannotatedStringCollection" componentType="java.lang.String"/>
+		</method>
+	</mapping>
+</mappings>
\ No newline at end of file

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/CollectionTest$CollectionService.aegis.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/CollectionTest$CollectionService.aegis.xml
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/CollectionTest$CollectionService.aegis.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/CollectionTest$CollectionService.aegis.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/CollectionTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/CollectionTest.java?view=auto&rev=515734
==============================================================================
--- incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/CollectionTest.java (added)
+++ incubator/cxf/trunk/rt/databinding/aegis/src/test/java/org/apache/cxf/aegis/type/java5/CollectionTest.java Wed Mar  7 12:20:07 2007
@@ -0,0 +1,181 @@
+package org.apache.cxf.aegis.type.java5;
+
+import java.beans.Introspector;
+import java.beans.PropertyDescriptor;
+import java.lang.reflect.Method;
+import java.util.Collection;
+import java.util.Set;
+
+import javax.xml.namespace.QName;
+
+import org.w3c.dom.Document;
+
+import org.apache.cxf.aegis.AbstractAegisTest;
+import org.apache.cxf.aegis.type.Configuration;
+import org.apache.cxf.aegis.type.CustomTypeMapping;
+import org.apache.cxf.aegis.type.Type;
+import org.apache.cxf.aegis.type.collection.CollectionType;
+import org.apache.cxf.aegis.type.java5.dto.CollectionDTO;
+import org.apache.cxf.aegis.type.java5.dto.DTOService;
+import org.apache.cxf.aegis.type.java5.dto.ObjectDTO;
+import org.apache.cxf.transport.local.LocalTransportFactory;
+
+public class CollectionTest extends AbstractAegisTest {
+    private CustomTypeMapping tm;
+    private Java5TypeCreator creator;
+
+    public void setUp() throws Exception {
+        super.setUp();
+
+        tm = new CustomTypeMapping();
+        creator = new Java5TypeCreator();
+        creator.setConfiguration(new Configuration());
+        tm.setTypeCreator(creator);
+    }
+
+    @SuppressWarnings("unchecked")
+    public void testType() throws Exception {
+        Method m = CollectionService.class.getMethod("getStrings", new Class[0]);
+
+        Type type = creator.createType(m, -1);
+        tm.register(type);
+        assertTrue(type instanceof CollectionType);
+
+        CollectionType colType = (CollectionType)type;
+        QName componentName = colType.getSchemaType();
+
+        assertEquals("ArrayOfString", componentName.getLocalPart());
+        assertEquals("ArrayOfString", componentName.getLocalPart());
+
+        type = colType.getComponentType();
+        assertNotNull(type);
+        assertTrue(type.getTypeClass().isAssignableFrom(String.class));
+    }
+
+    @SuppressWarnings("unchecked")
+    public void testRecursiveCollections() throws Exception {
+        Method m = CollectionService.class.getMethod("getStringCollections", new Class[0]);
+
+        Type type = creator.createType(m, -1);
+        tm.register(type);
+        assertTrue(type instanceof CollectionType);
+
+        CollectionType colType = (CollectionType)type;
+        QName componentName = colType.getSchemaType();
+
+        assertEquals("ArrayOfArrayOfString", componentName.getLocalPart());
+
+        type = colType.getComponentType();
+        assertNotNull(type);
+        assertTrue(type instanceof CollectionType);
+
+        CollectionType colType2 = (CollectionType)type;
+        componentName = colType2.getSchemaType();
+
+        assertEquals("ArrayOfString", componentName.getLocalPart());
+
+        type = colType2.getComponentType();
+        assertTrue(type.getTypeClass().isAssignableFrom(String.class));
+    }
+
+    @SuppressWarnings("unchecked")
+    public void testPDType() throws Exception {
+        PropertyDescriptor pd = Introspector.getBeanInfo(CollectionDTO.class, Object.class)
+            .getPropertyDescriptors()[0];
+        Type type = creator.createType(pd);
+        tm.register(type);
+        assertTrue(type instanceof CollectionType);
+
+        CollectionType colType = (CollectionType)type;
+
+        type = colType.getComponentType();
+        assertNotNull(type);
+        assertTrue(type.getTypeClass().isAssignableFrom(String.class));
+    }
+
+    public void testCollectionDTO() {
+        CustomTypeMapping tm = new CustomTypeMapping();
+        Java5TypeCreator creator = new Java5TypeCreator();
+        creator.setConfiguration(new Configuration());
+        tm.setTypeCreator(creator);
+
+        Type dto = creator.createType(CollectionDTO.class);
+        Set deps = dto.getDependencies();
+
+        Type type = (Type)deps.iterator().next();
+
+        assertTrue(type instanceof CollectionType);
+
+        CollectionType colType = (CollectionType)type;
+
+        deps = dto.getDependencies();
+        assertEquals(1, deps.size());
+
+        Type comType = colType.getComponentType();
+        assertEquals(String.class, comType.getTypeClass());
+    }
+
+    public void testObjectDTO() {
+        CustomTypeMapping tm = new CustomTypeMapping();
+        Java5TypeCreator creator = new Java5TypeCreator();
+        creator.setConfiguration(new Configuration());
+        tm.setTypeCreator(creator);
+
+        Type dto = creator.createType(ObjectDTO.class);
+        Set deps = dto.getDependencies();
+
+        assertFalse(deps.isEmpty());
+
+        Type type = (Type)deps.iterator().next();
+
+        assertTrue(type instanceof CollectionType);
+
+        CollectionType colType = (CollectionType)type;
+
+        deps = dto.getDependencies();
+        assertEquals(1, deps.size());
+
+        Type comType = colType.getComponentType();
+        assertEquals(Object.class, comType.getTypeClass());
+    }
+
+    public void testCollectionDTOService() throws Exception {
+        createService(DTOService.class, null);
+        invoke("DTOService", 
+               LocalTransportFactory.TRANSPORT_ID,
+               "/org/apache/cxf/aegis/type/java5/dto/GetDTO.xml");
+    }
+
+    public void testCollectionServiceWSDL() throws Exception {
+        createService(CollectionService.class, null);
+
+        Document wsdl = getWSDLDocument("CollectionService");
+        assertValid("//xsd:element[@name='return'][@type='ArrayOfString']", wsdl);
+    }
+
+    public void testUnannotatedStrings() throws Exception {
+        createService(CollectionService.class, null);
+        
+        Document doc = getWSDLDocument("CollectionService");
+        // printNode(doc);
+        assertValid("//xsd:element[@name='getUnannotatedStringsResponse']/xsd:complexType/xsd:sequence/xsd:element[@type='ArrayOfString']",
+                    doc);
+    }
+
+    public class CollectionService {
+        public Collection<String> getStrings() {
+            return null;
+        }
+
+        public void setLongs(Collection<Long> longs) {
+        }
+
+        public Collection getUnannotatedStrings() {
+            return null;
+        }
+
+        public Collection<Collection<String>> getStringCollections() {
+            return null;
+        }
+    }
+}