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;
  }