Пример #1
0
  public Element exec(Element params, ServiceContext context) throws Exception {
    GeonetContext gc = (GeonetContext) context.getHandlerContext(Geonet.CONTEXT_NAME);
    ThesaurusManager thesaurusMan = gc.getThesaurusManager();
    String THESAURUS_DIR = thesaurusMan.getThesauriDirectory();

    Element thesauriList = new Element("thesaurusList");

    String type = Util.getParam(params, Params.TYPE, init_type);

    if (type.equals("all-directories")) {
      listThesauri(
          thesauriList, THESAURUS_DIR + EXTERNAL_DIR, 1, directoryFilter, Geonet.CodeList.EXTERNAL);
      listThesauri(
          thesauriList, THESAURUS_DIR + LOCAL_DIR, 1, directoryFilter, Geonet.CodeList.LOCAL);
    } else if (type.equals("upload-directories")) {
      listThesauri(
          thesauriList, THESAURUS_DIR + EXTERNAL_DIR, 1, directoryFilter, Geonet.CodeList.EXTERNAL);
    } else if (type.equals("all-thesauri")) {
      listThesauri(
          thesauriList, THESAURUS_DIR + EXTERNAL_DIR, 2, thesauriFilter, Geonet.CodeList.EXTERNAL);
      listThesauri(
          thesauriList, THESAURUS_DIR + LOCAL_DIR, 2, thesauriFilter, Geonet.CodeList.LOCAL);
    } else if (type.equals("update-thesauri")) {
      listThesauri(
          thesauriList, THESAURUS_DIR + LOCAL_DIR, 3, thesauriFilter, Geonet.CodeList.LOCAL);
    } else {
      listThesauri(
          thesauriList, THESAURUS_DIR + EXTERNAL_DIR, 3, thesauriFilter, Geonet.CodeList.EXTERNAL);
      listThesauri(
          thesauriList, THESAURUS_DIR + LOCAL_DIR, 3, thesauriFilter, Geonet.CodeList.LOCAL);
    }

    // -----------------------------------------------------------------------

    Element elRes = new Element(Jeeves.Elem.RESPONSE).addContent(thesauriList);

    // -----------------------------------------------------------------------

    String selected = Util.getParam(params, Params.SELECTED, "none");
    if (!selected.equals("none")) {
      Element elSelected = new Element("selectedThesaurus");
      elSelected.addContent(selected);
      elRes.addContent(elSelected);
    }
    String mode = Util.getParam(params, "mode", "none");
    if (!mode.equals("none")) {
      Element elMode = new Element("mode");
      elMode.addContent(mode);
      elRes.addContent(elMode);
    }
    // -----------------------------------------------------------------------

    return elRes;
  }