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; 030import org.springframework.web.servlet.ModelAndView; 031 032/** 033 * Service locator for the KRAD Web module 034 * 035 * @author Kuali Rice Team (rice.collab@kuali.org) 036 */ 037public class KRADServiceLocatorWeb { 038 039 public static final class Namespaces { 040 public static final String MODULE_NAME = "krad"; 041 public static final String KRAD_NAMESPACE_PREFIX = 042 CoreConstants.Namespaces.ROOT_NAMESPACE_PREFIX + "/" + MODULE_NAME; 043 044 /** 045 * Namespace for the krad module which is compatible with Kuali Rice 2.0.x. 046 */ 047 public static final String KRAD_NAMESPACE_2_0 = 048 KRAD_NAMESPACE_PREFIX + "/" + CoreConstants.Versions.VERSION_2_0; 049 050 } 051 052 public static final String DATA_DICTIONARY_REMOTE_FIELD_SERVICE = "dataDictionaryRemoteFieldService"; 053 public static final String DATA_DICTIONARY_COMPONENT_PUBLISHER_SERVICE = "dataDictionaryComponentPublisherService"; 054 public static final String DOCUMENT_DICTIONARY_SERVICE = "documentDictionaryService"; 055 public static final String DATA_OBJECT_AUTHORIZATION_SERVICE = "dataObjectAuthorizationService"; 056 public static final String MAINTENANCE_DOCUMENT_SERVICE = "maintenanceDocumentService"; 057 public static final String WORKFLOW_DOCUMENT_SERVICE = "workflowDocumentService"; 058 public static final String EXCEPTION_INCIDENT_REPORT_SERVICE = "kradExceptionIncidentService"; 059 public static final String FEEDBACK_REPORT_SERVICE = "kradFeedbackService"; 060 /* KULRICE-12304: Added a new locator for the new MaintainableXMLConversionService */ 061 public static final String MAINTAINABLE_XML_CONVERSION_SERVICE = "kradMaintainableXMLConversionService"; 062 063 public static final String DATA_DICTIONARY_SERVICE = "dataDictionaryService"; 064 public static final String PESSIMISTIC_LOCK_SERVICE = "pessimisticLockService"; 065 public static final String KUALI_MODULE_SERVICE = "kualiModuleService"; 066 public static final String KUALI_RULE_SERVICE = "kualiRuleService"; 067 public static final String DOCUMENT_SERVICE = "documentService"; 068 public static final String DOCUMENT_HEADER_SERVICE = "documentHeaderService"; 069 public static final String DOCUMENT_SERIALIZER_SERVICE = "documentSerializerService"; 070 public static final String LOOKUP_SERVICE = "lookupService"; 071 public static final String DICTIONARY_VALIDATION_SERVICE = "dictionaryValidationService"; 072 public static final String DEFAULT_INACTIVATION_BLOCKING_DETECTION_SERVICE = "inactivationBlockingDetectionService"; 073 public static final String VIEW_SERVICE = "viewService"; 074 public static final String VIEW_DICTIONARY_SERVICE = "viewDictionaryService"; 075 public static final String VIEW_VALIDATION_SERVICE = "viewValidationService"; 076 public static final String ATTRIBUTE_QUERY_SERVICE = "attributeQueryService"; 077 public static final String MESSAGE_SERVICE = "messageService"; 078 public static final String POST_PROCESSOR_SERVICE = "postProcessorService"; 079 public static final String INACTIVATION_BLOCKING_DISPLAY_SERVICE = "inactivationBlockingDisplayService"; 080 public static final String LEGACY_DATA_ADAPTER = "legacyDataAdapter"; 081 public static final String UIF_DEFAULTING_SERVICE = "uifDefaultingService"; 082 public static final String EXPRESSION_EVALUATOR_FACTORY = "expressionEvaluatorFactory"; 083 public static final String VIEW_LIFECYCLE_PHASE_BUILDER = "viewLifecyclePhaseBuilder"; 084 public static final String MODEL_AND_VIEW_SERVICE = "modelAndViewService"; 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 /** 207 * Gets a globally defined instance of {@link org.kuali.rice.krad.uif.view.ExpressionEvaluatorFactory}. 208 * 209 * @return globally defined expression evaluator factory 210 */ 211 public static ExpressionEvaluatorFactory getExpressionEvaluatorFactory() { 212 return getService(EXPRESSION_EVALUATOR_FACTORY); 213 } 214 215 /** 216 * Returns a {@link ViewLifecyclePhaseBuilder} for defining lifecycle phases. 217 * 218 * @return ViewLifecyclePhaseBuilder 219 */ 220 public static ViewLifecyclePhaseBuilder getViewLifecyclePhaseBuilder() { 221 return getService(VIEW_LIFECYCLE_PHASE_BUILDER); 222 } 223 224 /** 225 * Returns the legacy data adapter for handling legacy KNS and KRAD data and metadata. 226 * 227 * @return the legacy data adapter 228 * @deprecated application code should never use this! Always use KRAD code directly. 229 */ 230 @Deprecated 231 public static LegacyDataAdapter getLegacyDataAdapter() { 232 return getService(LEGACY_DATA_ADAPTER); 233 } 234 235}