001: package edu.iu.uis.eden;
002:
003: import javax.sql.DataSource;
004: import javax.transaction.TransactionManager;
005: import javax.transaction.UserTransaction;
006: import javax.xml.namespace.QName;
007:
008: import org.apache.log4j.Logger;
009: import org.kuali.bus.services.KSBServiceLocator;
010: import org.kuali.rice.config.NodeSettings;
011: import org.kuali.rice.resourceloader.GlobalResourceLoader;
012: import org.kuali.workflow.role.RoleService;
013: import org.kuali.workflow.workgroup.WorkgroupTypeService;
014: import org.objectweb.jotm.Current;
015: import org.quartz.Scheduler;
016:
017: import edu.iu.uis.eden.actionlist.ActionListService;
018: import edu.iu.uis.eden.actionrequests.ActionRequestService;
019: import edu.iu.uis.eden.actions.ActionRegistry;
020: import edu.iu.uis.eden.actiontaken.ActionTakenService;
021: import edu.iu.uis.eden.applicationconstants.ApplicationConstantsService;
022: import edu.iu.uis.eden.batch.XmlDigesterService;
023: import edu.iu.uis.eden.batch.XmlIngesterService;
024: import edu.iu.uis.eden.batch.XmlPollerService;
025: import edu.iu.uis.eden.cache.RiceCacheAdministrator;
026: import edu.iu.uis.eden.doctype.DocumentTypeService;
027: import edu.iu.uis.eden.edl.EDocLiteService;
028: import edu.iu.uis.eden.edl.StyleService;
029: import edu.iu.uis.eden.engine.WorkflowEngine;
030: import edu.iu.uis.eden.engine.node.BranchService;
031: import edu.iu.uis.eden.engine.node.RouteNodeService;
032: import edu.iu.uis.eden.exception.WorkflowDocumentExceptionRoutingService;
033: import edu.iu.uis.eden.help.HelpService;
034: import edu.iu.uis.eden.mail.ActionListEmailService;
035: import edu.iu.uis.eden.mail.EmailContentService;
036: import edu.iu.uis.eden.mail.EmailService;
037: import edu.iu.uis.eden.messaging.MessageQueueService;
038: import edu.iu.uis.eden.notes.NoteService;
039: import edu.iu.uis.eden.notification.NotificationService;
040: import edu.iu.uis.eden.preferences.PreferencesService;
041: import edu.iu.uis.eden.responsibility.ResponsibilityIdService;
042: import edu.iu.uis.eden.routeheader.RouteHeaderService;
043: import edu.iu.uis.eden.routeheader.WorkflowDocumentService;
044: import edu.iu.uis.eden.routemodule.RouteModuleService;
045: import edu.iu.uis.eden.routemodule.RoutingReportService;
046: import edu.iu.uis.eden.routetemplate.RuleAttributeService;
047: import edu.iu.uis.eden.routetemplate.RuleDelegationService;
048: import edu.iu.uis.eden.routetemplate.RuleService;
049: import edu.iu.uis.eden.routetemplate.RuleTemplateService;
050: import edu.iu.uis.eden.security.EncryptionService;
051: import edu.iu.uis.eden.server.WorkflowDocumentActions;
052: import edu.iu.uis.eden.server.WorkflowUtility;
053: import edu.iu.uis.eden.user.UserService;
054: import edu.iu.uis.eden.useroptions.UserOptionsService;
055: import edu.iu.uis.eden.util.OptimisticLockFailureService;
056: import edu.iu.uis.eden.web.WebAuthenticationService;
057: import edu.iu.uis.eden.workgroup.WorkgroupRoutingService;
058: import edu.iu.uis.eden.workgroup.WorkgroupService;
059: import edu.iu.uis.eden.xml.export.XmlExporterService;
060:
061: /**
062: * Convenience class that holds service names and provide methods to acquire services. Defaults to
063: * GLR for actual service acquisition. Used to be responsible for loading and holding spring
064: * application context (when it was SpringServiceLocator) but those responsibilities have been
065: * moved to the SpringLoader.
066: *
067: * @author rkirkend
068: * @author ewestfal
069: *
070: */
071: public final class KEWServiceLocator {
072:
073: private static final Logger LOG = Logger
074: .getLogger(KEWServiceLocator.class);
075:
076: public static final String EDEN_DATASOURCE = "enWorkflowDataSource";
077:
078: public static final String WORKFLOW_UTILITY_SERVICE = "enWorkflowUtilityService";
079:
080: public static final String WORKFLOW_DOCUMENT_ACTIONS_SERVICE = "enWorkflowDocumentActionsService";
081:
082: public static final String QUICK_LINKS_SERVICE = "enQuickLinksService";
083:
084: public static final String USER_SERVICE = "enUserService";
085:
086: public static final String USER_DAO = "enUserDAO";
087:
088: public static final String DOCUMENT_SEARCH_SERVICE = "enDocumentSearchService";
089:
090: public static final String ACTION_TAKEN_DAO = "enActionTakenDAO";
091:
092: public static final String ACTION_TAKEN_SRV = "enActionTakenService";
093:
094: public static final String ACTION_REQUEST_SRV = "enActionRequestService";
095:
096: public static final String ACTION_LIST_SRV = "enActionListService";
097:
098: public static final String DOC_ROUTE_HEADER_DAO = "enDocumentRouteHeaderDAO";
099:
100: public static final String DOC_ROUTE_HEADER_SRV = "enDocumentRouteHeaderService";
101:
102: public static final String DOCUMENT_TYPE_GROUP_SERVICE = "enDocumentTypeGroupService";
103:
104: public static final String DOCUMENT_TYPE_SERVICE = "enDocumentTypeService";
105:
106: public static final String DOCUMENT_TYPE_GROUP_DAO = "enDocumentTypeGroupDAO";
107:
108: public static final String ROUTE_QUEUE_SRV = "enRouteQueueService";
109:
110: public static final String WORKGROUP_SRV = "enWorkgroupService";
111:
112: public static final String WORKGROUP_ROUTING_SERVICE = "enWorkgroupRoutingService";
113:
114: public static final String WORKGROUP_TYPE_SERVICE = "workgroupTypeService";
115:
116: public static final String USER_OPTIONS_SRV = "enUserOptionsService";
117:
118: public static final String DOCUMENT_CHANGE_HISTORY_SRV = "enDocumentChangeHistoryService";
119:
120: public static final String APPLICATION_CONSTANTS_SRV = "enApplicationConstantsService";
121:
122: public static final String DOCUMENT_VALUE_INDEX_SRV = "enDocumentValueIndexService";
123:
124: public static final String ROUTE_LEVEL_SERVICE = "enRouteLevelService";
125:
126: public static final String CONSTANTS_SERVICE = "enApplicationConstantsService";
127:
128: public static final String PREFERENCES_SERVICE = "enPreferencesService";
129:
130: public static final String ROUTE_LOG_SERVICE = "enRouteLogService";
131:
132: public static final String RULE_TEMPLATE_SERVICE = "enRuleTemplateService";
133:
134: public static final String RULE_SERVICE = "enRuleService";
135:
136: public static final String RULE_ATTRIBUTE_SERVICE = "enRuleAttributeService";
137:
138: public static final String RULE_TEMPLATE_ATTRIBUTE_SERVICE = "enRuleTemplateAttributeService";
139:
140: public static final String ROLE_SERVICE = "enRoleService";
141:
142: public static final String RESPONSIBILITY_ID_SERVICE = "enResponsibilityIdService";
143:
144: public static final String STATS_SERVICE = "enStatsService";
145:
146: public static final String ROUTE_MANAGER_QUEUE_SERVICE = "enRouteManagerQueueService";
147:
148: public static final String ROUTE_MANAGER_CONTROLLER = "enRouteManagerController";
149:
150: public static final String RULE_DELEGATION_SERVICE = "enRuleDelegationService";
151:
152: public static final String ROUTE_MANAGER_DRIVER = "enRouteManagerDriver";
153:
154: public static final String OPTIMISTIC_LOCK_FAILURE_SERVICE = "enOptimisticLockFailureService";
155:
156: public static final String WEB_AUTHENTICATION_SERVICE = "enWebAuthenticationService";
157:
158: public static final String NOTE_SERVICE = "enNoteService";
159:
160: public static final String ROUTING_REPORT_SERVICE = "enRoutingReportService";
161:
162: public static final String ROUTE_MODULE_SERVICE = "enRouteModuleService";
163:
164: public static final String EXCEPTION_ROUTING_SERVICE = "enExceptionRoutingService";
165:
166: public static final String ACTION_REGISTRY = "enActionRegistry";
167:
168: public static final String BRANCH_SERVICE = "enBranchService";
169:
170: public static final String WORKFLOW_MBEAN = "workflowMBean";
171:
172: public static final String NODE_SETTINGS = "nodeSettings";
173:
174: public static final String APPLICATION_CONSTANTS_CACHE = "applicationConstantsCache";
175:
176: public static final String JTA_TRANSACTION_MANAGER = "jtaTransactionManager";
177:
178: public static final String USER_TRANSACTION = "userTransaction";
179:
180: public static final String CACHE_ADMINISTRATOR = "enCacheAdministrator";
181:
182: public static final String SCHEDULER = "enScheduler";
183:
184: /**
185: * Polls for xml files on disk
186: */
187: public static final String XML_POLLER_SERVICE = "enXmlPollerService";
188:
189: /**
190: * Ingests xml docs containers
191: */
192: public static final String XML_INGESTER_SERVICE = "enXmlIngesterService";
193:
194: /**
195: * Delegates xml doc parsing
196: */
197: public static final String XML_DIGESTER_SERVICE = "enXmlDigesterService";
198:
199: /**
200: * Exports xml data
201: */
202: public static final String XML_EXPORTER_SERVICE = "enXmlExporterService";
203:
204: public static final String DB_TABLES_LOADER = "enDbTablesLoader";
205:
206: public static final String DB_PLATFORM = "enDbPlatform";
207:
208: public static final String ROUTE_NODE_SERVICE = "enRouteNodeService";
209:
210: public static final String WORKFLOW_ENGINE = "workflowEngine";
211:
212: public static final String EDOCLITE_SERVICE = "enEDocLiteService";
213:
214: public static final String STYLE_SERVICE = "enStyleService";
215:
216: public static final String ACTION_LIST_EMAIL_SERVICE = "enActionListEmailService";
217:
218: public static final String EMAIL_SERVICE = "enEmailService";
219:
220: public static final String EMAIL_CONTENT_SERVICE = "enEmailContentService";
221:
222: public static final String NOTIFICATION_SERVICE = "enNotificationService";
223:
224: public static final String TRANSACTION_MANAGER = "transactionManager";
225:
226: public static final String TRANSACTION_TEMPLATE = "transactionTemplate";
227:
228: public static final String JOTM = "jotm";
229:
230: public static final String HELP_SERVICE = "enHelpService";
231:
232: public static final String WORKFLOW_DOCUMENT_SERVICE = "enWorkflowDocumentService";
233:
234: public static final String EXTENSION_SERVICE = "enExtensionService";
235:
236: public static final String TRANSFORMATION_SERVICE = "enTransformationService";
237:
238: public static final String ENCRYPTION_SERVICE = "enEncryptionService";
239:
240: public static final String OPTIONAL_EMBEDDED_USER_SERVICE = "enOptionalEmbeddedClientUserService";
241:
242: public static final String OPTIONAL_EMBEDDED_WORKGROUP_SERVICE = "enOptionalEmbeddedClientWorkgroupService";
243:
244: /**
245: * @param serviceName
246: * the name of the service bean
247: * @return the service
248: */
249: public static Object getService(String serviceName) {
250: return getBean(serviceName);
251: }
252:
253: public static Object getBean(String serviceName) {
254: LOG.debug("Fetching service " + serviceName);
255: return GlobalResourceLoader.getResourceLoader().getService(
256: new QName(serviceName));
257: }
258:
259: public static WorkflowUtility getWorkflowUtilityService() {
260: return (WorkflowUtility) getBean(WORKFLOW_UTILITY_SERVICE);
261: }
262:
263: public static WorkflowDocumentActions getWorkflowDocumentActionsService() {
264: return (WorkflowDocumentActions) getBean(WORKFLOW_DOCUMENT_ACTIONS_SERVICE);
265: }
266:
267: public static DocumentTypeService getDocumentTypeService() {
268: return (DocumentTypeService) getBean(DOCUMENT_TYPE_SERVICE);
269: }
270:
271: public static ActionRequestService getActionRequestService() {
272: return (ActionRequestService) getBean(ACTION_REQUEST_SRV);
273: }
274:
275: public static UserService getUserService() {
276: return (UserService) getBean(USER_SERVICE);
277: }
278:
279: public static ActionTakenService getActionTakenService() {
280: return (ActionTakenService) getBean(ACTION_TAKEN_SRV);
281: }
282:
283: public static WorkgroupService getWorkgroupService() {
284: return (WorkgroupService) getBean(WORKGROUP_SRV);
285: }
286:
287: public static WorkgroupRoutingService getWorkgroupRoutingService() {
288: return (WorkgroupRoutingService) getBean(WORKGROUP_ROUTING_SERVICE);
289: }
290:
291: public static WorkgroupTypeService getWorkgroupTypeService() {
292: return (WorkgroupTypeService) getBean(WORKGROUP_TYPE_SERVICE);
293: }
294:
295: public static ResponsibilityIdService getResponsibilityIdService() {
296: return (ResponsibilityIdService) getBean(RESPONSIBILITY_ID_SERVICE);
297: }
298:
299: public static RouteHeaderService getRouteHeaderService() {
300: return (RouteHeaderService) getBean(DOC_ROUTE_HEADER_SRV);
301: }
302:
303: public static RuleTemplateService getRuleTemplateService() {
304: return (RuleTemplateService) getBean(RULE_TEMPLATE_SERVICE);
305: }
306:
307: public static RuleAttributeService getRuleAttributeService() {
308: return (RuleAttributeService) getBean(RULE_ATTRIBUTE_SERVICE);
309: }
310:
311: public static WorkflowDocumentService getWorkflowDocumentService() {
312: return (WorkflowDocumentService) getBean(WORKFLOW_DOCUMENT_SERVICE);
313: }
314:
315: public static MessageQueueService getRouteQueueService() {
316: return (MessageQueueService) getBean(ROUTE_QUEUE_SRV);
317: }
318:
319: public static RouteModuleService getRouteModuleService() {
320: return (RouteModuleService) getBean(ROUTE_MODULE_SERVICE);
321: }
322:
323: public static ApplicationConstantsService getApplicationConstantsService() {
324: return (ApplicationConstantsService) getBean(APPLICATION_CONSTANTS_SRV);
325: }
326:
327: public static RoleService getRoleService() {
328: return (RoleService) getBean(ROLE_SERVICE);
329: }
330:
331: public static RuleService getRuleService() {
332: return (RuleService) getBean(RULE_SERVICE);
333: }
334:
335: public static RuleDelegationService getRuleDelegationService() {
336: return (RuleDelegationService) getBean(RULE_DELEGATION_SERVICE);
337: }
338:
339: public static Current getJotm() {
340: Object jotm = getBean(JOTM);
341: if (jotm == null)
342: throw new RuntimeException("Could not locate JOTM.");
343: return (Current) jotm;
344: }
345:
346: public static HelpService getHelpService() {
347: return (HelpService) getBean(HELP_SERVICE);
348: }
349:
350: public static RoutingReportService getRoutingReportService() {
351: return (RoutingReportService) getBean(ROUTING_REPORT_SERVICE);
352: }
353:
354: public static PreferencesService getPreferencesService() {
355: return (PreferencesService) getBean(PREFERENCES_SERVICE);
356: }
357:
358: public static XmlPollerService getXmlPollerService() {
359: return (XmlPollerService) getBean(XML_POLLER_SERVICE);
360: }
361:
362: public static XmlIngesterService getXmlIngesterService() {
363: return (XmlIngesterService) getBean(XML_INGESTER_SERVICE);
364: }
365:
366: public static XmlDigesterService getXmlDigesterService() {
367: return (XmlDigesterService) getBean(XML_DIGESTER_SERVICE);
368: }
369:
370: public static XmlExporterService getXmlExporterService() {
371: return (XmlExporterService) getBean(XML_EXPORTER_SERVICE);
372: }
373:
374: public static DataSource getEdenDataSource() {
375: return (DataSource) getBean(EDEN_DATASOURCE);
376: }
377:
378: public static UserOptionsService getUserOptionsService() {
379: return (UserOptionsService) getBean(USER_OPTIONS_SRV);
380: }
381:
382: public static ActionListService getActionListService() {
383: return (ActionListService) getBean(ACTION_LIST_SRV);
384: }
385:
386: public static RouteNodeService getRouteNodeService() {
387: return (RouteNodeService) getBean(ROUTE_NODE_SERVICE);
388: }
389:
390: public static WorkflowEngine getWorkflowEngine() {
391: return (WorkflowEngine) getBean(WORKFLOW_ENGINE);
392: }
393:
394: public static EDocLiteService getEDocLiteService() {
395: return (EDocLiteService) getBean(EDOCLITE_SERVICE);
396: }
397:
398: public static StyleService getStyleService() {
399: return (StyleService) getBean(STYLE_SERVICE);
400: }
401:
402: public static WebAuthenticationService getWebAuthenticationService() {
403: return (WebAuthenticationService) getBean(WEB_AUTHENTICATION_SERVICE);
404: }
405:
406: public static WorkflowDocumentExceptionRoutingService getExceptionRoutingService() {
407: return (WorkflowDocumentExceptionRoutingService) getBean(EXCEPTION_ROUTING_SERVICE);
408: }
409:
410: public static ActionListEmailService getActionListEmailService() {
411: return (ActionListEmailService) getBean(KEWServiceLocator.ACTION_LIST_EMAIL_SERVICE);
412: }
413:
414: public static EmailService getEmailService() {
415: return (EmailService) getBean(KEWServiceLocator.EMAIL_SERVICE);
416: }
417:
418: public static EmailContentService getEmailContentService() {
419: return (EmailContentService) getBean(KEWServiceLocator.EMAIL_CONTENT_SERVICE);
420: }
421:
422: public static NotificationService getNotificationService() {
423: return (NotificationService) getBean(KEWServiceLocator.NOTIFICATION_SERVICE);
424: }
425:
426: public static TransactionManager getTransactionManager() {
427: return (TransactionManager) getBean(JTA_TRANSACTION_MANAGER);
428: }
429:
430: public static UserTransaction getUserTransaction() {
431: return (UserTransaction) getBean(USER_TRANSACTION);
432: }
433:
434: public static NoteService getNoteService() {
435: return (NoteService) getBean(NOTE_SERVICE);
436: }
437:
438: public static OptimisticLockFailureService getOptimisticLockFailureService() {
439: return (OptimisticLockFailureService) getBean(OPTIMISTIC_LOCK_FAILURE_SERVICE);
440: }
441:
442: public static ActionRegistry getActionRegistry() {
443: return (ActionRegistry) getBean(ACTION_REGISTRY);
444: }
445:
446: public static NodeSettings getNodeSettings() {
447: return (NodeSettings) getBean(NODE_SETTINGS);
448: }
449:
450: public static RiceCacheAdministrator getCacheAdministrator() {
451: return (RiceCacheAdministrator) getBean(CACHE_ADMINISTRATOR);
452: }
453:
454: public static EncryptionService getEncryptionService() {
455: return (EncryptionService) getBean(ENCRYPTION_SERVICE);
456: }
457:
458: public static BranchService getBranchService() {
459: return (BranchService) getBean(BRANCH_SERVICE);
460: }
461:
462: }
|