summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/tags/2.0.1-RC1/testing/itest/databindings/jaxb-top-down/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/topdown/StandardTypesDatabindingTestCase.java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/tags/2.0.1-RC1/testing/itest/databindings/jaxb-top-down/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/topdown/StandardTypesDatabindingTestCase.java')
-rw-r--r--sca-java-2.x/tags/2.0.1-RC1/testing/itest/databindings/jaxb-top-down/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/topdown/StandardTypesDatabindingTestCase.java1442
1 files changed, 1442 insertions, 0 deletions
diff --git a/sca-java-2.x/tags/2.0.1-RC1/testing/itest/databindings/jaxb-top-down/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/topdown/StandardTypesDatabindingTestCase.java b/sca-java-2.x/tags/2.0.1-RC1/testing/itest/databindings/jaxb-top-down/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/topdown/StandardTypesDatabindingTestCase.java
new file mode 100644
index 0000000000..6647394e55
--- /dev/null
+++ b/sca-java-2.x/tags/2.0.1-RC1/testing/itest/databindings/jaxb-top-down/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/topdown/StandardTypesDatabindingTestCase.java
@@ -0,0 +1,1442 @@
+/*
+ * 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.tuscany.sca.itest.databindings.jaxb.topdown;
+
+import java.awt.Image;
+import java.awt.image.BufferedImage;
+import java.awt.image.PixelGrabber;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.net.URI;
+import java.net.URL;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+import java.util.TimeZone;
+import java.util.UUID;
+
+import javax.activation.DataHandler;
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeFactory;
+import javax.xml.datatype.Duration;
+import javax.xml.datatype.XMLGregorianCalendar;
+import javax.xml.namespace.QName;
+import javax.xml.transform.Result;
+import javax.xml.transform.Source;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+
+import junit.framework.Assert;
+
+import org.apache.axiom.attachments.ByteArrayDataSource;
+import org.apache.tuscany.sca.itest.databindings.jaxb.StandardTypesServiceClient;
+import org.apache.tuscany.sca.itest.databindings.jaxb.impl.StandardTypesTransformer;
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class StandardTypesDatabindingTestCase {
+
+ private static Node node;
+
+ /**
+ * Runs once before the tests
+ */
+ @BeforeClass
+ public static void setUp() throws Exception {
+ NodeFactory factory = NodeFactory.newInstance();
+ node = factory.createNode(new File("src/main/resources/wsdl/wrapped/standard-types-service.composite").toURI().toURL().toString(),
+ new Contribution("TestContribution", new File("src/main/resources/wsdl/wrapped/").toURI().toURL().toString()));
+ node.start();
+ }
+
+ /**
+ * Runs once after the tests
+ */
+ @AfterClass
+ public static void tearDown() {
+ node.stop();
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewBigInteger.
+ */
+ @Test
+ public void testW2WNewBigInteger() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewBigInteger(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewBigIntegerArray.
+ */
+ @Test
+ public void testW2WNewBigIntegerArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewBigIntegerArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewBigDecimal.
+ */
+ @Test
+ public void testW2WNewBigDecimal() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewBigDecimal(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewBigDecimalArray.
+ */
+ @Test
+ public void testW2WNewBigDecimalArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewBigDecimalArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewCalendar.
+ */
+ @Test
+ public void testW2WNewCalendar() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewCalendar(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewCalendarArray.
+ */
+ @Test
+ public void testW2WNewCalendarArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewCalendarArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDate.
+ */
+ @Test
+ public void testW2WNewDate() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewDate(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDateArray.
+ */
+ @Test
+ public void testW2WNewDateArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewDateArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewQName.
+ */
+ @Test
+ public void testW2WNewQName() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewQName(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewQNameArray.
+ */
+ @Test
+ public void testW2WNewQNameArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewQNameArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewURI.
+ */
+ @Test
+ public void testW2WNewURI() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewURI(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewURIArray.
+ */
+ @Test
+ public void testW2WNewURIArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewURIArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewXMLGregorianCalendar.
+ */
+ @Test
+ public void testW2WNewXMLGregorianCalendar() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewXMLGregorianCalendar(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewXMLGregorianCalendarArray.
+ */
+ @Test
+ public void testW2WNewXMLGregorianCalendarArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewXMLGregorianCalendarArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDuration.
+ */
+ @Test
+ public void testW2WNewDuration() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewDuration(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDurationArray.
+ */
+ @Test
+ public void testW2WNewDurationArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewDurationArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewObject.
+ */
+ @Test
+ public void testW2WNewObject() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewObject(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewObjectArray.
+ */
+ @Test
+ public void testW2WNewObjectArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewObjectArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewImage.
+ */
+ @Test
+ public void testW2WNewImage() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewImage(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewImageArray.
+ */
+ @Test
+ public void testW2WNewImageArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewImageArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDataHandler.
+ */
+ @Test
+ public void testW2WNewDataHandler() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewDataHandler(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDataHandlerArray.
+ */
+ @Test
+ public void testW2WNewDataHandlerArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewDataHandlerArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewSource.
+ */
+ /*@Test
+ //@Ignore("junit.framework.ComparisonFailure: null expected:<... encoding=\"UTF-8\"?><[a>A</a]>> but was:<... encoding=\"UTF-8\"?><[return xmlns=\"http://jaxb.databindings.itest.sca.tuscany.apache.org/\">A</return]>>")
+ public void testW2WNewSource() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewSource(serviceClient);
+ }*/
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewSourceArray.
+ */
+ /*@Test
+ @Ignore("TUSCANY-2452")
+ public void testW2WNewSourceArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewSourceArray(serviceClient);
+ }*/
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewUUID.
+ */
+ @Test
+ public void testW2WNewUUID() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewUUID(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewUUIDArray.
+ */
+ @Test
+ public void testW2WNewUUIDArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2WComponent");
+ performTestNewUUIDArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewBigInteger.
+ */
+ @Test
+ public void testJ2WNewBigInteger() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewBigInteger(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewBigIntegerArray.
+ */
+ @Test
+ public void testJ2WNewBigIntegerArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewBigIntegerArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewBigDecimal.
+ */
+ @Test
+ public void testJ2WNewBigDecimal() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewBigDecimal(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewBigDecimalArray.
+ */
+ @Test
+ public void testJ2WNewBigDecimalArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewBigDecimalArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewCalendar.
+ */
+ @Test
+ public void testJ2WNewCalendar() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewCalendar(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewCalendarArray.
+ */
+ @Test
+ public void testJ2WNewCalendarArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewCalendarArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDate.
+ */
+ @Test
+ public void testJ2WNewDate() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewDate(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDateArray.
+ */
+ @Test
+ public void testJ2WNewDateArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewDateArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewQName.
+ */
+ @Test
+ public void testJ2WNewQName() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewQName(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewQNameArray.
+ */
+ @Test
+ public void testJ2WNewQNameArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewQNameArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewURI.
+ */
+ @Test
+ public void testJ2WNewURI() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewURI(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewURIArray.
+ */
+ @Test
+ public void testJ2WNewURIArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewURIArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewXMLGregorianCalendar.
+ */
+ @Test
+ public void testJ2WNewXMLGregorianCalendar() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewXMLGregorianCalendar(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewXMLGregorianCalendarArray.
+ */
+ @Test
+ public void testJ2WNewXMLGregorianCalendarArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewXMLGregorianCalendarArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDuration.
+ */
+ @Test
+ public void testJ2WNewDuration() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewDuration(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDurationArray.
+ */
+ @Test
+ public void testJ2WNewDurationArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewDurationArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewObject.
+ */
+ @Test
+ public void testJ2WNewObject() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewObject(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewObjectArray.
+ */
+ @Test
+ public void testJ2WNewObjectArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewObjectArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewImage.
+ */
+ @Test
+ public void testJ2WNewImage() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewImage(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewImageArray.
+ */
+ @Test
+ public void testJ2WNewImageArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewImageArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDataHandler.
+ */
+ @Test
+ public void testJ2WNewDataHandler() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewDataHandler(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDataHandlerArray.
+ */
+ @Test
+ public void testJ2WNewDataHandlerArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewDataHandlerArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewSource.
+ */
+ /*@Test
+ //@Ignore("junit.framework.ComparisonFailure: null expected:<... encoding=\"UTF-8\"?><[a>A</a]>> but was:<... encoding=\"UTF-8\"?><[return xmlns=\"http://jaxb.databindings.itest.sca.tuscany.apache.org/\">A</return]>>")
+ public void testJ2WNewSource() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewSource(serviceClient);
+ }*/
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewSourceArray.
+ */
+ /*@Test
+ @Ignore("TUSCANY-2452")
+ public void testJ2WNewSourceArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewSourceArray(serviceClient);
+ }*/
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewUUID.
+ */
+ @Test
+ public void testJ2WNewUUID() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewUUID(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewUUIDArray.
+ */
+ @Test
+ public void testJ2WNewUUIDArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientJ2WComponent");
+ performTestNewUUIDArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewBigInteger.
+ */
+ @Test
+ public void testW2JNewBigInteger() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewBigInteger(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewBigIntegerArray.
+ */
+ @Test
+ public void testW2JNewBigIntegerArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewBigIntegerArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewBigDecimal.
+ */
+ @Test
+ public void testW2JNewBigDecimal() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewBigDecimal(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewBigDecimalArray.
+ */
+ @Test
+ public void testW2JNewBigDecimalArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewBigDecimalArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewCalendar.
+ */
+ @Test
+ public void testW2JNewCalendar() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewCalendar(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewCalendarArray.
+ */
+ @Test
+ public void testW2JNewCalendarArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewCalendarArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDate.
+ */
+ @Test
+ public void testW2JNewDate() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewDate(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDateArray.
+ */
+ @Test
+ public void testW2JNewDateArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewDateArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewQName.
+ */
+ @Test
+ public void testW2JNewQName() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewQName(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewQNameArray.
+ */
+ @Test
+ public void testW2JNewQNameArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewQNameArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewURI.
+ */
+ @Test
+ public void testW2JNewURI() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewURI(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewURIArray.
+ */
+ @Test
+ public void testW2JNewURIArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewURIArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewXMLGregorianCalendar.
+ */
+ @Test
+ public void testW2JNewXMLGregorianCalendar() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewXMLGregorianCalendar(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewXMLGregorianCalendarArray.
+ */
+ @Test
+ public void testW2JNewXMLGregorianCalendarArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewXMLGregorianCalendarArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDuration.
+ */
+ @Test
+ public void testW2JNewDuration() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewDuration(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDurationArray.
+ */
+ @Test
+ public void testW2JNewDurationArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewDurationArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewObject.
+ */
+ @Test
+ public void testW2JNewObject() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewObject(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewObjectArray.
+ */
+ @Test
+ public void testW2JNewObjectArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewObjectArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewImage.
+ */
+ @Test
+ public void testW2JNewImage() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewImage(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewImageArray.
+ */
+ @Test
+ public void testW2JNewImageArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewImageArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDataHandler.
+ */
+ @Test
+ public void testW2JNewDataHandler() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewDataHandler(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewDataHandlerArray.
+ */
+ @Test
+ public void testW2JNewDataHandlerArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewDataHandlerArray(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewSource.
+ */
+ /*@Test
+ //@Ignore("junit.framework.ComparisonFailure: null expected:<... encoding=\"UTF-8\"?><[a>A</a]>> but was:<... encoding=\"UTF-8\"?><[return xmlns=\"http://jaxb.databindings.itest.sca.tuscany.apache.org/\">A</return]>>")
+ public void testW2JNewSource() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewSource(serviceClient);
+ }*/
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewSourceArray.
+ */
+ /*@Test
+ @Ignore("TUSCANY-2452")
+ public void testW2JNewSourceArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewSourceArray(serviceClient);
+ }*/
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewUUID.
+ */
+ @Test
+ public void testW2JNewUUID() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewUUID(serviceClient);
+ }
+
+ /**
+ * Invokes the StandardTypesService service using WS binding.
+ * Service method invoked is getNewUUIDArray.
+ */
+ @Test
+ public void testW2JNewUUIDArray() throws Exception {
+ StandardTypesServiceClient serviceClient =
+ node.getService(StandardTypesServiceClient.class, "StandardTypesServiceClientW2JComponent");
+ performTestNewUUIDArray(serviceClient);
+ }
+
+ private void performTestNewBigInteger(StandardTypesServiceClient serviceClient) {
+ BigInteger bi = new BigInteger("1234567890123456789012345678901234");
+ BigInteger expected = bi.negate();
+ BigInteger actual = serviceClient.getNewBigIntegerForward(bi);
+ Assert.assertEquals(expected, actual);
+ }
+
+ private void performTestNewBigIntegerArray(StandardTypesServiceClient serviceClient) {
+ BigInteger[] bia = new BigInteger[2];
+ bia[0] = new BigInteger("1234567890123456789012345678901234");
+ bia[1] = new BigInteger("-98765432109876543210987654321");
+ BigInteger[] actual = serviceClient.getNewBigIntegerArrayForward(bia);
+ Assert.assertEquals(bia.length, actual.length);
+ for (int i = 0; i < bia.length; ++i) {
+ Assert.assertEquals(bia[i].negate(), actual[i]);
+ }
+ }
+
+ private void performTestNewBigDecimal(StandardTypesServiceClient serviceClient) {
+ BigDecimal bd = new BigDecimal("12345678901234567890.12345678901234");
+ BigDecimal expected = bd.negate();
+ BigDecimal actual = serviceClient.getNewBigDecimalForward(bd);
+ Assert.assertEquals(expected, actual);
+ }
+
+ private void performTestNewBigDecimalArray(StandardTypesServiceClient serviceClient) {
+ BigDecimal[] bda = new BigDecimal[2];
+ bda[0] = new BigDecimal("1234567890123456.789012345678901234");
+ bda[1] = new BigDecimal("-987654321098765.43210987654321");
+ BigDecimal[] actual = serviceClient.getNewBigDecimalArrayForward(bda);
+ Assert.assertEquals(bda.length, actual.length);
+ for (int i = 0; i < bda.length; ++i) {
+ Assert.assertEquals(bda[i].negate(), actual[i]);
+ }
+ }
+
+ private void performTestNewCalendar(StandardTypesServiceClient serviceClient) {
+ Calendar[] ca = new Calendar[3];
+ String[] tz = {"GMT+05:30", "GMT+00:00", "GMT-05:00"};
+ for (int i = 0; i < ca.length; ++i) {
+ ca[i] = Calendar.getInstance(TimeZone.getTimeZone(tz[i]));
+ ca[i].set(Calendar.DAY_OF_MONTH, i + 1);
+ }
+ for (int i = 0; i < ca.length; ++i) {
+ Calendar actual = serviceClient.getNewCalendarForward(ca[i]);
+ ca[i].add(Calendar.DAY_OF_MONTH, 5);
+ if (actual instanceof GregorianCalendar && ca[i] instanceof GregorianCalendar) {
+ // FIXME: Is this a problem?
+ // The instance returned by service method invoked over binding.ws seems to have a gregorianCutover
+ // different from the instance passed. Adjust the gregorianCutover as per the input instance.
+ ((GregorianCalendar)actual).setGregorianChange(((GregorianCalendar)ca[i]).getGregorianChange());
+ ((GregorianCalendar)actual).setMinimalDaysInFirstWeek(((GregorianCalendar)ca[i]).getMinimalDaysInFirstWeek());
+ ((GregorianCalendar)actual).setFirstDayOfWeek(((GregorianCalendar)ca[i]).getFirstDayOfWeek());
+ }
+ Assert.assertEquals(ca[i], actual);
+ }
+ }
+
+ private void performTestNewCalendarArray(StandardTypesServiceClient serviceClient) {
+ Calendar[] ca = new Calendar[3];
+ String[] tz = {"GMT+05:30", "GMT+00:00", "GMT-05:00"};
+ for (int i = 0; i < ca.length; ++i) {
+ ca[i] = Calendar.getInstance(TimeZone.getTimeZone(tz[i]));
+ ca[i].set(Calendar.DAY_OF_MONTH, i + 1);
+ }
+ Calendar[] actual = serviceClient.getNewCalendarArrayForward(ca);
+ Assert.assertEquals(ca.length, actual.length);
+ for (int i = 0; i < ca.length; ++i) {
+ ca[i].add(Calendar.DAY_OF_MONTH, 5);
+ if (actual[i] instanceof GregorianCalendar && ca[i] instanceof GregorianCalendar) {
+ // FIXME: Is this a problem?
+ // The instance returned by service method invoked over binding.ws seems to have a gregorianCutover
+ // different from the instance passed. Adjust the gregorianCutover as per the input instance.
+ ((GregorianCalendar)actual[i]).setGregorianChange(((GregorianCalendar)ca[i]).getGregorianChange());
+ ((GregorianCalendar)actual[i]).setMinimalDaysInFirstWeek(((GregorianCalendar)ca[i]).getMinimalDaysInFirstWeek());
+ ((GregorianCalendar)actual[i]).setFirstDayOfWeek(((GregorianCalendar)ca[i]).getFirstDayOfWeek());
+ }
+ Assert.assertEquals(ca[i], actual[i]);
+ }
+ }
+
+ private void performTestNewDate(StandardTypesServiceClient serviceClient) {
+ Date d = new Date();
+ Date expected = new Date(d.getTime() + 5 * 24 * 60 * 60 * 1000);
+ Date actual = serviceClient.getNewDateForward(d);
+ Assert.assertEquals(expected, actual);
+ }
+
+ private void performTestNewDateArray(StandardTypesServiceClient serviceClient) {
+ Date[] d = new Date[2];
+ Date[] expected = new Date[d.length];
+ for (int i = 0; i < d.length; ++i) {
+ d[i] = new Date();
+ d[i].setTime(d[i].getTime() + i * 24 * 60 * 60 * 1000);
+ expected[i] = new Date(d[i].getTime() + 5 * 24 * 60 * 60 * 1000);
+ }
+ Date[] actual = serviceClient.getNewDateArrayForward(d);
+ Assert.assertEquals(expected.length, actual.length);
+ for (int i = 0; i < expected.length; ++i) {
+ Assert.assertEquals(expected[i], actual[i]);
+ }
+ }
+
+ private void performTestNewQName(StandardTypesServiceClient serviceClient) {
+ QName[] qnames = new QName[3];
+ qnames[0] = new QName("localPart");
+ qnames[1] = new QName("namespaceUri", "localPart");
+ qnames[2] = new QName("namespaceUri", "localPart", "prefix");
+ QName[] expected = new QName[qnames.length];
+ for (int i = 0; i < qnames.length; ++i) {
+ expected[i] =
+ new QName(qnames[i].getNamespaceURI() + "q", qnames[i].getLocalPart() + "q",
+ qnames[i].getPrefix() + "q");
+ }
+ for (int i = 0; i < qnames.length; ++i) {
+ QName actual = serviceClient.getNewQNameForward(qnames[i]);
+ Assert.assertEquals(expected[i], actual);
+ }
+ }
+
+ private void performTestNewQNameArray(StandardTypesServiceClient serviceClient) {
+ QName[] qnames = new QName[4];
+ qnames[0] = new QName("localPart");
+ qnames[1] = new QName("namespaceUri", "localPart");
+ qnames[2] = new QName("namespaceUri", "localPart", "prefix");
+ qnames[3] = new QName("localPart2");
+ QName[] expected = new QName[qnames.length];
+ for (int i = 0; i < qnames.length; ++i) {
+ expected[i] =
+ new QName(qnames[i].getNamespaceURI() + "q", qnames[i].getLocalPart() + "q",
+ qnames[i].getPrefix() + "q");
+ }
+ QName[] actual = serviceClient.getNewQNameArrayForward(qnames);
+ Assert.assertEquals(expected.length, actual.length);
+ for (int i = 0; i < qnames.length; ++i) {
+ Assert.assertEquals(expected[i], actual[i]);
+ }
+ }
+
+ private void performTestNewURI(StandardTypesServiceClient serviceClient) {
+ URI[] uris = new URI[4];
+ uris[0] = URI.create("a/b/c");
+ uris[1] = URI.create("http://abc/");
+ uris[2] = URI.create("ftp://a/b");
+ uris[3] = URI.create("http://abc/").resolve("xyz");
+
+ for (int i = 0; i < uris.length; ++i) {
+ URI expected = uris[i].resolve("uri");
+ URI actual = serviceClient.getNewURIForward(uris[i]);
+ Assert.assertEquals(expected, actual);
+ }
+ }
+
+ private void performTestNewURIArray(StandardTypesServiceClient serviceClient) {
+ URI[] uris = new URI[4];
+ uris[0] = URI.create("a/b/c");
+ // [rfeng] We need to have a trialign / to avoid the resolving problem
+ // FIXME: [vamsi] This is actually a data transformation problem. The array being returned from the service method is
+ // not making to the caller intact.
+ uris[1] = URI.create("http://abc/");
+ uris[2] = URI.create("ftp://a/b");
+ uris[3] = URI.create("http://abc/").resolve("xyz");
+
+ URI[] expected = new URI[uris.length];
+ for (int i = 0; i < uris.length; ++i) {
+ expected[i] = uris[i].resolve("uri");
+ }
+
+ URI[] actual = serviceClient.getNewURIArrayForward(uris);
+ Assert.assertEquals(expected.length, actual.length);
+ for (int i = 0; i < uris.length; ++i) {
+ Assert.assertEquals(expected[i], actual[i]);
+ }
+ }
+
+ private void performTestNewXMLGregorianCalendar(StandardTypesServiceClient serviceClient)
+ throws DatatypeConfigurationException {
+ DatatypeFactory df = DatatypeFactory.newInstance();
+ XMLGregorianCalendar[] xgcals = new XMLGregorianCalendar[3];
+ xgcals[0] = df.newXMLGregorianCalendar(new GregorianCalendar(1974, GregorianCalendar.APRIL, 19));
+ xgcals[1] = df.newXMLGregorianCalendar(new GregorianCalendar(1978, GregorianCalendar.OCTOBER, 13));
+ xgcals[2] = df.newXMLGregorianCalendar(new GregorianCalendar(2006, GregorianCalendar.JUNE, 16));
+
+ for (int i = 0; i < xgcals.length; ++i) {
+ XMLGregorianCalendar actual = serviceClient.getNewXMLGregorianCalendarForward(xgcals[i]);
+ xgcals[i].setDay(xgcals[i].getDay() + 5);
+ Assert.assertEquals(xgcals[i], actual);
+ }
+ }
+
+ private void performTestNewXMLGregorianCalendarArray(StandardTypesServiceClient serviceClient)
+ throws DatatypeConfigurationException {
+ DatatypeFactory df = DatatypeFactory.newInstance();
+ XMLGregorianCalendar[] xgcals = new XMLGregorianCalendar[3];
+ xgcals[0] = df.newXMLGregorianCalendar(new GregorianCalendar(1974, GregorianCalendar.APRIL, 19));
+ xgcals[1] = df.newXMLGregorianCalendar(new GregorianCalendar(1978, GregorianCalendar.OCTOBER, 13));
+ xgcals[2] = df.newXMLGregorianCalendar(new GregorianCalendar(2006, GregorianCalendar.JUNE, 16));
+
+ XMLGregorianCalendar[] actual = serviceClient.getNewXMLGregorianCalendarArrayForward(xgcals);
+ Assert.assertEquals(xgcals.length, actual.length);
+ for (int i = 0; i < xgcals.length; ++i) {
+ xgcals[i].setDay(xgcals[i].getDay() + 5);
+ Assert.assertEquals(xgcals[i], actual[i]);
+ }
+ }
+
+ private void performTestNewDuration(StandardTypesServiceClient serviceClient) throws DatatypeConfigurationException {
+ DatatypeFactory df = DatatypeFactory.newInstance();
+ Duration[] da = new Duration[3];
+ da[0] = df.newDuration(1000000000000L);
+ da[1] = df.newDurationDayTime(1000000000000L);
+ da[2] = df.newDurationYearMonth(true, 1, 3);
+
+ for (int i = 0; i < da.length; ++i) {
+ Assert.assertEquals(da[i].negate(), serviceClient.getNewDurationForward(da[i]));
+ }
+ }
+
+ private void performTestNewObject(StandardTypesServiceClient serviceClient) {
+ Object[] objs = new Object[5];
+ objs[0] = "Hello";
+ objs[1] = 10;
+ objs[2] = null;
+ objs[3] = -1.0;
+ objs[4] = null;
+
+ for (int i = 0; i < objs.length; ++i) {
+ Object expected = StandardTypesTransformer.getNewObject(objs[i]);
+ Object actual = serviceClient.getNewObjectForward(objs[i]);
+ Assert.assertEquals(expected, actual);
+ }
+ }
+
+ private void performTestNewObjectArray(StandardTypesServiceClient serviceClient) {
+ Object[] objs = new Object[5];
+ objs[0] = "Hello";
+ objs[1] = 10;
+ objs[2] = null;
+ objs[3] = -1.0;
+ objs[4] = null;
+
+ Object[] actual = serviceClient.getNewObjectArrayForward(objs);
+ Assert.assertEquals(objs.length, actual.length);
+ for (int i = 0; i < objs.length; ++i) {
+ Object expected = StandardTypesTransformer.getNewObject(objs[i]);
+ Assert.assertEquals(expected, actual[i]);
+ }
+ }
+
+ private void performTestNewImage(StandardTypesServiceClient serviceClient) throws InterruptedException {
+ // Create some images to test with.
+ Image[] imgs = new Image[3];
+ imgs[0] = new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR);
+ imgs[1] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB);
+ imgs[2] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);
+ imgs[0].getGraphics().drawLine(1, 1, 8, 8);
+ imgs[1].getGraphics().drawLine(8, 1, 1, 8);
+ imgs[2].getGraphics().drawLine(1, 8, 8, 1);
+
+ Image[] copy = imgs;
+ // Create the same images once again as the StandardTypesTransformer may manipulate the image passed.
+ imgs = new Image[3];
+ imgs[0] = new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR);
+ imgs[1] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB);
+ imgs[2] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);
+ imgs[0].getGraphics().drawLine(1, 1, 8, 8);
+ imgs[1].getGraphics().drawLine(8, 1, 1, 8);
+ imgs[2].getGraphics().drawLine(1, 8, 8, 1);
+
+ // Make sure the images and copies are equal using ImageInfo
+ for(int i = 0; i < imgs.length; ++i) {
+ Assert.assertEquals(new ImageInfo(imgs[i]), new ImageInfo(copy[i]));
+ }
+
+ for (int i = 0; i < imgs.length; ++i) {
+ Image actual = serviceClient.getNewImageForward(imgs[i]);
+ Image expected = StandardTypesTransformer.getNewImage(copy[i]);
+ // Compare using ImageInfo
+ Assert.assertEquals(new ImageInfo(expected), new ImageInfo(actual));
+ }
+ }
+
+ private void performTestNewImageArray(StandardTypesServiceClient serviceClient) throws InterruptedException {
+ // Create some images to test with.
+ Image[] imgs = new Image[3];
+ imgs[0] = new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR);
+ imgs[1] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB);
+ imgs[2] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);
+ imgs[0].getGraphics().drawLine(1, 1, 8, 8);
+ imgs[1].getGraphics().drawLine(8, 1, 1, 8);
+ imgs[2].getGraphics().drawLine(1, 8, 8, 1);
+
+ Image[] copy = imgs;
+ // Create the same images once again as the StandardTypesTransformer may manipulate the image passed.
+ imgs = new Image[3];
+ imgs[0] = new BufferedImage(10, 10, BufferedImage.TYPE_3BYTE_BGR);
+ imgs[1] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_ARGB);
+ imgs[2] = new BufferedImage(10, 10, BufferedImage.TYPE_INT_RGB);
+ imgs[0].getGraphics().drawLine(1, 1, 8, 8);
+ imgs[1].getGraphics().drawLine(8, 1, 1, 8);
+ imgs[2].getGraphics().drawLine(1, 8, 8, 1);
+
+ // Make sure the images and copies are equal using ImageInfo
+ for(int i = 0; i < imgs.length; ++i) {
+ Assert.assertEquals(new ImageInfo(imgs[i]), new ImageInfo(copy[i]));
+ }
+
+ Image[] actual = serviceClient.getNewImageArrayForward(imgs);
+ Assert.assertEquals(imgs.length, actual.length);
+ for (int i = 0; i < imgs.length; ++i) {
+ Image expected = StandardTypesTransformer.getNewImage(copy[i]);
+ // Compare using ImageInfo
+ Assert.assertEquals(new ImageInfo(expected), new ImageInfo(actual[i]));
+ }
+ }
+
+ private void performTestNewDurationArray(StandardTypesServiceClient serviceClient)
+ throws DatatypeConfigurationException {
+ DatatypeFactory df = DatatypeFactory.newInstance();
+ Duration[] da = new Duration[3];
+ da[0] = df.newDuration(1000000000000L);
+ da[1] = df.newDurationDayTime(1000000000000L);
+ da[2] = df.newDurationYearMonth(true, 1, 3);
+
+ Duration[] actual = serviceClient.getNewDurationArrayForward(da);
+ Assert.assertEquals(da.length, actual.length);
+ for (int i = 0; i < da.length; ++i) {
+ Assert.assertEquals(da[i].negate(), actual[i]);
+ }
+ }
+
+ private void performTestNewDataHandler(StandardTypesServiceClient serviceClient) throws IOException {
+ DataHandler[] dha = new DataHandler[3];
+ dha[0] = new DataHandler("Some data", "text/plain");
+ dha[1] = new DataHandler(new URL("http://tuscany.apache.org/home.html"));
+ dha[2] = new DataHandler(new ByteArrayDataSource("Some data2".getBytes()));
+
+ for (int i = 0; i < dha.length; ++i) {
+ DataHandler actual = serviceClient.getNewDataHandlerForward(dha[i]);
+ // Note: The DataHandler returned may use a different type of DataSource.
+ // Compare the data content instead of using equals().
+ Assert.assertTrue(compare(dha[i], actual));
+ }
+ }
+
+ private void performTestNewDataHandlerArray(StandardTypesServiceClient serviceClient) throws IOException {
+ DataHandler[] dha = new DataHandler[3];
+ dha[0] = new DataHandler("Some data", "text/plain");
+ dha[1] = new DataHandler(new URL("http://tuscany.apache.org/home.html"));
+ dha[2] = new DataHandler(new ByteArrayDataSource("Some data2".getBytes()));
+
+ DataHandler[] actual = serviceClient.getNewDataHandlerArrayForward(dha);
+ Assert.assertEquals(dha.length, actual.length);
+ for (int i = 0; i < dha.length; ++i) {
+ // Note: The DataHandler returned may use a different type of DataSource.
+ // Compare the data content instead of using equals().
+ Assert.assertTrue(compare(dha[i], actual[i]));
+ }
+ }
+
+ /*private void performTestNewSource(StandardTypesServiceClient serviceClient) throws Exception {
+ String xml = "<a>A<b>B</b><c>C</c></a>";
+ Source[] srcs = new Source[3];
+ srcs[0] = new DOMSource(new String2Node(null).transform(xml, null));
+ srcs[1] = new SAXSource(new InputSource(new StringReader(xml)));
+ srcs[2] = new StreamSource(new StringReader(xml));
+
+ for (int i = 0; i < srcs.length; ++i) {
+ Source expected = StandardTypesTransformer.getNewSource(srcs[i]);
+ Source actual = serviceClient.getNewSourceForward(srcs[i]);
+ // [rfeng] The data may come back as a different source
+ Assert.assertEquals(sourceToString(expected), sourceToString(actual));
+ }
+ }
+
+ private void performTestNewSourceArray(StandardTypesServiceClient serviceClient) throws Exception {
+ String xml = "<a>A<b>B</b><c>C</c></a>";
+ Source[] srcs = new Source[3];
+ srcs[0] = new DOMSource(new String2Node(null).transform(xml, null));
+ srcs[1] = new SAXSource(new InputSource(new StringReader(xml)));
+ srcs[2] = new StreamSource(new StringReader(xml));
+
+ Source[] actual = serviceClient.getNewSourceArrayForward(srcs);
+ Source[] expected = new Source[srcs.length];
+ for(int i = 0; i < srcs.length; ++i) {
+ expected[i] = StandardTypesTransformer.getNewSource(srcs[i]);
+ }
+ Assert.assertEquals(srcs.length, actual.length);
+ for (int i = 0; i < srcs.length; ++i) {
+ // [rfeng] The data may come back as a different source
+ Assert.assertEquals(sourceToString(expected[i]), sourceToString(actual[i]));
+ }
+
+ }*/
+
+ private void performTestNewUUID(StandardTypesServiceClient serviceClient) {
+ UUID[] uuids = new UUID[3];
+ uuids[0] = UUID.nameUUIDFromBytes("ABCDEFGHJKLMNOPQRSTUVWXYZ".getBytes());
+ uuids[1] = UUID.nameUUIDFromBytes("abcdefghjklmnopqrstuvwxyz".getBytes());
+ uuids[2] = UUID.randomUUID();
+
+ for (int i = 0; i < uuids.length; ++i) {
+ UUID expected = UUID.fromString(uuids[i].toString() + "AAA");
+ UUID actual = serviceClient.getNewUUIDForward(uuids[i]);
+ Assert.assertEquals(expected, actual);
+ }
+ }
+
+ private void performTestNewUUIDArray(StandardTypesServiceClient serviceClient) {
+ UUID[] uuids = new UUID[3];
+ uuids[0] = UUID.nameUUIDFromBytes("ABCDEFGHJKLMNOPQRSTUVWXYZ".getBytes());
+ uuids[1] = UUID.nameUUIDFromBytes("abcdefghjklmnopqrstuvwxyz".getBytes());
+ uuids[2] = UUID.randomUUID();
+
+ UUID[] actual = serviceClient.getNewUUIDArrayForward(uuids);
+ for (int i = 0; i < uuids.length; ++i) {
+ UUID expected = UUID.fromString(uuids[i].toString() + "AAA");
+ Assert.assertEquals(expected, actual[i]);
+ }
+ }
+
+ /**
+ * This method compares two DataHandlers.
+ * @return true if the data in the two handlers is the same.
+ */
+ private boolean compare(DataHandler dh1, DataHandler dh2) throws IOException {
+ InputStream inp1 = dh1.getInputStream();
+ InputStream inp2 = dh2.getInputStream();
+ for(;;) {
+ int i1 = inp1.read();
+ int i2 = inp2.read();
+ if(i1 == -1 && i2 == -1) {
+ return true;
+ } else if(i1 != -1 && i2 != -1) {
+ if(i1 != i2) {
+ return false;
+ }
+ } else {
+ return false;
+ }
+ }
+ }
+
+ /**
+ * This method returns the content of a source object as String.
+ */
+ private String sourceToString(Source s) throws Exception {
+ StringWriter sw = new StringWriter();
+ Result r = new StreamResult(sw);
+ TransformerFactory.newInstance().newTransformer().transform(s, r);
+ sw.close();
+ return sw.toString();
+ }
+
+ /**
+ * This class initializes with the width, height and pixel data of a java.awt.Image object.
+ */
+ private static class ImageInfo {
+ private int h, w, pixels[];
+ public ImageInfo(Image img) throws InterruptedException {
+ w = img.getWidth(null);
+ h = img.getHeight(null);
+ pixels = new int[w*h];
+ PixelGrabber pg = new PixelGrabber(img, 0, 0, w, h, pixels, 0, w);
+ pg.grabPixels();
+ }
+
+ public boolean equals(Object that) {
+ if(that == null) {
+ return false;
+ } else if(!(that instanceof ImageInfo)) {
+ return false;
+ }
+
+ ImageInfo that1 = (ImageInfo)that;
+ if(w != that1.w || h != that1.h || pixels == null || that1.pixels == null || pixels.length != that1.pixels.length) {
+ return false;
+ }
+ for(int i = 0; i < pixels.length; ++i) {
+ if(pixels[i] != that1.pixels[i]) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ public String toString() {
+ return this.getClass().getSimpleName()+"[w = "+w+", h = "+h+", pixels = "+pixels+"]";
+ }
+ }
+}