try {
String cmdName = cmd.getName();
Object[] params = cmd.getParams();
if(cmdName.equals(AgentManagementSlice.H_CREATEAGENT)) {
GenericCommand gCmd = new GenericCommand(AgentManagementSlice.REQUEST_CREATE, AgentManagementSlice.NAME, null);
AID agentID = (AID)params[0];
String className = (String)params[1];
Object[] arguments = (Object[])params[2];
JADEPrincipal owner = (JADEPrincipal)params[3];
Credentials initialCredentials = (Credentials)params[4];
Boolean startIt = (Boolean) params[5];
gCmd.addParam(agentID);
gCmd.addParam(className);
gCmd.addParam(arguments);
gCmd.addParam(owner);
gCmd.addParam(initialCredentials);
gCmd.addParam(startIt);
result = gCmd;
}
else if(cmdName.equals(AgentManagementSlice.H_KILLAGENT)) {
GenericCommand gCmd = new GenericCommand(AgentManagementSlice.REQUEST_KILL, AgentManagementSlice.NAME, null);
AID agentID = (AID)params[0];
gCmd.addParam(agentID);
result = gCmd;
}
else if(cmdName.equals(AgentManagementSlice.H_CHANGEAGENTSTATE)) {
GenericCommand gCmd = new GenericCommand(AgentManagementSlice.REQUEST_STATE_CHANGE, AgentManagementSlice.NAME, null);
AID agentID = (AID)params[0];
Integer newState = (Integer)params[1];
gCmd.addParam(agentID);
gCmd.addParam(newState);
result = gCmd;
}
else if(cmdName.equals(AgentManagementSlice.H_BORNAGENT)) {
GenericCommand gCmd = new GenericCommand(AgentManagementSlice.INFORM_CREATED, AgentManagementSlice.NAME, null);
AID agentID = (AID)params[0];
ContainerID cid = (ContainerID)params[1];
gCmd.addParam(agentID);
gCmd.addParam(cid);
result = gCmd;
}
else if(cmdName.equals(AgentManagementSlice.H_DEADAGENT)) {
GenericCommand gCmd = new GenericCommand(AgentManagementSlice.INFORM_KILLED, AgentManagementSlice.NAME, null);
AID agentID = (AID)params[0];
gCmd.addParam(agentID);
result = gCmd;
}
else if(cmdName.equals(AgentManagementSlice.H_SUSPENDEDAGENT)) {
GenericCommand gCmd = new GenericCommand(AgentManagementSlice.INFORM_STATE_CHANGED, AgentManagementSlice.NAME, null);
AID agentID = (AID)params[0];
gCmd.addParam(agentID);
gCmd.addParam(jade.domain.FIPAAgentManagement.AMSAgentDescription.SUSPENDED);
gCmd.addParam("*");
result = gCmd;
}
else if(cmdName.equals(AgentManagementSlice.H_RESUMEDAGENT)) {
GenericCommand gCmd = new GenericCommand(AgentManagementSlice.INFORM_STATE_CHANGED, AgentManagementSlice.NAME, null);
AID agentID = (AID)params[0];
gCmd.addParam(agentID);
gCmd.addParam(jade.domain.FIPAAgentManagement.AMSAgentDescription.ACTIVE);
gCmd.addParam(jade.domain.FIPAAgentManagement.AMSAgentDescription.SUSPENDED);
result = gCmd;
}
else if(cmdName.equals(AgentManagementSlice.H_EXITCONTAINER)) {
GenericCommand gCmd = new GenericCommand(AgentManagementSlice.KILL_CONTAINER, AgentManagementSlice.NAME, null);
result = gCmd;
}
}