From e5b7380c874745c989d1816b8f552504f038e1bc Mon Sep 17 00:00:00 2001 From: lresende Date: Thu, 26 Sep 2013 20:33:20 +0000 Subject: 2.0 branch for possible maintenance release git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1526672 13f79535-47bb-0310-9956-ffa450edef68 --- .../2.0/testing/itest/data-copy/service/pom.xml | 51 +++++++++++ .../java/itest/privatecopy/intf/ServiceIntf.java | 51 +++++++++++ .../main/java/itest/privatecopy/types/Name.java | 42 +++++++++ .../main/java/itest/service/impl/ServiceImpl.java | 101 +++++++++++++++++++++ .../main/resources/helloworld-service.composite | 33 +++++++ 5 files changed, 278 insertions(+) create mode 100644 sca-java-2.x/branches/2.0/testing/itest/data-copy/service/pom.xml create mode 100644 sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/java/itest/privatecopy/intf/ServiceIntf.java create mode 100644 sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/java/itest/privatecopy/types/Name.java create mode 100644 sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/java/itest/service/impl/ServiceImpl.java create mode 100644 sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/resources/helloworld-service.composite (limited to 'sca-java-2.x/branches/2.0/testing/itest/data-copy/service') diff --git a/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/pom.xml b/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/pom.xml new file mode 100644 index 0000000000..2b009650b4 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/pom.xml @@ -0,0 +1,51 @@ + + + + 4.0.0 + + org.apache.tuscany.sca + itest-data-copy + 2.0 + ../pom.xml + + itest-data-copy-service + Apache Tuscany SCA iTest Data-Copy Service + + + + org.apache.tuscany.sca + itest-data-copy-common + 2.0 + + + org.apache.tuscany.sca + tuscany-sca-api + 2.0 + + + org.apache.tuscany.sca + tuscany-databinding-json + 2.0 + + + org.apache.tuscany.sca + tuscany-databinding-sdo + 2.0 + + + org.apache.tuscany.sca + tuscany-databinding + 2.0 + + + diff --git a/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/java/itest/privatecopy/intf/ServiceIntf.java b/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/java/itest/privatecopy/intf/ServiceIntf.java new file mode 100644 index 0000000000..a708974bf4 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/java/itest/privatecopy/intf/ServiceIntf.java @@ -0,0 +1,51 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package itest.privatecopy.intf; + +import javax.xml.ws.RequestWrapper; +import javax.xml.ws.ResponseWrapper; + +import org.apache.tuscany.sca.databinding.annotation.DataBinding; +import org.codehaus.jettison.json.JSONObject; +import org.oasisopen.sca.annotation.Remotable; +import org.w3c.dom.Node; + +import commonj.sdo.DataObject; + +import itest.privatecopy.types.Name; + +@Remotable +public interface ServiceIntf { + + boolean areNamesTheSameObjects(Name name1, Name name2); + Name greet(Name name); + + @RequestWrapper(localName = "greetJSON", targetNamespace = "http://intf.privatecopy.itest/", className = "org.codehaus.jettison.json.JSONObject") + void greetJSON(JSONObject name); + + @RequestWrapper(localName = "greetDOM", targetNamespace = "http://intf.privatecopy.itest/", className = "org.w3c.dom.Node") + // Won't work because of 2931 - lack of separation of req. vs. resp + //String greetDOM(Node name); + @ResponseWrapper(localName = "greetDOMResponse", targetNamespace = "http://intf.privatecopy.itest/", className = "org.w3c.dom.Node") + Node greetDOM(Node name); + + Node returnDOM(Node name); + +} diff --git a/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/java/itest/privatecopy/types/Name.java b/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/java/itest/privatecopy/types/Name.java new file mode 100644 index 0000000000..931a67cc59 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/java/itest/privatecopy/types/Name.java @@ -0,0 +1,42 @@ +/* + * 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 itest.privatecopy.types; + +public class Name implements java.io.Serializable { + + public Name() { + super(); + } + private String firstName; + private String lastName; + + public void setLastName(String lastName) { + this.lastName = lastName; + } + public String getLastName() { + return lastName; + } + public void setFirstName(String firstName) { + this.firstName = firstName; + } + public String getFirstName() { + return firstName; + } +} + diff --git a/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/java/itest/service/impl/ServiceImpl.java b/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/java/itest/service/impl/ServiceImpl.java new file mode 100644 index 0000000000..933aadeaa3 --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/java/itest/service/impl/ServiceImpl.java @@ -0,0 +1,101 @@ +/* + * 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 itest.service.impl; + +import java.io.StringReader; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + +import org.codehaus.jettison.json.JSONException; +import org.codehaus.jettison.json.JSONObject; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.xml.sax.InputSource; + + +import commonj.sdo.DataObject; + +import static org.junit.Assert.assertEquals; + +import itest.privatecopy.intf.ServiceIntf; +import itest.privatecopy.types.Name; + + +public class ServiceImpl implements ServiceIntf { + + @Override + public Name greet(Name name) { + Name retVal = new Name(); + retVal.setFirstName("Hi " + name.getFirstName()); + retVal.setLastName("Ms. " + name.getLastName()); + return retVal; + } + + @Override + public boolean areNamesTheSameObjects(Name name1, Name name2) { + return name1 == name2; + } + + @Override + public void greetJSON(JSONObject name) { + try { + String firstName = name.getString("firstName"); + String lastName = name.getString("lastName"); + assertEquals("Jason", firstName); + assertEquals("Nosaj", lastName); + } catch (JSONException exc) { + throw new RuntimeException(exc); + } + } + + + @Override + //public String greetDOM(Node name) { + public Node greetDOM(Node name) { + Node retVal = null; + + try { + assertEquals("DOMMOD", name.getTextContent()); + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + DocumentBuilder builder = factory.newDocumentBuilder(); + + String retString = "" + + "SUCCESS"; + InputSource is = new InputSource( new StringReader(retString) ); + Document doc = builder.parse(is); + retVal = doc.getDocumentElement(); + } catch (Exception e) { + throw new RuntimeException(e); + } + return retVal; + } + + @Override + public Node returnDOM(Node name) { + return name; + } + +} + + + diff --git a/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/resources/helloworld-service.composite b/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/resources/helloworld-service.composite new file mode 100644 index 0000000000..78b49eaa2c --- /dev/null +++ b/sca-java-2.x/branches/2.0/testing/itest/data-copy/service/src/main/resources/helloworld-service.composite @@ -0,0 +1,33 @@ + + + + + + + + + + + + + -- cgit v1.2.3