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.kernel;
25:
26: import java.util.Hashtable;
27: import java.util.Iterator;
28: import java.util.List;
29: import jeeves.utils.Xml;
30: import org.jdom.Element;
31:
32: //=============================================================================
33:
34: public class SchemaSuggestions {
35: private Hashtable htFields = new Hashtable();
36:
37: //--------------------------------------------------------------------------
38: //---
39: //--- Constructor
40: //---
41: //--------------------------------------------------------------------------
42:
43: public SchemaSuggestions(String xmlSuggestFile) throws Exception {
44: Element sugg = Xml.loadFile(xmlSuggestFile);
45:
46: List list = sugg.getChildren();
47:
48: for (Iterator i = list.iterator(); i.hasNext();) {
49: Element el = (Element) i.next();
50:
51: if (el.getName().equals("field"))
52: htFields.put(el.getAttributeValue("name"), el);
53: }
54: }
55:
56: //--------------------------------------------------------------------------
57: //---
58: //--- API methods
59: //---
60: //--------------------------------------------------------------------------
61:
62: public boolean isSuggested(String parent, String child) {
63: Element el = (Element) htFields.get(parent);
64:
65: if (el == null)
66: return false;
67:
68: List list = el.getChildren();
69:
70: for (Iterator i = list.iterator(); i.hasNext();) {
71: el = (Element) i.next();
72:
73: if (el.getName().equals("suggest")) {
74: String name = el.getAttributeValue("name");
75:
76: if (child.equals(name))
77: return true;
78: }
79: }
80:
81: return false;
82: }
83: }
84:
85: //=============================================================================
|