Modified: incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotatorTest.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotatorTest.java?rev=586360&r1=586359&r2=586360&view=diff ============================================================================== --- incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotatorTest.java (original) +++ incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebMethodAnnotatorTest.java Fri Oct 19 03:05:03 2007 @@ -19,10 +19,11 @@ package org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.annotator; +import java.util.List; import java.util.Map; - -import org.apache.cxf.tools.common.model.JavaAnnotation; +import org.apache.cxf.tools.common.model.JAnnotation; +import org.apache.cxf.tools.common.model.JAnnotationElement; import org.apache.cxf.tools.common.model.JavaMethod; import org.junit.Assert; import org.junit.Test; @@ -35,7 +36,7 @@ method.setName("echoFoo"); method.setOperationName("echoFoo"); method.annotate(new WebMethodAnnotator()); - Map<String, JavaAnnotation> annotations = method.getAnnotationMap(); + Map<String, JAnnotation> annotations = method.getAnnotationMap(); assertNotNull(annotations); assertEquals(1, annotations.size()); assertEquals("WebMethod", annotations.keySet().iterator().next()); @@ -45,15 +46,16 @@ public void testAddWebResultAnnotation() throws Exception { JavaMethod method = new JavaMethod(); method.annotate(new WebResultAnnotator()); - Map<String, JavaAnnotation> annotations = method.getAnnotationMap(); + Map<String, JAnnotation> annotations = method.getAnnotationMap(); assertNotNull(annotations); assertEquals(1, annotations.size()); assertEquals("WebResult", annotations.keySet().iterator().next()); - JavaAnnotation resultAnnotation = annotations.values().iterator().next(); - Map<String, String> arguments = resultAnnotation.getArguments(); - assertNotNull(arguments); - assertEquals(1, arguments.size()); - assertEquals("name", arguments.keySet().iterator().next()); - assertEquals("\"return\"", arguments.values().iterator().next()); + JAnnotation resultAnnotation = annotations.get("WebResult"); + assertEquals("@WebResult(name = \"return\")", resultAnnotation.toString()); + List<JAnnotationElement> elements = resultAnnotation.getElements(); + assertNotNull(elements); + assertEquals(1, elements.size()); + assertEquals("name", elements.get(0).getName()); + assertEquals("return", elements.get(0).getValue()); } }
Modified: incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotatorTest.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotatorTest.java?rev=586360&r1=586359&r2=586360&view=diff ============================================================================== --- incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotatorTest.java (original) +++ incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/WebParamAnnotatorTest.java Fri Oct 19 03:05:03 2007 @@ -19,12 +19,13 @@ package org.apache.cxf.tools.wsdlto.frontend.jaxws.processor.internal.annotator; -import java.util.Map; +import java.util.List; import javax.jws.soap.SOAPBinding; import javax.xml.namespace.QName; -import org.apache.cxf.tools.common.model.JavaAnnotation; +import org.apache.cxf.tools.common.model.JAnnotation; +import org.apache.cxf.tools.common.model.JAnnotationElement; import org.apache.cxf.tools.common.model.JavaMethod; import org.apache.cxf.tools.common.model.JavaParameter; import org.junit.Assert; @@ -58,11 +59,13 @@ init(method, parameter, SOAPBinding.Style.DOCUMENT, true); parameter.annotate(new WebParamAnnotator()); - JavaAnnotation annotation = parameter.getAnnotation(); - Map<String, String> args = annotation.getArguments(); - assertEquals(2, args.size()); - assertEquals("\"http://apache.org/cxf\"", args.get("targetNamespace")); - assertEquals("\"x\"", args.get("name")); + JAnnotation annotation = parameter.getAnnotation(); + assertEquals("@WebParam(name = \"x\", targetNamespace = \"http://apache.org/cxf\")", + annotation.toString()); + List<JAnnotationElement> elements = annotation.getElements(); + assertEquals(2, elements.size()); + assertEquals("http://apache.org/cxf", elements.get(1).getValue()); + assertEquals("x", elements.get(0).getValue()); // XXX - order that attributes are appended to the string // differs with the ibmjdk... //assertEquals("@WebParam(targetNamespace = \"http://apache.org/cxf\", name = \"x\")", @@ -75,12 +78,12 @@ parameter.annotate(new WebParamAnnotator()); - JavaAnnotation annotation = parameter.getAnnotation(); - Map<String, String> args = annotation.getArguments(); - assertEquals(3, args.size()); - assertEquals("\"http://apache.org/cxf\"", args.get("targetNamespace")); - assertEquals("\"y\"", args.get("partName")); - assertEquals("\"x\"", args.get("name")); + JAnnotation annotation = parameter.getAnnotation(); + assertEquals("@WebParam(partName = \"y\", name = \"x\", " + + "targetNamespace = \"http://apache.org/cxf\")", + annotation.toString()); + List<JAnnotationElement> elements = annotation.getElements(); + assertEquals(3, elements.size()); // XXX - order that attributes are appended to the string // differs with the ibmjdk... //assertEquals( @@ -92,8 +95,8 @@ public void testAnnotateRPC() throws Exception { init(method, parameter, SOAPBinding.Style.RPC, true); parameter.annotate(new WebParamAnnotator()); - JavaAnnotation annotation = parameter.getAnnotation(); - assertEquals(2, annotation.getArguments().size()); + JAnnotation annotation = parameter.getAnnotation(); + assertEquals(2, annotation.getElements().size()); assertEquals("@WebParam(partName = \"y\", name = \"y\")", annotation.toString()); } Modified: incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/XmlSeeAlsoAnnotatorTest.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/XmlSeeAlsoAnnotatorTest.java?rev=586360&r1=586359&r2=586360&view=diff ============================================================================== --- incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/XmlSeeAlsoAnnotatorTest.java (original) +++ incubator/cxf/trunk/tools/wsdlto/frontend/jaxws/src/test/java/org/apache/cxf/tools/wsdlto/frontend/jaxws/processor/internal/annotator/XmlSeeAlsoAnnotatorTest.java Fri Oct 19 03:05:03 2007 @@ -42,6 +42,6 @@ assertEquals("javax.xml.bind.annotation.XmlSeeAlso", iter.next()); assertEquals("@XmlSeeAlso({" + ObjectFactory.class.getName() + ".class})", - intf.getAnnotations().iterator().next()); + intf.getAnnotations().iterator().next().toString()); } } Modified: incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java?rev=586360&r1=586359&r2=586360&view=diff ============================================================================== --- incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java (original) +++ incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenBugTest.java Fri Oct 19 03:05:03 2007 @@ -499,14 +499,11 @@ getLocation("/wsdl2java_wsdl/hello-mime.wsdl")}; WSDLToJava.main(args); + assertFileEquals(getClass().getResource("expected/expected_hello_mime").getFile(), output.getCanonicalPath() + "/org/apache/hello_world_mime/Hello.java"); - - - } - @Test public void testWebResult() throws Exception { @@ -514,9 +511,12 @@ processor.setContext(env); processor.execute(); - assertFileEquals(getClass().getResource("expected/expected_sayHi").getFile(), - output.getCanonicalPath() + "/org/apache/sayhi/SayHi.java"); - + String results = getStringFromFile(new File(output.getCanonicalPath(), + "org/apache/sayhi/SayHi.java")); + assertTrue(results.trim().length() > 0); + assertTrue(results.indexOf("@WebResult(name = \"return\", " + + "targetNamespace = \"http://apache.org/sayHi\")") != -1); + assertTrue(results.indexOf("@WebResult(name = \"return\", targetNamespace = \"\")") != -1); } @@ -720,7 +720,8 @@ String results = getStringFromFile(new File(output.getCanonicalPath(), "soapinterface/ems/esendex/com/AccountServiceSoap.java")); assertTrue(results.indexOf("public int getMessageLimit") != -1); - assertTrue(results.indexOf("header = true, name = \"MessengerHeader") != -1); + assertTrue(results.indexOf("name = \"MessengerHeader") != -1); + assertTrue(results.indexOf("header = true") != -1); } @Test Modified: incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java?rev=586360&r1=586359&r2=586360&view=diff ============================================================================== --- incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java (original) +++ incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/CodeGenTest.java Fri Oct 19 03:05:03 2007 @@ -1132,4 +1132,17 @@ String contents = getStringFromFile(sei); assertTrue(contents.indexOf("@XmlSeeAlso({ObjectFactory.class})") != -1); } + + @Test + public void testWSAction() throws Exception { + env.put(ToolConstants.CFG_WSDLURL, getLocation("/wsdl2java_wsdl/wsdl_addr.wsdl")); + + processor.setContext(env); + processor.execute(); + +// File sei = new File(output, "type_substitution/server/CarDealer.java"); +// assertTrue(output.exists()); +// String contents = getStringFromFile(sei); +// assertTrue(contents.indexOf("@XmlSeeAlso({ObjectFactory.class})") != -1); + } } Modified: incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/expected/expected_hello_mime URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/expected/expected_hello_mime?rev=586360&r1=586359&r2=586360&view=diff ============================================================================== --- incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/expected/expected_hello_mime (original) +++ incubator/cxf/trunk/tools/wsdlto/test/src/test/java/org/apache/cxf/tools/wsdlto/jaxws/expected/expected_hello_mime Fri Oct 19 03:05:03 2007 @@ -16,15 +16,17 @@ * specific language governing permissions and limitations * under the License. */ + + package org.apache.hello_world_mime; -import javax.jws.WebParam.Mode; +import javax.jws.WebMethod; import javax.jws.WebParam; +import javax.jws.WebParam.Mode; +import javax.jws.WebResult; import javax.jws.WebService; -import javax.jws.soap.SOAPBinding.Style; import javax.jws.soap.SOAPBinding; -import javax.jws.WebMethod; -import javax.jws.WebResult; +import javax.jws.soap.SOAPBinding.ParameterStyle; import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.ws.RequestWrapper; import javax.xml.ws.ResponseWrapper; @@ -36,28 +38,28 @@ public interface Hello { @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) - @WebResult(targetNamespace = "http://apache.org/hello_world_mime/types", partName = "mime", name = "addressRes") + @WebResult(name = "addressRes", targetNamespace = "http://apache.org/hello_world_mime/types", partName = "mime") @WebMethod public javax.xml.transform.Source address( - @WebParam(targetNamespace = "http://apache.org/hello_world_mime/types", partName = "mime", name = "address") + @WebParam(partName = "mime", name = "address", targetNamespace = "http://apache.org/hello_world_mime/types") org.apache.cxf.mime.Address mime ); @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) @WebMethod public void helloMime( - @WebParam(targetNamespace = "http://apache.org/hello_world_mime/types", partName = "body", name = "body") + @WebParam(partName = "body", name = "body", targetNamespace = "http://apache.org/hello_world_mime/types") java.lang.String body, - @WebParam(targetNamespace = "", mode = Mode.INOUT, partName = "mime", name = "mime") + @WebParam(partName = "mime", mode = WebParam.Mode.INOUT, name = "mime", targetNamespace = "") javax.xml.ws.Holder<java.awt.Image> mime ); @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) @WebMethod public void hello( - @WebParam(targetNamespace = "http://apache.org/hello_world_mime/types", partName = "body", name = "body") + @WebParam(partName = "body", name = "body", targetNamespace = "http://apache.org/hello_world_mime/types") java.lang.String body, - @WebParam(targetNamespace = "", mode = Mode.INOUT, partName = "mime", name = "mime") + @WebParam(partName = "mime", mode = WebParam.Mode.INOUT, name = "mime", targetNamespace = "") javax.xml.ws.Holder<byte[]> mime ); -} \ No newline at end of file +} Added: incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/wsdl_addr.wsdl URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/wsdl_addr.wsdl?rev=586360&view=auto ============================================================================== --- incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/wsdl_addr.wsdl (added) +++ incubator/cxf/trunk/tools/wsdlto/test/src/test/resources/wsdl2java_wsdl/wsdl_addr.wsdl Fri Oct 19 03:05:03 2007 @@ -0,0 +1,120 @@ +<definitions name="AddNumbers" targetNamespace="http://example.com/" xmlns:tns="http://example.com/" + xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" + xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"> + <types> + <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://example.com/"> + + <complexType name="addNumbersResponse"> + <sequence> + <element name="return" type="xsd:int" /> + </sequence> + </complexType> + <element name="addNumbersResponse" type="tns:addNumbersResponse" /> + <element name="addNumbers2Response" type="tns:addNumbersResponse" /> + <element name="addNumbers3Response" type="tns:addNumbersResponse" /> + + <complexType name="addNumbers"> + <sequence> + <element name="number1" type="xsd:int" /> + <element name="number2" type="xsd:int" /> + </sequence> + </complexType> + <element name="addNumbers" type="tns:addNumbers" /> + <element name="addNumbers2" type="tns:addNumbers" /> + <element name="addNumbers3" type="tns:addNumbers" /> + + <element name="AddNumbersFault" type="tns:AddNumbersFault" /> + <complexType name="AddNumbersFault"> + <sequence> + <element name="detail" type="xsd:string" /> + <element name="message" type="xsd:string" /> + </sequence> + </complexType> + </xsd:schema> + </types> + <message name="addNumbers"> + <part name="parameters" element="tns:addNumbers" /> + </message> + <message name="addNumbersResponse"> + <part name="result" element="tns:addNumbersResponse" /> + </message> + <message name="addNumbersFault"> + <part name="AddNumbersFault" element="tns:AddNumbersFault" /> + </message> + <message name="addNumbers2"> + <part name="parameters" element="tns:addNumbers2" /> + </message> + <message name="addNumbers2Response"> + <part name="result" element="tns:addNumbers2Response" /> + </message> + <message name="addNumbers3"> + <part name="parameters" element="tns:addNumbers3" /> + </message> + <message name="addNumbers3Response"> + <part name="result" element="tns:addNumbers3Response" /> + </message> + <portType name="AddNumbersPortType"> + <operation name="addNumbers"> + <input message="tns:addNumbers"/> + <output message="tns:addNumbersResponse"/> + <fault name="addNumbersFault" message="tns:addNumbersFault"/> + </operation> + <operation name="addNumbers2"> + <input message="tns:addNumbers2" name="add2In"/> + <output message="tns:addNumbers2Response" name="add2Out"/> + <fault name="addNumbersFault" message="tns:addNumbersFault"/> + </operation> + <operation name="addNumbers3"> + <input message="tns:addNumbers3" wsaw:Action="3in"/> + <output message="tns:addNumbers3Response" wsaw:Action="3out"/> + <fault name="addNumbersFault" message="tns:addNumbersFault" wsaw:Action="3fault"/> + </operation> + </portType> + <binding name="AddNumbersBinding" type="tns:AddNumbersPortType"> + <wsaw:UsingAddressing wsdl:required="false" /> + <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" /> + <operation name="addNumbers"> + <soap:operation soapAction="" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + <fault name="addNumbersFault"> + <soap:fault name="addNumbersFault" use="literal" /> + </fault> + </operation> + <operation name="addNumbers2"> + <soap:operation soapAction="" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + <fault name="addNumbersFault"> + <soap:fault name="addNumbersFault" use="literal" /> + </fault> + </operation> + <operation name="addNumbers3"> + <soap:operation soapAction="" /> + <input> + <soap:body use="literal" /> + </input> + <output> + <soap:body use="literal" /> + </output> + <fault name="addNumbersFault"> + <soap:fault name="addNumbersFault" use="literal" /> + </fault> + </operation> + </binding> + <service name="AddNumbersService"> + <port name="AddNumbersPort" binding="tns:AddNumbersBinding"> + <soap:address location="REPLACE_WITH_ACTUAL_URL" /> + </port> + </service> +</definitions> \ No newline at end of file
