[jboss-svn-commits] JBL Code SVN: r31158 - in labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm: rio and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jan 20 09:36:20 EST 2010


Author: salaboy21
Date: 2010-01-20 09:36:19 -0500 (Wed, 20 Jan 2010)
New Revision: 31158

Added:
   labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/rio/RioConnector.java
Modified:
   labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBaseGridClient.java
   labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/ServiceManagerGridClient.java
Log:
refactoring to use two session into two session services


Modified: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBaseGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBaseGridClient.java	2010-01-20 13:19:27 UTC (rev 31157)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/KnowledgeBaseGridClient.java	2010-01-20 14:36:19 UTC (rev 31158)
@@ -171,4 +171,10 @@
 		// TODO Auto-generated method stub
 	}
 
+   
+
+    public void setServiceManager(ServiceManagerGridClient serviceManager) {
+        this.serviceManager = serviceManager;
+    }
+
 }

Modified: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/ServiceManagerGridClient.java
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/ServiceManagerGridClient.java	2010-01-20 13:19:27 UTC (rev 31157)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/grid/ServiceManagerGridClient.java	2010-01-20 14:36:19 UTC (rev 31158)
@@ -1,6 +1,7 @@
 package org.drools.vsm.grid;
 
 import java.rmi.RemoteException;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Properties;
@@ -30,6 +31,7 @@
 import org.drools.vsm.Message;
 import org.drools.vsm.ServiceManager;
 import org.drools.vsm.command.ServiceManagerClientConnectCommand;
+import org.drools.vsm.rio.RioConnector;
 
 public class ServiceManagerGridClient
     implements
@@ -173,9 +175,8 @@
 
 
             Object object = client.write( msg ).getPayload();
-            //Here I will use the registry Service
             
-
+            
             if ( !(object instanceof FinishedCommand) ) {
                 throw new RuntimeException( "Response was not correctly ended" );
             }
@@ -317,5 +318,23 @@
         this.registryService = registryService;
     }
 
+    public void setCurrentSessionService(SessionService sessionService){
+        this.client.setSession(sessionService);
+    }
+    
+    public List<SessionService> getSessionServices(){
+//        List<SessionService> sessionServices =
+//        ((RioConnector)this.client).getSessionServices();
+//        List<String> ids = new ArrayList<String>();
+//        for(SessionService ss : sessionServices){
+//            try {
+//                ids.add(ss.getId());
+//            } catch (RemoteException ex) {
+//                Logger.getLogger(ServiceManagerGridClient.class.getName()).log(Level.SEVERE, null, ex);
+//            }
+//        }
+//        return ids;
+        return ((RioConnector)this.client).getSessionServices();
+    }
 
 }

Copied: labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/rio/RioConnector.java (from rev 31134, labs/jbossrules/branches/salaboy_grid-rio/drools-grid-rio/src/main/java/org/drools/vsm/rio/RioConnector.java)
===================================================================
--- labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/rio/RioConnector.java	                        (rev 0)
+++ labs/jbossrules/branches/salaboy_grid-rio/drools-vsm/src/main/java/org/drools/vsm/rio/RioConnector.java	2010-01-20 14:36:19 UTC (rev 31158)
@@ -0,0 +1,125 @@
+package org.drools.vsm.rio;
+
+import org.drools.vsm.grid.SessionService;
+import java.rmi.RemoteException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.net.SocketAddress;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.drools.SystemEventListener;
+import org.drools.vsm.GenericConnector;
+import org.drools.vsm.Message;
+import org.drools.vsm.MessageResponseHandler;
+
+public class RioConnector
+    implements
+    GenericConnector {
+
+    protected final String                 name;
+    protected AtomicInteger                counter;
+    protected SessionService               currentSessionService;
+    protected List<SessionService>         sessionServices;
+    protected SocketAddress                address;
+    protected SystemEventListener          eventListener;
+  
+    public RioConnector(String name,
+                        SystemEventListener eventListener
+                       ) {
+        if ( name == null ) {
+            throw new IllegalArgumentException( "Name can not be null" );
+        }
+        this.name = name;
+        this.counter = new AtomicInteger();
+        this.eventListener = eventListener;
+   
+    }
+
+    public RioConnector(String name,
+                        SystemEventListener eventListener,
+                        List<SessionService> sessionServices
+                        ) {
+        if ( name == null ) {
+            throw new IllegalArgumentException( "Name can not be null" );
+        }
+        this.name = name;
+        this.counter = new AtomicInteger();
+        this.eventListener = eventListener;
+        this.sessionServices = sessionServices;
+       
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.vsm.mina.Messenger#connect()
+     */
+    public boolean connect() {
+        
+        return true;
+    }
+
+    /* (non-Javadoc)
+     * @see org.drools.vsm.mina.Messenger#disconnect()
+     */
+    public void disconnect() {
+        //I don't need to be disconected
+    }
+
+    public Message write(Message msg) {
+        if ( currentSessionService != null ) {
+            try {
+
+                Message returnMessage = this.currentSessionService.write( msg );
+                return returnMessage;
+                //                ioHandler.messageReceived( sessionService ,
+                //                                           returnMessage );
+
+            } catch ( RemoteException ex ) {
+                Logger.getLogger( RioConnector.class.getName() ).log( Level.SEVERE,
+                                                                      null,
+                                                                      ex );
+            } catch ( Exception ex ) {
+                Logger.getLogger( RioConnector.class.getName() ).log( Level.SEVERE,
+                                                                      null,
+                                                                      ex );
+            }
+        }
+        throw new IllegalStateException( "sessionService should not be null" );
+    }
+    
+    public void write(Message msg,
+                      MessageResponseHandler responseHandler) {
+        throw new UnsupportedOperationException();
+    }
+
+ 
+    public String getId() {
+        try {
+            return currentSessionService.getId();
+        } catch (RemoteException ex) {
+            Logger.getLogger(RioConnector.class.getName()).log(Level.SEVERE, null, ex);
+        }
+        return null;
+    }
+
+    public SessionService getCurrentSessionService() {
+        return currentSessionService;
+    }
+
+    public List<SessionService> getSessionServices() {
+        return sessionServices;
+    }
+
+    
+    public void setSession(Object object) {
+        this.currentSessionService = (SessionService) object;
+        try {
+            System.out.println("Setting session = " + currentSessionService.getId());
+        } catch (RemoteException ex) {
+            Logger.getLogger(RioConnector.class.getName()).log(Level.SEVERE, null, ex);
+        }
+    }
+
+
+
+}



More information about the jboss-svn-commits mailing list