You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2010/06/10 09:08:11 UTC

svn commit: r953231 - in /camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf: CxfProducerOperationTest.java HelloService.java HelloServiceImpl.java

Author: ningjiang
Date: Thu Jun 10 07:08:10 2010
New Revision: 953231

URL: http://svn.apache.org/viewvc?rev=953231&view=rev
Log:
Added a complex type parameter test for CxfProducer

Modified:
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerOperationTest.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/HelloService.java
    camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/HelloServiceImpl.java

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerOperationTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerOperationTest.java?rev=953231&r1=953230&r2=953231&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerOperationTest.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/CxfProducerOperationTest.java Thu Jun 10 07:08:10 2010
@@ -21,12 +21,14 @@ import java.util.List;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
+import org.junit.Test;
 
 /**
  * @version $Revision$
  */
 public class CxfProducerOperationTest extends CxfProducerTest {
     private static final String NAMESPACE = "http://apache.org/hello_world_soap_http";
+
    
     protected String getSimpleEndpointUri() {
         return "cxf://" + SIMPLE_SERVER_ADDRESS
@@ -57,6 +59,7 @@ public class CxfProducerOperationTest ex
         return exchange;
 
     }
+    
     protected Exchange sendJaxWsMessage() {
         Exchange exchange = template.send(getJaxwsEndpointUri(), new Processor() {
             public void process(final Exchange exchange) {
@@ -68,4 +71,31 @@ public class CxfProducerOperationTest ex
         });
         return exchange;
     }
+    
+    @Test
+    public void testSendingComplexParameter() throws Exception {
+        Exchange exchange = template.send(getSimpleEndpointUri(), new Processor() {
+            public void process(final Exchange exchange) {
+                // we need to override the operation name first                
+                final List<String> para1 = new ArrayList<String>();
+                para1.add("para1");
+                final List<String> para2 = new ArrayList<String>();
+                para2.add("para2");                
+                List<List> parameters = new ArrayList<List>();
+                parameters.add(para1);
+                parameters.add(para2);
+                // The object array version is working too
+                // Object[] parameters = new Object[] {para1, para2};
+                exchange.getIn().setBody(parameters);
+                exchange.getIn().setHeader(CxfConstants.OPERATION_NAME, "complexParameters");
+            }
+        });
+        
+        if (exchange.getException() != null) {
+            throw exchange.getException();
+        }
+        
+        assertEquals("Get a wrong response.", "param:para1para2", exchange.getOut().getBody(String.class));
+        
+    }
 }

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/HelloService.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/HelloService.java?rev=953231&r1=953230&r2=953231&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/HelloService.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/HelloService.java Thu Jun 10 07:08:10 2010
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.component.cxf;
 
+import java.util.List;
+
 public interface HelloService {
     String sayHello();
 
@@ -27,4 +29,6 @@ public interface HelloService {
 
     Boolean echoBoolean(Boolean bool);
     
+    String complexParameters(List<String> par1, List<String> par2);
+    
 }
\ No newline at end of file

Modified: camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/HelloServiceImpl.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/HelloServiceImpl.java?rev=953231&r1=953230&r2=953231&view=diff
==============================================================================
--- camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/HelloServiceImpl.java (original)
+++ camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/HelloServiceImpl.java Thu Jun 10 07:08:10 2010
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.cxf;
 
+import java.util.List;
 import java.util.logging.Logger;
 
 
@@ -46,6 +47,14 @@ public class HelloServiceImpl implements
         return bool;
     }
 
+    public String complexParameters(List<String> par1, List<String> par2) {
+        String result = "param";
+        if (par1 != null && par2 != null) {
+            result = result + ":" + par1.get(0) + par2.get(0);
+        }
+        return result;
+    }
+
 
 }