You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by jb...@apache.org on 2010/04/09 16:14:56 UTC

svn commit: r932427 - in /servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi: RmiConsumerEndpoint.java RmiExchange.java RmiProviderEndpoint.java marshaler/DefaultRmiMarshaler.java marshaler/RmiMarshalerSupport.java

Author: jbonofre
Date: Fri Apr  9 14:14:55 2010
New Revision: 932427

URL: http://svn.apache.org/viewvc?rev=932427&view=rev
Log:
Resuming RMI component.

Modified:
    servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiConsumerEndpoint.java
    servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiExchange.java
    servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiProviderEndpoint.java
    servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/DefaultRmiMarshaler.java
    servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/RmiMarshalerSupport.java

Modified: servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiConsumerEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiConsumerEndpoint.java?rev=932427&r1=932426&r2=932427&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiConsumerEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiConsumerEndpoint.java Fri Apr  9 14:14:55 2010
@@ -246,26 +246,25 @@ public class RmiConsumerEndpoint extends
             // create in-out exchange
             InOut exchange = getExchangeFactory().createInOutExchange();
             // set the exchange operation name to the called method
-            exchange.setOperation(new QName("", ""));
+            //exchange.setOperation(new QName("", ""));
             // create the in message
             NormalizedMessage in = exchange.createMessage();
             // set the exchange in message
             exchange.setInMessage(in);
             
-            // check if the method match a WSDL an operation
+            // TODO check if the method match a WSDL an operation
             
-            // create a RMI call container
+            // create a RMI exchange
+            RmiExchange rmiExchange = new RmiExchange();
+            rmiExchange.setObject(proxy);
+            rmiExchange.setMethod(method);
+            rmiExchange.setArgs(args);
             
-            
-            RmiExchange rmiCall = new RmiExchange();
-            rmiCall.setObject(proxy);
-            rmiCall.setMethod(method);
-            rmiCall.setArgs(args);
-            // populate the message content using the marshaler
-            //marshaler.rmiCallToNMR(in, rmiCall);
+            // marshal the RMI exchange into the in message
+            marshaler.rmiExchangeToNmr(in, rmiExchange);
             // send the exchange to the delivery channel
             // TODO use a send and hold on to the marshaler in a map with the exchange id
-            //sendSync(exchange);
+            sendSync(exchange);
             // use the marshaler to get back to the object
             //return marshaler.objectFromNMR(exchange.getOutMessage());
             return null;

Modified: servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiExchange.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiExchange.java?rev=932427&r1=932426&r2=932427&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiExchange.java (original)
+++ servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiExchange.java Fri Apr  9 14:14:55 2010
@@ -19,8 +19,6 @@ package org.apache.servicemix.rmi;
 import java.lang.reflect.Method;
 import java.rmi.Remote;
 
-import javax.jbi.messaging.MessageExchange;
-
 /**
  * <p>
  * SMX representation of a RMI exchange.
@@ -33,7 +31,6 @@ public class RmiExchange {
     private Object object;
     private Method method;
     private Object[] args;
-    
     public Object getObject() {
         return object;
     }

Modified: servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiProviderEndpoint.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiProviderEndpoint.java?rev=932427&r1=932426&r2=932427&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiProviderEndpoint.java (original)
+++ servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/RmiProviderEndpoint.java Fri Apr  9 14:14:55 2010
@@ -225,12 +225,12 @@ public class RmiProviderEndpoint extends
             // create a RMI exchange container
             RmiExchange rmiExchange = new RmiExchange();
             // populate the RMI exchange
-            marshaler.createRmiCall(in, rmiExchange);
+            //marshaler.createRmiCall(in, rmiExchange);
             // perform the RMI call
             Object response = rmiExchange.invoke(stub);
             // TODO handle RMI invocation exception using exchange.setError();
             // marshal the response object into a normalized message
-            marshaler.handleRmiResponse(exchange, response, rmiExchange.getMethod().getReturnType());
+            //marshaler.handleRmiResponse(exchange, response, rmiExchange.getMethod().getReturnType());
             // send the exchange into the NMR
             send(exchange);
         }

Modified: servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/DefaultRmiMarshaler.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/DefaultRmiMarshaler.java?rev=932427&r1=932426&r2=932427&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/DefaultRmiMarshaler.java (original)
+++ servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/DefaultRmiMarshaler.java Fri Apr  9 14:14:55 2010
@@ -24,7 +24,6 @@ import javax.jbi.messaging.MessagingExce
 import javax.jbi.messaging.NormalizedMessage;
 
 import org.apache.cxf.databinding.DataBinding;
-import org.apache.cxf.databinding.DataWriter;
 import org.apache.servicemix.rmi.RmiExchange;
 
 /**
@@ -44,36 +43,38 @@ public class DefaultRmiMarshaler impleme
     
     /*
      * (non-Javadoc)
-     * @see org.apache.servicemix.rmi.marshaler.RmiMarshalerSupport#toNMR(javax.jbi.messaging.NormalizedMessage, java.lang.Object, java.lang.reflect.Method, java.lang.Object[])
+     * @see org.apache.servicemix.rmi.marshaler.RmiMarshalerSupport#rmiExchangeFromNmr(javax.jbi.messaging.MessageExchange)
      */
-    public void handleRmiResponse(MessageExchange exchange, Object object, Class objectClass) throws MessagingException {
+    public RmiExchange rmiExchangeFromNmr(MessageExchange exchange) throws MessagingException {
         if (exchange instanceof InOut) {
             // it's an InOut exchange
             // create the out message
             NormalizedMessage out = exchange.createMessage();
             // marshal the object using the data binding
-            DataWriter dataWriter = dataBinding.createWriter(objectClass);
+            //DataWriter dataWriter = dataBinding.createWriter(objectClass);
             // put the marshaled response into the out message
             //out.setContent(dataWriter.write(arg0, arg1)));
         } else if (exchange instanceof InOptionalOut) {
             // it's an InOptionalOut, send the response only if the object is not null
-            if (object != null) {
+            //if (object != null) {
                 
-            } else {
+            //} else {
                 exchange.setStatus(ExchangeStatus.DONE);
-            }
+            //}
         } else {
             // it's an InOnly exchange
             exchange.setStatus(ExchangeStatus.DONE);
         }
+        return null;
     }
     
     /*
      * (non-Javadoc)
      * @see org.apache.servicemix.rmi.marshaler.RmiMarshalerSupport#rmiCallFromNMR(javax.jbi.messaging.NormalizedMessage)
      */
-    public void createRmiCall(NormalizedMessage in, RmiExchange rmiCall) throws MessagingException {
+    public void rmiExchangeToNmr(NormalizedMessage in, RmiExchange rmiExchange) throws MessagingException {
         // TODO get the operation in the exchange and construct the RMI method call using object in the in message
+        
     }
 
 }

Modified: servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/RmiMarshalerSupport.java
URL: http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/RmiMarshalerSupport.java?rev=932427&r1=932426&r2=932427&view=diff
==============================================================================
--- servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/RmiMarshalerSupport.java (original)
+++ servicemix/components/bindings/servicemix-rmi/trunk/src/main/java/org/apache/servicemix/rmi/marshaler/RmiMarshalerSupport.java Fri Apr  9 14:14:55 2010
@@ -50,7 +50,7 @@ public interface RmiMarshalerSupport {
      * @param rmiCall the RMI call to populate.
      * @throws MessagingException in case of unmarshaling failure.
      */
-    public void createRmiCall(NormalizedMessage in, RmiExchange rmiCall) throws MessagingException;
+    public void rmiExchangeToNmr(NormalizedMessage in, RmiExchange rmiExchange) throws MessagingException;
     
     /**
      * <p>
@@ -58,10 +58,9 @@ public interface RmiMarshalerSupport {
      * </p>
      *  
      * @param exchange the message exchange.
-     * @param object the response object.
-     * @param objectClass the response object type.
+     * @return the RMI Exchange.
      * @throws MessagingException in case of marshaling failure.
      */
-    public void handleRmiResponse(MessageExchange exchange, Object object, Class objectClass) throws MessagingException;
+    public RmiExchange rmiExchangeFromNmr(MessageExchange exchange) throws MessagingException;
 
 }