try {
String cmdName = cmd.getName();
Object[] params = cmd.getParams();
if(cmdName.equals(MessagingSlice.H_DISPATCHLOCALLY)) {
GenericCommand gCmd = new GenericCommand(MessagingSlice.SEND_MESSAGE, MessagingSlice.NAME, null);
AID senderAID = (AID)params[0];
GenericMessage msg = (GenericMessage)params[1];
AID receiverID = (AID)params[2];
if (params.length == 4) {
msg.setTimeStamp(((Long) params[3]).longValue());
}
if (msg.getTraceID() != null) {
myLogger.log(Logger.INFO, "MessagingService slice received message "+MessageManager.stringify(msg)+" for receiver "+receiverID.getLocalName()+". Trace ID = "+msg.getTraceID());
}
gCmd.addParam(senderAID);
gCmd.addParam(msg);
gCmd.addParam(receiverID);
result = gCmd;
}
else if(cmdName.equals(MessagingSlice.H_GETAGENTLOCATION)) {
AID agentID = (AID)params[0];
cmd.setReturnValue(getAgentLocation(agentID));
}
else if(cmdName.equals(MessagingSlice.H_ROUTEOUT)) {
Envelope env = (Envelope)params[0];
byte[] payload = (byte[])params[1];
AID receiverID = (AID)params[2];
String address = (String)params[3];
routeOut(env, payload, receiverID, address);
}
else if(cmdName.equals(MessagingSlice.H_INSTALLMTP)) {
GenericCommand gCmd = new GenericCommand(MessagingSlice.INSTALL_MTP, MessagingSlice.NAME, null);
String address = (String)params[0];
String className = (String)params[1];
gCmd.addParam(address);
gCmd.addParam(className);
result = gCmd;
}
else if(cmdName.equals(MessagingSlice.H_UNINSTALLMTP)) {
GenericCommand gCmd = new GenericCommand(MessagingSlice.UNINSTALL_MTP, MessagingSlice.NAME, null);
String address = (String)params[0];
gCmd.addParam(address);
result = gCmd;
}
else if(cmdName.equals(MessagingSlice.H_NEWMTP)) {
MTPDescriptor mtp = (MTPDescriptor)params[0];
ContainerID cid = (ContainerID)params[1];
GenericCommand gCmd = new GenericCommand(MessagingSlice.NEW_MTP, MessagingSlice.NAME, null);
gCmd.addParam(mtp);
gCmd.addParam(cid);
result = gCmd;
}
else if(cmdName.equals(MessagingSlice.H_DEADMTP)) {
MTPDescriptor mtp = (MTPDescriptor)params[0];
ContainerID cid = (ContainerID)params[1];
GenericCommand gCmd = new GenericCommand(MessagingSlice.DEAD_MTP, MessagingSlice.NAME, null);
gCmd.addParam(mtp);
gCmd.addParam(cid);
result = gCmd;
}
else if(cmdName.equals(MessagingSlice.H_ADDROUTE)) {
MTPDescriptor mtp = (MTPDescriptor)params[0];