You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by mm...@apache.org on 2007/10/17 08:24:32 UTC
svn commit: r585394 - in /incubator/cxf/trunk/tools:
common/src/main/java/org/apache/cxf/tools/common/
javato/ws/src/test/java/org/apache/cxf/tools/fortest/
javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/
javato/ws/src/test/java/org/a...
Author: mmao
Date: Tue Oct 16 23:24:31 2007
New Revision: 585394
URL: http://svn.apache.org/viewvc?rev=585394&view=rev
Log:
* Test to show the usage of XmlMimeType
Added:
incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/ImageSender.java
incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/ImageSender2.java
incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/MyImage.java
incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/expected_send_image.wsdl
incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/expected_send_image2.wsdl
Modified:
incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorTestBase.java
incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java
incubator/cxf/trunk/tools/validator/src/test/java/org/apache/cxf/tools/validator/internal/WSDL11ValidatorTest.java
Modified: incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorTestBase.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorTestBase.java?rev=585394&r1=585393&r2=585394&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorTestBase.java (original)
+++ incubator/cxf/trunk/tools/common/src/main/java/org/apache/cxf/tools/common/ProcessorTestBase.java Tue Oct 16 23:24:31 2007
@@ -29,6 +29,7 @@
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.StringTokenizer;
@@ -251,21 +252,15 @@
assertTagEquals(expected, source, DEFAULT_IGNORE_ATTR, DEFAULT_IGNORE_TAG);
}
- protected void assertTagEquals(Tag expected, Tag source,
- final List<String> ignoreAttr,
- final List<String> ignoreTag) {
- if (!expected.getName().equals(source.getName())) {
- throw new ComparisonFailure("Tags not equal: ",
- expected.getName().toString(),
- source.getName().toString());
- }
-
- for (QName attr : expected.getAttributes()) {
+ protected void assertAttributesEquals(Collection<QName> q1, Collection<QName> q2,
+ Collection<String> ignoreAttr) {
+ for (QName attr : q1) {
if (ignoreAttr.contains(attr.getNamespaceURI())) {
continue;
}
boolean found = false;
- for (QName attr2 : source.getAttributes()) {
+
+ for (QName attr2 : q2) {
if (attr2.getNamespaceURI().equals(attr.getNamespaceURI())) {
if (attr2.getLocalPart().equals(attr.getLocalPart())) {
found = true;
@@ -277,9 +272,23 @@
}
}
if (!found) {
- throw new AssertionError("Attribute: " + attr + " is missing in the source file.");
+ throw new AssertionError("Attribute: " + attr + " is missing.");
}
}
+ }
+
+ protected void assertTagEquals(Tag expected, Tag source,
+ final List<String> ignoreAttr,
+ final List<String> ignoreTag) {
+ if (!expected.getName().equals(source.getName())) {
+ throw new ComparisonFailure("Tags not equal: ",
+ expected.getName().toString(),
+ source.getName().toString());
+ }
+
+ assertAttributesEquals(expected.getAttributes(), source.getAttributes(), ignoreAttr);
+ assertAttributesEquals(source.getAttributes(), expected.getAttributes(), ignoreAttr);
+
if (!StringUtils.isEmpty(expected.getText())
&& !expected.getText().equals(source.getText())) {
throw new ComparisonFailure("Text not equal: ",
@@ -289,7 +298,8 @@
if (!expected.getTags().isEmpty()) {
for (Tag expectedTag : expected.getTags()) {
- if (ignoreTag.contains(expectedTag.getName().getLocalPart())) {
+ if (ignoreTag.contains(expectedTag.getName().getLocalPart())
+ && expectedTag.getTags().isEmpty()) {
continue;
}
Tag sourceTag = getFromSource(source, expectedTag);
@@ -315,7 +325,6 @@
throws Exception {
Tag expectedTag = StAXUtil.getTagTree(expected, attr);
Tag sourceTag = StAXUtil.getTagTree(source, attr);
-
assertTagEquals(expectedTag, sourceTag, attr, tag);
}
Added: incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/ImageSender.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/ImageSender.java?rev=585394&view=auto
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/ImageSender.java (added)
+++ incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/ImageSender.java Tue Oct 16 23:24:31 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.tools.fortest;
+
+import java.awt.Image;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlMimeType;
+
+@WebService
+public class ImageSender {
+ public void sendImage(@XmlMimeType("image/png") Image photo) {
+ // empty
+ }
+}
+
+
Added: incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/ImageSender2.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/ImageSender2.java?rev=585394&view=auto
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/ImageSender2.java (added)
+++ incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/ImageSender2.java Tue Oct 16 23:24:31 2007
@@ -0,0 +1,28 @@
+/**
+ * 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.tools.fortest;
+
+import javax.jws.WebService;
+
+@WebService
+public class ImageSender2 {
+ public void sendImage2(MyImage photo) {
+ // empty
+ }
+}
Added: incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/MyImage.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/MyImage.java?rev=585394&view=auto
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/MyImage.java (added)
+++ incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/fortest/MyImage.java Tue Oct 16 23:24:31 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.tools.fortest;
+
+import java.awt.Image;
+import javax.xml.bind.annotation.XmlMimeType;
+
+public class MyImage {
+ @XmlMimeType("image/png")
+ protected Image myPhoto;
+}
Modified: incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java?rev=585394&r1=585393&r2=585394&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java (original)
+++ incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/JavaToProcessorTest.java Tue Oct 16 23:24:31 2007
@@ -414,5 +414,43 @@
String expectedFile = getClass().getResource("expected/list_expected.wsdl").getFile();
assertWsdlEquals(new File(expectedFile), new File(output, "/list_test.wsdl"));
+
+ }
+
+ @Test
+ // TODO: should suppor the XmlMimeType annotation in the SEI
+ public void testMimeTypeInSEI() throws Exception {
+ env.put(ToolConstants.CFG_OUTPUTFILE, output.getPath() + "/send_image.wsdl");
+ env.put(ToolConstants.CFG_CLASSNAME, "org.apache.cxf.tools.fortest.ImageSender");
+ env.put(ToolConstants.CFG_VERBOSE, ToolConstants.CFG_VERBOSE);
+ try {
+ processor.setEnvironment(env);
+ processor.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ File wsdlFile = new File(output, "send_image.wsdl");
+ assertTrue("Generate Wsdl Fail", wsdlFile.exists());
+
+ String expectedFile = getClass().getResource("expected/expected_send_image.wsdl").getFile();
+ assertWsdlEquals(new File(expectedFile), wsdlFile);
+ }
+
+ @Test
+ public void testMimeTypeInBean() throws Exception {
+ env.put(ToolConstants.CFG_OUTPUTFILE, output.getPath() + "/send_image2.wsdl");
+ env.put(ToolConstants.CFG_CLASSNAME, "org.apache.cxf.tools.fortest.ImageSender2");
+ env.put(ToolConstants.CFG_VERBOSE, ToolConstants.CFG_VERBOSE);
+ try {
+ processor.setEnvironment(env);
+ processor.process();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ File wsdlFile = new File(output, "send_image2.wsdl");
+ assertTrue("Generate Wsdl Fail", wsdlFile.exists());
+
+ String expectedFile = getClass().getResource("expected/expected_send_image2.wsdl").getFile();
+ assertWsdlEquals(new File(expectedFile), wsdlFile);
}
}
Added: incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/expected_send_image.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/expected_send_image.wsdl?rev=585394&view=auto
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/expected_send_image.wsdl (added)
+++ incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/expected_send_image.wsdl Tue Oct 16 23:24:31 2007
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<wsdl:definitions name="ImageSenderService" targetNamespace="http://fortest.tools.cxf.apache.org/" xmlns:tns="http://fortest.tools.cxf.apache.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <wsdl:types>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://fortest.tools.cxf.apache.org/" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://fortest.tools.cxf.apache.org/">
+ <xsd:element name="sendImage" type="tns:sendImage"/>
+ <xsd:complexType name="sendImage">
+ <xsd:sequence>
+ <xsd:element minOccurs="0" name="arg0" type="xsd:base64Binary"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="sendImageResponse" type="tns:sendImageResponse"/>
+ <xsd:complexType name="sendImageResponse">
+ <xsd:sequence/>
+ </xsd:complexType>
+</xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="sendImageResponse">
+ <wsdl:part name="parameters" element="tns:sendImageResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="sendImage">
+ <wsdl:part name="parameters" element="tns:sendImage">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="ImageSender">
+ <wsdl:operation name="sendImage">
+ <wsdl:input name="sendImage" message="tns:sendImage">
+ </wsdl:input>
+ <wsdl:output name="sendImageResponse" message="tns:sendImageResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="ImageSenderServiceSoapBinding" type="tns:ImageSender">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="sendImage">
+ <soap:operation soapAction="" style="document"/>
+ <wsdl:input name="sendImage">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="sendImageResponse">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="ImageSenderService">
+ <wsdl:port name="ImageSenderPort" binding="tns:ImageSenderServiceSoapBinding">
+ <soap:address location="http://localhost:9090/hello"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file
Added: incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/expected_send_image2.wsdl
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/expected_send_image2.wsdl?rev=585394&view=auto
==============================================================================
--- incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/expected_send_image2.wsdl (added)
+++ incubator/cxf/trunk/tools/javato/ws/src/test/java/org/apache/cxf/tools/java2wsdl/processor/expected/expected_send_image2.wsdl Tue Oct 16 23:24:31 2007
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<wsdl:definitions name="ImageSender2Service" targetNamespace="http://fortest.tools.cxf.apache.org/" xmlns:tns="http://fortest.tools.cxf.apache.org/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+ <wsdl:types>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://fortest.tools.cxf.apache.org/" attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="http://fortest.tools.cxf.apache.org/">
+ <xs:complexType name="myImage">
+ <xs:sequence>
+ <xs:element xmlns:ns1="http://www.w3.org/2005/05/xmlmime" minOccurs="0" name="myPhoto" ns1:expectedContentTypes="image/png" type="xs:base64Binary"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="sendImage2" type="sendImage2"/>
+ <xs:complexType name="sendImage2">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="arg0" type="myImage"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="sendImage2Response" type="sendImage2Response"/>
+ <xs:complexType name="sendImage2Response">
+ <xs:sequence/>
+ </xs:complexType>
+</xs:schema>
+ </wsdl:types>
+ <wsdl:message name="sendImage2">
+ <wsdl:part name="parameters" element="tns:sendImage2">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="sendImage2Response">
+ <wsdl:part name="parameters" element="tns:sendImage2Response">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="ImageSender2">
+ <wsdl:operation name="sendImage2">
+ <wsdl:input name="sendImage2" message="tns:sendImage2">
+ </wsdl:input>
+ <wsdl:output name="sendImage2Response" message="tns:sendImage2Response">
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="ImageSender2ServiceSoapBinding" type="tns:ImageSender2">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="sendImage2">
+ <soap:operation soapAction="" style="document"/>
+ <wsdl:input name="sendImage2">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="sendImage2Response">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="ImageSender2Service">
+ <wsdl:port name="ImageSender2Port" binding="tns:ImageSender2ServiceSoapBinding">
+ <soap:address location="http://localhost:9090/hello"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
Modified: incubator/cxf/trunk/tools/validator/src/test/java/org/apache/cxf/tools/validator/internal/WSDL11ValidatorTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/tools/validator/src/test/java/org/apache/cxf/tools/validator/internal/WSDL11ValidatorTest.java?rev=585394&r1=585393&r2=585394&view=diff
==============================================================================
--- incubator/cxf/trunk/tools/validator/src/test/java/org/apache/cxf/tools/validator/internal/WSDL11ValidatorTest.java (original)
+++ incubator/cxf/trunk/tools/validator/src/test/java/org/apache/cxf/tools/validator/internal/WSDL11ValidatorTest.java Tue Oct 16 23:24:31 2007
@@ -35,7 +35,6 @@
try {
assertFalse(validator.isValid());
} catch (Exception e) {
- e.printStackTrace();
assertTrue(e.getMessage().indexOf("Caused by {http://apache.org/hello_world/messages}"
+ "[portType:GreeterA][operation:sayHi] not exist.") != -1);
}