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> map = dao.getAllNodeInfo(); ArrayList 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); } } }