You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sl...@apache.org on 2010/09/29 17:31:55 UTC
svn commit: r1002679 - in
/tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src:
main/java/org/apache/tuscany/sca/binding/jsonp/runtime/
test/java/helloworld/ test/java/test/
Author: slaws
Date: Wed Sep 29 15:31:54 2010
New Revision: 1002679
URL: http://svn.apache.org/viewvc?rev=1002679&view=rev
Log:
TUSCANY-3696 - and make the array changes work with void input and output parameters
Modified:
tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPInvoker.java
tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPReferenceBindingProvider.java
tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPServiceBindingProvider.java
tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldClient.java
tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldImpl.java
tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldService.java
tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/test/BindingTestCase.java
Modified: tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPInvoker.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPInvoker.java?rev=1002679&r1=1002678&r2=1002679&view=diff
==============================================================================
--- tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPInvoker.java (original)
+++ tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPInvoker.java Wed Sep 29 15:31:54 2010
@@ -142,6 +142,10 @@ public class JSONPInvoker implements Inv
}
protected String[] objectsToJSONStrings(Object[] msgArgs) throws JsonGenerationException, JsonMappingException, IOException {
+ if (msgArgs == null){
+ return new String[0];
+ }
+
String[] jsonArgs = new String[msgArgs.length];
for (int i=0; i<msgArgs.length; i++) {
jsonArgs[i] = msgArgs[i].toString();
Modified: tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPReferenceBindingProvider.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPReferenceBindingProvider.java?rev=1002679&r1=1002678&r2=1002679&view=diff
==============================================================================
--- tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPReferenceBindingProvider.java (original)
+++ tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPReferenceBindingProvider.java Wed Sep 29 15:31:54 2010
@@ -58,10 +58,12 @@ public class JSONPReferenceBindingProvid
inputType.setDataBinding("JSON2x");
}
}
- DataType outputType = operation.getOutputType();
- if ("java:array".equals(outputType.getDataBinding())){
- outputType.setDataBinding("JSON2x");
- }
+ DataType outputType = operation.getOutputType();
+ if (outputType != null){
+ if ("java:array".equals(outputType.getDataBinding())){
+ outputType.setDataBinding("JSON2x");
+ }
+ }
}
}
public Invoker createInvoker(Operation operation) {
Modified: tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPServiceBindingProvider.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPServiceBindingProvider.java?rev=1002679&r1=1002678&r2=1002679&view=diff
==============================================================================
--- tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPServiceBindingProvider.java (original)
+++ tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/main/java/org/apache/tuscany/sca/binding/jsonp/runtime/JSONPServiceBindingProvider.java Wed Sep 29 15:31:54 2010
@@ -60,15 +60,18 @@ public class JSONPServiceBindingProvider
// force array types to map to JSON also
for (Operation operation : contract.getInterface().getOperations()){
DataType<List<DataType>> inputTypes = operation.getInputType();
- for (DataType inputType : inputTypes.getLogical()){
- if ("java:array".equals(inputType.getDataBinding())){
- inputType.setDataBinding("JSON2x");
- }
- }
+ for (DataType inputType : inputTypes.getLogical()){
+ if ("java:array".equals(inputType.getDataBinding())){
+ inputType.setDataBinding("JSON2x");
+ }
+ }
+
DataType outputType = operation.getOutputType();
- if ("java:array".equals(outputType.getDataBinding())){
- outputType.setDataBinding("JSON2x");
- }
+ if (outputType != null){
+ if ("java:array".equals(outputType.getDataBinding())){
+ outputType.setDataBinding("JSON2x");
+ }
+ }
}
}
Modified: tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldClient.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldClient.java?rev=1002679&r1=1002678&r2=1002679&view=diff
==============================================================================
--- tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldClient.java (original)
+++ tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldClient.java Wed Sep 29 15:31:54 2010
@@ -49,5 +49,9 @@ public class HelloWorldClient implements
public String[] sayHello6(BeanA[] beans, String[] names, String anotherName){
return ref.sayHello6(beans, names, anotherName);
- }
+ }
+
+ public void sayHello7() {
+ ref.sayHello7();
+ }
}
Modified: tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldImpl.java?rev=1002679&r1=1002678&r2=1002679&view=diff
==============================================================================
--- tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldImpl.java (original)
+++ tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldImpl.java Wed Sep 29 15:31:54 2010
@@ -64,4 +64,8 @@ public class HelloWorldImpl implements H
String [] response = {returnString};
return response;
}
+
+ public void sayHello7() {
+ System.out.println("Hello void Fred");
+ }
}
Modified: tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldService.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldService.java?rev=1002679&r1=1002678&r2=1002679&view=diff
==============================================================================
--- tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldService.java (original)
+++ tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/helloworld/HelloWorldService.java Wed Sep 29 15:31:54 2010
@@ -35,4 +35,7 @@ public interface HelloWorldService {
BeanA[] sayHello5(BeanA[] beans);
String[] sayHello6(BeanA[] beans, String[] names, String anotherName);
+
+ void sayHello7();
+
}
Modified: tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/test/BindingTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/test/BindingTestCase.java?rev=1002679&r1=1002678&r2=1002679&view=diff
==============================================================================
--- tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/test/BindingTestCase.java (original)
+++ tuscany/sca-java-1.x/trunk/modules/binding-jsonp-runtime/src/test/java/test/BindingTestCase.java Wed Sep 29 15:31:54 2010
@@ -106,7 +106,7 @@ public class BindingTestCase {
BeanA[] response = client.sayHello5(beans);
Assert.assertEquals("Hello Fred", response[0].getS());
- }
+ }
/* HTTP Request for testMixedArray
GET /HelloWorldComponent/HelloWorldService/sayHello6?arg0=%5B%7B%22b%22%3Atrue%2C%22s%22%3A%22Fred%22%2C%22y%22%3Anull%2C%22x%22%3A5%7D%5D&arg1=%5B%22Fred%22%2C%22Bloggs%22%5D&arg2=%22Bloggs%22 HTTP/1.1
@@ -138,7 +138,14 @@ public class BindingTestCase {
String[] response = client.sayHello6(beans, names, "Bloggs");
Assert.assertEquals("Hello Fred Fred Bloggs Bloggs", response[0]);
- }
+ }
+
+ @Test
+ public void testVoid() throws MalformedURLException, IOException {
+ HelloWorldService client = ((SCAClient)node).getService(HelloWorldService.class, "HelloWorldClient");
+
+ client.sayHello7();
+ }
@Test
@Ignore