01: //=============================================================================
02: //=== Copyright (C) 2001-2007 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19: //===
20: //=== Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
21: //=== Rome - Italy. email: geonetwork@osgeo.org
22: //==============================================================================
23:
24: package org.fao.geonet.services.relations;
25:
26: import jeeves.constants.Jeeves;
27: import jeeves.interfaces.Service;
28: import jeeves.resources.dbms.Dbms;
29: import jeeves.server.ServiceConfig;
30: import jeeves.server.context.ServiceContext;
31: import jeeves.utils.Util;
32: import org.fao.geonet.constants.Geonet;
33: import org.fao.geonet.constants.Params;
34: import org.jdom.Element;
35:
36: //=============================================================================
37:
38: /** Insert the relation between two metadata records
39: *
40: */
41:
42: public class Insert implements Service {
43: //--------------------------------------------------------------------------
44: //---
45: //--- Init
46: //---
47: //--------------------------------------------------------------------------
48:
49: public void init(String appPath, ServiceConfig params)
50: throws Exception {
51: }
52:
53: //--------------------------------------------------------------------------
54: //---
55: //--- Service
56: //---
57: //--------------------------------------------------------------------------
58:
59: /* Insert the relation between two metadata records
60: * @see jeeves.interfaces.Service#exec(org.jdom.Element, jeeves.server.context.ServiceContext)
61: * Parameter name: parentId - Parent metadata identifier
62: * Parameter name: childId - Child metadata identifier
63: */
64: public Element exec(Element params, ServiceContext context)
65: throws Exception {
66: int parentId = Util.getParamAsInt(params, Params.PARENT_ID);
67: int childId = Util.getParamAsInt(params, Params.CHILD_ID);
68:
69: Dbms dbms = (Dbms) context.getResourceManager().open(
70: Geonet.Res.MAIN_DB);
71:
72: // Add new relation
73: String query = "INSERT INTO Relations (id, relatedId) "
74: + "VALUES (?, ?)";
75:
76: dbms.execute(query, parentId, childId);
77:
78: Element response = new Element(Jeeves.Elem.RESPONSE)
79: .addContent(
80: new Element("parentId").setText(String
81: .valueOf(parentId))).addContent(
82: new Element("childId").setText(String
83: .valueOf(childId)));
84:
85: return response;
86: }
87: }
88:
89: //=============================================================================
|