001: /*
002: * Copyright 2005-2006 The Kuali Foundation.
003: *
004: *
005: * Licensed under the Educational Community License, Version 1.0 (the "License");
006: * you may not use this file except in compliance with the License.
007: * You may obtain a copy of the License at
008: *
009: * http://www.opensource.org/licenses/ecl1.php
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017:
018: package org.kuali.rice.config;
019:
020: import java.io.IOException;
021: import java.util.Map;
022: import java.util.Properties;
023:
024: /**
025: * Interface encapsulating central config settings. This interface was taken
026: * directly from BundleUtility which it replaces.
027: *
028: * @author Kuali Rice Team (kuali-rice@googlegroups.com)
029: */
030: public interface Config {
031:
032: public static final String CLIENT_PROTOCOL = "client.protocol";
033:
034: public static final String KEYSTORE_ALIAS = "keystore.alias";
035: public static final String KEYSTORE_PASSWORD = "keystore.password";
036: public static final String KEYSTORE_FILE = "keystore.file";
037:
038: public static final String BASE_WEB_SERVICE_URL_WORKFLOW_CLIENT_FILE = "webservices.settings.url";
039:
040: public static final String BASE_WEB_SERVICE_WSDL_PATH = "webservices.settings.wsdl.path";
041:
042: public static final String WSDL_LOCATION_WORKFLOW_CLIENT_FILE = "webservices.settings.wsdd.path";
043:
044: public static final String WEB_SERVICE_CONNECT_RETRY = "webservices.settings.connect.retry";
045:
046: /**
047: * Configuration key under which to specify inlined Log4J configuration in XML/DOM configurer syntax
048: */
049: public static final String LOG4J_SETTINGS_XML = "log4j.settings.xml";
050:
051: /**
052: * Configuration key under which to specify inlined Log4J configuration in properties configurer syntax
053: */
054: public static final String LOG4J_SETTINGS_PROPS = "log4j.settings.props";
055:
056: /**
057: * Configuration key under which to specify an external Log4J configuration file path
058: */
059:
060: public static final String LOG4J_SETTINGS_PATH = "log4j.settings.path";
061:
062: /**
063: * Configuration key under which to specify the Log4J configuration reload interval in minutes
064: */
065: public static final String LOG4J_SETTINGS_RELOADINTERVAL_MINS = "log4j.settings.reloadInterval";
066:
067: public static final String TRANSACTION_TIMEOUT = "transaction.timeout";
068:
069: public static final String DOCUMENT_LOCK_TIMEOUT = "document.lock.timeout";
070:
071: public static final String EMAIL_SECURITY_PATH = "email.security.path";
072:
073: public static final String BASE_URL = "base.url";
074:
075: public static final String ENVIRONMENT = "environment";
076:
077: public static final String INSTITUTIONAL_PLUGIN_DIR = "en.plugin.dir";
078:
079: public static final String PLUGIN_DIR = "plugin.dir";
080:
081: public static final String EXTRA_CLASSES_DIR = "extra.classes.dir";
082:
083: public static final String EXTRA_LIB_DIR = "extra.lib.dir";
084:
085: public static final String EDL_CONFIG_LOCATION = "edl.config.loc";
086:
087: public static final String INSTITUTIONAL_PLUGIN_NAME = "plugin.institutional.name";
088:
089: public static final String MESSAGE_ENTITY = "message.entity";
090:
091: public static final String THREAD_POOL_SIZE = "threadPool.size";
092:
093: public static final String BAM_ENABLED = "bam.enabled";
094:
095: public static final String EMBEDDED_PLUGIN_LOCATIAON = "embedded.plugin.location";
096:
097: public static final String DATASOURCE_PLATFORM = "datasource.platform";
098:
099: public static final String OJB_PLATFORM = "datasource.ojb.platform";
100:
101: public static final String NODE_PROPERTIES_PATH = "node.properties.path";
102:
103: public static final String DATASOURCE_DRIVER_NAME = "datasource.driver.name";
104: public static final String DATASOURCE_URL = "datasource.url";
105: public static final String DATASOURCE_POOL_MAXSIZE = "datasource.pool.maxSize";
106: public static final String DATASOURCE_POOL_MINSIZE = "datasource.pool.minSize";
107: public static final String DATASOURCE_POOL_MAXWAIT = "datasource.pool.maxWait";
108: public static final String DATASOURCE_POOL_VALIDATION_QUERY = "datasource.pool.validationQuery";
109: public static final String DATASOURCE_USERNAME = "datasource.username";
110: public static final String DATASOURCE_PASSWORD = "datasource.password";
111:
112: public static final String TRANSACTION_MANAGER_JNDI = "transactionManager.jndi.location";
113: public static final String USER_TRANSACTION_JNDI = "transactionManager.jndi.location";
114: public static final String DATASOURCE_JNDI = "datasource.jndi.location";
115:
116: // Configuration Objects
117:
118: public static final String DATASOURCE_OBJ = "datasource";
119: public static final String TRANSACTION_MANAGER_OBJ = "transactionManager";
120: public static final String USER_TRANSACTION_OBJ = "userTransaction";
121: public static final String DEFAULT_NOTE_CLASS = "default.note.class";
122: public static final String M_BEANS = "mBeans";
123: public static final String ALT_SPRING_FILE = "config.spring.file";
124: public static final String ALT_OJB_FILE = "config.obj.file";
125:
126: //bus stuff
127: public static final String BUS_DEPLOYED_SERVICES = "bus.services";
128: public static final String SERVICE_SERVLET_URL = "serviceServletUrl";
129: public static final String MESSAGE_PERSISTENCE = "message.persistence";
130: public static final String JMX_SERVICE_URL = "jmx.service.url";
131: public static final String STORE_AND_FORWARD = "bus.storeAndForward";
132: public static final String JMX_PROTOCOL = "jmx.protocol";
133: public static final String REFRESH_RATE = "bus.refresh.rate";
134: public static final String DEV_MODE = "dev.mode";
135:
136: public static final String CREDENTIALS_SOURCE_FACTORY = "credentialsSourceFactory";
137:
138: public static final String EMBEDDED_PLUGIN_DEFAULT_CURRENT_CLASS_LOADER = "embedded.plugin.default.current.classloader";
139:
140: public static final String FIRST_DAILY_EMAIL_DELIVERY_DATE = "email.daily.firstDeliveryDate";
141: public static final String FIRST_WEEKLY_EMAIL_DELIVERY_DATE = "email.weekly.firstDeliveryDate";
142:
143: public static final String RUNNING_SERVER_IN_EMBEDDED = "embedded.server";
144:
145: public void parseConfig() throws IOException;
146:
147: /**
148: * Programmatically override or place a setting in the config properties
149: * @param name
150: * @param value
151: */
152: public void overrideProperty(String name, String value);
153:
154: public String getDailyEmailFirstDeliveryDate();
155:
156: public String getWeeklyEmailFirstDeliveryDate();
157:
158: /**
159: * Returns properties explicitly configured in this Config
160: *
161: * @return properties explicitly configured in this Config
162: */
163: public Properties getProperties();
164:
165: public String getProperty(String key);
166:
167: public Map<String, Object> getObjects();
168:
169: public Object getObject(String key);
170:
171: public String getClientProtocol();
172:
173: public String getBaseWebServiceURL();
174:
175: public String getBaseWebServiceWsdlPath();
176:
177: public String getClientWSDLFullPathAndFileName();
178:
179: public String getWebServicesConnectRetry();
180:
181: public String getLog4jFileLocation();
182:
183: public String getLog4jReloadInterval();
184:
185: public String getTransactionTimeout();
186:
187: public String getEmailConfigurationPath();
188:
189: public String getBaseUrl();
190:
191: public String getEnvironment();
192:
193: public String getEDLConfigLocation();
194:
195: public String getMessageEntity();
196:
197: public String getDefaultNoteClass();
198:
199: public String getEmbeddedPluginLocation();
200:
201: public Integer getRefreshRate();
202:
203: public String getEndPointUrl();
204:
205: public String getAlternateSpringFile();
206:
207: public String getAlternateOJBFile();
208:
209: public String getKeystoreAlias();
210:
211: public String getKeystorePassword();
212:
213: public String getKeystoreFile();
214:
215: public String getDocumentLockTimeout();
216:
217: public Boolean getRunningEmbeddedServerMode();
218:
219: public Boolean getDevMode();
220:
221: public Boolean getStoreAndForward();
222: }
|