Title: [996] trunk/servicemix-jsr181/src/test/resources/bad6: Put the serviceInterface in an attribute so that it can be customized.

Diff

Modified: trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/EndpointDeliveryChannel.java (995 => 996)

--- trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/EndpointDeliveryChannel.java	2005-12-02 23:21:06 UTC (rev 995)
+++ trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/EndpointDeliveryChannel.java	2005-12-03 00:27:42 UTC (rev 996)
@@ -18,6 +18,7 @@
 package org.servicemix.jsr181;
 
 import javax.jbi.messaging.DeliveryChannel;
+import javax.jbi.messaging.ExchangeStatus;
 import javax.jbi.messaging.InOptionalOut;
 import javax.jbi.messaging.InOut;
 import javax.jbi.messaging.MessageExchange;
@@ -77,7 +78,10 @@
 
     public void send(MessageExchange exchange) throws MessagingException {
         if (exchange instanceof InOut || exchange instanceof InOptionalOut) {
-            throw new UnsupportedOperationException("Asynchonous in-out are not supported");
+            // Done status can only be send asynchronously
+            if (exchange.getStatus() != ExchangeStatus.DONE) {
+                throw new UnsupportedOperationException("Asynchonous in-out are not supported");
+            }
         }
         BaseLifeCycle lf = (BaseLifeCycle) endpoint.getServiceUnit().getComponent().getLifeCycle();
         lf.sendConsumerExchange(exchange, endpoint.getProcessor());

Modified: trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181Endpoint.java (995 => 996)

--- trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181Endpoint.java	2005-12-02 23:21:06 UTC (rev 995)
+++ trunk/servicemix-jsr181/src/main/java/org/servicemix/jsr181/Jsr181Endpoint.java	2005-12-03 00:27:42 UTC (rev 996)
@@ -97,6 +97,7 @@
     protected String pojoClass;
     protected String annotations;
     protected String typeMapping;
+    protected String serviceInterface;
     
     protected ServiceEndpoint activated;
     protected Service xfireService;
@@ -210,12 +211,10 @@
         XFire xfire = getXFire();
         ObjectServiceFactory factory = null;
         Class serviceClass = pojo.getClass();
+        if (serviceInterface != null) {
+            serviceClass = Class.forName(serviceInterface);
+        }
         if (wa == null) {
-            // Auto determine service interface
-            Class[] interfaces = pojo.getClass().getInterfaces();
-            if (interfaces != null && interfaces.length == 1) {
-                serviceClass = interfaces[0];
-            }
             factory = new ObjectServiceFactory(xfire.getTransportManager(),
                                                new AegisBindingProvider(tm));
         } else if (selectedAnnotations.equals("java5") && selectedTypeMapping.equals("jaxb2")) {
@@ -306,11 +305,6 @@
         return pojoClass;
     }
 
-    /**
-     * 
-     * @param pojoClass
-     * @org.xbean.Property alias="pojo-class"
-     */
     public void setPojoClass(String pojoClass) {
         this.pojoClass = pojoClass;
     }
@@ -327,11 +321,6 @@
         return typeMapping;
     }
 
-    /**
-     * 
-     * @param pojoClass
-     * @org.xbean.Property alias="type-mapping"
-     */
     public void setTypeMapping(String typeMapping) {
         this.typeMapping = typeMapping;
     }
@@ -340,4 +329,12 @@
         return processor;
     }
 
+    public String getServiceInterface() {
+        return serviceInterface;
+    }
+
+    public void setServiceInterface(String serviceInterface) {
+        this.serviceInterface = serviceInterface;
+    }
+
 }

Modified: trunk/servicemix-jsr181/src/test/java/org/servicemix/jsr181/Jsr181ComplexPojoTest.java (995 => 996)

--- trunk/servicemix-jsr181/src/test/java/org/servicemix/jsr181/Jsr181ComplexPojoTest.java	2005-12-02 23:21:06 UTC (rev 995)
+++ trunk/servicemix-jsr181/src/test/java/org/servicemix/jsr181/Jsr181ComplexPojoTest.java	2005-12-03 00:27:42 UTC (rev 996)
@@ -64,6 +64,7 @@
         Jsr181SpringComponent component = new Jsr181SpringComponent();
         Jsr181Endpoint endpoint = new Jsr181Endpoint();
         endpoint.setPojo(new ComplexPojoImpl());
+        endpoint.setServiceInterface(ComplexPojo.class.getName());
         component.setEndpoints(new Jsr181Endpoint[] { endpoint });
         container.activateComponent(component, "JSR181Component");
         
@@ -86,6 +87,7 @@
         Jsr181SpringComponent component = new Jsr181SpringComponent();
         Jsr181Endpoint endpoint = new Jsr181Endpoint();
         endpoint.setPojo(new ComplexPojoImpl());
+        endpoint.setServiceInterface(ComplexPojo.class.getName());
         component.setEndpoints(new Jsr181Endpoint[] { endpoint });
         container.activateComponent(component, "JSR181Component");
         

Modified: trunk/servicemix-jsr181/src/test/resources/bad3/xbean.xml (995 => 996)

--- trunk/servicemix-jsr181/src/test/resources/bad3/xbean.xml	2005-12-02 23:21:06 UTC (rev 995)
+++ trunk/servicemix-jsr181/src/test/resources/bad3/xbean.xml	2005-12-03 00:27:42 UTC (rev 996)
@@ -1,10 +1,10 @@
 <?xml version="1.0"?>
 <beans xmlns:jsr181="http://servicemix.org/jsr181/1.0">
 
-  <jsr181:endpoint type-mapping="xmlbeans"
-  				   pojo-class="test.EchoService" />
+  <jsr181:endpoint typeMapping="xmlbeans"
+  				   pojoClass="test.EchoService" />
   				   
-  <jsr181:endpoint type-mapping="xmlbeans"
-  				   pojo-class="test.EchoService" />
+  <jsr181:endpoint typeMapping="xmlbeans"
+  				   pojoClass="test.EchoService" />
   				   
 </beans>

Modified: trunk/servicemix-jsr181/src/test/resources/bad5/xbean.xml (995 => 996)

--- trunk/servicemix-jsr181/src/test/resources/bad5/xbean.xml	2005-12-02 23:21:06 UTC (rev 995)
+++ trunk/servicemix-jsr181/src/test/resources/bad5/xbean.xml	2005-12-03 00:27:42 UTC (rev 996)
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <beans xmlns:jsr181="http://servicemix.org/jsr181/1.0">
 
-  <jsr181:endpoint type-mapping="---"
-  				   pojo-class="test.EchoService" />
+  <jsr181:endpoint typeMapping="---"
+  				   pojoClass="test.EchoService" />
   				   
 </beans>

Modified: trunk/servicemix-jsr181/src/test/resources/bad6/xbean.xml (995 => 996)

--- trunk/servicemix-jsr181/src/test/resources/bad6/xbean.xml	2005-12-02 23:21:06 UTC (rev 995)
+++ trunk/servicemix-jsr181/src/test/resources/bad6/xbean.xml	2005-12-03 00:27:42 UTC (rev 996)
@@ -2,6 +2,6 @@
 <beans xmlns:jsr181="http://servicemix.org/jsr181/1.0">
 
   <jsr181:endpoint annotations="---"
-  				   pojo-class="test.EchoService" />
+  				   pojoClass="test.EchoService" />
   				   
 </beans>

Modified: trunk/servicemix-jsr181/src/test/resources/good2/xbean.xml (995 => 996)

--- trunk/servicemix-jsr181/src/test/resources/good2/xbean.xml	2005-12-02 23:21:06 UTC (rev 995)
+++ trunk/servicemix-jsr181/src/test/resources/good2/xbean.xml	2005-12-03 00:27:42 UTC (rev 996)
@@ -2,13 +2,13 @@
 <beans xmlns:jsr181="http://servicemix.org/jsr181/1.0">
 
   <jsr181:endpoint endpoint="endpoint1"
-  				   type-mapping="xmlbeans">
+  				   typeMapping="xmlbeans">
     <jsr181:pojo>
       <bean class="test.EchoService" />
     </jsr181:pojo>
   </jsr181:endpoint>
 
-  <jsr181:endpoint pojo-class="test.EchoService2"
+  <jsr181:endpoint pojoClass="test.EchoService2"
   				   annotations="none" />
   				   
 </beans>

Modified: trunk/servicemix-jsr181/src/test/resources/org/servicemix/jsr181/spring.xml (995 => 996)

--- trunk/servicemix-jsr181/src/test/resources/org/servicemix/jsr181/spring.xml	2005-12-02 23:21:06 UTC (rev 995)
+++ trunk/servicemix-jsr181/src/test/resources/org/servicemix/jsr181/spring.xml	2005-12-03 00:27:42 UTC (rev 996)
@@ -11,7 +11,7 @@
       	<sm:component>
             <jsr181:component>
             	<jsr181:endpoints>
-            		<jsr181:endpoint pojo-class="test.EchoService2"
+            		<jsr181:endpoint pojoClass="test.EchoService2"
   				   					 annotations="none" />
             	</jsr181:endpoints>
             </jsr181:component>

Reply via email to