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