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.messages.MessageService; 022import org.kuali.rice.krad.uif.lifecycle.ViewLifecyclePhaseBuilder; 023import org.kuali.rice.krad.uif.service.AttributeQueryService; 024import org.kuali.rice.krad.uif.service.UifDefaultingService; 025import org.kuali.rice.krad.uif.service.ViewDictionaryService; 026import org.kuali.rice.krad.uif.service.ViewService; 027import org.kuali.rice.krad.uif.view.ExpressionEvaluatorFactory; 028import org.kuali.rice.krad.web.service.ModelAndViewService; 029import org.kuali.rice.krad.workflow.service.WorkflowDocumentService; 030 031/** 032 * Service locator for the KRAD Web module 033 * 034 * @author Kuali Rice Team (rice.collab@kuali.org) 035 */ 036public class KRADServiceLocatorWeb { 037 038 public static final class Namespaces { 039 public static final String MODULE_NAME = "krad"; 040 public static final String KRAD_NAMESPACE_PREFIX = 041 CoreConstants.Namespaces.ROOT_NAMESPACE_PREFIX + "/" + MODULE_NAME; 042 043 /** 044 * Namespace for the krad module which is compatible with Kuali Rice 2.0.x. 045 */ 046 public static final String KRAD_NAMESPACE_2_0 = 047 KRAD_NAMESPACE_PREFIX + "/" + CoreConstants.Versions.VERSION_2_0; 048 049 } 050 051 public static final String DATA_DICTIONARY_REMOTE_FIELD_SERVICE = "dataDictionaryRemoteFieldService"; 052 public static final String DATA_DICTIONARY_COMPONENT_PUBLISHER_SERVICE = "dataDictionaryComponentPublisherService"; 053 public static final String DOCUMENT_DICTIONARY_SERVICE = "documentDictionaryService"; 054 public static final String DATA_OBJECT_AUTHORIZATION_SERVICE = "dataObjectAuthorizationService"; 055 public static final String MAINTENANCE_DOCUMENT_SERVICE = "maintenanceDocumentService"; 056 public static final String WORKFLOW_DOCUMENT_SERVICE = "workflowDocumentService"; 057 public static final String EXCEPTION_INCIDENT_REPORT_SERVICE = "kradExceptionIncidentService"; 058 public static final String FEEDBACK_REPORT_SERVICE = "kradFeedbackService"; 059 /* KULRICE-12304: Added a new locator for the new MaintainableXMLConversionService */ 060 public static final String MAINTAINABLE_XML_CONVERSION_SERVICE = "kradMaintainableXMLConversionService"; 061 062 public static final String DATA_DICTIONARY_SERVICE = "dataDictionaryService"; 063 public static final String PESSIMISTIC_LOCK_SERVICE = "pessimisticLockService"; 064 public static final String KUALI_MODULE_SERVICE = "kualiModuleService"; 065 public static final String KUALI_RULE_SERVICE = "kualiRuleService"; 066 public static final String DOCUMENT_SERVICE = "documentService"; 067 public static final String DOCUMENT_HEADER_SERVICE = "documentHeaderService"; 068 public static final String DOCUMENT_SERIALIZER_SERVICE = "documentSerializerService"; 069 public static final String LOOKUP_SERVICE = "lookupService"; 070 public static final String DICTIONARY_VALIDATION_SERVICE = "dictionaryValidationService"; 071 public static final String DEFAULT_INACTIVATION_BLOCKING_DETECTION_SERVICE = "inactivationBlockingDetectionService"; 072 public static final String VIEW_SERVICE = "viewService"; 073 public static final String VIEW_DICTIONARY_SERVICE = "viewDictionaryService"; 074 public static final String VIEW_VALIDATION_SERVICE = "viewValidationService"; 075 public static final String ATTRIBUTE_QUERY_SERVICE = "attributeQueryService"; 076 public static final String MESSAGE_SERVICE = "messageService"; 077 public static final String POST_PROCESSOR_SERVICE = "postProcessorService"; 078 public static final String INACTIVATION_BLOCKING_DISPLAY_SERVICE = "inactivationBlockingDisplayService"; 079 public static final String LEGACY_DATA_ADAPTER = "legacyDataAdapter"; 080 public static final String UIF_DEFAULTING_SERVICE = "uifDefaultingService"; 081 public static final String EXPRESSION_EVALUATOR_FACTORY = "expressionEvaluatorFactory"; 082 public static final String VIEW_LIFECYCLE_PHASE_BUILDER = "viewLifecyclePhaseBuilder"; 083 public static final String MODEL_AND_VIEW_SERVICE = "modelAndViewService"; 084 public static final String CSRF_SERVICE = "csrfService"; 085 086 public static <T extends Object> T getService(String serviceName) { 087 return GlobalResourceLoader.<T>getService(serviceName); 088 } 089 090 public static DocumentDictionaryService getDocumentDictionaryService() { 091 return getService(DOCUMENT_DICTIONARY_SERVICE); 092 } 093 094 public static DataObjectAuthorizationService getDataObjectAuthorizationService() { 095 return getService(DATA_OBJECT_AUTHORIZATION_SERVICE); 096 } 097 098 public static MaintenanceDocumentService getMaintenanceDocumentService() { 099 return getService(MAINTENANCE_DOCUMENT_SERVICE); 100 } 101 102 public static WorkflowDocumentService getWorkflowDocumentService() { 103 return getService(WORKFLOW_DOCUMENT_SERVICE); 104 } 105 106 public static DocumentHeaderService getDocumentHeaderService() { 107 return getService(DOCUMENT_HEADER_SERVICE); 108 } 109 110 public static final KualiExceptionIncidentService getKualiExceptionIncidentService() { 111 return getService(EXCEPTION_INCIDENT_REPORT_SERVICE); 112 } 113 114 public static final KualiFeedbackService getKualiFeedbackService() { 115 return getService(FEEDBACK_REPORT_SERVICE); 116 } 117 /* KULRICE-12304:Added a new locator for the new MaintainableXMLConversionService */ 118 public static final MaintainableXMLConversionService getMaintainableXMLConversionService() { 119 return getService(MAINTAINABLE_XML_CONVERSION_SERVICE); 120 } 121 122 public static DataDictionaryService getDataDictionaryService() { 123 return getService(DATA_DICTIONARY_SERVICE); 124 } 125 126 public static PessimisticLockService getPessimisticLockService() { 127 return getService(PESSIMISTIC_LOCK_SERVICE); 128 } 129 130 public static Lookupable getLookupable(String lookupableName) { 131 return getService(lookupableName); 132 } 133 134 public static KualiModuleService getKualiModuleService() { 135 return getService(KUALI_MODULE_SERVICE); 136 } 137 138 public static KualiRuleService getKualiRuleService() { 139 return getService(KUALI_RULE_SERVICE); 140 } 141 142 public static DocumentService getDocumentService() { 143 return getService(DOCUMENT_SERVICE); 144 } 145 146 public static DocumentSerializerService getDocumentSerializerService() { 147 return (DocumentSerializerService) getService(DOCUMENT_SERIALIZER_SERVICE); 148 } 149 150 public static LookupService getLookupService() { 151 return (LookupService) getService(LOOKUP_SERVICE); 152 } 153 154 public static DictionaryValidationService getDictionaryValidationService() { 155 return (DictionaryValidationService) getService(DICTIONARY_VALIDATION_SERVICE); 156 } 157 158 public static InactivationBlockingDetectionService getInactivationBlockingDetectionService(String serviceName) { 159 return (InactivationBlockingDetectionService) getService(serviceName); 160 } 161 162 public static ViewService getViewService() { 163 return (ViewService) getService(VIEW_SERVICE); 164 } 165 166 public static ViewDictionaryService getViewDictionaryService() { 167 return (ViewDictionaryService) getService(VIEW_DICTIONARY_SERVICE); 168 } 169 170 public static ViewValidationService getViewValidationService() { 171 return (ViewValidationService) getService(VIEW_VALIDATION_SERVICE); 172 } 173 174 public static AttributeQueryService getAttributeQueryService() { 175 return (AttributeQueryService) getService(ATTRIBUTE_QUERY_SERVICE); 176 } 177 178 public static ModelAndViewService getModelAndViewService() { 179 return (ModelAndViewService) getService(MODEL_AND_VIEW_SERVICE); 180 } 181 182 public static DataDictionaryRemoteFieldService getDataDictionaryRemoteFieldService() { 183 return (DataDictionaryRemoteFieldService) getService(DATA_DICTIONARY_REMOTE_FIELD_SERVICE); 184 } 185 186 public static MessageService getMessageService() { 187 return getService(MESSAGE_SERVICE); 188 } 189 190 public static DataDictionaryComponentPublisherService getDataDictionaryComponentPublisherService() { 191 return getService(DATA_DICTIONARY_COMPONENT_PUBLISHER_SERVICE); 192 } 193 194 public static PostProcessorService getPostProcessorService() { 195 return (PostProcessorService) getService(POST_PROCESSOR_SERVICE); 196 } 197 198 public static InactivationBlockingDisplayService getInactivationBlockingDisplayService() { 199 return (InactivationBlockingDisplayService) getService(INACTIVATION_BLOCKING_DISPLAY_SERVICE); 200 } 201 202 public static UifDefaultingService getUifDefaultingService() { 203 return getService(UIF_DEFAULTING_SERVICE); 204 } 205 206 public static CsrfService getCsrfService() { 207 return getService(CSRF_SERVICE); 208 } 209 210 /** 211 * Gets a globally defined instance of {@link org.kuali.rice.krad.uif.view.ExpressionEvaluatorFactory}. 212 * 213 * @return globally defined expression evaluator factory 214 */ 215 public static ExpressionEvaluatorFactory getExpressionEvaluatorFactory() { 216 return getService(EXPRESSION_EVALUATOR_FACTORY); 217 } 218 219 /** 220 * Returns a {@link ViewLifecyclePhaseBuilder} for defining lifecycle phases. 221 * 222 * @return ViewLifecyclePhaseBuilder 223 */ 224 public static ViewLifecyclePhaseBuilder getViewLifecyclePhaseBuilder() { 225 return getService(VIEW_LIFECYCLE_PHASE_BUILDER); 226 } 227 228 /** 229 * Returns the legacy data adapter for handling legacy KNS and KRAD data and metadata. 230 * 231 * @return the legacy data adapter 232 * @deprecated application code should never use this! Always use KRAD code directly. 233 */ 234 @Deprecated 235 public static LegacyDataAdapter getLegacyDataAdapter() { 236 return getService(LEGACY_DATA_ADAPTER); 237 } 238 239}