001: /*
002: * JFolder, Copyright 2001-2006 Gary Steinmetz
003: *
004: * Distributable under LGPL license.
005: * See terms of license at gnu.org.
006: */
007:
008: package org.jfolder.common.tagging;
009:
010: //base classes
011: import java.util.HashMap;
012: import org.w3c.dom.Document;
013:
014: //project specific classes
015: import org.jfolder.common.UnexpectedSystemException;
016: import org.jfolder.common.utils.misc.MiscHelper;
017:
018: //other classes
019:
020: public class ConceptTagPreferencesHelper {
021:
022: //TO DO: try to merge these
023: //TO DO: find standardized way to allocate namespaces
024: //public final static String WORKFLOW_TEMPLATE_V1_CORE_NS =
025: // "http://www.jfolder.org/dtds/apps/script/v1/core.dtd";
026: //public final static String WORKFLOW_TEMPLATE_V1_RETURNABLE_NS =
027: // "http://www.jfolder.org/dtds/apps/script/v1/returnable.dtd";
028: //
029: //public final static String WEB_PAGE_V1_JSP_NS =
030: // "http://java.sun.com/JSP/Page";
031: //public final static String WEB_PAGE_V1_XHTML_NS = null;
032: //public final static String WEB_PAGE_V1_TAGLIB_NS =
033: // "http://www.jfolder.org/dtds/apps/web/v1/returnable.dtd";
034: //
035: //public final static String GOVERNOR_CALL_V1_CORE_NS =
036: // "http://www.jfolder.org/dtds/apps/governor/call/v1/core.dtd";
037: //
038: //
039:
040: //
041: //
042: //
043: //
044: public final static String CTP_PREF_ROOT_LOCAL_NAME__COMMON = "root";
045: //
046: public final static String CTP_PREF_STATIC_LOCAL_NAME__COMMON = "text";
047: public final static String CTP_PREF_COMPOUND_LOCAL_NAME__COMMON = "compound";
048: public final static String CTP_PREF_CONSTRAINT_LOCAL_NAME__COMMON = "constraint";
049: public final static String CTP_PREF_ROOT_CONSTRAINT__COMMON = "root";
050: public final static String CTP_PREF_HANDLE_CONJUNCTION__COMMON = "$";
051: public final static String CTP_PREF_UNCONSTRAINED_SYMBOL_COMMON = "@";
052: //
053: public final static String CTP_PREF_STYLE_LOCAL_NAME__COMMON = "style";
054: public final static String CTP_PREF_ATTRIBUTE_LOCAL_NAME__COMMON = "attribute";
055:
056: //
057: private final static String CTP_PREF_NS__URL_BASE = "http://www.jfolder.org/dtds/concept/tag/namespaces";
058: //
059: //
060: //
061: //
062: //
063: //
064: public final static String CTP_PREF_NS__COMMON_COMPONENTS__V1 = CTP_PREF_NS__URL_BASE
065: + "/common/components/v1/base.dtd";
066: //
067: public final static String CTP_PREF_NS__WEB_PAGE__V1_XHTML = null;
068: public final static String CTP_PREF_NS__WEB_PAGE__V1_BASE = CTP_PREF_NS__URL_BASE
069: + "/web/page/v1/base.dtd";
070: //
071: public final static String CTP_PREF_NS__WORKFLOW_TEMPLATE__V1_BASE = CTP_PREF_NS__URL_BASE
072: + "/workflow/template/v1/base.dtd";
073: //
074: public final static String CTP_PREF_NS__CONFIG_INSTANCE__V1_BASE = CTP_PREF_NS__URL_BASE
075: + "/config/instance/v1/base.dtd";
076: //
077: public final static String CTP_PREF_NS__RCTH_ROLLUP__V1_BASE = CTP_PREF_NS__URL_BASE
078: + "/rcth/rollup/v1/base.dtd";
079: //
080: public final static String CTP_PREF_NS__SYSTEM_ENTITY__V1_BASE = CTP_PREF_NS__URL_BASE
081: + "/system/entity/v1/base.dtd";
082: //
083: public final static String CTP_PREF_NS__WORKFLOW_INSTANCE__V1_BASE = CTP_PREF_NS__URL_BASE
084: + "/workflow/instance/v1/base.dtd";
085: //
086: public final static String CTP_PREF_NS__CONSOLE_CONFIG__V1_BASE = CTP_PREF_NS__URL_BASE
087: + "/console/config/v1/base.dtd";
088: //
089: public final static String CTP_PREF_NS__CONSOLE_MACRO__V1_BASE = CTP_PREF_NS__URL_BASE
090: + "/console/macro/v1/base.dtd";
091: public final static String CTP_PREF_NS__COMMON_FUNCTION__V1_BASE = CTP_PREF_NS__URL_BASE
092: + "/common/function/v1/base.dtd";
093:
094: //
095: //
096: //
097: //
098: //
099: public final static String CTP_PREF_HANDLE__WEB_PAGE = "WEB_PAGE";
100: public final static String CTP_PREF_HANDLE__WORKFLOW_TEMPLATE = "WORKFLOW_TEMPLATE";
101: public final static String CTP_PREF_HANDLE__CONFIG_INSTANCE = "CONFIG_INSTANCE";
102: public final static String CTP_PREF_HANDLE__RCTH_ROLLUP = "RCTH_ROLLUP";
103: public final static String CTP_PREF_HANDLE__SYSTEM_ENTITY = "SYSTEM_ENTITY";
104: public final static String CTP_PREF_HANDLE__WORKFLOW_INSTANCE = "WORKFLOW_INSTANCE";
105: public final static String CTP_PREF_HANDLE__CONSOLE_CONFIG = "CONSOLE_CONFIG";
106: public final static String CTP_PREF_HANDLE__CONSOLE_MACRO = "CONSOLE_MACRO";
107: public final static String CTP_PREF_HANDLE__COMMON_FUNCTION = "COMMON_FUNCTION";
108:
109: //
110: //
111: //
112: //
113: //
114: public final static String CTP_PREF_CLASS__WEB_PAGE = "org.jfolder.common.function.WebPageTagPreferences";
115: //"org.jfolder.web.page.WebPageTagPreferences";
116: public final static String CTP_PREF_CLASS__RCTH_ROLLUP = "org.jfolder.common.tagging.ConceptRollupV1Tag";
117: public final static String CTP_PREF_CLASS__SYSTEM_ENTITY = "org.jfolder.common.entity.SystemEntityTagPreferences";
118: public final static String CTP_PREF_CLASS__CONFIG_INSTANCE = "org.jfolder.config.instance.ConfigInstanceTagPreferences";
119: public final static String CTP_PREF_CLASS__WORKFLOW_TEMPLATE = "org.jfolder.workflow.model.template.WorkflowTemplateTagPreferences";
120: public final static String CTP_PREF_CLASS__WORKFLOW_INSTANCE = "org.jfolder.workflow.model.instance.WorkflowInstanceTagPreferences";
121: public final static String CTP_PREF_CLASS__CONSOLE_CONFIG = "org.jfolder.console.config.ConsoleConfigTagPreferences";
122: public final static String CTP_PREF_CLASS__CONSOLE_MACRO = "org.jfolder.console.macro.ConsoleMacroTagPreferences";
123:
124: //
125: private ConceptTagPreferencesHelper() {
126: }
127:
128: public final static ConceptTagPreferences getPreferencesFromHandle(
129: String inHandle) {
130:
131: ConceptTagPreferences outValue = null;
132:
133: HashMap handleMap = getPreferencesHandles();
134:
135: if (handleMap.containsKey(inHandle)) {
136: String preferencesClass = (String) handleMap.get(inHandle);
137: Class c = MiscHelper.getClassByName(preferencesClass);
138: Object o = MiscHelper.newInstance(c);
139: outValue = (ConceptTagPreferences) o;
140: } else {
141: throw new UnexpectedSystemException("Handle '" + inHandle
142: + "' not found");
143: }
144:
145: return outValue;
146: }
147:
148: public final static HashMap getPreferencesHandles() {
149:
150: HashMap outValue = new HashMap();
151:
152: outValue.put(CTP_PREF_HANDLE__WEB_PAGE,
153: CTP_PREF_CLASS__WEB_PAGE);
154: outValue.put(CTP_PREF_HANDLE__WORKFLOW_TEMPLATE,
155: CTP_PREF_CLASS__WORKFLOW_TEMPLATE);
156: outValue.put(CTP_PREF_HANDLE__CONFIG_INSTANCE,
157: CTP_PREF_CLASS__CONFIG_INSTANCE);
158: outValue.put(CTP_PREF_HANDLE__RCTH_ROLLUP,
159: CTP_PREF_CLASS__RCTH_ROLLUP);
160: outValue.put(CTP_PREF_HANDLE__SYSTEM_ENTITY,
161: CTP_PREF_CLASS__SYSTEM_ENTITY);
162: outValue.put(CTP_PREF_HANDLE__WORKFLOW_INSTANCE,
163: CTP_PREF_CLASS__WORKFLOW_INSTANCE);
164: outValue.put(CTP_PREF_HANDLE__CONSOLE_CONFIG,
165: CTP_PREF_CLASS__CONSOLE_CONFIG);
166: outValue.put(CTP_PREF_HANDLE__CONSOLE_MACRO,
167: CTP_PREF_CLASS__CONSOLE_MACRO);
168:
169: return outValue;
170: }
171: }
|