[jboss-svn-commits] JBL Code SVN: r29863 - 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
Wed Oct 28 18:39:48 EDT 2009
Author: mark.proctor at jboss.com
Date: 2009-10-28 18:39:48 -0400 (Wed, 28 Oct 2009)
New Revision: 29863
Added:
labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/BlockingGenericIoWriter.java
Removed:
labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/RioIoHandler.java
Modified:
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/rio/RioConnector.java
labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/service/SessionServiceImpl.java
labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerMinaRemoteTest.java
labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerRioRemoteTest.java
Log:
JBRULES-2269 Virtual Service Manager
-more generifying
Added: 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 (rev 0)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/BlockingGenericIoWriter.java 2009-10-28 22:39:48 UTC (rev 29863)
@@ -0,0 +1,19 @@
+/**
+ *
+ */
+package org.drools.vsm;
+
+
+public class BlockingGenericIoWriter implements GenericIoWriter {
+
+ private Message msg;
+
+ public void write(Message message) {
+ this.msg = message;
+ }
+
+ public Message getMessage() {
+ return this.msg;
+ }
+
+}
\ No newline at end of file
Modified: 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 2009-10-28 21:33:27 UTC (rev 29862)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/mina/ClientGenericMessageReceiverImpl.java 2009-10-28 22:39:48 UTC (rev 29863)
@@ -13,7 +13,9 @@
import org.drools.vsm.Message;
import org.drools.vsm.MessageResponseHandler;
-public class ClientGenericMessageReceiverImpl implements ClientGenericMessageReceiver {
+public class ClientGenericMessageReceiverImpl
+ implements
+ ClientGenericMessageReceiver {
protected Map<Integer, MessageResponseHandler> responseHandlers;
private GenericMessageHandler handler;
@@ -21,7 +23,7 @@
private final SystemEventListener systemEventListener;
public ClientGenericMessageReceiverImpl(GenericMessageHandler handler,
- SystemEventListener systemEventListener) {
+ SystemEventListener systemEventListener) {
this.handler = handler;
this.responseHandlers = new ConcurrentHashMap<Integer, MessageResponseHandler>();;
this.systemEventListener = systemEventListener;
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-28 21:33:27 UTC (rev 29862)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/RioConnector.java 2009-10-28 22:39:48 UTC (rev 29863)
@@ -7,7 +7,6 @@
import java.net.SocketAddress;
import java.util.concurrent.atomic.AtomicInteger;
-
import net.jini.core.lookup.ServiceItem;
import net.jini.core.lookup.ServiceTemplate;
import net.jini.discovery.LookupDiscoveryManager;
@@ -15,86 +14,91 @@
import net.jini.lookup.ServiceDiscoveryManager;
import org.drools.SystemEventListener;
import org.drools.SystemEventListenerFactory;
+import org.drools.vsm.ClientGenericMessageReceiver;
import org.drools.vsm.GenericConnector;
import org.drools.vsm.GenericIoWriter;
import org.drools.vsm.Message;
import org.drools.vsm.MessageResponseHandler;
+import org.drools.vsm.mina.ClientGenericMessageReceiverImpl;
public class RioConnector
- implements
- GenericConnector,
- GenericIoWriter {
+ implements
+ GenericConnector,
+ GenericIoWriter {
- protected final String name;
- protected AtomicInteger counter;
- protected SessionService sessionService;
- protected SocketAddress address;
- protected SystemEventListener eventListener;
- protected RioIoHandler ioHandler;
+ protected final String name;
+ protected AtomicInteger counter;
+ protected SessionService sessionService;
+ protected SocketAddress address;
+ protected SystemEventListener eventListener;
+ protected ClientGenericMessageReceiver ioHandler;
public RioConnector(String name,
- SystemEventListener eventListener) {
- if (name == null) {
- throw new IllegalArgumentException("Name can not be null");
+ SystemEventListener eventListener,
+ ClientGenericMessageReceiver ioHandler) {
+ if ( name == null ) {
+ throw new IllegalArgumentException( "Name can not be null" );
}
this.name = name;
this.counter = new AtomicInteger();
this.eventListener = eventListener;
- this.ioHandler = new RioIoHandler(SystemEventListenerFactory.getSystemEventListener());
+ this.ioHandler = ioHandler;
}
public RioConnector(String name,
- SystemEventListener eventListener, SessionService sessionService) {
- if (name == null) {
- throw new IllegalArgumentException("Name can not be null");
+ SystemEventListener eventListener,
+ SessionService sessionService,
+ ClientGenericMessageReceiver ioHandler) {
+ if ( name == null ) {
+ throw new IllegalArgumentException( "Name can not be null" );
}
this.name = name;
this.counter = new AtomicInteger();
this.eventListener = eventListener;
this.sessionService = sessionService;
- this.ioHandler = new RioIoHandler(this.eventListener);
+ this.ioHandler = ioHandler; //new RioIoHandler( this.eventListener );
}
/* (non-Javadoc)
* @see org.drools.vsm.mina.Messenger#connect()
*/
public boolean connect() {
-// Class[] classes = new Class[]{org.drools.vsm.rio.SessionService.class};
-// ServiceTemplate tmpl = new ServiceTemplate(null, classes, null);
-//
-// LookupDiscoveryManager lookupDiscovery = null;
-// ServiceItem item = null;
-// try {
-// lookupDiscovery = new LookupDiscoveryManager(LookupDiscoveryManager.ALL_GROUPS, null, null);
-//
-//
-// System.out.println("Discovering Manager service ...");
-//
-// ServiceDiscoveryManager serviceDiscovery = new ServiceDiscoveryManager(lookupDiscovery, new LeaseRenewalManager());
-//
-// /* Wait no more then 10 seconds to discover the service */
-// item = serviceDiscovery.lookup(tmpl, null, 10000);
-//
-// serviceDiscovery.terminate();
-// } catch (InterruptedException ex) {
-// Logger.getLogger(RioConnector.class.getName()).log(Level.SEVERE, null, ex);
-// } catch (RemoteException ex) {
-// Logger.getLogger(RioConnector.class.getName()).log(Level.SEVERE, null, ex);
-// } catch (IOException ex) {
-// Logger.getLogger(RioConnector.class.getName()).log(Level.SEVERE, null, ex);
-// }
-// if (item != null) {
-// System.out.println("Discovered Account service");
-// if (item.service instanceof SessionService) {
-// sessionService = (SessionService) item.service;
-//
-// }
-// return true;
-// } else {
-// System.out.println("Session service not discovered, make sure the" +
-// "service is deployed");
-// return false;
-// }
+ // Class[] classes = new Class[]{org.drools.vsm.rio.SessionService.class};
+ // ServiceTemplate tmpl = new ServiceTemplate(null, classes, null);
+ //
+ // LookupDiscoveryManager lookupDiscovery = null;
+ // ServiceItem item = null;
+ // try {
+ // lookupDiscovery = new LookupDiscoveryManager(LookupDiscoveryManager.ALL_GROUPS, null, null);
+ //
+ //
+ // System.out.println("Discovering Manager service ...");
+ //
+ // ServiceDiscoveryManager serviceDiscovery = new ServiceDiscoveryManager(lookupDiscovery, new LeaseRenewalManager());
+ //
+ // /* Wait no more then 10 seconds to discover the service */
+ // item = serviceDiscovery.lookup(tmpl, null, 10000);
+ //
+ // serviceDiscovery.terminate();
+ // } catch (InterruptedException ex) {
+ // Logger.getLogger(RioConnector.class.getName()).log(Level.SEVERE, null, ex);
+ // } catch (RemoteException ex) {
+ // Logger.getLogger(RioConnector.class.getName()).log(Level.SEVERE, null, ex);
+ // } catch (IOException ex) {
+ // Logger.getLogger(RioConnector.class.getName()).log(Level.SEVERE, null, ex);
+ // }
+ // if (item != null) {
+ // System.out.println("Discovered Account service");
+ // if (item.service instanceof SessionService) {
+ // sessionService = (SessionService) item.service;
+ //
+ // }
+ // return true;
+ // } else {
+ // System.out.println("Session service not discovered, make sure the" +
+ // "service is deployed");
+ // return false;
+ // }
return true;
}
@@ -106,19 +110,30 @@
}
public void write(Message msg) {
- if (sessionService != null) {
+ if ( sessionService != null ) {
try {
- ioHandler.messageReceived(sessionService, this.sessionService.write(msg));
- } 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);
+
+ Message returnMessage = this.sessionService.write( msg );
+
+ ioHandler.messageReceived( new RioIoWriter(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 );
}
}
}
- public void addResponseHandler(int id, MessageResponseHandler responseHandler) {
- ioHandler.addResponseHandler(id, responseHandler);
+ public void addResponseHandler(int id,
+ MessageResponseHandler responseHandler) {
+ ioHandler.addResponseHandler( id,
+ responseHandler );
}
public void setSessionService(SessionService sessionService) {
Deleted: 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:33:27 UTC (rev 29862)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/RioIoHandler.java 2009-10-28 22:39:48 UTC (rev 29863)
@@ -1,54 +0,0 @@
-package org.drools.vsm.rio;
-
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-
-import org.drools.SystemEventListener;
-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;
-
-
- /**
- * Listener used for logging
- */
- private final SystemEventListener systemEventListener;
-
- public RioIoHandler(SystemEventListener systemEventListener) {
- this( systemEventListener,
- null );
-
- }
-
- public RioIoHandler(SystemEventListener systemEventListener,
- GenericMessageHandler handler) {
- this.systemEventListener = systemEventListener;
- this.clientMessageReceiver = new ClientGenericMessageReceiverImpl( handler,
- systemEventListener );
-
- }
-
- public void addResponseHandler(int id,
- MessageResponseHandler responseHandler) {
- this.clientMessageReceiver.addResponseHandler( id, responseHandler );
- }
-
-
-
- public void messageReceived(SessionService sessionService, Object object) throws Exception {
- Message msg = (Message) object;
-
- this.clientMessageReceiver.messageReceived( new RioIoWriter( sessionService ), msg );
- }
-
-
-
-}
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-28 21:33:27 UTC (rev 29862)
+++ labs/jbossrules/trunk/drools-vsm/src/main/java/org/drools/vsm/rio/service/SessionServiceImpl.java 2009-10-28 22:39:48 UTC (rev 29863)
@@ -26,7 +26,7 @@
import org.drools.command.impl.ContextImpl;
import org.drools.command.impl.GenericCommand;
import org.drools.runtime.impl.ExecutionResultImpl;
-import org.drools.vsm.GenericIoWriter;
+import org.drools.vsm.BlockingGenericIoWriter;
import org.drools.vsm.GenericMessageHandler;
import org.drools.vsm.GenericMessageHandlerImpl;
import org.drools.vsm.Message;
@@ -46,7 +46,7 @@
public SessionServiceImpl(ServiceManagerData data,
- SystemEventListener systemEventListener) {
+ SystemEventListener systemEventListener) {
handler = new GenericMessageHandlerImpl( data, systemEventListener );
}
@@ -62,18 +62,9 @@
return blockingWriter.getMessage();
}
- private static class BlockingGenericIoWriter implements GenericIoWriter {
-
- private Message msg;
-
- public void write(Message message) {
- this.msg = message;
- }
-
- public Message getMessage() {
- return this.msg;
- }
-
+ public GenericMessageHandler getGenericMessageHandler() {
+ return this.handler;
}
+
}
Modified: labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerMinaRemoteTest.java
===================================================================
--- labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerMinaRemoteTest.java 2009-10-28 21:33:27 UTC (rev 29862)
+++ labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerMinaRemoteTest.java 2009-10-28 22:39:48 UTC (rev 29863)
@@ -24,7 +24,7 @@
SocketAcceptor acceptor = new NioSocketAcceptor();
acceptor.setHandler( new MinaIoHandler( SystemEventListenerFactory.getSystemEventListener(),
new GenericMessageHandlerImpl( serverData,
- SystemEventListenerFactory.getSystemEventListener() ) ) );
+ SystemEventListenerFactory.getSystemEventListener() ) ) );
this.server = new MinaAcceptor( acceptor,
address );
this.server.start();
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:33:27 UTC (rev 29862)
+++ labs/jbossrules/trunk/drools-vsm/src/test/java/org/drools/vsm/ServiceManagerRioRemoteTest.java 2009-10-28 22:39:48 UTC (rev 29863)
@@ -1,29 +1,35 @@
package org.drools.vsm;
-
import org.drools.SystemEventListenerFactory;
+import org.drools.vsm.mina.ClientGenericMessageReceiverImpl;
import org.drools.vsm.remote.ServiceManagerRemoteClient;
import org.drools.vsm.rio.RioConnector;
import org.drools.vsm.rio.RioServer;
+import org.drools.vsm.rio.service.SessionServiceImpl;;
public class ServiceManagerRioRemoteTest extends ServiceManagerTestBase {
AcceptorService server;
protected void setUp() throws Exception {
-
ServiceManagerData serverData = new ServiceManagerData();
-
+
//setup Server
RioServer rioServer = new RioServer();
rioServer.start();
- RioConnector connector = new RioConnector("client 1", SystemEventListenerFactory.getSystemEventListener(), rioServer.getSessionService());
+
+ GenericMessageHandler handler = ((SessionServiceImpl)rioServer.getSessionService()).getGenericMessageHandler();
+
+ RioConnector connector = new RioConnector( "client 1",
+ SystemEventListenerFactory.getSystemEventListener(),
+ rioServer.getSessionService(),
+ new ClientGenericMessageReceiverImpl(handler, SystemEventListenerFactory.getSystemEventListener()));
// setup Client
- this.client = new ServiceManagerRemoteClient( "client 1", connector );
+ this.client = new ServiceManagerRemoteClient( "client 1",
+ connector );
//this.client.connect();
-
-
+
}
protected void tearDown() throws Exception {
More information about the jboss-svn-commits
mailing list