01: //=============================================================================
02: //=== Copyright (C) 2001-2005 Food and Agriculture Organization of the
03: //=== United Nations (FAO-UN), United Nations World Food Programme (WFP)
04: //=== and United Nations Environment Programme (UNEP)
05: //===
06: //=== This program is free software; you can redistribute it and/or modify
07: //=== it under the terms of the GNU General Public License as published by
08: //=== the Free Software Foundation; either version 2 of the License, or (at
09: //=== your option) any later version.
10: //===
11: //=== This program is distributed in the hope that it will be useful, but
12: //=== WITHOUT ANY WARRANTY; without even the implied warranty of
13: //=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: //=== General Public License for more details.
15: //===
16: //=== You should have received a copy of the GNU General Public License
17: //=== along with this program; if not, write to the Free Software
18: //=== Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19: //===
20: //=== Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
21: //=== Rome - Italy. email: GeoNetwork@fao.org
22: //==============================================================================
23:
24: package org.fao.geonet.services.thesaurus;
25:
26: import java.io.File;
27:
28: import jeeves.constants.Jeeves;
29: import jeeves.interfaces.Service;
30: import jeeves.server.ServiceConfig;
31: import jeeves.server.context.ServiceContext;
32: import jeeves.utils.Util;
33:
34: import org.fao.geonet.GeonetContext;
35: import org.fao.geonet.constants.Geonet;
36: import org.fao.geonet.kernel.Thesaurus;
37: import org.fao.geonet.kernel.ThesaurusManager;
38: import org.jdom.Element;
39:
40: //=============================================================================
41:
42: /**
43: * For editing : adds a tag to a thesaurus. Access is restricted
44: */
45:
46: public class Add implements Service {
47: public void init(String appPath, ServiceConfig params)
48: throws Exception {
49: }
50:
51: // --------------------------------------------------------------------------
52: // ---
53: // --- Service
54: // ---
55: // --------------------------------------------------------------------------
56:
57: public Element exec(Element params, ServiceContext context)
58: throws Exception {
59: GeonetContext gc = (GeonetContext) context
60: .getHandlerContext(Geonet.CONTEXT_NAME);
61:
62: // Recuperation des parametres
63: String fname = Util.getParam(params, "fname");
64: String dname = Util.getParam(params, "dname");
65: String type = Util.getParam(params, "type");
66:
67: fname = fname.trim();
68:
69: if (!fname.endsWith(".rdf")) {
70: fname = fname + ".rdf";
71: }
72:
73: ThesaurusManager tm = gc.getThesaurusManager();
74:
75: String filePath = tm.buildThesaurusFilePath(fname, type, dname);
76:
77: File rdfFile = new File(filePath);
78: Thesaurus thesaurus = new Thesaurus(fname, type, dname, rdfFile);
79: tm.addThesaurus(thesaurus);
80:
81: Element elResp = new Element(Jeeves.Elem.RESPONSE);
82: Element elRef = new Element("ref");
83: elRef.addContent(thesaurus.getKey());
84: elResp.addContent(elRef);
85: Element elName = new Element("thesaName").setText(fname);
86: elResp.addContent(elName);
87:
88: return elResp;
89: }
90: }
91:
92: // =============================================================================
|