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.user;
25:
26: import org.jdom.*;
27:
28: import jeeves.constants.*;
29: import jeeves.interfaces.*;
30: import jeeves.resources.dbms.*;
31: import jeeves.server.*;
32: import jeeves.server.context.*;
33:
34: import org.fao.geonet.constants.*;
35:
36: //=============================================================================
37:
38: /** Retrieves a particular user
39: */
40:
41: public class Get implements Service {
42: //--------------------------------------------------------------------------
43: //---
44: //--- Init
45: //---
46: //--------------------------------------------------------------------------
47:
48: public void init(String appPath, ServiceConfig params)
49: throws Exception {
50: }
51:
52: //--------------------------------------------------------------------------
53: //---
54: //--- Service
55: //---
56: //--------------------------------------------------------------------------
57:
58: public Element exec(Element params, ServiceContext context)
59: throws Exception {
60: String id = params.getChildText(Params.ID);
61:
62: if (id == null)
63: return new Element(Jeeves.Elem.RESPONSE);
64:
65: Dbms dbms = (Dbms) context.getResourceManager().open(
66: Geonet.Res.MAIN_DB);
67:
68: Element elUser = dbms.select("SELECT * FROM Users WHERE id="
69: + id);
70:
71: //--- retrieve user groups
72:
73: Element elGroups = new Element(Geonet.Elem.GROUPS);
74:
75: java.util.List list = dbms.select(
76: "SELECT groupId FROM UserGroups WHERE userId=" + id)
77: .getChildren();
78:
79: for (int i = 0; i < list.size(); i++) {
80: String grpId = ((Element) list.get(i))
81: .getChildText("groupid");
82:
83: elGroups.addContent(new Element(Geonet.Elem.ID)
84: .setText(grpId));
85: }
86:
87: //--- return data
88:
89: elUser.addContent(elGroups);
90:
91: return elUser;
92: }
93: }
94:
95: //=============================================================================
|