60 lines
2.0 KiB
Java
60 lines
2.0 KiB
Java
package com.eactive.eai.agent.rule.nodeinfo;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
|
|
import com.eactive.eai.agent.command.Command;
|
|
import com.eactive.eai.agent.command.CommandException;
|
|
import com.eactive.eai.batch.rule.nodeinfo.NodeInfoDAO;
|
|
import com.eactive.eai.batch.rule.nodeinfo.NodeInfoManager;
|
|
import com.eactive.eai.batch.rule.nodeinfo.NodeInfoVO;
|
|
import com.eactive.eai.common.dao.DAOFactory;
|
|
import com.eactive.eai.common.util.Logger;
|
|
|
|
public class UpdateNodeInfoCommand extends Command
|
|
{
|
|
/**
|
|
*
|
|
*/
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
public UpdateNodeInfoCommand(String name) {
|
|
super(name);
|
|
}
|
|
|
|
public Object execute() throws CommandException
|
|
{
|
|
Logger logger = Logger.getLogger(Logger.LOGGER_DEFAULT);
|
|
logger.info(this.name + " Agent 가 호출되었습니다.");
|
|
|
|
if ( args == null || !(args instanceof String) ) {
|
|
String msg = makeException("BECEAICAG001", null);
|
|
logger.error(this.name+" " + msg);
|
|
throw new CommandException(msg);
|
|
}
|
|
|
|
try {
|
|
String strRuleCode = (String)args;
|
|
logger.info(this.name +": (Agent Argument) RuleCode=["+strRuleCode+"]");
|
|
|
|
NodeInfoDAO dao = (NodeInfoDAO)DAOFactory.newInstance().create(NodeInfoDAO.class);
|
|
HashMap<String, ArrayList<NodeInfoVO>> map = dao.getAllNodeInfo();
|
|
ArrayList<NodeInfoVO> al = map.get(strRuleCode);
|
|
if (al == null) {
|
|
String errMsg = this.name + ": error >> RuleCode [" + strRuleCode + "] not found in DBMS";
|
|
logger.error(errMsg);
|
|
return errMsg;
|
|
}
|
|
NodeInfoManager.getInstance().setRuleCodeArray(strRuleCode, al);
|
|
|
|
logger.info(this.name + " Agent 가 성공적으로 완료되었습니다.");
|
|
return "success";
|
|
|
|
} catch (Exception ex) {
|
|
String msg = makeException("BECEAICAG002", ex);
|
|
logger.error(msg, ex);
|
|
throw new CommandException(msg);
|
|
}
|
|
}
|
|
}
|