001/**
002 * Copyright 2005-2016 The Kuali Foundation
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package org.kuali.rice.krad.service;
017
018import org.kuali.rice.core.api.CoreConstants;
019import org.kuali.rice.core.api.resourceloader.GlobalResourceLoader;
020import org.kuali.rice.krad.lookup.Lookupable;
021import org.kuali.rice.krad.uif.service.AttributeQueryService;
022import org.kuali.rice.krad.uif.service.ExpressionEvaluatorService;
023import org.kuali.rice.krad.uif.service.ViewDictionaryService;
024import org.kuali.rice.krad.uif.service.ViewService;
025import org.kuali.rice.krad.workflow.service.WorkflowDocumentService;
026
027/**
028 * Service locator for the KRAD Web module
029 *
030 * @author Kuali Rice Team (rice.collab@kuali.org)
031 */
032public class KRADServiceLocatorWeb {
033
034    public static final class Namespaces {
035        public static final String MODULE_NAME = "krad";
036        public static final String KRAD_NAMESPACE_PREFIX =
037                CoreConstants.Namespaces.ROOT_NAMESPACE_PREFIX + "/" + MODULE_NAME;
038
039        /**
040         * Namespace for the krad module which is compatible with Kuali Rice 2.0.x.
041         */
042        public static final String KRAD_NAMESPACE_2_0 =
043                KRAD_NAMESPACE_PREFIX + "/" + CoreConstants.Versions.VERSION_2_0;
044
045    }
046
047    public static final String DATA_DICTIONARY_REMOTE_FIELD_SERVICE = "dataDictionaryRemoteFieldService";
048    public static final String DOCUMENT_DICTIONARY_SERVICE = "documentDictionaryService";
049    public static final String SESSION_DOCUMENT_SERVICE = "sessionDocumentService";
050    public static final String DATA_OBJECT_AUTHORIZATION_SERVICE = "dataObjectAuthorizationService";
051    public static final String MAINTENANCE_DOCUMENT_SERVICE = "maintenanceDocumentService";
052    public static final String WORKFLOW_DOCUMENT_SERVICE = "workflowDocumentService";
053    public static final String EXCEPTION_INCIDENT_REPORT_SERVICE = "kradExceptionIncidentService";
054    public static final String FEEDBACK_REPORT_SERVICE = "kradFeedbackService";
055    public static final String DATA_DICTIONARY_SERVICE = "dataDictionaryService";
056    public static final String DOCUMENT_HEADER_SERVICE = "documentHeaderService";
057    public static final String PESSIMISTIC_LOCK_SERVICE = "pessimisticLockService";
058    public static final String PERSISTENCE_SERVICE_OJB = "persistenceServiceOjb";
059    public static final String KUALI_MODULE_SERVICE = "kualiModuleService";
060    public static final String KUALI_RULE_SERVICE = "kualiRuleService";
061    public static final String DOCUMENT_SERVICE = "documentService";
062    public static final String DOCUMENT_SERIALIZER_SERVICE = "documentSerializerService";
063    public static final String LOOKUP_SERVICE = "lookupService";
064    public static final String DICTIONARY_VALIDATION_SERVICE = "dictionaryValidationService";
065    public static final String DEFAULT_INACTIVATION_BLOCKING_DETECTION_SERVICE = "inactivationBlockingDetectionService";
066    public static final String DATA_OBJECT_METADATA_SERVICE = "dataObjectMetaDataService";
067    public static final String EXPRESSION_EVALUATOR_SERVICE = "expressionEvaluatorService";
068    public static final String VIEW_SERVICE = "viewService";
069    public static final String VIEW_DICTIONARY_SERVICE = "viewDictionaryService";
070    public static final String VIEW_VALIDATION_SERVICE = "viewValidationService";
071    public static final String ATTRIBUTE_QUERY_SERVICE = "attributeQueryService";
072
073    public static <T extends Object> T getService(String serviceName) {
074        return GlobalResourceLoader.<T>getService(serviceName);
075    }
076
077    public static DocumentDictionaryService getDocumentDictionaryService() {
078        return getService(DOCUMENT_DICTIONARY_SERVICE);
079    }
080
081    public static SessionDocumentService getSessionDocumentService() {
082        return getService(SESSION_DOCUMENT_SERVICE);
083    }
084
085    public static DataObjectAuthorizationService getDataObjectAuthorizationService() {
086        return getService(DATA_OBJECT_AUTHORIZATION_SERVICE);
087    }
088
089    public static MaintenanceDocumentService getMaintenanceDocumentService() {
090        return getService(MAINTENANCE_DOCUMENT_SERVICE);
091    }
092
093    public static WorkflowDocumentService getWorkflowDocumentService() {
094        return getService(WORKFLOW_DOCUMENT_SERVICE);
095    }
096
097    public static final KualiExceptionIncidentService getKualiExceptionIncidentService() {
098        return getService(EXCEPTION_INCIDENT_REPORT_SERVICE);
099    }
100
101    public static final KualiFeedbackService getKualiFeedbackService() {
102        return getService(FEEDBACK_REPORT_SERVICE);
103    }
104
105    public static DataDictionaryService getDataDictionaryService() {
106        return getService(DATA_DICTIONARY_SERVICE);
107    }
108
109    public static DocumentHeaderService getDocumentHeaderService() {
110        return getService(DOCUMENT_HEADER_SERVICE);
111    }
112
113    public static PessimisticLockService getPessimisticLockService() {
114        return getService(PESSIMISTIC_LOCK_SERVICE);
115    }
116
117    public static Lookupable getLookupable(String lookupableName) {
118        return getService(lookupableName);
119    }
120
121    public static PersistenceService getPersistenceServiceOjb() {
122        return getService(PERSISTENCE_SERVICE_OJB);
123    }
124
125    public static KualiModuleService getKualiModuleService() {
126        return getService(KUALI_MODULE_SERVICE);
127    }
128
129    public static KualiRuleService getKualiRuleService() {
130        return getService(KUALI_RULE_SERVICE);
131    }
132
133    public static DocumentService getDocumentService() {
134        return getService(DOCUMENT_SERVICE);
135    }
136
137    public static DocumentSerializerService getDocumentSerializerService() {
138        return (DocumentSerializerService) getService(DOCUMENT_SERIALIZER_SERVICE);
139    }
140
141    public static LookupService getLookupService() {
142        return (LookupService) getService(LOOKUP_SERVICE);
143    }
144
145    public static DictionaryValidationService getDictionaryValidationService() {
146        return (DictionaryValidationService) getService(DICTIONARY_VALIDATION_SERVICE);
147    }
148
149    public static InactivationBlockingDetectionService getInactivationBlockingDetectionService(String serviceName) {
150        return (InactivationBlockingDetectionService) getService(serviceName);
151    }
152
153    public static DataObjectMetaDataService getDataObjectMetaDataService() {
154        return (DataObjectMetaDataService) getService(DATA_OBJECT_METADATA_SERVICE);
155    }
156
157    public static ExpressionEvaluatorService getExpressionEvaluatorService() {
158        return (ExpressionEvaluatorService) getService(EXPRESSION_EVALUATOR_SERVICE);
159    }
160
161    public static ViewService getViewService() {
162        return (ViewService) getService(VIEW_SERVICE);
163    }
164
165    public static ViewDictionaryService getViewDictionaryService() {
166        return (ViewDictionaryService) getService(VIEW_DICTIONARY_SERVICE);
167    }
168
169    public static ViewValidationService getViewValidationService() {
170        return (ViewValidationService) getService(VIEW_VALIDATION_SERVICE);
171    }
172
173    public static AttributeQueryService getAttributeQueryService() {
174        return (AttributeQueryService) getService(ATTRIBUTE_QUERY_SERVICE);
175    }
176
177    public static DataDictionaryRemoteFieldService getDataDictionaryRemoteFieldService() {
178        return (DataDictionaryRemoteFieldService) getService(DATA_DICTIONARY_REMOTE_FIELD_SERVICE);
179    }
180}