package org.infosec.ismp.manager.agent.servicecheck; import java.util.Date; import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.UUID; import org.infosec.ismp.manager.agent.task.AgentTodoTask; import org.infosec.ismp.model.Parm; import org.infosec.ismp.model.Parms; import org.infosec.ismp.model.Value; import org.infosec.ismp.model.event.Event; import org.infosec.ismp.model.event.EventConstants; /** * 服务检测添加任务 * @author jiel * */ public class AgentAddServiceCheckTask implements AgentTodoTask { /** * */ private static final long serialVersionUID = 1L; private ServiceCheckNode node; public AgentAddServiceCheckTask (ServiceCheckNode node){ this.node=node; } @Override public Event convertToEvent() { Event event = new Event(); event.setUuid(UUID.randomUUID().toString()); event.setUei(EventConstants.SERVICECHECK_NODE_ADD_UEI); event.setTime(EventConstants.formatToString(new Date())); event.setNodeid(node.getNodeid()); event.setIpAddr(node.getIpAddr()); String serviceType = node.getServiceType(); Parms parms = new Parms(); Parm parm = new Parm(); parm.setParmName("interval"); Value value = new Value(); value.setContent(String.valueOf(node.getInterval())); parm.setValue(value); parms.addParm(parm); parm = new Parm(); parm.setParmName("serviceType"); value = new Value(); value.setContent(serviceType); parm.setValue(value); parms.addParm(parm); Map<String,String> paramMap = node.getParamMap(); Set<String> paramKey = paramMap.keySet(); for (Iterator<String> iterator = paramKey.iterator(); iterator.hasNext();) { String key = iterator.next(); parm = new Parm(); parm.setParmName(key); value = new Value(); value.setContent(paramMap.get(key)); parm.setValue(value); parms.addParm(parm); } event.setParams(parms); return event; } @Override public String getNodeid() { return node.getNodeid(); } /** * 任务类型 */ @Override public AgentTodoType getType() { return AgentTodoType.SERVICECHECK; } /** * 是否是删除任务 如果是删除任务 则返回 true */ @Override public boolean isDelete() { return false; } }