[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