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