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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu Oct 29 11:37:29 EDT 2009


Author: mark.proctor at jboss.com
Date: 2009-10-29 11:37:28 -0400 (Thu, 29 Oct 2009)
New Revision: 29870

Modified:
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/BlockingGenericIoWriter.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/GenericConnector.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/GenericIoWriter.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/GenericMessageHandlerImpl.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/MinaConnector.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/MinaIoWriter.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBaseProviderRemoteClient.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBaseRemoteClient.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBuilderProviderRemoteClient.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBuilderRemoteClient.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/StatefulKnowledgeSessionRemoteClient.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/RioConnector.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/SessionService.java
   labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/service/SessionServiceImpl.java
Log:
JBRULES-2269 Virtual Service Manager
-more generifying

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/BlockingGenericIoWriter.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/BlockingGenericIoWriter.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/BlockingGenericIoWriter.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -15,5 +15,14 @@
     public Message getMessage() {
         return this.msg;
     }
+
+    public void write(Message msg,
+                      MessageResponseHandler responseHandler) {
+        if ( responseHandler == null ) {
+            this.msg = msg;
+        } else {
+            throw new UnsupportedOperationException();
+        }
+    }
     
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/GenericConnector.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/GenericConnector.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/GenericConnector.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -1,14 +1,13 @@
 package org.drools.vsm;
 
-public interface GenericConnector {
+public interface GenericConnector extends GenericIoWriter {
 
     boolean connect();
 
     void disconnect();
 
-    void addResponseHandler(int id,
-                            MessageResponseHandler responseHandler);
+    Message write(Message msg);
+    
+    //void write(Message msg);
 
-    void write(Message msg);
-
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/GenericIoWriter.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/GenericIoWriter.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/GenericIoWriter.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -1,6 +1,6 @@
 package org.drools.vsm;
 
 public interface GenericIoWriter {
-    public void write(Message message);
-
+    void write(Message msg,
+               MessageResponseHandler responseHandler);
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/GenericMessageHandlerImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/GenericMessageHandlerImpl.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/GenericMessageHandlerImpl.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -57,13 +57,13 @@
             session.write( new Message( msg.getSessionId(),
                                         msg.getResponseId(),
                                         msg.isAsync(),
-                                        new FinishedCommand() ) );
+                                        new FinishedCommand() ), null );
         } else {
             // return the payload
             session.write( new Message( msg.getSessionId(),
                                         msg.getResponseId(),
                                         msg.isAsync(),
-                                        localKresults ) );
+                                        localKresults ), null );
         }
     }
 }

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/MinaConnector.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/MinaConnector.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/MinaConnector.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -13,6 +13,7 @@
 import org.drools.vsm.GenericIoWriter;
 import org.drools.vsm.Message;
 import org.drools.vsm.MessageResponseHandler;
+import org.drools.vsm.responsehandlers.BlockingMessageResponseHandler;
 
 public class MinaConnector
     implements
@@ -77,13 +78,35 @@
         }
     }
 
-    public void addResponseHandler(int id,
-                                   MessageResponseHandler responseHandler) {
+    private void addResponseHandler(int id,
+                                    MessageResponseHandler responseHandler) {
         ((MinaIoHandler) this.connector.getHandler()).addResponseHandler( id,
                                                                           responseHandler );
     }
 
-    public void write(Message msg) {
+    public void write(Message msg,
+                      MessageResponseHandler responseHandler) {
+        if ( responseHandler != null ) {
+            addResponseHandler( msg.getResponseId(),
+                                responseHandler );
+        }
         this.session.write( msg );
     }
+
+    public Message write(Message msg) {
+        BlockingMessageResponseHandler responseHandler = new BlockingMessageResponseHandler();
+
+        if ( responseHandler != null ) {
+            addResponseHandler( msg.getResponseId(),
+                                responseHandler );
+        }
+        this.session.write( msg );
+
+        Message returnMessage = responseHandler.getMessage();
+        if ( responseHandler.getError() != null ) {
+            throw responseHandler.getError();
+        }
+
+        return returnMessage;
+    }
 }

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/MinaIoWriter.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/MinaIoWriter.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/MinaIoWriter.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -3,17 +3,20 @@
 import org.apache.mina.core.session.IoSession;
 import org.drools.vsm.GenericIoWriter;
 import org.drools.vsm.Message;
+import org.drools.vsm.MessageResponseHandler;
 
 public class MinaIoWriter
     implements
     GenericIoWriter {
+    
     private IoSession session;
 
     public MinaIoWriter(IoSession session) {
         this.session = session;
     }
 
-    public void write(Message message) {
+    public void write(Message message,
+                      MessageResponseHandler responseHandler) {
         this.session.write( message );
     }
 

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBaseProviderRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBaseProviderRemoteClient.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBaseProviderRemoteClient.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -43,17 +43,9 @@
                                    new SetVariableCommand( "__TEMP__",
                                                            localId,
                                                            new NewKnowledgeBaseCommand( null ) ) );
-
-        BlockingMessageResponseHandler handler = new BlockingMessageResponseHandler();
-
         try {
-            serviceManager.client.addResponseHandler( msg.getResponseId(),
-                                                      handler );
+            Object object = serviceManager.client.write( msg ).getPayload();
 
-            serviceManager.client.write( msg );
-
-            Object object = handler.getMessage().getPayload();
-
             if ( !(object instanceof FinishedCommand) ) {
                 throw new RuntimeException( "Response was not correctly ended" );
             }

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBaseRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBaseRemoteClient.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBaseRemoteClient.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -47,17 +47,10 @@
                                                                                   instanceId,
                                                                                   null,
                                                                                   kresultsId ) );
-
-        BlockingMessageResponseHandler handler = new BlockingMessageResponseHandler();
-
+        
         try {
-            serviceManager.client.addResponseHandler( msg.getResponseId(),
-                                                      handler );
+            Object object = serviceManager.client.write( msg ).getPayload();
 
-            serviceManager.client.write( msg );
-
-            Object object = handler.getMessage().getPayload();
-
             if ( !(object instanceof FinishedCommand) ) {
                 throw new RuntimeException( "Response was not correctly ended" );
             }
@@ -117,16 +110,9 @@
                                                                                                           null,
                                                                                                           kresultsId ) ) );
 
-        BlockingMessageResponseHandler handler = new BlockingMessageResponseHandler();
-
         try {
-            serviceManager.client.addResponseHandler( msg.getResponseId(),
-                                                      handler );
-
-            serviceManager.client.write( msg );
-
-            Object object = handler.getMessage().getPayload();
-
+            Object object = serviceManager.client.write( msg ).getPayload();
+            
             if ( !(object instanceof FinishedCommand) ) {
                 throw new RuntimeException( "Response was not correctly ended" );
             }

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBuilderProviderRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBuilderProviderRemoteClient.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBuilderProviderRemoteClient.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -41,16 +41,9 @@
                                                            localId,
                                                            new NewKnowledgeBuilderCommand( null ) ) );
 
-        BlockingMessageResponseHandler handler = new BlockingMessageResponseHandler();
-
         try {
-            serviceManager.client.addResponseHandler( msg.getResponseId(),
-                                                      handler );
+            Object object = serviceManager.client.write( msg ).getPayload();
 
-            serviceManager.client.write( msg );
-
-            Object object = handler.getMessage().getPayload();
-
             if ( !(object instanceof FinishedCommand) ) {
                 throw new RuntimeException( "Response was not correctly ended" );
             }

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBuilderRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBuilderRemoteClient.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/KnowledgeBuilderRemoteClient.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -51,16 +51,9 @@
                                                                                   null,
                                                                                   null ) );
 
-        BlockingMessageResponseHandler handler = new BlockingMessageResponseHandler();
-
         try {
-            serviceManager.client.addResponseHandler( msg.getResponseId(),
-                                                      handler );
+            Object object = serviceManager.client.write( msg ).getPayload();
 
-            serviceManager.client.write( msg );
-
-            Object object = handler.getMessage().getPayload();
-
             if ( !(object instanceof FinishedCommand) ) {
                 throw new RuntimeException( "Response was not correctly ended" );
             }
@@ -85,25 +78,20 @@
                                                                                   null,
                                                                                   kresultsId ) );
 
-        BlockingMessageResponseHandler handler = new BlockingMessageResponseHandler();
-
         try {
-            serviceManager.client.addResponseHandler( msg.getResponseId(),
-                                                      handler );
+            Object object = serviceManager.client.write( msg ).getPayload();
 
-            serviceManager.client.write( msg );
-
-            Object object = handler.getMessage().getPayload();
-
             if ( object == null ) {
                 throw new RuntimeException( "Response was not correctly received" );
             }
 
-            return (KnowledgeBuilderErrors) ((ExecutionResults) object).getValue( commandId );
+            return (KnowledgeBuilderErrors) ((ExecutionResults) object).getValue( commandId );            
+
         } catch ( Exception e ) {
             throw new RuntimeException( "Unable to execute message",
                                         e );
         }
+        
     }
 
     public Collection<KnowledgePackage> getKnowledgePackages() {
@@ -123,27 +111,22 @@
                                                                                   null,
                                                                                   kresultsId ) );
 
-        BlockingMessageResponseHandler handler = new BlockingMessageResponseHandler();
-
         try {
-            serviceManager.client.addResponseHandler( msg.getResponseId(),
-                                                      handler );
+            Object object = serviceManager.client.write( msg ).getPayload();
 
-            serviceManager.client.write( msg );
-
-            Object object = handler.getMessage().getPayload();
-
             if ( object == null ) {
                 throw new RuntimeException( "Response was not correctly received" );
             }
 
-            System.out.println( "object" + object );
-
             return (Boolean) ((ExecutionResults) object).getValue( commandId );
+
         } catch ( Exception e ) {
             throw new RuntimeException( "Unable to execute message",
                                         e );
         }
+        
+        
+        
     }
 
 }

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/ServiceManagerRemoteClient.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -58,16 +58,9 @@
                                                                                       null,
                                                                                       kresultsId ) );
 
-            BlockingMessageResponseHandler handler = new BlockingMessageResponseHandler();
-
             try {
-                client.addResponseHandler( msg.getResponseId(),
-                                           handler );
+                Object object = client.write( msg ).getPayload();
 
-                client.write( msg );
-
-                Object object = handler.getMessage().getPayload();
-
                 if ( object == null ) {
                     throw new RuntimeException( "Response was not correctly received" );
                 }
@@ -139,16 +132,9 @@
                                                                                   null,
                                                                                   null ) );
 
-        BlockingMessageResponseHandler handler = new BlockingMessageResponseHandler();
-
         try {
-            client.addResponseHandler( msg.getResponseId(),
-                                       handler );
+            Object object = client.write( msg ).getPayload();
 
-            client.write( msg );
-
-            Object object = handler.getMessage().getPayload();
-
             if ( !(object instanceof FinishedCommand) ) {
                 throw new RuntimeException( "Response was not correctly ended" );
             }
@@ -172,16 +158,9 @@
                                                                                   null,
                                                                                   kresultsId ) );
 
-        BlockingMessageResponseHandler handler = new BlockingMessageResponseHandler();
-
         try {
-            client.addResponseHandler( msg.getResponseId(),
-                                       handler );
+            Object object = client.write( msg ).getPayload();
 
-            client.write( msg );
-
-            Object object = handler.getMessage().getPayload();
-
             if ( object == null ) {
                 throw new RuntimeException( "Response was not correctly received" );
             }

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/StatefulKnowledgeSessionRemoteClient.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/StatefulKnowledgeSessionRemoteClient.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/remote/StatefulKnowledgeSessionRemoteClient.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -67,17 +67,9 @@
                                                                                   null,
                                                                                   instanceId,
                                                                                   kresultsId ) );
-
-        BlockingMessageResponseHandler handler = new BlockingMessageResponseHandler();
-
         try {
-            serviceManager.client.addResponseHandler( msg.getResponseId(),
-                                                      handler );
+            Object object = serviceManager.client.write( msg ).getPayload();
 
-            serviceManager.client.write( msg );
-
-            Object object = handler.getMessage().getPayload();
-
             if ( object == null ) {
                 throw new RuntimeException( "Response was not correctly received" );
             }
@@ -123,17 +115,8 @@
                                                                                   instanceId,
                                                                                   kresultsId ) );
 
-        BlockingMessageResponseHandler handler = new BlockingMessageResponseHandler();
-
         try {
-            serviceManager.client.addResponseHandler( msg.getResponseId(),
-                                                      handler );
-
-            serviceManager.client.write( msg );
-
-            Object object = handler.getMessage().getPayload();
-
-            if ( object == null ) {
+            Object object = serviceManager.client.write( msg ).getPayload();if ( object == null ) {
                 throw new RuntimeException( "Response was not correctly received" );
             }
 

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/RioConnector.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/RioConnector.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/RioConnector.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -109,15 +109,15 @@
         //I don't need to be disconected
     }
 
-    public void write(Message msg) {
+    public Message write(Message msg) {
         if ( sessionService != null ) {
             try {
-                
-                Message returnMessage = this.sessionService.rioWrite( msg );
-                
-                ioHandler.messageReceived( sessionService ,
-                                           returnMessage );
-                
+
+                Message returnMessage = this.sessionService.write( msg );
+                return returnMessage;
+                //                ioHandler.messageReceived( sessionService ,
+                //                                           returnMessage );
+
             } catch ( RemoteException ex ) {
                 Logger.getLogger( RioConnector.class.getName() ).log( Level.SEVERE,
                                                                       null,
@@ -128,15 +128,13 @@
                                                                       ex );
             }
         }
+        throw new IllegalStateException( "sessionService should not be null" );
     }
+    
+    public void write(Message msg,
+                      MessageResponseHandler responseHandler) {
+        throw new UnsupportedOperationException();
+    }   
+    
 
-    public void addResponseHandler(int id,
-                                   MessageResponseHandler responseHandler) {
-        ioHandler.addResponseHandler( id,
-                                      responseHandler );
-    }
-
-    public void setSessionService(SessionService sessionService) {
-        this.sessionService = sessionService;
-    }
 }

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/SessionService.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/SessionService.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/SessionService.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -17,6 +17,6 @@
  */
 public interface SessionService extends GenericIoWriter {
 
-    public Message rioWrite(Message msg) throws RemoteException;    
+    public Message write(Message msg) throws RemoteException;    
     
 }

Modified: labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/service/SessionServiceImpl.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/service/SessionServiceImpl.java	2009-10-29 14:28:16 UTC (rev 29869)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/service/SessionServiceImpl.java	2009-10-29 15:37:28 UTC (rev 29870)
@@ -27,6 +27,7 @@
 import org.drools.vsm.GenericMessageHandler;
 import org.drools.vsm.GenericMessageHandlerImpl;
 import org.drools.vsm.Message;
+import org.drools.vsm.MessageResponseHandler;
 import org.drools.vsm.ServiceManagerData;
 import org.drools.vsm.rio.SessionService;
 
@@ -48,7 +49,7 @@
     }
 
 
-    public Message rioWrite(Message msg) throws RemoteException {   
+    public Message write(Message msg) throws RemoteException {   
         BlockingGenericIoWriter blockingWriter = new BlockingGenericIoWriter();
         try {
             handler.messageReceived( blockingWriter, msg );
@@ -64,12 +65,9 @@
     }
 
 
-    public void write(Message message) {
-        try {
-            rioWrite(message);
-        } catch (RemoteException ex) {
-            Logger.getLogger(SessionServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
-        }
+    public void write(Message msg,
+                      MessageResponseHandler responseHandler) {
+        throw new UnsupportedOperationException();
     }
     
 



More information about the jboss-svn-commits mailing list