package com.eactive.eai.agent.rule.telegraminfo;

import com.eactive.eai.agent.command.Command;
import com.eactive.eai.agent.command.CommandException;
import com.eactive.eai.batch.rule.telegraminfo.TelegramInfoManager;
import com.eactive.eai.common.util.Logger;

public class RemoveTelegramInfoCommand extends Command
{
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;



	public RemoveTelegramInfoCommand(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).trim();
            logger.info(this.name +": (Agent Argument) RuleCode=["+strRuleCode+"]");

            TelegramInfoManager.getInstance().removeRuleCodeArray(strRuleCode);

			logger.info(this.name + " Agent 가 성공적으로 완료되었습니다.");
            return "success";

        } catch (Exception ex) {
            String msg = makeException("BECEAICAG002", ex);
            logger.error(msg, ex);
            throw new CommandException(msg);
        }
    }
}
