001: //=============================================================================
002: //=== Copyright (C) 2001-2007 Food and Agriculture Organization of the
003: //=== United Nations (FAO-UN), United Nations World Food Programme (WFP)
004: //=== and United Nations Environment Programme (UNEP)
005: //===
006: //=== This program is free software; you can redistribute it and/or modify
007: //=== it under the terms of the GNU General Public License as published by
008: //=== the Free Software Foundation; either version 2 of the License, or (at
009: //=== your option) any later version.
010: //===
011: //=== This program is distributed in the hope that it will be useful, but
012: //=== WITHOUT ANY WARRANTY; without even the implied warranty of
013: //=== MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: //=== General Public License for more details.
015: //===
016: //=== You should have received a copy of the GNU General Public License
017: //=== along with this program; if not, write to the Free Software
018: //=== Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
019: //===
020: //=== Contact: Jeroen Ticheler - FAO - Viale delle Terme di Caracalla 2,
021: //=== Rome - Italy. email: geonetwork@osgeo.org
022: //==============================================================================
023:
024: package org.fao.geonet.constants;
025:
026: import jeeves.constants.*;
027:
028: //=============================================================================
029:
030: public class Geonet {
031: public static final String CONTEXT_NAME = "contextName";
032:
033: //--------------------------------------------------------------------------
034: //--- container for file names
035:
036: public class File {
037: public static final String SCHEMA = "schema.xsd";
038: public static final String SCHEMATRON = "schematron.xsl";
039: public static final String SCHEMATRON_XML = "schematron_xml.xsl";
040: public static final String SCHEMATRON_VERBID = "schematron_verbid.xsl";
041: public static final String SEARCH_LUCENE = "lucene.xsl";
042: public static final String SEARCH_Z3950_CLIENT = "z3950Client.xsl";
043: public static final String SEARCH_Z3950_SERVER = "z3950Server.xsl";
044: public static final String UPDATE_FIXED_INFO = "update-fixed-info.xsl";
045: public static final String EXTRACT_UUID = "extract-uuid.xsl";
046: public static final String SET_UUID = "set-uuid.xsl";
047: public static final String EXTRACT_THUMBNAILS = "extract-thumbnails.xsl";
048: public static final String SET_THUMBNAIL = "set-thumbnail.xsl";
049: public static final String UNSET_THUMBNAIL = "unset-thumbnail.xsl";
050: public static final String SCHEMA_SUGGESTIONS = "schema-suggestions.xml";
051: public static final String SCHEMA_SUBSTITUTES = "schema-substitutes.xml";
052: public static final String CQL_TO_FILTER = "cql-to-filter.xsl";
053: public static final String FILTER_TO_LUCENE = "filter-to-lucene.xsl";
054: }
055:
056: public class SchemaPath {
057: public static final String OAI_PMH = "xml/validation/oai/OAI-PMH.xsd";
058: }
059:
060: //--------------------------------------------------------------------------
061: //--- container for elements
062:
063: public class Elem {
064: public static final String DOMAINS = "domains";
065: public static final String GROUPS = "groups";
066: public static final String GROUP = "group";
067: public static final String CATEGORIES = "categories";
068: public static final String CATEGORY = "category";
069: public static final String REGIONS = "regions";
070: public static final String RECORD = "record";
071: public static final String ID = "id";
072: public static final String ON = "on";
073: public static final String NAME = "name";
074: public static final String SURNAME = "surname";
075: public static final String PROFILE = "profile";
076: public static final String OPERATIONS = "operations";
077: public static final String OPER = "oper";
078: public static final String SUMMARY = "summary";
079: public static final String SITE_URL = "siteURL";
080: }
081:
082: //--------------------------------------------------------------------------
083: //--- container for element attribs
084:
085: public class Attr {
086: }
087:
088: //--------------------------------------------------------------------------
089: //--- resource directory and search configuration file
090:
091: public class Path {
092: public static final String SCHEMAS = Jeeves.Path.XML
093: + "schemas/";
094: public static final String CSW = Jeeves.Path.XML + "csw/";
095: public static final String VALIDATION = Jeeves.Path.XML
096: + "validation/";
097: public static final String STYLESHEETS = "/xsl";
098: public static final String IMPORT_STYLESHEETS = "/xsl/conversion/import";
099: public static final String LOGOS = "/images/logos/";
100: }
101:
102: //--------------------------------------------------------------------------
103: //--- Session constants
104:
105: public class Session {
106: public static final String MAIN_SEARCH = "main.search";
107: public static final String SEARCH_RESULT = "search.result";
108: public static final String METADATA_SHOW = "metadata.show";
109: public static final String SEARCH_KEYWORDS_RESULT = "search.keywords.result";
110: }
111:
112: //--------------------------------------------------------------------------
113: //--- resource names
114:
115: public class Res {
116: public static final String MAIN_DB = "main-db";
117: }
118:
119: /**
120: * Parameters that can be used in searches.
121: * See the parameters for a more complete description.
122: * @see ../services.util.MainUtil.getDefaultSearch for
123: * default values.
124: */
125: public class SearchResult {
126: /** Parameter name: {@value #TITLE} - Free text field that searches
127: * in the title */
128: public static final String TITLE = "title";
129:
130: /** Parameter name: {@value #ABSTRACT} - Free text field that searches
131: * in the abstract */
132: public static final String ABSTRACT = "abstract";
133:
134: /** Parameter name: {@value #ANY} - Free text field that searches
135: * in all the text fields of a metadata record */
136: public static final String ANY = "any";
137: public static final String PHRASE = "phrase";
138: public static final String OR = "or";
139: public static final String WITHOUT = "without";
140:
141: /** Parameter name: {@value #REGION} - Index value of a region.
142: * Used to retrieve the name and bounding box of the selected region */
143: public static final String REGION = "region";
144:
145: /** Parameter name: {@value #SOUTH_BL} - Lowest Latitude value in
146: * floating point format (geographic coordinate)
147: * Default value is {@code -90} */
148: public static final String SOUTH_BL = "southBL";
149:
150: /** Parameter name: {@value #NORTH_BL} - Highest Latitude value in
151: * floating point format (geographic coordinate)
152: * Default value is {@code 90} */
153: public static final String NORTH_BL = "northBL";
154:
155: /** Parameter name: {@value #EAST_BL} - Highest Longitude value in
156: * floating point format (geographic coordinate)
157: * Default value is {@code 180} */
158: public static final String EAST_BL = "eastBL";
159:
160: /** Parameter name: {@value #WEST_BL} - Lowest Longitude value in
161: * floating point format (geographic coordinate)
162: * Default value is {@code -180} */
163: public static final String WEST_BL = "westBL";
164:
165: /** Parameter name: {@value #RELATION} - Defines the type of spatial
166: * query matching used
167: * See {@link Relation} for possible values
168: * Default value is {@code {@value Relation#OVERLAPS}} */
169: public static final String RELATION = "relation";
170:
171: /** Parameter name: {@value #DATE_FROM} - Start date from when the
172: * referenced resource was updated.
173: * Formatted as <a href="http://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a>.
174: * For example 1970-08-19T06:01:00 or 1970-08-19 */
175: public static final String DATE_FROM = "dateFrom";
176:
177: /** Parameter name: {@value #DATE_TO} - End date until when the
178: * referenced resource was updated.
179: * Formatted as <a href="http://en.wikipedia.org/wiki/ISO_8601">ISO 8601</a>.
180: * For example 2008-01-23T10:05:00 or 2008-01-23 */
181: public static final String DATE_TO = "dateTo";
182:
183: public static final String KEYWORD = "keyword";
184: public static final String KEYWORDS = "keywords";
185: public static final String THEME_KEY = "themekey";
186: public static final String CATEGORY = "category";
187:
188: /** Parameter name: {@value #TOPIC_CAT} - Restrict search to resources
189: * that have the requested Topic Category set (ISO19115) */
190: public static final String TOPIC_CAT = "topicCat";
191:
192: /** Parameter name: {@value #PROTOCOL} - Searches the protocol field
193: * that's part of the online resources in ISO19115. Suggested values
194: * are those listed in the localized strings.xml files at
195: * /strings/protocolChoice/@value */
196: public static final String PROTOCOL = "protocol";
197:
198: /** Parameter name: {@value #DOWNLOAD} - Boolean that restricts results
199: * to those resources that have a files for download based on
200: * protocol values as defined in the Lucene indexing stylesheets.
201: * Values are {@value org.fao.geonet.constants.Geonet.Text#ON} or
202: * {@value org.fao.geonet.constants.Geonet.Text#OFF} (default) */
203: public static final String DOWNLOAD = "download";
204:
205: /** Parameter name: {@value #DYNAMIC} - Boolean that restricts results
206: * to those resources that have an interactive resource associated based
207: * on protocol values as defined in the Lucene indexing stylesheets.
208: * Values are {@value org.fao.geonet.constants.Geonet.Text#ON} or
209: * {@value org.fao.geonet.constants.Geonet.Text#OFF} (default) */
210: public static final String DYNAMIC = "dynamic";
211:
212: /** Parameter name: {@value #DIGITAL} - Boolean that restricts results
213: * to those resources that describe digital data based on ISO19115
214: * CI_PresentationFormCode codes
215: * Exact values indexed are defined in the Lucene indexing stylesheets.
216: * Values are {@value org.fao.geonet.constants.Geonet.Text#ON} or
217: * {@value org.fao.geonet.constants.Geonet.Text#OFF} (default) */
218: public static final String DIGITAL = "digital";
219:
220: /** Parameter name: {@value #PAPER} - Boolean that restricts results
221: * to those resources that describe Hardcopy data based on ISO19115
222: * CI_PresentationFormCode codes
223: * Exact values indexed are defined in the Lucene indexing stylesheets.
224: * Values are {@value org.fao.geonet.constants.Geonet.Text#ON} or
225: * {@value org.fao.geonet.constants.Geonet.Text#OFF} (default) */
226: public static final String PAPER = "paper";
227:
228: /** Parameter name: {@value #SITE_ID} - Limit search results to resources
229: * that originate from the selected catalog. The Site's short name
230: * should be used as value */
231: public static final String SITE_ID = "siteId";
232:
233: /** Parameter name: {@value #GROUP} - Limit search results to resources
234: * that are administered by the selected group. The group ID should be
235: * used as value */
236: public static final String GROUP = "group";
237:
238: public static final String PROFILE = "profile";
239: public static final String SERVER = "server";
240: public static final String SERVERS = "servers";
241:
242: /** Parameter name: {@value #TEMPLATE} - Boolean that defines if
243: * normal resources are searched or templates are searched
244: * Values are {@code y} or {@code n} */
245: public static final String TEMPLATE = "template";
246:
247: /** Parameter name: {@value #EXTENDED} - Boolean that indicates if
248: * search is done in simple or Advanced mode.
249: * Values are {@value org.fao.geonet.constants.Geonet.Text#ON} or
250: * {@value org.fao.geonet.constants.Geonet.Text#OFF} (default) */
251: public static final String EXTENDED = "extended";
252:
253: /** Parameter name: {@value #REMOTE} - Boolean that indicates if
254: * search is done on the local repository or using Z39.50 for on the
255: * fly searches in remote catalogs. Values are
256: * {@value org.fao.geonet.constants.Geonet.Text#ON} or
257: * {@value org.fao.geonet.constants.Geonet.Text#OFF} (default) */
258: public static final String REMOTE = "remote";
259:
260: /** Parameter name: {@value #TIMEOUT} - Time in seconds the Z39.50
261: * search waits for responses from remote servers before timing out.
262: * Default is 20 seconds */
263: public static final String TIMEOUT = "timeout";
264:
265: /** Parameter name: {@value #HITS_PER_PAGE} - Number of results
266: * returned by the search engine. Default is 10 results */
267: public static final String HITS_PER_PAGE = "hitsPerPage";
268:
269: /** Parameter name: {@value #SIMILARITY} - Use the Lucene FuzzyQuery.
270: * Values range from 0.0 to 1.0 and defaults to 0.8 */
271: public static final String SIMILARITY = "similarity";
272:
273: /** Parameter name: {@value #OUTPUT} - Display results as text only
274: * {@value #TEXT} or with graphic overviews {@value #FULL} (default) */
275: public static final String OUTPUT = "output";
276:
277: /** Parameter name: {@value #SORT_BY} - Order results by
278: * {@value SortBy#RELEVANCE} (default), {@value SortBy#RATING},
279: * {@value SortBy#POPULARITY} or by {@value SortBy#DATE} */
280: public static final String SORT_BY = "sortBy";
281:
282: /** Parameter name: {@value #INTERMAP} - Boolean that indicates if
283: * GUI shows the embedded InterMap (on) or defaults to the old GUI (off).
284: * Values are {@value org.fao.geonet.constants.Geonet.Text#ON} (default)
285: * or {@value org.fao.geonet.constants.Geonet.Text#OFF} */
286: public static final String INTERMAP = "intermap";
287:
288: //-----------------------------------------------------------------------
289:
290: public class Relation {
291: public static final String EQUAL = "equal";
292: public static final String OVERLAPS = "overlaps";
293: public static final String ENCLOSES = "encloses";
294: public static final String OUTSIDEOF = "fullyOutsideOf";
295: }
296:
297: //-----------------------------------------------------------------------
298:
299: public class Output {
300: public static final String FULL = "full";
301: public static final String TEXT = "text";
302: }
303:
304: //-----------------------------------------------------------------------
305:
306: public class SortBy {
307: public static final String RELEVANCE = "relevance";
308: public static final String RATING = "rating";
309: public static final String POPULARITY = "popularity";
310: public static final String DATE = "date";
311: }
312: }
313:
314: //--------------------------------------------------------------------------
315: //--- container for profile names
316:
317: public class Profile {
318: public static final String ADMINISTRATOR = "Administrator";
319: public static final String USER_ADMIN = "UserAdmin";
320: public static final String REVIEWER = "Reviewer";
321: public static final String GUEST = "Guest";
322: }
323:
324: //--------------------------------------------------------------------------
325: //--- container for config elements that are inside the configuration file
326:
327: public class Config {
328: public static final String HTMLCACHE_DIR = "htmlCacheDir";
329: public static final String LUCENE_DIR = "luceneDir";
330: public static final String MAX_SUMMARY_KEYS = "maxSummaryKeys";
331: public static final String SCHEMA_MAPPINGS = "schemaMappings";
332: public static final String DATA_DIR = "dataDir";
333: public static final String CODELIST_DIR = "codeListDir";
334: public static final String DIR = "dir";
335: }
336:
337: //--------------------------------------------------------------------------
338: //--- container for element values
339:
340: public class Text {
341: public static final String ON = "on";
342: public static final String OFF = "off";
343: public static final String DOWN = "down";
344: public static final String GRAPH_OVER = "graphOver";
345: }
346:
347: //--------------------------------------------------------------------------
348: //--- Codelist directories
349:
350: public class CodeList {
351: public static final String LOCAL = "local";
352: public static final String EXTERNAL = "external";
353:
354: public static final String THESAURUS = "thesauri";
355: public static final String CONTACT = "contactDirectories";
356: public static final String CRS = "crs";
357: }
358:
359: //--------------------------------------------------------------------------
360: //--- logging
361:
362: public static final String GEONETWORK = "geonetwork";
363: public static final String HARVEST_MAN = GEONETWORK
364: + ".harvest-man";
365: public static final String HARVESTER = GEONETWORK + ".harvester";
366: public static final String SETTINGS = GEONETWORK + ".settings";
367: public static final String DATA_MANAGER = GEONETWORK
368: + ".datamanager";
369: public static final String THESAURUS_MAN = GEONETWORK
370: + ".thesaurus-man";
371: public static final String SEARCH_ENGINE = GEONETWORK + ".search";
372: public static final String Z3950_SERVER = GEONETWORK
373: + ".z3950server";
374: public static final String INDEX_ENGINE = GEONETWORK + ".index";
375: public static final String MEF = GEONETWORK + ".mef";
376: public static final String CSW = GEONETWORK + ".csw";
377: public static final String LDAP = GEONETWORK + ".ldap";
378:
379: public static final String CSW_SEARCH = CSW + ".search";
380:
381: //--------------------------------------------------------------------------
382: //--- services
383:
384: public class Service {
385: public static final String XML_LOGIN = "xml.user.login";
386: public static final String XML_LOGOUT = "xml.user.logout";
387: public static final String XML_INFO = "xml.info";
388: public static final String XML_SEARCH = "xml.search";
389: public static final String XML_METADATA_GET = "xml.metadata.get";
390: public static final String XML_METADATA_RATE = "xml.metadata.rate";
391: public static final String MEF_IMPORT = "mef.import";
392: public static final String MEF_EXPORT = "mef.export";
393: }
394: }
395:
396: //=============================================================================
|