/** * */ package org.drools.grid.io.impl; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import org.drools.SystemEventListener; import org.drools.grid.internal.commands.SimpleCommand; import org.drools.grid.io.Conversation; import org.drools.grid.io.IoWriter; import org.drools.grid.io.Message; import org.drools.grid.io.MessageReceiverHandler; public class MessageIoReceiverImpl implements MessageReceiverHandler { // protected Map<Integer, RequestResponseListener> responseHandlers; private MessageReceiverHandler handler; private final SystemEventListener systemEventListener; public MessageIoReceiverImpl(MessageReceiverHandler handler, SystemEventListener systemEventListener) { this.handler = handler; // this.responseHandlers = new ConcurrentHashMap<Integer, RequestResponseListener>();; this.systemEventListener = systemEventListener; } // /* (non-Javadoc) // * @see org.drools.vsm.mina.ClientGenericMessageReceiver#addResponseHandler(int, org.drools.vsm.MessageResponseHandler) // */ // public void addResponseHandler(int id, // RequestResponseListener responseHandler) { // this.responseHandlers.put( id, // responseHandler ); // } public void messageReceived(Conversation conversation, Message msg) { // TODO Auto-generated method stub } // /* (non-Javadoc) // * @see org.drools.vsm.mina.ClientGenericMessageReceiver#messageReceived(org.drools.vsm.mina.MinaIoWriter, org.drools.vsm.Message) // */ // public void messageReceived(IoWriter writer, // Message msg) throws Exception { // // this.systemEventListener.debug( "Message receieved : " + msg ); // // RequestResponseListener responseHandler = this.responseHandlers.remove( msg.getRequestId() ); // // if ( responseHandler != null ) { // Object payload = msg.getPayload(); // if ( payload instanceof SimpleCommand && ((SimpleCommand) msg.getPayload()).getArguments().size() > 0 && // ((SimpleCommand) msg.getPayload()).getArguments().get( 0 ) instanceof RuntimeException ) { // payload = ((SimpleCommand) msg.getPayload()).getArguments().get( 0 ); // } // if ( (payload != null && payload instanceof RuntimeException) ) { // responseHandler.setError( (RuntimeException) payload ); // } else { // responseHandler.receive( msg ); // } // } else if ( this.handler != null ) { // this.handler.messageReceived( writer, // msg ); // } else { // throw new RuntimeException( "Unable to process Message" ); // } // } }