001/**
002 * Copyright 2005-2014 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.util;
017
018import java.util.ArrayList;
019import java.util.List;
020
021import org.kuali.rice.core.api.CoreConstants;
022
023/**
024 * Defines Global Constants for the KRAD Module.
025 *
026 * @author Kuali Rice Team (rice.collab@kuali.org)
027 */
028public final class KRADConstants {
029
030    private KRADConstants() {
031        throw new UnsupportedOperationException("do not call");
032    }
033
034    public static final String MODULE_NAME = "krad";
035
036    public static final String KR_MODULE_NAME = "kr";
037
038    public static final String DEFAULT_ENCODING = "UTF-8";
039
040    // special user used in the post-processor
041    public static final String SYSTEM_USER = "kr";
042
043    public static final String KRAD_URL_KEY = "krad.url";
044    public static final String KRAD_INQUIRY_URL_KEY = "krad.inquiry.url";
045    public static final String KRAD_LOOKUP_URL_KEY = "krad.lookup.url";
046    public static final String KRAD_SERVER_LOOKUP_URL_KEY = "rice.server.krad.lookup.url";
047    public static final String KRAD_INITIATED_DOCUMENT_URL_KEY = "initiated.document.url";
048    public static final String KRAD_INITIATED_DOCUMENT_VIEW_NAME = "InitiatedDocumentView";
049
050    public static final String KRAD_DICTIONARY_INDEX_POOL_SIZE = "krad.dictionary.indexPoolSize";
051
052    public static final String PARAM_MAINTENANCE_VIEW_MODE = "maintenanceViewMode";
053    public static final String PARAM_MAINTENANCE_VIEW_MODE_MAINTENANCE = "maintenance";
054    public static final String PARAM_MAINTENANCE_VIEW_MODE_LOOKUP = "lookup";
055    public static final String PARAM_MAINTENANCE_VIEW_MODE_INQUIRY = "inquiry";
056
057    public static final String KNS_NAMESPACE = "KR-NS";
058    public static final String KRAD_NAMESPACE = "KR-KRAD";
059    public static final String KUALI_RICE_SYSTEM_NAMESPACE = "KR-SYS";
060    public static final String KUALI_RICE_WORKFLOW_NAMESPACE = "KR-WKFLW";
061    public static final String KUALI_RICE_SERVICE_BUS_NAMESPACE = "KR-BUS";
062
063    public static final String KUALI_ACTION_CAN_EDIT = "canEdit";
064    public static final String KUALI_ACTION_CAN_ANNOTATE = "canAnnotate";
065    public static final String KUALI_ACTION_CAN_CLOSE = "canClose";
066    public static final String KUALI_ACTION_CAN_SAVE = "canSave";
067    public static final String KUALI_ACTION_CAN_ROUTE = "canRoute";
068    public static final String KUALI_ACTION_CAN_CANCEL = "canCancel";
069    public static final String KUALI_ACTION_CAN_RECALL = "canRecall";
070    public static final String KUALI_ACTION_CAN_RELOAD = "canReload";
071    public static final String KUALI_ACTION_CAN_COPY = "canCopy";
072    public static final String KUALI_ACTION_PERFORM_ROUTE_REPORT = "canPerformRouteReport";
073    public static final String KUALI_ACTION_CAN_AD_HOC_ROUTE = "canAdHocRoute";
074    public static final String KUALI_ACTION_CAN_BLANKET_APPROVE = "canBlanketApprove";
075    public static final String KUALI_ACTION_CAN_ACKNOWLEDGE = "canAcknowledge";
076    public static final String KUALI_ACTION_CAN_FYI = "canFYI";
077    public static final String KUALI_ACTION_CAN_APPROVE = "canApprove";
078    public static final String KUALI_ACTION_CAN_DISAPPROVE = "canDisapprove";
079    public static final String KUALI_ACTION_CAN_CREATE = "canCreate";
080    public static final String KUALI_ACTION_CAN_SEND_ADHOC_REQUESTS = "canSendAdHocRequests";
081    public static final String KUALI_ACTION_CAN_ADD_ADHOC_REQUESTS = "canAddAdHocRequests";
082    public static final String KUALI_ACTION_CAN_SEND_NOTE_FYI = "canSendNoteFyi";
083    public static final String KUALI_ACTION_CAN_EDIT_DOCUMENT_OVERVIEW = "canEditDocumentOverview";
084    public static final String KUALI_ACTION_CAN_EXPORT = "canExport";
085    public static final String KUALI_ACTION_CAN_SUPER_USER_TAKE_ACTION = "canSuperUserTakeAction";
086    public static final String KUALI_ACTION_CAN_SUPER_USER_APPROVE = "canSuperUserApprove";
087    public static final String KUALI_ACTION_CAN_SUPER_USER_DISAPPROVE = "canSuperUserDisapprove";
088    public static final String KUALI_DEFAULT_TRUE_VALUE = "true";
089    public static final String USE_CACHE_ADMINISTRATION_SCREEN = "Use Cache Adminstration Screen";
090    public static final String KUALI_ACTION_CAN_COMPLETE = "canComplete";
091
092    public static final class DetailTypes {
093        public static final String NA_PARM_DETAIL_TYPE = "N/A";
094        public static final String ALL_DETAIL_TYPE = "All";
095        public static final String LOOKUP_PARM_DETAIL_TYPE = "Lookup";
096        public static final String UNIVERSAL_USER_DETAIL_TYPE = "Person";
097        public static final String KUALI_MODULE_USER_DETAIL_TYPE = "KualiModuleUser";
098        public static final String DOCUMENT_DETAIL_TYPE = "Document";
099        public static final String DOCUMENT_TYPE_DETAIL_TYPE = "DocumentType";
100        public static final String RULE_DETAIL_TYPE = "Rule";
101        public static final String ACTION_LIST_DETAIL_TYPE = "ActionList";
102        public static final String BACKDOOR_DETAIL_TYPE = "Backdoor";
103        public static final String DOCUMENT_SEARCH_DETAIL_TYPE = "DocumentSearch";
104        public static final String EDOC_LITE_DETAIL_TYPE = "EDocLite";
105        public static final String FEATURE_DETAIL_TYPE = "Feature";
106        public static final String GLOBAL_REVIEWER_DETAIL_TYPE = "GlobalReviewer";
107        public static final String MAILER_DETAIL_TYPE = "Mailer";
108        public static final String NOTE_DETAIL_TYPE = "Note";
109        public static final String QUICK_LINK_DETAIL_TYPE = "QuickLink";
110        public static final String ROUTE_QUEUE_DETAIL_TYPE = "RouteQueue";
111        public static final String ROUTE_DETAIL_TYPE = "Route";
112        public static final String RULE_SERVICE_DETAIL_TYPE = "RuleBaseValues";
113        public static final String RULE_TEMPLATE_DETAIL_TYPE = "RuleTemplate";
114        public static final String WORKGROUP_DETAIL_TYPE = "Notification";
115
116        private DetailTypes() {
117            throw new UnsupportedOperationException("do not call");
118        }
119    }
120
121    public static final class ParameterNames {
122        public static final String DEFAULT_LOCALE_CODE = "DEFAULT_LOCALE_CODE";
123    }
124
125    public static final class DocumentFormHeaderFieldIds {
126        public static final String DOCUMENT_NUMBER = "documentNumber";
127        public static final String DOCUMENT_WORKFLOW_STATUS = "documentStatus";
128        public static final String DOCUMENT_INITIATOR = "documentInitiator";
129        public static final String DOCUMENT_CREATE_DATE = "documentCreateDate";
130        public static final String DOCUMENT_TEMPLATE_NUMBER = "documentTemplateNumber";
131
132        private DocumentFormHeaderFieldIds() {
133            throw new UnsupportedOperationException("do not call");
134        }
135    }
136
137    public static final String MAX_UPLOAD_SIZE_PARM_NM = "MAX_FILE_SIZE_DEFAULT_UPLOAD";
138
139    public static final String UPLOADED_FILE_REQUEST_ATTRIBUTE_KEY = "org.kuali.rice.krad.util.WebUtils.uploadedFiles";
140
141    public static final String NOTE_WORKFLOW_NOTIFICATION_REQUEST_LABEL = "READ NOTES";
142
143    public static final String SEND_NOTE_WORKFLOW_NOTIFICATION_ACTIONS_PARM_NM =
144            "SEND_NOTE_WORKFLOW_NOTIFICATION_ACTIONS";
145    public static final String ATTACHMENT_MAX_FILE_SIZE_PARM_NM = "MAX_FILE_SIZE_ATTACHMENT";
146    public static final String DOCUMENT_HTTP_SESSION_KEY = "documentHttpSessionKey";
147
148    //    public static final String CONFIGURATION_FILE_NAME = "configuration";
149    public static final String ENVIRONMENT_KEY = org.kuali.rice.core.api.config.property.Config.ENVIRONMENT;
150    public static final String MESSAGE_RESOURCES = "rice.struts.message.resources";
151    //    public static final String VERSION_KEY = "version";
152    //    public static final String LOG4J_SETTINGS_FILE_KEY = "log4j.settings.file";
153    //    public static final String LOGS_DIRECTORY_KEY = "logs.directory";
154    //    public static final String LOG4J_RELOAD_MINUTES_KEY = "log4j.reload.minutes";
155    //    public static final String STARTUP_STATS_MAILING_LIST_KEY = "startup.stats.mailing.list";
156    public static final String APPLICATION_URL_KEY = "application.url";
157    public static final String ATTACHMENTS_DIRECTORY_KEY = "attachments.directory";
158    public static final String ATTACHMENTS_PENDING_DIRECTORY_KEY = "attachments.pending.directory";
159    //    public static final String HTDOCS_LOGS_URL_KEY = "htdocs.logs.url";
160    //    public static final String HTDOCS_STAGING_URL_KEY = "htdocs.staging.url";
161    public static final String EXTERNALIZABLE_HELP_URL_KEY = "externalizable.help.url";
162    public static final String APPLICATION_EXTERNALIZABLE_IMAGES_URL_KEY = "externalizable.images.url";
163    public static final String EXTERNALIZABLE_IMAGES_URL_KEY = "kr.externalizable.images.url";
164    public static final String ATTACHMENT_IMAGE_PREFIX = "attach.img.";
165    public static final String ATTACHMENT_IMAGE_DEFAULT = "attach.img.default";
166    //    public static final String REPORTS_DIRECTORY_KEY = "reports.directory";
167    public static final String WORKFLOW_URL_KEY = "workflow.url";
168    public static final String KUALI_RICE_URL_KEY = "kr.url";
169    public static final String PROD_ENVIRONMENT_CODE_KEY =
170            org.kuali.rice.core.api.config.property.Config.PROD_ENVIRONMENT_CODE;
171    public static final String DOC_HANDLER_ACTION = "DocHandler.do";
172    public static final String DOCHANDLER_DO_URL = "/" + DOC_HANDLER_ACTION + "?docId=";
173    public static final String DOCHANDLER_URL_CHUNK = "&command=displayDocSearchView";
174    public static final String SUPERUSER_ACTION = "SuperUser.do";
175
176    //    public static final String DATABASE_REPOSITORY_FILES_LIST_NAME = "databaseRepositoryFilePaths";
177    public static final String SCRIPT_CONFIGURATION_FILES_LIST_NAME = "scriptConfigurationFilePaths";
178    //    public static final String JOB_NAMES_LIST_NAME = "jobNames";
179    //    public static final String TRIGGER_NAMES_LIST_NAME = "triggerNames";
180
181    public static final String IMAGE_URL_EXPRESSION = "@{#ConfigProperties['krad.externalizable.images.url']}";
182    public static final String DETAILS_IMAGE = "details_open.png";
183
184    public static final String ACTION_FORM_UTIL_MAP_METHOD_PARM_DELIMITER = "~";
185    public static final String ADD_LINE_METHOD = "addLine";
186    public static final String ADD_PREFIX = "add";
187    public static final String YES_INDICATOR_VALUE = "Y";
188    public static final String NO_INDICATOR_VALUE = "N";
189    //    public static final String AMOUNT_PROPERTY_NAME = "amount";
190    //    public static final String APPROVE_METHOD = "approve";
191    //    public static final String NON_ACTIVE_INDICATOR = "N";
192    public static final String BLANK_SPACE = " ";
193    public static final String BACK_LOCATION = "backLocation";
194    public static final String BACKDOOR_PARAMETER = "backdoorId";
195    public static final String LOGOFF_REDIRECT_URL_PARAMETER = "LOGOFF_REDIRECT_URL";
196    public static final String LOGOFF_REDIRECT_URL_PROPERTY = "rice.portal.logout.redirectUrl";
197    public static final String PORTAL_ALLOWED_REGEX = "rice.portal.allowed.regex";
198    //    public static final String BLANKET_APPROVE_METHOD = "blanketApprove";
199    public static final String BUSINESS_OBJECT_CLASS_ATTRIBUTE = "businessObjectClassName";
200    public static final String DATA_OBJECT_CLASS_ATTRIBUTE = "dataObjectClassName";
201    public static final String CALLING_METHOD = "caller";
202    /**
203     * The {@link org.kuali.rice.kns.question.ConfirmationQuestion} bean
204     */
205    public static final String CONFIRMATION_QUESTION = "confirmationQuestion";
206    /**
207     * The {@link org.kuali.rice.kns.question.RecallQuestion} bean
208     */
209    public static final String RECALL_QUESTION = "recallQuestion";
210    public static final String CONVERSION_FIELDS_PARAMETER = "conversionFields";
211    public static final String FIELDS_CONVERSION_PARAMETER = "fieldConversions";
212    public static final String LOOKUP_READ_ONLY_FIELDS = "readOnlyFields";
213    public static final String LOOKUP_AUTO_SEARCH = "autoSearch";
214    public static final String SEARCH_METHOD = "search";
215    //    public static final String DEFAULT_RETURN_LOCATION = "lookup.do";
216    public static final String DELETE_LINE_METHOD = "deleteLine";
217    public static final String TOGGLE_INACTIVE_METHOD = "toggleInactiveRecordDisplay";
218    public static final String DICTIONARY_BO_NAME = "dictionaryBusinessObjectName";
219    public static final String DISPATCH_REQUEST_PARAMETER = "methodToCall";
220
221    /**
222     * Constant defined to match with method call in module-locked.jsp which is
223     * set to a message that is displayed when the module is locked.
224     */
225    public static final String MODULE_LOCKED_MESSAGE_REQUEST_PARAMETER = "moduleLockedMessage";
226
227    public static final String CUSTOM_ACTION = "customAction";
228    public static final String DOC_FORM_KEY = "docFormKey";
229    public static final String FORM_KEY = "formKey";
230    public static final String NEW_NOTE_NOTE_TYPE_CODE = "newNote.noteTypeCode";
231    public static final String POST_TEXT_AREA_TO_PARENT = "postTextAreaToParent";
232    public static final String DOCUMENT_CANCEL_QUESTION = "DocCancel";
233    //    public static final String DOCUMENT_DELETE_QUESTION = "DocDelete";
234    public static final String DOCUMENT_DISAPPROVE_QUESTION = "DocDisapprove";
235    public static final String DOCUMENT_RECALL_QUESTION = "DocRecall";
236    public static final String DOCUMENT_SENSITIVE_DATA_QUESTION = "DocSensitiveDataQuestion";
237    //    public static final String DOCUMENT_HEADER_ID = "documentHeaderId";
238    public static final String DOCUMENT_HEADER_PROPERTY_NAME = "documentHeader";
239    public static final String DOCUMENT_SAVE_BEFORE_CLOSE_QUESTION = "DocSaveBeforeClose";
240    public static final String EXTRA_BUTTON_SOURCE = "extraButtonSource";
241    public static final String EXTRA_BUTTON_PARAMS = "extraButtonParams";
242    public static final String ADVANCED_SEARCH_FIELD = "isAdvancedSearch";
243    public static final String NEW_AD_HOC_ROUTE_PERSON_PROPERTY_NAME = "newAdHocRoutePerson";
244    public static final String NEW_AD_HOC_ROUTE_WORKGROUP_PROPERTY_NAME = "newAdHocRouteWorkgroup";
245    public static final String EXISTING_AD_HOC_ROUTE_PERSON_PROPERTY_NAME = "adHocRoutePerson";
246    public static final String EXISTING_AD_HOC_ROUTE_WORKGROUP_PROPERTY_NAME = "adHocRouteWorkgroup";
247    public static final String DOCUMENT_PROPERTY_NAME = "document";
248    public static final String DOCUMENT_TYPE_NAME = "docTypeName";
249    public static final String EDIT_PREFIX = "edit";
250    public static final String EMPTY_STRING = CoreConstants.EMPTY_STRING;
251    public static final String FIELD_CONVERSION_PAIR_SEPARATOR = ":";
252    public static final String FIELD_CONVERSIONS_SEPARATOR = ",";
253    public static final String REFERENCES_TO_REFRESH_SEPARATOR = ",";
254    public static final String RESTRICTED_DATA_MASK = "xxxxxx";
255    //    public static final String GENERIC_FIELD_NAME = "Field";
256    //    public static final String GENERIC_CODE_PROPERTY_NAME = "code";
257    //    public static final String STAND_IN_BUSINESS_OBJECT_FOR_ATTRIBUTES = "AttributeReferenceDummy";
258    public static final String OVERRIDE_KEYS = "overrideKeys";
259    public static final String COPY_KEYS = "cpKys";
260
261    public static final String KRAD_APPLICATION_DATASOURCE = "kradApplication.datasource";
262    public static final String KRAD_APPLICATION_DATASOURCE_JNDI = "kradApplication.datasource.jndi.location";
263
264    // **************** Begin Note & Attachments defines
265    /**
266     * Property name for notes collection
267     */
268    public static final String NOTES_PROPERTY_NAME = "notes";
269    /**
270     * Property name for new document - Value is "newNote"
271     */
272    public static final String NEW_DOCUMENT_NOTE_PROPERTY_NAME = "newNote";
273    /**
274     * Property name for note text - Value is "noteText"
275     */
276    public static final String NOTE_TEXT_PROPERTY_NAME = "noteText";
277    /**
278     * Property name for note topic text - Value is "noteTopicText"
279     */
280    public static final String NOTE_TOPIC_TEXT_PROPERTY_NAME = "noteTopicText";
281    /**
282     * Property name for note attachment - Value is "attachmentFile"
283     */
284    public static final String NOTE_ATTACHMENT_FILE_PROPERTY_NAME = "attachmentFile";
285
286    /**
287     * Property name for enabling attachments to note, overriding the defaults defined by the document template - Value
288     * is
289     * "enableNoteAttachments"
290     * <p>
291     * Example: The following line defined in the application properties file
292     * <p>
293     * enableNoteAttachments=false
294     * <p>
295     * disables the attachment option in Notes & Attachment of a document
296     */
297    public static final String NOTE_ATTACHMENT_ENABLED = "enableNoteAttachments";
298    // **************** End Note & Attachments defines
299
300    /**
301     * This value is the name of the param for the default max column length of a lookup result field if the field
302     * maxLength
303     * has not been defined in the DD
304     */
305    public static final String RESULTS_DEFAULT_MAX_COLUMN_LENGTH = "RESULTS_DEFAULT_MAX_COLUMN_LENGTH";
306
307    //    /**
308    //     * The number of levels BusinessObjectDictionaryServiceImpl will recurse. If this number is high, it may lead to serious
309    //     * performance problems
310    //     */
311    //    public static final int BUSINESS_OBJECT_DICTIONARY_SERVICE_PERFORM_FORCE_UPPERCASE_RECURSION_MAX_DEPTH = 3;
312
313    /**
314     * When checkboxes are rendered on the form, a hidden field will also be rendered corresponding to each checkbox
315     * with the
316     * checkbox's name suffixed with the value of this constant. No real fields should have names that contain this
317     * suffix,
318     * since this may lead to undesired results.
319     */
320    public static final String CHECKBOX_PRESENT_ON_FORM_ANNOTATION = "{CheckboxPresentOnFormAnnotation}";
321
322    public static final int DOCUMENT_ANNOTATION_MAX_LENGTH = 2000;
323
324    public static final String HIDE_LOOKUP_RETURN_LINK = "hideReturnLink";
325    public static final String SUPPRESS_ACTIONS = "suppressActions";
326    public static final String REFERENCES_TO_REFRESH = "referencesToRefresh";
327
328    public static final String INQUIRABLE_ATTRIBUTE_NAME = "kualiInquirable";
329    public static final String INQUIRY_ACTION = "inquiry.do";
330    public static final String PORTAL_ACTION = "portal.do";
331    public static final String DIRECT_INQUIRY_ACTION = "directInquiry.do";
332    public static final String CONTINUE_WITH_INQUIRY_METHOD_TO_CALL = "continueWithInquiry";
333    public static final String INQUIRY_PK_VALUE_PASSED_FROM_PREVIOUS_REQUEST_PREFIX = "previousPkValue_";
334    public static final String INACTIVE_RECORD_DISPLAY_PARAM_PREFIX = "inactiveRecordDisplay_";
335
336    public static final String FIELD_NAME_TO_FOCUS_ON_AFTER_SUBMIT = "fieldNameToFocusOnAfterSubmit";
337
338    public static final String DEFAULT_PARAMETER_APPLICATION_ID = "KUALI";
339    public static final String DEFAULT_NAMESPACE = "KUALI";
340    public static final String LOOKUP_ACTION = "lookup.do";
341    public static final String MULTIPLE_VALUE_LOOKUP_ACTION = "multipleValueLookup.do";
342    public static final String LOOKUP_RESULTS_SEQUENCE_NUMBER = "lookupResultsSequenceNumber";
343    public static final String LOOKUP_RESULTS_BO_CLASS_NAME = "lookupResultsBOClassName";
344    public static final String LOOKED_UP_COLLECTION_NAME = "lookedUpCollectionName";
345    public static final String MULTIPLE_VALUE_LOOKUP_PREVIOUSLY_SELECTED_OBJ_IDS_PARAM = "previouslySelectedObjectIds";
346    public static final String MULTIPLE_VALUE_LOOKUP_OBJ_IDS_SEPARATOR = "||";
347    public static final String MULTIPLE_VALUE_LOOKUP_DISPLAYED_OBJ_ID_PARAM_PREFIX = "displayedObjId-";
348    public static final String MULTIPLE_VALUE_LOOKUP_SELECTED_OBJ_ID_PARAM_PREFIX = "selectedObjId-";
349    public static final String LOOKUP_ANCHOR = "lookupAnchor";
350    public static final String LOOKUPABLE_IMPL_ATTRIBUTE_NAME = "lookupableImplServiceName";
351    public static final String LOOKUP_RESULTS_SEQUENCE = "KRNS_LOOKUP_RSLT_S";
352    public static final String KUALI_LOOKUPABLE_IMPL = "kualiLookupable";
353    public static final String PARAMETER_DOC_ID = "docId";
354    public static final String PARAMETER_COMMAND = "command";
355    public static final String ACTION_CLASS = "actionClass";
356    public static final String NAMESPACE_CODE = "namespaceCode";
357    public static final String COMPONENT_NAME = "componentName";
358    //    public static final String LOOKUP_METHOD = "performLookup";
359    public static final String LOOKUP_DEFAULT_RANGE_SEARCH_LOWER_BOUND_LABEL = "From";
360    public static final String LOOKUP_DEFAULT_RANGE_SEARCH_UPPER_BOUND_LABEL = "To";
361    public static final String LOOKUP_RANGE_LOWER_BOUND_PROPERTY_PREFIX = "rangeLowerBoundKeyPrefix_";
362    public static final String LOOKUP_RANGE_UPPER_BOUND_PROPERTY_PREFIX = "rangeUpperBoundKeyPrefix_";
363    public static final String LOOKUP_PARAMETER_LITERAL_PREFIX = "literal";
364    public static final String LOOKUP_PARAMETER_LITERAL_DELIMITER = "=";
365
366    public static final String METHOD_DISPLAY_DOC_SEARCH_VIEW = "displayDocSearchView";
367    public static final String MAINTENANCE_ACTION = "maintenance.do";
368    public static final String MAINTENANCE_ADD_PREFIX = "add.";
369    public static final String MAINTENANCE_COPY_ACTION = "Copy";
370    public static final String MAINTENANCE_EDIT_ACTION = "Edit";
371    public static final String MAINTENANCE_DELETE_ACTION = "Delete";
372    public static final String MAINTENANCE_NEW_ACTION = "New";
373    public static final String MAINTENANCE_COPY_METHOD_TO_CALL = "copy";
374    public static final String MAINTENANCE_EDIT_METHOD_TO_CALL = "edit";
375    public static final String MAINTENANCE_DELETE_METHOD_TO_CALL = "delete";
376    public static final String MAINTENANCE_NEW_METHOD_TO_CALL = "start";
377    public static final String MAINTENANCE_NEWWITHEXISTING_ACTION = "newWithExisting";
378    public static final String MAINTENANCE_ACTN = "maintenanceAction";
379    public static final String MAINTENANCE_NEW_MAINTAINABLE = "document.newMaintainableObject.";
380    public static final String MAINTENANCE_OLD_MAINTAINABLE = "document.oldMaintainableObject.";
381    public static final String MAPPING_CANCEL = "cancel";
382    public static final String MAPPING_RECALL = "recall";
383    public static final String MAPPING_CLOSE = "close";
384    public static final String MAPPING_DISAPPROVE = "disapprove";
385    //    public static final String MAPPING_DELETE = "delete";
386    // Activate the MAPPING_ERROR define for use in Exception incident and handling
387    public static final String MAPPING_ERROR = "error";
388    public static final String MAPPING_PORTAL = "portal";
389    //    public static final String MAPPING_MULTIPLE_VALUE_LOOKUP = "multipleValueLookup";
390    public static final String MAPPING_ROUTE_REPORT = "route_report";
391    //    public static final String MAXLENGTH_SUFFIX = ".maxLength";
392    public static final String METHOD_TO_CALL_ATTRIBUTE = "methodToCallAttribute";
393    public static final String METHOD_TO_CALL_PATH = "methodToCallPath";
394    public static final String METHOD_TO_CALL_BOPARM_LEFT_DEL = "(!!";
395    public static final String METHOD_TO_CALL_BOPARM_RIGHT_DEL = "!!)";
396    public static final String METHOD_TO_CALL_PARM1_LEFT_DEL = "(((";
397    public static final String METHOD_TO_CALL_PARM1_RIGHT_DEL = ")))";
398    public static final String METHOD_TO_CALL_PARM2_LEFT_DEL = "((`";
399    public static final String METHOD_TO_CALL_PARM2_RIGHT_DEL = "`))";
400    public static final String METHOD_TO_CALL_PARM3_LEFT_DEL = "((<";
401    public static final String METHOD_TO_CALL_PARM3_RIGHT_DEL = ">))";
402    public static final String METHOD_TO_CALL_PARM4_LEFT_DEL = "(([";
403    public static final String METHOD_TO_CALL_PARM4_RIGHT_DEL = "]))";
404    public static final String METHOD_TO_CALL_PARM5_LEFT_DEL = "((*";
405    public static final String METHOD_TO_CALL_PARM5_RIGHT_DEL = "*))";
406    public static final String METHOD_TO_CALL_PARM6_LEFT_DEL = "((%";
407    public static final String METHOD_TO_CALL_PARM6_RIGHT_DEL = "%))";
408    public static final String METHOD_TO_CALL_PARM7_LEFT_DEL = "((^";
409    public static final String METHOD_TO_CALL_PARM7_RIGHT_DEL = "^))";
410    public static final String METHOD_TO_CALL_PARM8_LEFT_DEL = "((&";
411    public static final String METHOD_TO_CALL_PARM8_RIGHT_DEL = "&))";
412    public static final String METHOD_TO_CALL_PARM9_LEFT_DEL = "((~";
413    public static final String METHOD_TO_CALL_PARM9_RIGHT_DEL = "~))";
414    public static final String METHOD_TO_CALL_PARM10_LEFT_DEL = "((/";
415    public static final String METHOD_TO_CALL_PARM10_RIGHT_DEL = "/))";
416    public static final String METHOD_TO_CALL_PARM11_LEFT_DEL = "(:;";
417    public static final String METHOD_TO_CALL_PARM11_RIGHT_DEL = ";:)";
418    public static final String METHOD_TO_CALL_PARM12_LEFT_DEL = "(::;";
419    public static final String METHOD_TO_CALL_PARM12_RIGHT_DEL = ";::)";
420    // below 2 fields used in rowDisplay.tag file
421    public static final String METHOD_TO_CALL_PARM13_LEFT_DEL = "(:::;";
422    public static final String METHOD_TO_CALL_PARM13_RIGHT_DEL = ";:::)";
423    // used for baseLookupURL
424    public static final String METHOD_TO_CALL_PARM14_LEFT_DEL = "(::::;";
425    public static final String METHOD_TO_CALL_PARM14_RIGHT_DEL = ";::::)";
426    // if more strings needed, then add more colons to the PARM11 strings above, e.g. (::; (:::;, etc.
427
428    // Pessimistic Locking Constants
429    public static final String SESSION_TIMEOUT_WARNING_MESSAGE_TIME_PARM_NM = "SESSION_TIMEOUT_WARNING_MESSAGE_TIME";
430    public static final String SESSION_TIMEOUT_WARNING_MILLISECONDS = "SESSION_TIMEOUT_WARNING_MILLISECONDS";
431    public static final String SESSION_TIMEOUT_WARNING_MINUTES = "SESSION_TIMEOUT_WARNING_MINUTES";
432
433    public static final String ANCHOR = "anchor";
434    public static final String ANCHOR_TOP_OF_FORM = "topOfForm";
435    public static final String QUESTION_ANCHOR = "questionAnchor";
436    public static final String NOT_AVAILABLE_STRING = "N/A";
437    public static final String QUESTION_ACTION = "questionPrompt.do";
438    public static final String QUESTION_CLICKED_BUTTON = "buttonClicked";
439    public static final String QUESTION_ERROR_KEY = "questionErrorKey";
440    public static final String QUESTION_ERROR_PROPERTY_NAME = "questionErrorPropertyName";
441    public static final String QUESTION_ERROR_PARAMETER = "questionErrorParameter";
442    public static final String QUESTION_IMPL_ATTRIBUTE_NAME = "questionType";
443    public static final String QUESTION_INST_ATTRIBUTE_NAME = "questionIndex";
444    public static final String QUESTION_PAGE_TITLE = "Question Dialog Page";
445    public static final String QUESTION_REFRESH = "QuestionRefresh";
446    public static final String QUESTION_CONTEXT = "context";
447    public static final String QUESTION_TEXT_ATTRIBUTE_NAME = "questionText";
448    public static final String QUESTION_REASON_ATTRIBUTE_NAME = "reason";
449    public static final String QUESTION_SHOW_REASON_FIELD = "showReasonField";
450    public static final String QUESTION_ACTION_RECALL_REASON = "ConfirmRecallDialog";
451
452    public static final String REFRESH_CALLER = "refreshCaller";
453    public static final String REFRESH_CALLER_TYPE = "refreshCallerType";
454    public static final String REFRESH_DATA_OBJECT_CLASS = "refreshDataObjectClass";
455    public static final String REFRESH_MAPPING_PREFIX = "/Refresh";
456
457    // below field used in tag files
458    public static final String REQUIRED_FIELD_SYMBOL = "*";
459    public static final String RETURN_LOCATION_PARAMETER = "returnLocation";
460    public static final String RETURN_METHOD_TO_CALL = "refresh";
461    // Another possible value for the "refreshCaller" request parameter, as a fix for KULRICE-2903.
462    public static final String TEXT_AREA_REFRESH = "TextAreaRefresh";
463    // below field used in tag files
464
465    // KualiDocumentActionBase Method Names
466    public static final String ROUTE_METHOD = "route";
467    public static final String SAVE_METHOD = "save";
468    public static final String APPROVE_METHOD = "approve";
469    public static final String BLANKET_APPROVE_METHOD = "blanketApprove";
470    public static final String DOC_HANDLER_METHOD = "docHandler";
471    public static final String CLOSE_METHOD = "close";
472    public static final String CANCEL_METHOD = "cancel";
473    public static final String LOAD_DOCUMENT_METHOD = "loadDocument";
474    public static final String CREATE_DOCUMENT_METHOD = "createDocument";
475    public static final String DISAPPROVE_METHOD = "disapprove";
476    public static final String FYI_METHOD = "fyi";
477    public static final String ACKNOWLEDGE_METHOD = "acknowledge";
478
479    public static final String DOWNLOAD_BO_ATTACHMENT_METHOD = "downloadBOAttachment";
480    public static final String DOWNLOAD_CUSTOM_BO_ATTACHMENT_METHOD = "downloadCustomBOAttachment";
481    public static final String NOTE_IDENTIFIER = "noteIdentifier";
482    public static final String BO_ATTACHMENT_FILE_NAME = "fileName";
483    public static final String BO_ATTACHMENT_FILE_CONTENT_TYPE = "contentType";
484    public static final String BO_ATTACHMENT_FILE_CONTENT_FIELD = "fileContentBOField";
485
486    // specialized method 'delete' used only for PessimisticLocks currently
487    public static final String DELETE_METHOD = "delete";
488    public static final String START_METHOD = "start";
489    public static final String USER_SESSION_KEY = "UserSession";
490    public static final String KUALI_SESSION_ID = "kualiSessionId";
491    public static final String EXITING_DOCUMENT = "exitingDocument";
492    public static final String DOCUMENT_DOCUMENT_NUMBER = "document.documentNumber";
493    public static final String DOC_NUM = "docNum";
494
495    public static final String SEARCH_LIST_KEY_PREFIX = "searchResults";
496    public static final String SEARCH_LIST_REQUEST_KEY = "searchResultKey";
497
498    public static final String METHOD_DISPLAY_ALL_INACTIVATION_BLOCKERS = "displayAllInactivationBlockers";
499    public static final String DISPLAY_ALL_INACTIVATION_BLOCKERS_ACTION = "inactivationBlockers.do";
500
501    public static final String GLOBAL_ERRORS = "GLOBAL_ERRORS";
502    // TODO: fix this constant to be GLOBAL_MESSAGES once KNS is removed
503    public static final String GLOBAL_MESSAGES = "GlobalMessages";
504    public static final String GLOBAL_INFO = "GLOBAL_INFO";
505    public static final String PESSIMISTIC_LOCK_MESSAGES = "DocumentPessimisticLockMessages";
506    public static final String AD_HOC_ROUTE_PERSON_ERRORS = "newAdHocRoutePerson*,adHocRoutePerson*";
507    public static final String AD_HOC_ROUTE_WORKGROUP_ERRORS = "newAdHocRouteWorkgroup*,adHocRouteWorkgroup*";
508    public static final String AD_HOC_ROUTE_ERRORS = AD_HOC_ROUTE_PERSON_ERRORS + "," + AD_HOC_ROUTE_WORKGROUP_ERRORS;
509    public static final String DOCUMENT_DOCUMENT_ERRORS = "document.document*";
510    public static final String DOCUMENT_EXPLANATION_ERRORS = "document.explanation*";
511    public static final String DOCUMENT_REVERSAL_ERRORS = "document.reversal*";
512    public static final String DOCUMENT_SELECTED_ERRORS = "document.selected*";
513    public static final String DOCUMENT_HEADER_ERRORS = "document.header*";
514    //    public static final String DOCUMENT_ERRORS_LESS_DOCUMENT = DOCUMENT_EXPLANATION_ERRORS + "," + DOCUMENT_REVERSAL_ERRORS + "," + DOCUMENT_SELECTED_ERRORS + "," + DOCUMENT_HEADER_ERRORS;
515    public static final String DOCUMENT_ERRORS = DOCUMENT_DOCUMENT_ERRORS +
516            "," +
517            DOCUMENT_EXPLANATION_ERRORS +
518            "," +
519            DOCUMENT_REVERSAL_ERRORS +
520            "," +
521            DOCUMENT_SELECTED_ERRORS +
522            "," +
523            DOCUMENT_HEADER_ERRORS;
524    // below field used in tag files
525    public static final String DOCUMENT_NOTES_ERRORS = NEW_DOCUMENT_NOTE_PROPERTY_NAME + "*";
526
527    // export formats
528
529    public static final String XML_FORMAT = "xml";
530    public static final String EXCEL_FORMAT = "xls";
531    public static final String CSV_FORMAT = "csv";
532
533    public static final String XML_MIME_TYPE = "application/xml";
534    public static final String EXCEL_MIME_TYPE = "application/vnd.ms-excel";
535    public static final String CSV_MIME_TYPE = "text/csv";
536
537    // Header Tab navigation constant values
538    public static final String NAVIGATE_TO = "navigateTo.";
539    public static final String HEADER_DISPATCH = "headerDispatch.";
540
541    public static final String MULTIPLE_VALUE = "multipleValues";
542
543    // Agency type codes
544    //    public static final String AGENCY_TYPE_CODE_FEDERAL = "F";
545
546    // special chars that I don't know how to put into string literals in JSP expression language
547    // below field used in tag files
548    public static final String NEWLINE = "\n";
549
550    // websession
551    public static final String DOCUMENT_WEB_SCOPE = "documentWebScope";
552    public static final String SESSION_SCOPE = "session";
553
554    public static final class SystemGroupParameterNames {
555        public static final String CHECK_ENCRYPTION_SERVICE_OVERRIDE_IND = "CHECK_ENCRYPTION_SERVICE_OVERRIDE_IND";
556
557        public static final String LOOKUP_RESULTS_LIMIT = "RESULTS_LIMIT";
558        public static final String MULTIPLE_VALUE_LOOKUP_RESULTS_LIMIT = "MULTIPLE_VALUE_RESULTS_LIMIT";
559        public static final String MULTIPLE_VALUE_LOOKUP_RESULTS_PER_PAGE = "MULTIPLE_VALUE_RESULTS_PER_PAGE";
560        //        public static final String MULTIPLE_VALUE_LOOKUP_RESULTS_EXPIRATION_AGE = "MULTIPLE_VALUE_RESULTS_EXPIRATION_SECONDS";
561
562        public static final String DEFAULT_CAN_PERFORM_ROUTE_REPORT_IND = "DEFAULT_CAN_PERFORM_ROUTE_REPORT_IND";
563        public static final String ALLOW_ENROUTE_BLANKET_APPROVE_WITHOUT_APPROVAL_REQUEST_IND =
564                "ALLOW_ENROUTE_BLANKET_APPROVE_WITHOUT_APPROVAL_REQUEST_IND";
565        /**
566         * Used to indicate whether field level help is enabled. Depending on the namespace this parameter is in, it
567         * may
568         * affect either lookups (i.e. the search criteria fields) or maintenance documents.
569         */
570        public static final String ENABLE_FIELD_LEVEL_HELP_IND = "ENABLE_FIELD_LEVEL_HELP_IND";
571
572        //        /**
573        //         * Used by PurgePendingAttachmentsJob to compute the maximum amount of time a pending attachment is allowed to
574        //         * persist on the file system before being deleted.
575        //         */
576        //        public static final String PURGE_PENDING_ATTACHMENTS_STEP_MAX_AGE = "purgePendingAttachmentsStepMaxAge";
577
578        public static final String ENABLE_DIRECT_INQUIRIES_IND = "ENABLE_DIRECT_INQUIRIES_IND";
579
580        public static final String SENSITIVE_DATA_PATTERNS = "SENSITIVE_DATA_PATTERNS";
581        public static final String SENSITIVE_DATA_PATTERNS_WARNING_IND = "SENSITIVE_DATA_PATTERNS_WARNING_IND";
582
583        public static final String OLTP_LOCKOUT_ACTIVE_IND = "OLTP_LOCKOUT_ACTIVE_IND";
584        public static final String OLTP_LOCKOUT_MESSAGE_PARM = "OLTP_LOCKOUT_MESSAGE";
585        public static final String OLTP_LOCKOUT_DEFAULT_MESSAGE = "OLTP_LOCKOUT_DEFAULT_MESSAGE";
586
587        private SystemGroupParameterNames() {
588            throw new UnsupportedOperationException("do not call");
589        }
590    }
591
592    public static final int DEFAULT_NUM_OF_COLUMNS = 1;
593
594    public static final class TableRenderConstants {
595        public static final String SWITCH_TO_PAGE_METHOD = "switchToPage";
596        public static final String SORT_METHOD = "sort";
597        public static final String SELECT_ALL_METHOD = "selectAll";
598        public static final String UNSELECT_ALL_METHOD = "unselectAll";
599
600        // below field used on displayMultipleValueLookupResults.tag
601        public static final String PREVIOUSLY_SORTED_COLUMN_INDEX_PARAM = "previouslySortedColumnIndex";
602        public static final String VIEWED_PAGE_NUMBER = "viewedPageNumber";
603
604        private TableRenderConstants() {
605            throw new UnsupportedOperationException("do not call");
606        }
607    }
608
609    public static final String TAB_STATES = "tabStates";
610
611    public static final List<String> ALWAYS_VALID_PARAMETER_PREFIXES = new ArrayList<String>();
612
613    static {
614        ALWAYS_VALID_PARAMETER_PREFIXES.add(TAB_STATES);
615        ALWAYS_VALID_PARAMETER_PREFIXES.add(DISPATCH_REQUEST_PARAMETER + ".hideAllTabs");
616        ALWAYS_VALID_PARAMETER_PREFIXES.add(DISPATCH_REQUEST_PARAMETER + ".showAllTabs");
617        ALWAYS_VALID_PARAMETER_PREFIXES.add(DISPATCH_REQUEST_PARAMETER + ".toggleTab");
618        ALWAYS_VALID_PARAMETER_PREFIXES.add(
619                DISPATCH_REQUEST_PARAMETER + "." + TableRenderConstants.SWITCH_TO_PAGE_METHOD);
620        ALWAYS_VALID_PARAMETER_PREFIXES.add(DISPATCH_REQUEST_PARAMETER + "." + TableRenderConstants.SORT_METHOD);
621    }
622
623    public static final String GLOBAL_VARIABLES_MESSAGES_LIST_ACTION_MESSAGES = "GlobalVariablesMessagesList";
624
625    public static final class Config {
626        public static final String APPLY_ILLEGAL_BUSINESS_OBJECT_FOR_SAVE_CHECK =
627                "rice.krad.illegalBusinessObjectsForSave.applyCheck";
628        public static final String ILLEGAL_BUSINESS_OBJECTS_FOR_SAVE = "rice.krad.illegalBusinessObjectsForSave";
629        public static final String COMPONENT_PUBLISHING_ENABLED = "rice.krad.componentPublishing.enabled";
630        public static final String COMPONENT_PUBLISHING_DELAY = "rice.krad.componentPublishing.delay";
631        public static final String IGNORE_MISSIONG_FIELDS_ON_DESERIALIZE =
632                "rice.krad.bos.ignoreMissingFieldsOnDeserialize";
633        public static final String KNS_ENABLED = "rice.krad.kns.enabled";
634        public static final String ENABLE_LEGACY_DATA_FRAMEWORK = "rice.krad.enableLegacyDataFramework";
635        public static final String ENABLE_VIEW_AUTOGENERATION = "rice.krad.views.autoGeneration.enabled";
636
637        private Config() {
638            throw new UnsupportedOperationException("do not call");
639        }
640    }
641
642    public static final String ENABLE_NONPRODUCTION_UNMASKING = "enable.nonproduction.data.unmasking";
643
644    public static final String SINGLE_QUOTE = "'";
645
646    public static final String SENSITIVE_DATA_QUESTION_SESSION_TICKET = "SENSITIVE_DATA_QUESTION_SESSION_TICKET";
647    public static final String EDITABLE_PROPERTIES_HISTORY_HOLDER_ATTR_NAME = "EditablePropertiesHistoryHolder";
648
649    // TODO: new krad constants, previous needs to be cleaned up
650    public static final String DATA_TYPE_STRING = CoreConstants.DATA_TYPE_STRING;
651    public static final String DATA_TYPE_DATE = CoreConstants.DATA_TYPE_DATE;
652    public static final String DATA_TYPE_LONG = CoreConstants.DATA_TYPE_LONG;
653    public static final String DATA_TYPE_FLOAT = CoreConstants.DATA_TYPE_FLOAT;
654    public static final String DATA_TYPE_BOOLEAN = CoreConstants.DATA_TYPE_BOOLEAN;
655
656    public static final String ACTIONS_COLUMN_TITLE = "Actions";
657
658    public static final class Maintenance {
659        public static final String REQUEST_MAPPING_MAINTENANCE = "maintenance";
660        public static final String METHOD_TO_CALL_NEW = "start";
661        public static final String METHOD_TO_CALL_NEW_WITH_EXISTING = "maintenanceNewWithExisting";
662        public static final String METHOD_TO_CALL_EDIT = "maintenanceEdit";
663        public static final String METHOD_TO_CALL_COPY = "maintenanceCopy";
664        public static final String METHOD_TO_CALL_DELETE = "maintenanceDelete";
665        public static final String LOCK_AFTER_CLASS_DELIM = "!!";
666        public static final String LOCK_AFTER_FIELDNAME_DELIM = "^^";
667        public static final String LOCK_AFTER_VALUE_DELIM = "::";
668    }
669
670    public static class Lookup {
671        public static final String TITLE_RETURN_URL_PREPENDTEXT_PROPERTY = "title.return.url.value.prependtext";
672        public static final String TITLE_ACTION_URL_PREPENDTEXT_PROPERTY = "title.action.url.value.prependtext";
673    }
674
675    public static final class MessageParsing {
676        public static final String LEFT_TOKEN = "[";
677        public static final String RIGHT_TOKEN = "]";
678        public static final String RIGHT_TOKEN_MARKER = "$@$";
679        public static final String RIGHT_TOKEN_PLACEHOLDER = RIGHT_TOKEN_MARKER + RIGHT_TOKEN;
680        public static final String LEFT_BRACKET = "&#91;";
681        public static final String RIGHT_BRACKET = "&#93;";
682        public static final String INLINE_COMP_CLASS = "inlineBlock";
683        public static final String COMPONENT_BY_ID = "id";
684        public static final String COLOR = "color";
685        public static final String CSS_CLASSES = "css";
686        public static final String ACTION_LINK = "action";
687        public static final String ACTION_DATA = "data";
688        public static final String LINK = "link";
689        public static final String[] UNALLOWED_HTML =
690                {"script", "link", "iframe", "html", "head", "body", "object", "form", "frame", "frameset", "!DOCTYPE"};
691    }
692
693    public static final String DICTIONARY_BEAN_PARENT_SUFFIX = "-parentBean";
694    public static final String EXPRESSION_MESSAGE_PLACEHOLDER_PREFIX = "#msg(";
695    public static final String EXPRESSION_MESSAGE_PLACEHOLDER_SUFFIX = ")";
696    public static final String MESSAGE_KEY_PLACEHOLDER_PREFIX = "@msg{";
697    public static final String MESSAGE_KEY_PLACEHOLDER_SUFFIX = "}";
698    public static final String MESSAGE_KEY_PATH_INDICATOR = "#";
699
700    public static final String QUOTE_PLACEHOLDER = "@quot@";
701
702    public static final String REQUEST_MAPPING_SESSION_TIMEOUT = "sessionTimout";
703    public static final String SESSION_TIMEOUT_VIEW_ID = "Uif-SessionTimeoutView";
704
705    public static final class ConfigParameters {
706        public static final String APPLICATION_VERSION = "application.version";
707        public static final String APPLICATION_URL = "application.url";
708        public static final String KRAD_DEV_MODE = "rice.krad.dev.mode";
709        public static final String KRAD_SCRIPT_CLEANUP = "rice.krad.script.cleanup";
710        public static final String KRAD_STRICT_LIFECYCLE = "rice.krad.lifecycle.strict";
711        public static final String KRAD_VIEW_LIFECYCLE_TRACE = "rice.krad.lifecycle.trace";
712        public static final String KRAD_RENDER_IN_LIFECYCLE = "rice.krad.lifecycle.render";
713        public static final String KRAD_VIEW_LIFECYCLE_ASYNCHRONOUS = "rice.krad.lifecycle.asynchronous";
714        public static final String KRAD_VIEW_LIFECYCLE_MINTHREADS = "rice.krad.lifecycle.asynchronous.minThreads";
715        public static final String KRAD_VIEW_LIFECYCLE_MAXTHREADS = "rice.krad.lifecycle.asynchronous.maxThreads";
716        public static final String KRAD_VIEW_LIFECYCLE_TIMEOUT = "rice.krad.lifecycle.asynchronous.timeout";
717        public static final String KRAD_COPY_DELAY = "rice.krad.copyable.delay";
718        public static final String KRAD_INCLUDE_LESS = "rice.krad.include.less";
719        public static final String SCHEMA_PACKAGES = "rice.krad.schema.packages";
720    }
721
722    public static final class ControllerMappings {
723        public static final String INIT_DOC_INFO = "initdocinfo";
724        public static final String INQUIRY = "/inquiry";
725        public static final String LOOKUP = "/lookup";
726        public static final String MAINTENANCE = "/maintenance";
727    }
728}