[jboss-svn-commits] JBL Code SVN: r29862 - in labs/jbossrules/trunk/drools-vsm/src: main/java/org/drools/vsm/mina and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Oct 28 17:33:27 EDT 2009


Author: mark.proctor at jboss.com
Date: 2009-10-28 17:33:27 -0400 (Wed, 28 Oct 2009)
New Revision: 29862

Added:
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/ClientGenericMessageReceiver.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/ClientGenericMessageReceiverImpl.java
Modified:
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/MinaIoHandler.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/RioIoHandler.java
   labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerRioRemoteTest.java
Log:
JBRULES-2269 Virtual Service Manager
-rio now uses GenericIoWriter

Added: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/ClientGenericMessageReceiver.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/ClientGenericMessageReceiver.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/ClientGenericMessageReceiver.java	2009-10-28 21:33:27 UTC (rev 29862)
@@ -0,0 +1,13 @@
+package org.drools.vsm;
+
+import org.drools.vsm.mina.MinaIoWriter;
+
+public interface ClientGenericMessageReceiver {
+
+    public abstract void addResponseHandler(int id,
+                                            MessageResponseHandler responseHandler);
+
+    public abstract void messageReceived(GenericIoWriter writer,
+                                         Message msg) throws Exception;
+
+}
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/ClientGenericMessageReceiverImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/ClientGenericMessageReceiverImpl.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/ClientGenericMessageReceiverImpl.java	2009-10-28 21:33:27 UTC (rev 29862)
@@ -0,0 +1,63 @@
+/**
+ * 
+ */
+package org.drools.vsm.mina;
+
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.drools.SystemEventListener;
+import org.drools.vsm.ClientGenericMessageReceiver;
+import org.drools.vsm.GenericIoWriter;
+import org.drools.vsm.GenericMessageHandler;
+import org.drools.vsm.Message;
+import org.drools.vsm.MessageResponseHandler;
+
+public class ClientGenericMessageReceiverImpl implements ClientGenericMessageReceiver {
+    protected Map<Integer, MessageResponseHandler> responseHandlers;
+
+    private GenericMessageHandler                  handler;
+
+    private final SystemEventListener              systemEventListener;
+
+    public ClientGenericMessageReceiverImpl(GenericMessageHandler handler,
+                                     SystemEventListener systemEventListener) {
+        this.handler = handler;
+        this.responseHandlers = new ConcurrentHashMap<Integer, MessageResponseHandler>();;
+        this.systemEventListener = systemEventListener;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.vsm.mina.ClientGenericMessageReceiver#addResponseHandler(int, org.drools.vsm.MessageResponseHandler)
+     */
+    public void addResponseHandler(int id,
+                                   MessageResponseHandler responseHandler) {
+        this.responseHandlers.put( id,
+                                   responseHandler );
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.vsm.mina.ClientGenericMessageReceiver#messageReceived(org.drools.vsm.mina.MinaIoWriter, org.drools.vsm.Message)
+     */
+    public void messageReceived(GenericIoWriter writer,
+                                Message msg) throws Exception {
+
+        systemEventListener.debug( "Message receieved : " + msg );
+
+        MessageResponseHandler responseHandler = (MessageResponseHandler) responseHandlers.remove( msg.getResponseId() );
+
+        if ( responseHandler != null ) {
+            Object payload = msg.getPayload();
+            if ( payload != null && payload instanceof RuntimeException ) {
+                responseHandler.setError( (RuntimeException) payload );
+            } else {
+                responseHandler.receive( msg );
+            }
+        } else if ( handler != null ) {
+            this.handler.messageReceived( writer,
+                                          msg );
+        } else {
+            throw new RuntimeException( "Unable to process Message" );
+        }
+    }
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/MinaIoHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/MinaIoHandler.java	2009-10-28 21:06:33 UTC (rev 29861)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/MinaIoHandler.java	2009-10-28 21:33:27 UTC (rev 29862)
@@ -1,26 +1,23 @@
 package org.drools.vsm.mina;
 
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.mina.core.service.IoHandlerAdapter;
 import org.apache.mina.core.session.IdleStatus;
 import org.apache.mina.core.session.IoSession;
 import org.drools.SystemEventListener;
+import org.drools.vsm.ClientGenericMessageReceiver;
 import org.drools.vsm.GenericMessageHandler;
 import org.drools.vsm.Message;
 import org.drools.vsm.MessageResponseHandler;
 
 public class MinaIoHandler extends IoHandlerAdapter {
-    protected Map<Integer, MessageResponseHandler> responseHandlers;
-
-    private GenericMessageHandler                  handler;
-
     /**
      * Listener used for logging
      */
-    private final SystemEventListener              systemEventListener;
+    private final SystemEventListener systemEventListener;
 
+    private ClientGenericMessageReceiver clientMessageReceiver;
+
     public MinaIoHandler(SystemEventListener systemEventListener) {
         this( systemEventListener,
               null );
@@ -30,15 +27,15 @@
     public MinaIoHandler(SystemEventListener systemEventListener,
                          GenericMessageHandler handler) {
         this.systemEventListener = systemEventListener;
-        this.responseHandlers = new ConcurrentHashMap<Integer, MessageResponseHandler>();
-        this.handler = handler;
+        this.clientMessageReceiver = new ClientGenericMessageReceiverImpl( handler,
+                                                                           systemEventListener );
 
     }
 
     public void addResponseHandler(int id,
                                    MessageResponseHandler responseHandler) {
-        this.responseHandlers.put( id,
-                                   responseHandler );
+        this.clientMessageReceiver.addResponseHandler( id,
+                                                       responseHandler );
     }
 
     public void exceptionCaught(IoSession session,
@@ -50,24 +47,8 @@
     public void messageReceived(IoSession session,
                                 Object object) throws Exception {
         Message msg = (Message) object;
-
-        systemEventListener.debug( "Message receieved : " + msg );
-
-        MessageResponseHandler responseHandler = (MessageResponseHandler) responseHandlers.remove( msg.getResponseId() );
-
-        if ( responseHandler != null ) {
-            Object payload = msg.getPayload();
-            if ( payload != null && payload instanceof RuntimeException ) {
-                responseHandler.setError( (RuntimeException) payload );
-            } else {
-                responseHandler.receive( msg );
-            }
-        } else if ( handler != null ) {
-            this.handler.messageReceived( new MinaIoWriter( session ),
-                                          (Message) object );
-        } else {
-            throw new RuntimeException( "Unable to process Message" );
-        }
+        clientMessageReceiver.messageReceived( new MinaIoWriter( session ),
+                                               msg );
     }
 
     @Override

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/RioIoHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/RioIoHandler.java	2009-10-28 21:06:33 UTC (rev 29861)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/RioIoHandler.java	2009-10-28 21:33:27 UTC (rev 29862)
@@ -9,12 +9,14 @@
 import org.drools.vsm.GenericMessageHandler;
 import org.drools.vsm.Message;
 import org.drools.vsm.MessageResponseHandler;
+import org.drools.vsm.mina.ClientGenericMessageReceiverImpl;
 
 public class RioIoHandler  {
     protected Map<Integer, MessageResponseHandler> responseHandlers;
+    
+    private ClientGenericMessageReceiverImpl clientMessageReceiver;
+    
 
-    private GenericMessageHandler                  handler;
-
     /**
      * Listener used for logging
      */
@@ -29,15 +31,14 @@
     public RioIoHandler(SystemEventListener systemEventListener,
                          GenericMessageHandler handler) {
         this.systemEventListener = systemEventListener;
-        this.responseHandlers = new ConcurrentHashMap<Integer, MessageResponseHandler>();
-        this.handler = handler;
+        this.clientMessageReceiver = new ClientGenericMessageReceiverImpl( handler,
+                                                                           systemEventListener );
 
     }
 
     public void addResponseHandler(int id,
                                    MessageResponseHandler responseHandler) {
-        this.responseHandlers.put( id,
-                                   responseHandler );
+        this.clientMessageReceiver.addResponseHandler( id, responseHandler );
     }
 
     
@@ -45,23 +46,7 @@
     public void messageReceived(SessionService sessionService, Object object) throws Exception {
         Message msg = (Message) object;
 
-        systemEventListener.debug( "Message receieved : " + msg );
-
-        MessageResponseHandler responseHandler = (MessageResponseHandler) responseHandlers.remove( msg.getResponseId() );
-
-        if ( responseHandler != null ) {
-            Object payload = msg.getPayload();
-            if ( payload != null && payload instanceof RuntimeException ) {
-                responseHandler.setError( (RuntimeException) payload );
-            } else {
-                responseHandler.receive( msg );
-            }
-        } else if ( handler != null ) {
-            this.handler.messageReceived( new RioIoWriter( sessionService ),
-                                          (Message) object );
-        } else {
-            throw new RuntimeException( "Unable to process Message" );
-        }
+        this.clientMessageReceiver.messageReceived( new RioIoWriter( sessionService ), msg );
     }
 
    

Modified: labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerRioRemoteTest.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerRioRemoteTest.java	2009-10-28 21:06:33 UTC (rev 29861)
+++ labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerRioRemoteTest.java	2009-10-28 21:33:27 UTC (rev 29862)
@@ -13,10 +13,7 @@
         
 
         ServiceManagerData serverData = new ServiceManagerData();
-
-       
-
-
+        
         //setup Server
         RioServer rioServer = new RioServer();
         rioServer.start();



More information about the jboss-svn-commits mailing list