001: /***************************************************************
002: * This file is part of the [fleXive](R) project.
003: *
004: * Copyright (c) 1999-2008
005: * UCS - unique computing solutions gmbh (http://www.ucs.at)
006: * All rights reserved
007: *
008: * The [fleXive](R) project is free software; you can redistribute
009: * it and/or modify it under the terms of the GNU General Public
010: * License as published by the Free Software Foundation;
011: * either version 2 of the License, or (at your option) any
012: * later version.
013: *
014: * The GNU General Public License can be found at
015: * http://www.gnu.org/copyleft/gpl.html.
016: * A copy is found in the textfile GPL.txt and important notices to the
017: * license from the author are found in LICENSE.txt distributed with
018: * these libraries.
019: *
020: * This library is distributed in the hope that it will be useful,
021: * but WITHOUT ANY WARRANTY; without even the implied warranty of
022: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
023: * GNU General Public License for more details.
024: *
025: * For further information about UCS - unique computing solutions gmbh,
026: * please see the company website: http://www.ucs.at
027: *
028: * For further information about [fleXive](R), please see the
029: * project website: http://www.flexive.org
030: *
031: *
032: * This copyright notice MUST APPEAR in all copies of the file!
033: ***************************************************************/package com.flexive.core;
034:
035: /**
036: * Database constants.
037: *
038: * @author Gregor Schober (gregor.schober@flexive.com), UCS - unique computing solutions gmbh (http://www.ucs.at)
039: * @author Markus Plesser (markus.plesser@flexive.com), UCS - unique computing solutions gmbh (http://www.ucs.at)
040: * @version $Rev: 181 $
041: */
042: public final class DatabaseConst {
043:
044: /**
045: * Database vendors
046: */
047: public static enum Dialect {
048: /**
049: * MySQL (>= 5)
050: */
051: MySQL,
052: /**
053: * Oracle
054: */
055: Oracle
056: }
057:
058: private static final String DEFAULT_CONFIGSCHEMA = "flexiveConfiguration";
059: /**
060: * Datasource for the global configuration
061: */
062: public static final String DS_GLOBAL_CONFIG = "jdbc/flexiveConfiguration";
063:
064: private static String configSchema = null;
065:
066: // Table/Sequencer definitions
067: /**
068: * Search cache table
069: */
070: public static final String TBL_BRIEFCASE = "FXS_BRIEFCASE";
071: public static final String TBL_BRIEFCASE_DATA = "FXS_BRIEFCASE_DATA";
072: public static final String TBL_SEARCHCACHE_MEMORY = "FXS_SEARCHCACHE_MEMORY";
073: public static final String TBL_SEARCHCACHE_PERM = "FXS_SEARCHCACHE_PERM";
074:
075: /**
076: * Search cache table
077: */
078: public static final String TBL_SEARCH_CACHE = "FXS_SEARCH_CACHE";
079: /**
080: * Search cache data table
081: */
082: public static final String TBL_SEARCH_CACHE_DATA = "FXS_SEARCH_CACHE_DATA";
083: /**
084: * Accounts table
085: */
086: public static final String TBL_ACCOUNTS = "FXS_ACCOUNTS";
087: /**
088: * Account details table
089: */
090: public static final String TBL_ACCOUNT_DETAILS = "FXS_ACCOUNT_DETAILS";
091: /**
092: * User groups to accounts table
093: */
094: public static final String TBL_ASSIGN_GROUPS = "FXS_USERGROUPMEMBERS";
095: /**
096: * Roles to accounts table
097: */
098: public static final String TBL_ASSIGN_ROLES = "FXS_ROLEMAPPING";
099: /**
100: * History tracker table
101: */
102: public static final String TBL_HISTORY = "FXS_HISTORY";
103: /**
104: * ACL table
105: */
106: public static final String TBL_ACLS = "FXS_ACL";
107: /**
108: * ACL to usergroups table
109: */
110: public static final String TBL_ASSIGN_ACLS = "FXS_ACLASSIGNMENTS";
111: /**
112: * User roles definitions
113: */
114: public static final String TBL_ROLES = "FXS_ROLES";
115: /**
116: * Workflow step definitions table
117: */
118: public static final String TBL_STEPDEFINITION = "FXS_WF_STEPDEFS";
119: /**
120: * Workflow steps table
121: */
122: public static final String TBL_STEP = "FXS_WF_STEPS";
123: /**
124: * Workflow table
125: */
126: public static final String TBL_WORKFLOW = "FXS_WORKFLOWS";
127: /**
128: * Workflow routes table
129: */
130: public static final String TBL_ROUTES = "FXS_WF_ROUTES";
131: /**
132: * User groups table
133: */
134: public static final String TBL_GROUP = "FXS_USERGROUPS";
135: /**
136: * Mandator definitions table
137: */
138: public static final String TBL_MANDATORS = "FXS_MANDATOR";
139: /**
140: * Instance lock table
141: */
142: public static final String TBL_LOCK = "FXS_LOCK";
143: /**
144: * Global configuration table
145: */
146: public static final String TBL_GLOBAL_CONFIG = getConfigSchema()
147: + "FXS_CONFIGURATION";
148: /**
149: * User configuration table
150: */
151: public static final String TBL_USER_CONFIG = "FXS_USERCONFIGURATION";
152: /**
153: * Division configuration table
154: */
155: public static final String TBL_DIVISION_CONFIG = "FXS_DIVISIONCONFIGURATION";
156: /**
157: * Language definition table
158: */
159: public static final String TBL_LANG = "FXS_LANG";
160: /**
161: * Data types table
162: */
163: public static final String TBL_STRUCT_DATATYPES = "FXS_DATATYPES";
164: /**
165: * Structure groups table
166: */
167: public static final String TBL_STRUCT_GROUPS = "FXS_TYPEGROUPS";
168: /**
169: * Structure properties table
170: */
171: public static final String TBL_STRUCT_PROPERTIES = "FXS_TYPEPROPS";
172: /**
173: * Structure type assignments table
174: */
175: public static final String TBL_STRUCT_ASSIGNMENTS = "FXS_ASSIGNMENTS";
176: /**
177: * Structure types table
178: */
179: public static final String TBL_STRUCT_TYPES = "FXS_TYPEDEF";
180: /**
181: * Structure relations table
182: */
183: public static final String TBL_STRUCT_TYPERELATIONS = "FXS_TYPERELS";
184: /**
185: * Main content table
186: */
187: public static final String TBL_CONTENT = "FX_CONTENT";
188: /**
189: * Content data table
190: */
191: public static final String TBL_CONTENT_DATA = "FX_CONTENT_DATA";
192: /**
193: * Fulltext mirror table
194: */
195: public static final String TBL_CONTENT_DATA_FT = "FX_CONTENT_DATA_FT";
196: /**
197: * Content binary table
198: */
199: public static final String TBL_CONTENT_BINARY = "FX_BINARY";
200: /**
201: * Binary transit table
202: */
203: public static final String TBL_BINARY_TRANSIT = "FXS_BINARY_TRANSIT";
204: /**
205: * Script table
206: */
207: public static final String TBL_SCRIPTS = "FXS_SCRIPTS";
208: /**
209: * Script mapping table for assignments
210: */
211: public static final String TBL_SCRIPT_MAPPING_ASSIGN = "FXS_SCRIPT_ASS_MAPPING";
212: /**
213: * Script mapping table for types
214: */
215: public static final String TBL_SCRIPT_MAPPING_TYPES = "FXS_SCRIPT_TYPE_MAPPING";
216: /**
217: * Select lists table
218: */
219: public static final String TBL_SELECTLIST = "FXS_SELECTLIST";
220: /**
221: * Select list items table
222: */
223: public static final String TBL_SELECTLIST_ITEM = "FXS_SELECTLIST_ITEM";
224: /**
225: * Template table
226: */
227: public static final String TBL_TEMPLATE = "FXS_TEMPLATE";
228: /**
229: * Tag relation table
230: */
231: public static final String TBL_TAG_RELATIONS = "FXS_TAG_RELATIONS";
232: /**
233: * Tree Base table
234: */
235: public static final String TBL_TREE = "FXS_TREE";
236: /**
237: * Global sequencer table
238: *
239: * @see com.flexive.shared.interfaces.SequencerEngine
240: */
241: public static final String TBL_SEQUENCE = "FXS_SEQUENCE";
242: public static final String TBL_PROPERTY_OPTIONS = "FXS_PROP_OPT";
243: public static final String TBL_GROUP_OPTIONS = "FXS_GROUP_OPT";
244:
245: /**
246: * General table name extension for multilingual tables
247: */
248: public static final String ML = "_T";
249:
250: /**
251: * Private default constructor to prevent instantion.
252: */
253: private DatabaseConst() {
254: // empty default constructor
255: }
256:
257: /**
258: * Returns the database configuration schema to use.
259: *
260: * @return the database configuration schema to use
261: */
262: public static String getConfigSchema() {
263: if (configSchema != null) {
264: return configSchema;
265: }
266: synchronized (DatabaseConst.class) {
267: configSchema = System.getProperty("FxConfigSchema");
268: if (configSchema == null)
269: configSchema = DEFAULT_CONFIGSCHEMA;
270: else {
271: System.out.println("[Database] ConfigSchema set to ["
272: + configSchema + "]");
273: }
274: if (!configSchema.endsWith("."))
275: configSchema += ".";
276: if (".".equals(configSchema))
277: configSchema = "";
278: return configSchema;
279: }
280: }
281:
282: }
|