Return-Path: Delivered-To: apmail-incubator-cxf-commits-archive@locus.apache.org Received: (qmail 99150 invoked from network); 7 Mar 2007 20:21:22 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 7 Mar 2007 20:21:21 -0000 Received: (qmail 13357 invoked by uid 500); 7 Mar 2007 20:21:27 -0000 Delivered-To: apmail-incubator-cxf-commits-archive@incubator.apache.org Received: (qmail 13299 invoked by uid 500); 7 Mar 2007 20:21:27 -0000 Mailing-List: contact cxf-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cxf-dev@incubator.apache.org Delivered-To: mailing list cxf-commits@incubator.apache.org Received: (qmail 13250 invoked by uid 99); 7 Mar 2007 20:21:27 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Mar 2007 12:21:27 -0800 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 07 Mar 2007 12:21:08 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id A20481A985B; Wed, 7 Mar 2007 12:20:21 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: 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... Date: Wed, 07 Mar 2007 20:20:15 -0000 To: cxf-commits@incubator.apache.org From: dandiep@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070307202021.A20481A985B@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org 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 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 h = new Holder(); + 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 Dan Diephouse + * @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 @@ + + + + + + \ 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 @@ + + + + + + + + + \ 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 Dan Diephouse + */ +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 Dan Diephouse + */ +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 Dan Diephouse + */ +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 Dan Diephouse + */ +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 Dan Diephouse + */ +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 Dan Diephouse + */ +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 @@ + +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==7572247389156 \ 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 @@ + +00 \ 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 @@ + + + + + \ 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 @@ + + + + + + + \ 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 getStrings() { + return null; + } + + public void setLongs(Collection longs) { + } + + public Collection getUnannotatedStrings() { + return null; + } + + public Collection> getStringCollections() { + return null; + } + } +}