View Javadoc

1   /**
2    * Copyright 2005-2012 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  /*
17   *
18   * Licensed under the Educational Community License, Version 2.0 (the "License");
19   * you may not use this file except in compliance with the License.
20   * You may obtain a copy of the License at
21   *
22   * http://www.opensource.org/licenses/ecl2.php
23   *
24   * Unless required by applicable law or agreed to in writing, software
25   * distributed under the License is distributed on an "AS IS" BASIS,
26   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27   * See the License for the specific language governing permissions and
28   * limitations under the License.
29   */
30  package org.kuali.rice.krad.util;
31  
32  import java.util.ArrayList;
33  import java.util.List;
34  
35  import org.kuali.rice.core.api.CoreConstants;
36  
37  /**
38   * Defines Global Constants for the KRAD Module
39   *
40   * @author Kuali Rice Team (rice.collab@kuali.org)
41   */
42  public final class KRADConstants {
43  
44      private KRADConstants() {
45  		throw new UnsupportedOperationException("do not call");
46  	}
47  
48      public static final String MODULE_NAME = "krad";
49  
50      public static final String KR_MODULE_NAME = "kr";
51  
52      // special user used in the post-processor
53      public static final String SYSTEM_USER = "kr";
54  
55      public static final String KRAD_URL_KEY = "krad.url";
56      public static final String KRAD_INQUIRY_URL_KEY = "krad.inquiry.url";
57      public static final String KRAD_LOOKUP_URL_KEY = "krad.lookup.url";
58  
59      public static final String PARAM_MAINTENANCE_VIEW_MODE = "maintenanceViewMode";
60      public static final String PARAM_MAINTENANCE_VIEW_MODE_MAINTENANCE = "maintenance";
61      public static final String PARAM_MAINTENANCE_VIEW_MODE_LOOKUP = "lookup";
62      public static final String PARAM_MAINTENANCE_VIEW_MODE_INQUIRY = "inquiry";
63      
64      public static final String KNS_NAMESPACE = "KR-NS";
65      public static final String KRAD_NAMESPACE = "KR-KRAD";
66      public static final String KUALI_RICE_SYSTEM_NAMESPACE = "KR-SYS";
67      public static final String KUALI_RICE_WORKFLOW_NAMESPACE = "KR-WKFLW";
68      public static final String KUALI_RICE_SERVICE_BUS_NAMESPACE = "KR-BUS";
69  
70      public static final String KUALI_ACTION_CAN_EDIT = "canEdit";
71      public static final String KUALI_ACTION_CAN_ANNOTATE = "canAnnotate";
72  	public static final String KUALI_ACTION_CAN_CLOSE = "canClose";
73  	public static final String KUALI_ACTION_CAN_SAVE = "canSave";
74  	public static final String KUALI_ACTION_CAN_ROUTE = "canRoute";
75  	public static final String KUALI_ACTION_CAN_CANCEL = "canCancel";
76  	public static final String KUALI_ACTION_CAN_RELOAD = "canReload";
77  	public static final String KUALI_ACTION_CAN_COPY ="canCopy";
78  	public static final String KUALI_ACTION_PERFORM_ROUTE_REPORT = "canPerformRouteReport";
79  	public static final String KUALI_ACTION_CAN_AD_HOC_ROUTE = "canAdHocRoute";
80      public static final String KUALI_ACTION_CAN_BLANKET_APPROVE ="canBlanketApprove";
81      public static final String KUALI_ACTION_CAN_ACKNOWLEDGE = "canAcknowledge";
82      public static final String KUALI_ACTION_CAN_FYI = "canFYI";
83      public static final String KUALI_ACTION_CAN_APPROVE = "canApprove";
84      public static final String KUALI_ACTION_CAN_DISAPPROVE = "canDisapprove";
85      public static final String KUALI_ACTION_CAN_CREATE = "canCreate";
86      public static final String KUALI_ACTION_CAN_SEND_ADHOC_REQUESTS = "canSendAdHocRequests";
87      public static final String KUALI_ACTION_CAN_ADD_ADHOC_REQUESTS = "canAddAdHocRequests";
88      public static final String KUALI_ACTION_CAN_SEND_NOTE_FYI = "canSendNoteFyi";
89      public static final String KUALI_ACTION_CAN_EDIT_DOCUMENT_OVERVIEW = "canEditDocumentOverview";
90      public static final String KUALI_ACTION_CAN_EXPORT = "canExport";
91      public static final String KUALI_DEFAULT_TRUE_VALUE = "true";
92      public static final String USE_CACHE_ADMINISTRATION_SCREEN = "Use Cache Adminstration Screen";
93      
94      public static final class DetailTypes {
95          public static final String NA_PARM_DETAIL_TYPE = "N/A";
96          public static final String ALL_DETAIL_TYPE = "All";
97          public static final String LOOKUP_PARM_DETAIL_TYPE = "Lookup";
98          public static final String UNIVERSAL_USER_DETAIL_TYPE = "Person";
99          public static final String KUALI_MODULE_USER_DETAIL_TYPE = "KualiModuleUser";
100         public static final String DOCUMENT_DETAIL_TYPE = "Document";
101         public static final String DOCUMENT_TYPE_DETAIL_TYPE = "DocumentType";
102         public static final String RULE_DETAIL_TYPE = "Rule";
103         public static final String ACTION_LIST_DETAIL_TYPE = "ActionList";
104         public static final String BACKDOOR_DETAIL_TYPE = "Backdoor";
105         public static final String DOCUMENT_SEARCH_DETAIL_TYPE = "DocumentSearch";
106         public static final String EDOC_LITE_DETAIL_TYPE = "EDocLite";
107         public static final String FEATURE_DETAIL_TYPE = "Feature";
108         public static final String GLOBAL_REVIEWER_DETAIL_TYPE = "GlobalReviewer";
109         public static final String MAILER_DETAIL_TYPE = "Mailer";
110         public static final String NOTE_DETAIL_TYPE = "Note";
111         public static final String QUICK_LINK_DETAIL_TYPE = "QuickLink";
112         public static final String ROUTE_QUEUE_DETAIL_TYPE = "RouteQueue";
113         public static final String ROUTE_DETAIL_TYPE = "Route";
114         public static final String RULE_SERVICE_DETAIL_TYPE = "RuleBaseValues";
115         public static final String RULE_TEMPLATE_DETAIL_TYPE = "RuleTemplate";
116         public static final String WORKGROUP_DETAIL_TYPE = "Notification";
117         
118     	private DetailTypes() {
119     		throw new UnsupportedOperationException("do not call");
120     	}
121     }
122 
123     public static final class DocumentFormHeaderFieldIds {
124     	public static final String DOCUMENT_NUMBER = "documentNumber";
125     	public static final String DOCUMENT_WORKFLOW_STATUS = "documentStatus";
126     	public static final String DOCUMENT_INITIATOR = "documentInitiator";
127     	public static final String DOCUMENT_CREATE_DATE = "documentCreateDate";
128     	public static final String DOCUMENT_TEMPLATE_NUMBER = "documentTemplateNumber";
129     	
130     	private DocumentFormHeaderFieldIds() {
131     		throw new UnsupportedOperationException("do not call");
132     	}
133     }
134 
135     public static final String MAX_UPLOAD_SIZE_PARM_NM = "MAX_FILE_SIZE_DEFAULT_UPLOAD";
136 
137     public static final String UPLOADED_FILE_REQUEST_ATTRIBUTE_KEY = "org.kuali.rice.krad.util.WebUtils.uploadedFiles";
138 
139     public static final String NOTE_WORKFLOW_NOTIFICATION_REQUEST_LABEL = "READ NOTES";
140 
141     public static final String SEND_NOTE_WORKFLOW_NOTIFICATION_ACTIONS_PARM_NM = "SEND_NOTE_WORKFLOW_NOTIFICATION_ACTIONS";
142     public static final String ATTACHMENT_MAX_FILE_SIZE_PARM_NM = "MAX_FILE_SIZE_ATTACHMENT";
143     public static final String DOCUMENT_HTTP_SESSION_KEY = "documentHttpSessionKey";
144 
145 //    public static final String CONFIGURATION_FILE_NAME = "configuration";
146     public static final String ENVIRONMENT_KEY = org.kuali.rice.core.api.config.property.Config.ENVIRONMENT;
147     public static final String MESSAGE_RESOURCES = "rice.struts.message.resources";
148 //    public static final String VERSION_KEY = "version";
149 //    public static final String LOG4J_SETTINGS_FILE_KEY = "log4j.settings.file";
150 //    public static final String LOGS_DIRECTORY_KEY = "logs.directory";
151 //    public static final String LOG4J_RELOAD_MINUTES_KEY = "log4j.reload.minutes";
152 //    public static final String STARTUP_STATS_MAILING_LIST_KEY = "startup.stats.mailing.list";
153     public static final String APPLICATION_URL_KEY = "application.url";
154     public static final String ATTACHMENTS_DIRECTORY_KEY = "attachments.directory";
155     public static final String ATTACHMENTS_PENDING_DIRECTORY_KEY = "attachments.pending.directory";
156 //    public static final String HTDOCS_LOGS_URL_KEY = "htdocs.logs.url";
157 //    public static final String HTDOCS_STAGING_URL_KEY = "htdocs.staging.url";
158     public static final String EXTERNALIZABLE_HELP_URL_KEY = "externalizable.help.url";
159     public static final String APPLICATION_EXTERNALIZABLE_IMAGES_URL_KEY = "externalizable.images.url";
160     public static final String EXTERNALIZABLE_IMAGES_URL_KEY = "kr.externalizable.images.url";
161 //    public static final String REPORTS_DIRECTORY_KEY = "reports.directory";
162     public static final String WORKFLOW_URL_KEY = "workflow.url";
163     public static final String KUALI_RICE_URL_KEY = "kr.url";
164     public static final String PROD_ENVIRONMENT_CODE_KEY = org.kuali.rice.core.api.config.property.Config.PROD_ENVIRONMENT_CODE;
165     public static final String DOC_HANDLER_ACTION = "DocHandler.do";
166     public static final String DOCHANDLER_DO_URL = "/" + DOC_HANDLER_ACTION + "?docId=";
167     public static final String DOCHANDLER_URL_CHUNK = "&command=displayDocSearchView";
168     public static final String SUPERUSER_ACTION = "SuperUser.do";
169 
170 //    public static final String DATABASE_REPOSITORY_FILES_LIST_NAME = "databaseRepositoryFilePaths";
171     public static final String SCRIPT_CONFIGURATION_FILES_LIST_NAME = "scriptConfigurationFilePaths";
172 //    public static final String JOB_NAMES_LIST_NAME = "jobNames";
173 //    public static final String TRIGGER_NAMES_LIST_NAME = "triggerNames";
174 
175     public static final String ACTION_FORM_UTIL_MAP_METHOD_PARM_DELIMITER = "~";
176     public static final String ADD_LINE_METHOD = "addLine";
177     public static final String ADD_PREFIX = "add";
178     public static final String YES_INDICATOR_VALUE = "Y";
179     public static final String NO_INDICATOR_VALUE = "N";
180 //    public static final String AMOUNT_PROPERTY_NAME = "amount";
181 //    public static final String APPROVE_METHOD = "approve";
182 //    public static final String NON_ACTIVE_INDICATOR = "N";
183     public static final String BLANK_SPACE = " ";
184     public static final String BACK_LOCATION = "backLocation";
185     public static final String BACKDOOR_PARAMETER = "backdoorId";
186     public static final String LOGOFF_REDIRECT_URL_PARAMETER = "LOGOFF_REDIRECT_URL";
187     public static final String LOGOFF_REDIRECT_URL_PROPERTY = "rice.portal.logout.redirectUrl";
188     public static final String PORTAL_ALLOWED_REGEX = "rice.portal.allowed.regex";
189 //    public static final String BLANKET_APPROVE_METHOD = "blanketApprove";
190     public static final String BUSINESS_OBJECT_CLASS_ATTRIBUTE = "businessObjectClassName";
191     public static final String DATA_OBJECT_CLASS_ATTRIBUTE = "dataObjectClassName";
192     public static final String CALLING_METHOD = "caller";
193     public static final String CONFIRMATION_QUESTION = "confirmationQuestion";
194     public static final String CONVERSION_FIELDS_PARAMETER = "conversionFields";
195     public static final String FIELDS_CONVERSION_PARAMETER = "fieldConversions";
196     public static final String LOOKUP_READ_ONLY_FIELDS = "readOnlyFields";
197     public static final String LOOKUP_AUTO_SEARCH = "autoSearch";
198     public static final String SEARCH_METHOD = "search";
199 //    public static final String DEFAULT_RETURN_LOCATION = "lookup.do";
200     public static final String DELETE_LINE_METHOD = "deleteLine";
201     public static final String TOGGLE_INACTIVE_METHOD = "toggleInactiveRecordDisplay";
202     public static final String DICTIONARY_BO_NAME = "dictionaryBusinessObjectName";
203     public static final String DISPATCH_REQUEST_PARAMETER = "methodToCall";
204     
205     /**
206      * Constant defined to match with method call in module-locked.jsp which is
207      * set to a message that is displayed when the module is locked.
208      */
209     public static final String MODULE_LOCKED_MESSAGE_REQUEST_PARAMETER = "moduleLockedMessage";
210     
211     public static final String CUSTOM_ACTION = "customAction";
212     public static final String DOC_FORM_KEY = "docFormKey";
213     public static final String FORM_KEY = "formKey";
214     public static final String NEW_NOTE_NOTE_TYPE_CODE = "newNote.noteTypeCode";
215     public static final String POST_TEXT_AREA_TO_PARENT = "postTextAreaToParent";
216     public static final String DOCUMENT_CANCEL_QUESTION = "DocCancel";
217 //    public static final String DOCUMENT_DELETE_QUESTION = "DocDelete";
218     public static final String DOCUMENT_DISAPPROVE_QUESTION = "DocDisapprove";
219     public static final String DOCUMENT_SENSITIVE_DATA_QUESTION = "DocSensitiveDataQuestion";
220 //    public static final String DOCUMENT_HEADER_ID = "documentHeaderId";
221     public static final String DOCUMENT_HEADER_PROPERTY_NAME = "documentHeader";
222     public static final String DOCUMENT_SAVE_BEFORE_CLOSE_QUESTION = "DocSaveBeforeClose";
223     public static final String EXTRA_BUTTON_SOURCE = "extraButtonSource";
224     public static final String EXTRA_BUTTON_PARAMS = "extraButtonParams";
225     public static final String NEW_AD_HOC_ROUTE_PERSON_PROPERTY_NAME = "newAdHocRoutePerson";
226     public static final String NEW_AD_HOC_ROUTE_WORKGROUP_PROPERTY_NAME = "newAdHocRouteWorkgroup";
227     public static final String EXISTING_AD_HOC_ROUTE_PERSON_PROPERTY_NAME = "adHocRoutePerson";
228     public static final String EXISTING_AD_HOC_ROUTE_WORKGROUP_PROPERTY_NAME = "adHocRouteWorkgroup";
229     public static final String DOCUMENT_PROPERTY_NAME = "document";
230     public static final String DOCUMENT_TYPE_NAME = "docTypeName";
231     public static final String EDIT_PREFIX = "edit";
232     public static final String EMPTY_STRING = CoreConstants.EMPTY_STRING;
233     public static final String FIELD_CONVERSION_PAIR_SEPARATOR = ":";
234     public static final String FIELD_CONVERSIONS_SEPARATOR = ",";
235     public static final String REFERENCES_TO_REFRESH_SEPARATOR = ",";
236     public static final String RESTRICTED_DATA_MASK = "xxxxxx";
237 //    public static final String GENERIC_FIELD_NAME = "Field";
238 //    public static final String GENERIC_CODE_PROPERTY_NAME = "code";
239 //    public static final String STAND_IN_BUSINESS_OBJECT_FOR_ATTRIBUTES = "AttributeReferenceDummy";
240     public static final String OVERRIDE_KEYS = "overrideKeys";
241     public static final String COPY_KEYS = "cpKys";
242     
243     public static final String KRAD_APPLICATION_DATASOURCE = "kradApplication.datasource";
244     public static final String KRAD_APPLICATION_DATASOURCE_JNDI = "kradApplication.datasource.jndi.location";
245 
246 
247     // **************** Begin Note & Attachments defines
248     /**
249      * Property name for new document - Value is "newNote"
250      */
251     public static final String NEW_DOCUMENT_NOTE_PROPERTY_NAME = "newNote";
252     /**
253      * Property name for note text - Value is "noteText"
254      */
255     public static final String NOTE_TEXT_PROPERTY_NAME = "noteText";
256     /**
257      * Property name for note topic text - Value is "noteTopicText"
258      */
259     public static final String NOTE_TOPIC_TEXT_PROPERTY_NAME = "noteTopicText";
260     /**
261      * Property name for note attachment - Value is "attachmentFile"
262      */
263     public static final String NOTE_ATTACHMENT_FILE_PROPERTY_NAME = "attachmentFile";
264 
265     
266     /**
267      * Property name for enabling attachments to note, overriding the defaults defined by the document template - Value is
268      * "enableNoteAttachments"
269      * <p>
270      * Example: The following line defined in the application properties file
271      * <p>
272      * enableNoteAttachments=false
273      * <p>
274      * disables the attachment option in Notes & Attachment of a document
275      */
276     public static final String NOTE_ATTACHMENT_ENABLED = "enableNoteAttachments";
277     // **************** End Note & Attachments defines
278 
279     /**
280      * This value is the name of the param for the default max column length of a lookup result field if the field maxLength
281      * has not been defined in the DD
282      */
283     public static final String RESULTS_DEFAULT_MAX_COLUMN_LENGTH = "RESULTS_DEFAULT_MAX_COLUMN_LENGTH";
284 
285 //    /**
286 //     * The number of levels BusinessObjectDictionaryServiceImpl will recurse. If this number is high, it may lead to serious
287 //     * performance problems
288 //     */
289 //    public static final int BUSINESS_OBJECT_DICTIONARY_SERVICE_PERFORM_FORCE_UPPERCASE_RECURSION_MAX_DEPTH = 3;
290 
291     /**
292      * When checkboxes are rendered on the form, a hidden field will also be rendered corresponding to each checkbox with the
293      * checkbox's name suffixed with the value of this constant. No real fields should have names that contain this suffix,
294      * since this may lead to undesired results.
295      */
296     public static final String CHECKBOX_PRESENT_ON_FORM_ANNOTATION = "{CheckboxPresentOnFormAnnotation}";
297 
298     public static final int DOCUMENT_ANNOTATION_MAX_LENGTH = 2000;
299 
300     public static final String HIDE_LOOKUP_RETURN_LINK = "hideReturnLink";
301     public static final String SUPPRESS_ACTIONS = "suppressActions";
302     public static final String REFERENCES_TO_REFRESH = "referencesToRefresh";
303 
304     public static final String INQUIRABLE_ATTRIBUTE_NAME = "kualiInquirable";
305     public static final String INQUIRY_ACTION = "inquiry.do";
306     public static final String PORTAL_ACTION = "portal.do";
307     public static final String DIRECT_INQUIRY_ACTION = "directInquiry.do";
308     public static final String CONTINUE_WITH_INQUIRY_METHOD_TO_CALL = "continueWithInquiry";
309     public static final String INQUIRY_PK_VALUE_PASSED_FROM_PREVIOUS_REQUEST_PREFIX = "previousPkValue_";
310     public static final String INACTIVE_RECORD_DISPLAY_PARAM_PREFIX = "inactiveRecordDisplay_";
311     
312     public static final String FIELD_NAME_TO_FOCUS_ON_AFTER_SUBMIT = "fieldNameToFocusOnAfterSubmit";
313 
314     public static final String DEFAULT_PARAMETER_APPLICATION_ID = "KUALI";
315     public static final String DEFAULT_NAMESPACE = "KUALI";
316     public static final String LOOKUP_ACTION = "lookup.do";
317     public static final String MULTIPLE_VALUE_LOOKUP_ACTION = "multipleValueLookup.do";
318     public static final String LOOKUP_RESULTS_SEQUENCE_NUMBER = "lookupResultsSequenceNumber";
319     public static final String LOOKUP_RESULTS_BO_CLASS_NAME = "lookupResultsBOClassName";
320     public static final String LOOKED_UP_COLLECTION_NAME = "lookedUpCollectionName";
321     public static final String MULTIPLE_VALUE_LOOKUP_PREVIOUSLY_SELECTED_OBJ_IDS_PARAM = "previouslySelectedObjectIds";
322     public static final String MULTIPLE_VALUE_LOOKUP_OBJ_IDS_SEPARATOR = "||";
323     public static final String MULTIPLE_VALUE_LOOKUP_DISPLAYED_OBJ_ID_PARAM_PREFIX = "displayedObjId-";
324     public static final String MULTIPLE_VALUE_LOOKUP_SELECTED_OBJ_ID_PARAM_PREFIX = "selectedObjId-";
325     public static final String LOOKUP_ANCHOR = "lookupAnchor";
326     public static final String LOOKUPABLE_IMPL_ATTRIBUTE_NAME = "lookupableImplServiceName";
327     public static final String LOOKUP_RESULTS_SEQUENCE = "KRNS_LOOKUP_RSLT_S";
328     public static final String KUALI_LOOKUPABLE_IMPL = "kualiLookupable";
329     public static final String PARAMETER_DOC_ID = "docId";
330     public static final String PARAMETER_COMMAND = "command";
331 	public static final String ACTION_CLASS = "actionClass";
332 	public static final String NAMESPACE_CODE = "namespaceCode";
333 	public static final String COMPONENT_NAME = "componentName";
334 //    public static final String LOOKUP_METHOD = "performLookup";
335     public static final String LOOKUP_DEFAULT_RANGE_SEARCH_LOWER_BOUND_LABEL = "From";
336     public static final String LOOKUP_DEFAULT_RANGE_SEARCH_UPPER_BOUND_LABEL = "To";
337     public static final String LOOKUP_RANGE_LOWER_BOUND_PROPERTY_PREFIX = "rangeLowerBoundKeyPrefix_";
338     public static final String LOOKUP_RANGE_UPPER_BOUND_PROPERTY_PREFIX = "rangeUpperBoundKeyPrefix_";
339     public static final String LOOKUP_PARAMETER_LITERAL_PREFIX = "literal";
340     public static final String LOOKUP_PARAMETER_LITERAL_DELIMITER = "=";
341 
342     public static final String METHOD_DISPLAY_DOC_SEARCH_VIEW = "displayDocSearchView";
343     public static final String MAINTENANCE_ACTION = "maintenance.do";
344     public static final String MAINTENANCE_ADD_PREFIX = "add.";
345     public static final String MAINTENANCE_COPY_ACTION = "Copy";
346     public static final String MAINTENANCE_EDIT_ACTION = "Edit";
347     public static final String MAINTENANCE_DELETE_ACTION = "Delete";
348     public static final String MAINTENANCE_NEW_ACTION = "New";
349     public static final String MAINTENANCE_COPY_METHOD_TO_CALL = "copy";
350     public static final String MAINTENANCE_EDIT_METHOD_TO_CALL = "edit";
351     public static final String MAINTENANCE_DELETE_METHOD_TO_CALL = "delete";
352     public static final String MAINTENANCE_NEW_METHOD_TO_CALL = "start";
353     public static final String MAINTENANCE_NEWWITHEXISTING_ACTION = "newWithExisting";
354     public static final String MAINTENANCE_ACTN = "maintenanceAction";
355     public static final String MAINTENANCE_NEW_MAINTAINABLE = "document.newMaintainableObject.";
356     public static final String MAINTENANCE_OLD_MAINTAINABLE = "document.oldMaintainableObject.";
357     public static final String MAPPING_CANCEL = "cancel";
358     public static final String MAPPING_CLOSE = "close";
359     public static final String MAPPING_DISAPPROVE = "disapprove";
360 //    public static final String MAPPING_DELETE = "delete";
361     // Activate the MAPPING_ERROR define for use in Exception incident and handling
362     public static final String MAPPING_ERROR = "error";
363     public static final String MAPPING_PORTAL = "portal";
364 //    public static final String MAPPING_MULTIPLE_VALUE_LOOKUP = "multipleValueLookup";
365     public static final String MAPPING_ROUTE_REPORT = "route_report";
366 //    public static final String MAXLENGTH_SUFFIX = ".maxLength";
367     public static final String METHOD_TO_CALL_ATTRIBUTE = "methodToCallAttribute";
368     public static final String METHOD_TO_CALL_PATH = "methodToCallPath";
369     public static final String METHOD_TO_CALL_BOPARM_LEFT_DEL = "(!!";
370     public static final String METHOD_TO_CALL_BOPARM_RIGHT_DEL = "!!)";
371     public static final String METHOD_TO_CALL_PARM1_LEFT_DEL = "(((";
372     public static final String METHOD_TO_CALL_PARM1_RIGHT_DEL = ")))";
373     public static final String METHOD_TO_CALL_PARM2_LEFT_DEL = "((`";
374     public static final String METHOD_TO_CALL_PARM2_RIGHT_DEL = "`))";
375     public static final String METHOD_TO_CALL_PARM3_LEFT_DEL = "((<";
376     public static final String METHOD_TO_CALL_PARM3_RIGHT_DEL = ">))";
377     public static final String METHOD_TO_CALL_PARM4_LEFT_DEL = "(([";
378     public static final String METHOD_TO_CALL_PARM4_RIGHT_DEL = "]))";
379     public static final String METHOD_TO_CALL_PARM5_LEFT_DEL = "((*";
380     public static final String METHOD_TO_CALL_PARM5_RIGHT_DEL = "*))";
381     public static final String METHOD_TO_CALL_PARM6_LEFT_DEL = "((%";
382     public static final String METHOD_TO_CALL_PARM6_RIGHT_DEL = "%))";
383     public static final String METHOD_TO_CALL_PARM7_LEFT_DEL = "((^";
384     public static final String METHOD_TO_CALL_PARM7_RIGHT_DEL = "^))";
385     public static final String METHOD_TO_CALL_PARM8_LEFT_DEL = "((&";
386     public static final String METHOD_TO_CALL_PARM8_RIGHT_DEL = "&))";
387     public static final String METHOD_TO_CALL_PARM9_LEFT_DEL = "((~";
388     public static final String METHOD_TO_CALL_PARM9_RIGHT_DEL = "~))";
389     public static final String METHOD_TO_CALL_PARM10_LEFT_DEL = "((/";
390     public static final String METHOD_TO_CALL_PARM10_RIGHT_DEL = "/))";
391     public static final String METHOD_TO_CALL_PARM11_LEFT_DEL = "(:;";
392     public static final String METHOD_TO_CALL_PARM11_RIGHT_DEL = ";:)";
393     public static final String METHOD_TO_CALL_PARM12_LEFT_DEL = "(::;";
394     public static final String METHOD_TO_CALL_PARM12_RIGHT_DEL = ";::)";
395     // below 2 fields used in rowDisplay.tag file
396     public static final String METHOD_TO_CALL_PARM13_LEFT_DEL = "(:::;";
397     public static final String METHOD_TO_CALL_PARM13_RIGHT_DEL = ";:::)";
398     // used for baseLookupURL
399     public static final String METHOD_TO_CALL_PARM14_LEFT_DEL = "(::::;";
400     public static final String METHOD_TO_CALL_PARM14_RIGHT_DEL = ";::::)";
401     // if more strings needed, then add more colons to the PARM11 strings above, e.g. (::; (:::;, etc.
402     
403     
404     // Pessimistic Locking Constants
405     public static final String SESSION_TIMEOUT_WARNING_MESSAGE_TIME_PARM_NM = "SESSION_TIMEOUT_WARNING_MESSAGE_TIME";
406     public static final String SESSION_TIMEOUT_WARNING_MILLISECONDS = "SESSION_TIMEOUT_WARNING_MILLISECONDS";
407     public static final String SESSION_TIMEOUT_WARNING_MINUTES = "SESSION_TIMEOUT_WARNING_MINUTES";
408 
409     public static final String ANCHOR = "anchor";
410     public static final String ANCHOR_TOP_OF_FORM = "topOfForm";
411     public static final String QUESTION_ANCHOR = "questionAnchor";
412     public static final String NOT_AVAILABLE_STRING = "N/A";
413     public static final String QUESTION_ACTION = "questionPrompt.do";
414     public static final String QUESTION_CLICKED_BUTTON = "buttonClicked";
415     public static final String QUESTION_ERROR_KEY = "questionErrorKey";
416     public static final String QUESTION_ERROR_PROPERTY_NAME = "questionErrorPropertyName";
417     public static final String QUESTION_ERROR_PARAMETER = "questionErrorParameter";
418     public static final String QUESTION_IMPL_ATTRIBUTE_NAME = "questionType";
419     public static final String QUESTION_INST_ATTRIBUTE_NAME = "questionIndex";
420     public static final String QUESTION_PAGE_TITLE = "Question Dialog Page";
421     public static final String QUESTION_REFRESH = "QuestionRefresh";
422     public static final String QUESTION_CONTEXT = "context";
423     public static final String QUESTION_TEXT_ATTRIBUTE_NAME = "questionText";
424     public static final String QUESTION_REASON_ATTRIBUTE_NAME = "reason";
425     public static final String QUESTION_SHOW_REASON_FIELD = "showReasonField";
426 
427     public static final String REFRESH_CALLER = "refreshCaller";
428     public static final String REFRESH_CALLER_TYPE = "refreshCallerType";
429     public static final String REFRESH_DATA_OBJECT_CLASS = "refreshDataObjectClass";
430     public static final String REFRESH_MAPPING_PREFIX = "/Refresh";
431 
432     // below field used in tag files
433     public static final String REQUIRED_FIELD_SYMBOL = "*";
434     public static final String RETURN_LOCATION_PARAMETER = "returnLocation";
435     public static final String RETURN_METHOD_TO_CALL = "refresh";
436     // Another possible value for the "refreshCaller" request parameter, as a fix for KULRICE-2903.
437     public static final String TEXT_AREA_REFRESH = "TextAreaRefresh";
438     // below field used in tag files
439 
440     // KualiDocumentActionBase Method Names
441     public static final String ROUTE_METHOD = "route";
442     public static final String SAVE_METHOD = "save";
443     public static final String APPROVE_METHOD = "approve";
444     public static final String BLANKET_APPROVE_METHOD = "blanketApprove";
445     public static final String DOC_HANDLER_METHOD = "docHandler";
446     public static final String CLOSE_METHOD = "close";
447     public static final String CANCEL_METHOD = "cancel";
448     public static final String LOAD_DOCUMENT_METHOD = "loadDocument";
449     public static final String CREATE_DOCUMENT_METHOD = "createDocument";
450     public static final String DISAPPROVE_METHOD = "disapprove";
451     public static final String FYI_METHOD = "fyi";
452     public static final String ACKNOWLEDGE_METHOD = "acknowledge";
453 
454     public static final String DOWNLOAD_BO_ATTACHMENT_METHOD ="downloadBOAttachment";
455     public static final String DOWNLOAD_CUSTOM_BO_ATTACHMENT_METHOD ="downloadCustomBOAttachment";
456     public static final String NOTE_IDENTIFIER = "noteIdentifier";
457     public static final String BO_ATTACHMENT_FILE_NAME = "fileName";
458     public static final String BO_ATTACHMENT_FILE_CONTENT_TYPE = "fileContentType";
459     public static final String BO_ATTACHMENT_FILE_CONTENT_FIELD = "fileContentBOField";
460     
461 
462     // specialized method 'delete' used only for PessimisticLocks currently
463     public static final String DELETE_METHOD = "delete";
464     public static final String START_METHOD = "start";
465     public static final String USER_SESSION_KEY = "UserSession";
466     public static final String KUALI_SESSION_ID = "kualiSessionId";
467     public static final String EXITING_DOCUMENT = "exitingDocument";
468     public static final String DOCUMENT_DOCUMENT_NUMBER = "document.documentNumber";
469     public static final String DOC_NUM = "docNum";
470 
471     public static final String SEARCH_LIST_KEY_PREFIX = "searchResults";
472     public static final String SEARCH_LIST_REQUEST_KEY = "searchResultKey";
473 
474     public static final String METHOD_DISPLAY_ALL_INACTIVATION_BLOCKERS = "displayAllInactivationBlockers";
475     public static final String DISPLAY_ALL_INACTIVATION_BLOCKERS_ACTION = "inactivationBlockers.do";
476 
477     public static final String GLOBAL_ERRORS = "GLOBAL_ERRORS";
478     public static final String GLOBAL_MESSAGES = "GlobalMessages";
479     public static final String PESSIMISTIC_LOCK_MESSAGES = "DocumentPessimisticLockMessages";
480     public static final String AD_HOC_ROUTE_PERSON_ERRORS = "newAdHocRoutePerson*,adHocRoutePerson*";
481     public static final String AD_HOC_ROUTE_WORKGROUP_ERRORS = "newAdHocRouteWorkgroup*,adHocRouteWorkgroup*";
482     public static final String AD_HOC_ROUTE_ERRORS = AD_HOC_ROUTE_PERSON_ERRORS + "," + AD_HOC_ROUTE_WORKGROUP_ERRORS;
483     public static final String DOCUMENT_DOCUMENT_ERRORS = "document.document*";
484     public static final String DOCUMENT_EXPLANATION_ERRORS = "document.explanation*";
485     public static final String DOCUMENT_REVERSAL_ERRORS = "document.reversal*";
486     public static final String DOCUMENT_SELECTED_ERRORS = "document.selected*";
487     public static final String DOCUMENT_HEADER_ERRORS = "document.header*";
488 //    public static final String DOCUMENT_ERRORS_LESS_DOCUMENT = DOCUMENT_EXPLANATION_ERRORS + "," + DOCUMENT_REVERSAL_ERRORS + "," + DOCUMENT_SELECTED_ERRORS + "," + DOCUMENT_HEADER_ERRORS;
489     public static final String DOCUMENT_ERRORS = DOCUMENT_DOCUMENT_ERRORS + "," + DOCUMENT_EXPLANATION_ERRORS + "," + DOCUMENT_REVERSAL_ERRORS + "," + DOCUMENT_SELECTED_ERRORS + "," + DOCUMENT_HEADER_ERRORS;
490     // below field used in tag files
491     public static final String DOCUMENT_NOTES_ERRORS = NEW_DOCUMENT_NOTE_PROPERTY_NAME + "*";
492 
493     // export formats
494 
495     public static final String XML_FORMAT = "xml";
496     public static final String EXCEL_FORMAT = "xls";
497     public static final String CSV_FORMAT = "csv";
498 
499     public static final String XML_MIME_TYPE = "application/xml";
500 
501     // Header Tab navigation constant values
502     public static final String NAVIGATE_TO = "navigateTo.";
503     public static final String HEADER_DISPATCH = "headerDispatch.";
504 
505     public static final String MULTIPLE_VALUE = "multipleValues";
506 
507     // Agency type codes
508 //    public static final String AGENCY_TYPE_CODE_FEDERAL = "F";
509 
510     // special chars that I don't know how to put into string literals in JSP expression language
511     // below field used in tag files
512     public static final String NEWLINE = "\n";
513 
514     // websession
515     public static final String DOCUMENT_WEB_SCOPE = "documentWebScope";
516     public static final String SESSION_SCOPE = "session";
517 
518     public static final class SystemGroupParameterNames {
519         public static final String CHECK_ENCRYPTION_SERVICE_OVERRIDE_IND = "CHECK_ENCRYPTION_SERVICE_OVERRIDE_IND";
520 
521         public static final String LOOKUP_RESULTS_LIMIT = "RESULTS_LIMIT";
522         public static final String MULTIPLE_VALUE_LOOKUP_RESULTS_PER_PAGE = "MULTIPLE_VALUE_RESULTS_PER_PAGE";
523 //        public static final String MULTIPLE_VALUE_LOOKUP_RESULTS_EXPIRATION_AGE = "MULTIPLE_VALUE_RESULTS_EXPIRATION_SECONDS";
524 
525         public static final String DEFAULT_CAN_PERFORM_ROUTE_REPORT_IND = "DEFAULT_CAN_PERFORM_ROUTE_REPORT_IND";
526         public static final String ALLOW_ENROUTE_BLANKET_APPROVE_WITHOUT_APPROVAL_REQUEST_IND = "ALLOW_ENROUTE_BLANKET_APPROVE_WITHOUT_APPROVAL_REQUEST_IND";
527         /**
528          * Used to indicate whether field level help is enabled. Depending on the namespace this parameter is in, it may
529          * affect either lookups (i.e. the search criteria fields) or maintenance documents.
530          */
531         public static final String ENABLE_FIELD_LEVEL_HELP_IND = "ENABLE_FIELD_LEVEL_HELP_IND";
532 
533 //        /**
534 //         * Used by PurgePendingAttachmentsJob to compute the maximum amount of time a pending attachment is allowed to
535 //         * persist on the file system before being deleted.
536 //         */
537 //        public static final String PURGE_PENDING_ATTACHMENTS_STEP_MAX_AGE = "purgePendingAttachmentsStepMaxAge";
538 
539         public static final String ENABLE_DIRECT_INQUIRIES_IND = "ENABLE_DIRECT_INQUIRIES_IND";
540         public static final String DEFAULT_COUNTRY = "DEFAULT_COUNTRY";
541                 
542         public static final String SENSITIVE_DATA_PATTERNS = "SENSITIVE_DATA_PATTERNS";
543         public static final String SENSITIVE_DATA_PATTERNS_WARNING_IND = "SENSITIVE_DATA_PATTERNS_WARNING_IND";
544         
545         public static final String OLTP_LOCKOUT_ACTIVE_IND = "OLTP_LOCKOUT_ACTIVE_IND";
546         public static final String OLTP_LOCKOUT_MESSAGE_PARM = "OLTP_LOCKOUT_MESSAGE";
547         public static final String OLTP_LOCKOUT_DEFAULT_MESSAGE = "OLTP_LOCKOUT_DEFAULT_MESSAGE";
548         
549     	private SystemGroupParameterNames() {
550     		throw new UnsupportedOperationException("do not call");
551     	}
552     }
553 
554     public static final int DEFAULT_NUM_OF_COLUMNS = 1;
555 
556     public static final class TableRenderConstants {
557         public static final String SWITCH_TO_PAGE_METHOD = "switchToPage";
558         public static final String SORT_METHOD = "sort";
559         public static final String SELECT_ALL_METHOD = "selectAll";
560         public static final String UNSELECT_ALL_METHOD = "unselectAll";
561 
562         // below field used on displayMultipleValueLookupResults.tag
563         public static final String PREVIOUSLY_SORTED_COLUMN_INDEX_PARAM = "previouslySortedColumnIndex";
564         public static final String VIEWED_PAGE_NUMBER = "viewedPageNumber";
565         
566     	private TableRenderConstants() {
567     		throw new UnsupportedOperationException("do not call");
568     	}
569     }
570 
571     public static final String TAB_STATES = "tabStates";
572     
573     public static final List<String> ALWAYS_VALID_PARAMETER_PREFIXES = new ArrayList<String>();
574     static {
575     	ALWAYS_VALID_PARAMETER_PREFIXES.add( TAB_STATES );
576     	ALWAYS_VALID_PARAMETER_PREFIXES.add( DISPATCH_REQUEST_PARAMETER+".hideAllTabs" );
577     	ALWAYS_VALID_PARAMETER_PREFIXES.add( DISPATCH_REQUEST_PARAMETER+".showAllTabs" );
578     	ALWAYS_VALID_PARAMETER_PREFIXES.add( DISPATCH_REQUEST_PARAMETER+".toggleTab" );
579     	ALWAYS_VALID_PARAMETER_PREFIXES.add( DISPATCH_REQUEST_PARAMETER+"."+TableRenderConstants.SWITCH_TO_PAGE_METHOD );
580     	ALWAYS_VALID_PARAMETER_PREFIXES.add( DISPATCH_REQUEST_PARAMETER+"."+TableRenderConstants.SORT_METHOD );
581     }
582 
583     public static final String GLOBAL_VARIABLES_MESSAGES_LIST_ACTION_MESSAGES = "GlobalVariablesMessagesList";
584 
585     public static final class Config {
586     	public static final String APPLY_ILLEGAL_BUSINESS_OBJECT_FOR_SAVE_CHECK = "rice.krad.illegalBusinessObjectsForSave.applyCheck";
587     	public static final String ILLEGAL_BUSINESS_OBJECTS_FOR_SAVE = "rice.krad.illegalBusinessObjectsForSave";
588         public static final String COMPONENT_PUBLISHING_ENABLED = "rice.krad.componentPublishing.enabled";
589         public static final String COMPONENT_PUBLISHING_DELAY = "rice.krad.componentPublishing.delay";
590     	
591     	private Config() {
592     		throw new UnsupportedOperationException("do not call");
593     	}
594     }
595 
596 	public static final String ENABLE_NONPRODUCTION_UNMASKING = "enable.nonproduction.data.unmasking";
597 	
598   	public static final String SINGLE_QUOTE = "'";
599   	
600   	public static final String SENSITIVE_DATA_QUESTION_SESSION_TICKET = "SENSITIVE_DATA_QUESTION_SESSION_TICKET";
601   	public static final String EDITABLE_PROPERTIES_HISTORY_HOLDER_ATTR_NAME = "EditablePropertiesHistoryHolder";
602 
603     // TODO: new krad constants, previous needs to be cleaned up
604     public static final String DATA_TYPE_STRING = CoreConstants.DATA_TYPE_STRING;
605     public static final String DATA_TYPE_DATE = CoreConstants.DATA_TYPE_DATE;
606     public static final String DATA_TYPE_LONG = CoreConstants.DATA_TYPE_LONG;
607     public static final String DATA_TYPE_FLOAT = CoreConstants.DATA_TYPE_FLOAT;
608     public static final String DATA_TYPE_BOOLEAN = CoreConstants.DATA_TYPE_BOOLEAN;
609 
610     public static final class Maintenance {
611         public static final String REQUEST_MAPPING_MAINTENANCE = "maintenance";
612         public static final String METHOD_TO_CALL_NEW = "start";
613         public static final String METHOD_TO_CALL_NEW_WITH_EXISTING = "maintenanceNewWithExisting";
614         public static final String METHOD_TO_CALL_EDIT = "maintenanceEdit";
615         public static final String METHOD_TO_CALL_COPY = "maintenanceCopy";
616         public static final String METHOD_TO_CALL_DELETE = "maintenanceDelete";
617         public static final String LOCK_AFTER_CLASS_DELIM = "!!";
618         public static final String LOCK_AFTER_FIELDNAME_DELIM = "^^";
619         public static final String LOCK_AFTER_VALUE_DELIM = "::";
620     }
621 
622     public static class Lookup {
623         public static final String TITLE_RETURN_URL_PREPENDTEXT_PROPERTY = "title.return.url.value.prependtext";
624         public static final String TITLE_ACTION_URL_PREPENDTEXT_PROPERTY = "title.action.url.value.prependtext";
625     }
626 }