public boolean removeTemplate(String hostid, Template template) { // 現在適用されているテンプレートを取得 List<Template> templates = getTemplatesByHostid(hostid); List<String> templateids = new ArrayList<String>(); for (Template hostTemplate : templates) { templateids.add(hostTemplate.getTemplateid()); } // テンプレートが適用されていなければスキップする if (!templateids.contains(template.getTemplateid())) { return false; } // テンプレートを除去する for (int i = 0; i < templates.size(); i++) { if (StringUtils.equals(template.getTemplateid(), templates.get(i).getTemplateid())) { templates.remove(i); break; } } HostUpdateParam param = new HostUpdateParam(); param.setHostid(hostid); param.setTemplates(templates); zabbixClient.host().update(param); if (log.isInfoEnabled()) { log.info(MessageUtils.getMessage("IPROCESS-100322", hostid, template.getTemplateid())); } return true; }
public boolean addTemplate(String hostid, Template template) { // 現在適用されているテンプレートを取得 List<Template> templates = getTemplatesByHostid(hostid); List<String> templateids = new ArrayList<String>(); for (Template hostTemplate : templates) { templateids.add(hostTemplate.getTemplateid()); } // テンプレートが適用されていればスキップする if (templateids.contains(template.getTemplateid())) { return false; } // テンプレートを適用する templates.add(template); HostUpdateParam param2 = new HostUpdateParam(); param2.setHostid(hostid); param2.setTemplates(templates); List<String> hostids = zabbixClient.host().update(param2); hostid = hostids.get(0); if (log.isInfoEnabled()) { log.info(MessageUtils.getMessage("IPROCESS-100321", hostid, template.getTemplateid())); } return true; }