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.constants.Params;
37: import org.fao.geonet.kernel.Thesaurus;
38: import org.fao.geonet.kernel.ThesaurusManager;
39: import org.jdom.Element;
40:
41: //=============================================================================
42:
43: /** Removes a thesaurus from the system.
44: */
45:
46: public class Delete implements Service {
47: public void init(String appPath, ServiceConfig params)
48: throws Exception {
49: }
50:
51: //--------------------------------------------------------------------------
52: //---
53: //--- Service
54: //---
55: //--------------------------------------------------------------------------
56:
57: /*
58: * TODO
59: * SPEC : PAS DE SUPPRESSION DE NOMENCLATURE !
60: */
61: public Element exec(Element params, ServiceContext context)
62: throws Exception {
63: GeonetContext gc = (GeonetContext) context
64: .getHandlerContext(Geonet.CONTEXT_NAME);
65: ThesaurusManager manager = gc.getThesaurusManager();
66:
67: // Paramètres : thesaurus
68: String name = Util.getParam(params, Params.REF);
69:
70: // String dir = Util.getParam(params, Params.DIR).replace('.', '/');
71: // String fname = Util.getParam(params, Params.FNAME);
72:
73: // Récupération du fichier
74: Thesaurus thesaurus = manager.getThesaurusByName(name);
75: File item = thesaurus.getFile();
76:
77: // Retrait du manager
78: manager.remove(name);
79:
80: // Suppression du fichier
81: if (item.exists())
82: item.delete();
83: else
84: throw new IllegalArgumentException(
85: "Thesaurus not found --> " + name);
86:
87: return new Element(Jeeves.Elem.RESPONSE)
88: .addContent(new Element(Jeeves.Elem.OPERATION)
89: .setText(Jeeves.Text.REMOVED));
90: }
91: }
92:
93: //=============================================================================
|