001/** 002 * Copyright 2005-2016 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.kuali.rice.kew.api; 017 018import org.kuali.rice.core.api.CoreConstants; 019import org.kuali.rice.core.api.CoreConstants.Versions; 020import org.kuali.rice.core.api.util.RiceConstants; 021import org.kuali.rice.kew.api.action.ActionType; 022import org.kuali.rice.kew.api.doctype.DocumentTypePolicy; 023import org.kuali.rice.kew.api.document.DocumentStatus; 024 025import java.util.ArrayList; 026import java.util.HashMap; 027import java.util.HashSet; 028import java.util.Iterator; 029import java.util.List; 030import java.util.Map; 031import java.util.Set; 032 033public final class KewApiConstants { 034 public static final String KEW_MODULE_NAMESPACE = "KEW"; 035 036 public static final String WEBAPP_DIRECTORY = "/kew"; 037 038 public static final String USE_OUT_BOX = "USE_OUT_BOX%"; 039 040 /** 041 * Node state key under which rule selector can be specified on a per-nodeinstance basis 042 */ 043 public static final String RULE_SELECTOR_NODE_STATE_KEY = "__RULE_SELECTOR__"; 044 /** 045 * Node state key under which rule nme can be specified on a per-nodeinstance basis 046 */ 047 public static final String RULE_NAME_NODE_STATE_KEY = "__RULE_NAME__"; 048 049 public static final String DEFAULT_DOCUMENT_TYPE_LABEL = "Undefined"; 050 051 public static final String DOCUMENT_TYPE_INHERITED_VALUE_INDICATOR = "(Inherited from Parent)"; 052 public static final String DOCUMENT_TYPE_SYSTEM_DEFAULT_INDICATOR = "(System Default)"; 053 054 public static final String KEW_MESSAGING_ENTITY = "KEW"; 055 056 public static final String MESSAGING_MEMORY = "memory"; 057 058 public static final String CORE_WORKFLOW_DATASOURCE = "kewDataSource"; 059 // not strictly necessary to specify if connection descriptor is configured as default 060 public static final String CORE_WORKFLOW_DATASOURCE_JCD_ALIAS = CORE_WORKFLOW_DATASOURCE; 061 062 public static final String PLUGIN_HOT_DEPLOY_MAX_WAIT_TIME = "Plugin.hotDeploy.maxWaitTime"; 063 public static final String PLUGIN_HOT_DEPLOY_SAFE_TIME = "Plugin.hotDeploy.safeTime"; 064 065 public static final String KEW_URL_HOST = "kew.url.host"; 066 public static final String HTTP_SERVICE_PORT = "http.service.port"; 067 public static final String KEW_SERVER_CONTEXT = "kew.server.context"; 068 069 public static final String RELOAD_ACTION_LIST = "RELOAD_ACTION_LIST"; 070 public static final String DELEGATION_WIZARD = "delegationWizard"; 071 public static final String PERFORM_REALTIME_DOCUMENT_UPGRADE = "Document.PerformRealtimeUpgrade"; 072 //checkRouteLogAuthentication 073 074 public static final long DEFAULT_CACHE_REQUEUE_WAIT_TIME = 5000; 075 076 public static final int DEFAULT_THREAD_POOL_SIZE = 5; 077 078 public static final String STANDARD_DOC_SEARCH_GENERATOR_CLASS_CONFIG_PARM = "documentSearch.generator.class.name"; 079 public static final String STANDARD_DOC_SEARCH_RESULT_PROCESSOR_CLASS_CONFIG_PARM = "documentSearch.resultProcessor.class.name"; 080 081 public static final String DELEGATE_CHANGE_AR_GENERATION_KEY = "DelegateRuleChange.IsGenerateActionRequests"; 082 083 public static final String WORKGROUP_ROUTE_LOG_POPUP_KEY = "Workgroup.IsRouteLogPopup"; 084 public static final String WORKGROUP_ROUTE_LOG_POPUP_VALUE = "true"; 085 086 public static final String WORKGROUP_SEARCH_INSTRUCTION_KEY = "Workgroup.Search.Instruction"; 087 public static final String SUB_ACCOUNT_SEARCH_INSTRUCTION_KEY = "SubAccount.Search.Instruction"; 088 public static final String USER_SEARCH_INSTRUCTION_KEY = "User.Search.Instruction"; 089 public static final String WORKGROUP_CREATE_NEW_INSTRUCTION_KEY = "Workgroup.CreateNew.Instruction"; 090 public static final String USER_CREATE_NEW_INSTRUCTION_KEY = "User.CreateNew.Instruction"; 091 092 public static final String ACTION_LIST_ATTRIBUTE_CLASS_PROPERTY = "customActionListAttributeClassName"; 093 public static final String EMAIL_ATTRIBUTE_CLASS_PROPERTY = "customEmailAttributeClassName"; 094 public static final String NOTE_ATTRIBUTE_CLASS_PROPERTY = "customNoteAttributeClassName"; 095 096 // DelegationType values 097 public static final String DELEGATION_PRIMARY = "PRIMARY"; 098 public static final String DELEGATION_SECONDARY = "SECONDARY"; 099 100 /** 101 * This is a UI option, not valid data for a delgationType value. 102 */ 103 public static final String DELEGATION_BOTH = "E"; 104 public static final String DELEGATION_BOTH_LABEL = "Both"; 105 106 public static final String FLEX_RM_NAME = "FRM"; 107 public static final String DOC_HANDLER_REDIRECT_PAGE = "DocHandler.do"; 108 public static final String DOCUMENT_ROUTING_REPORT_PAGE = "RoutingReport.do"; 109 public static final String FEEDBACK_URL = "feedback.do"; 110 111 // Routing Report constants 112 public static final String DOCUMENT_TYPE_NAME_ATTRIBUTE_NAME = "documentTypeParam"; 113 public static final String INITIATOR_ID_ATTRIBUTE_NAME = "initiatorPrincipalId"; 114 public static final String DOCUMENT_CONTENT_ATTRIBUTE_NAME = "documentContent"; 115 public static final String RETURN_URL_ATTRIBUTE_NAME = "backUrl"; 116 public static final String DISPLAY_CLOSE_BUTTON_ATTRIBUTE_NAME = "showCloseButton"; 117 public static final String DISPLAY_CLOSE_BUTTON_TRUE_VALUE = "showCloseButton"; 118 119 public static final String DAILY_UNIT = "Daily"; 120 public static final String WEEKLY_UNIT = "Weekly"; 121 public static final String MONTHLY_UNIT = "Monthly"; 122 public static final String YEARLY_UNIT = "Yearly"; 123 public static final String SUDS_DATASOURCE = "SUDS"; 124 public static final String APP_CODE = "en"; 125 126 public static final String YES_LABEL = "Yes"; 127 public static final String NO_LABEL = "No"; 128 public static final String INHERITED_CD = "I"; 129 public static final String INHERITED_LABEL = "Inherited"; 130 131 public static final String DISAPPROVE_POLICY = DocumentTypePolicy.DISAPPROVE.getCode(); 132 public static final String DISAPPROVE_POLICY_CANCEL_CD = "C"; 133 public static final String ALLOW_UNREQUESTED_ACTION_POLICY = DocumentTypePolicy.ALLOW_UNREQUESTED_ACTION.getCode(); 134 public static final String DEFAULT_APPROVE_POLICY = DocumentTypePolicy.DEFAULT_APPROVE.getCode(); 135 public static final String INITIATOR_MUST_ROUTE_POLICY = DocumentTypePolicy.INITIATOR_MUST_ROUTE.getCode(); 136 public static final String INITIATOR_MUST_SAVE_POLICY = DocumentTypePolicy.INITIATOR_MUST_SAVE.getCode(); 137 public static final String INITIATOR_MUST_CANCEL_POLICY = DocumentTypePolicy.INITIATOR_MUST_CANCEL.getCode(); 138 public static final String INITIATOR_MUST_BLANKET_APPROVE_POLICY = DocumentTypePolicy.INITIATOR_MUST_BLANKET_APPROVE.getCode(); 139 public static final String USE_KEW_SUPERUSER_DOCHANDLER = DocumentTypePolicy.USE_KEW_SUPERUSER_DOCHANDLER.getCode(); 140 public static final String SEND_NOTIFICATION_ON_SU_APPROVE_POLICY = DocumentTypePolicy.SEND_NOTIFICATION_ON_SU_APPROVE.getCode(); 141 public static final String ALLOW_SU_POSTPROCESSOR_OVERRIDE_POLICY = DocumentTypePolicy.ALLOW_SU_POSTPROCESSOR_OVERRIDE.getCode(); 142 public static final String FAIL_ON_INACTIVE_GROUP_POLICY = DocumentTypePolicy.FAIL_ON_INACTIVE_GROUP.getCode(); 143 public static final String ENROUTE_ERROR_SUPPRESSION_POLICY = DocumentTypePolicy.ENROUTE_ERROR_SUPPRESSION.getCode(); 144 public static final String REGENERATE_ACTION_REQUESTS_ON_CHANGE_POLICY = DocumentTypePolicy.REGENERATE_ACTION_REQUESTS_ON_CHANGE.getCode(); 145 public static final String NOTIFY_PENDING_ON_RETURN_POLICY = DocumentTypePolicy.NOTIFY_PENDING_ON_RETURN.getCode(); 146 public static final String NOTIFY_COMPLETED_ON_RETURN_POLICY = DocumentTypePolicy.NOTIFY_COMPLETED_ON_RETURN.getCode(); 147 public static final String RECALL_NOTIFICATION_POLICY = DocumentTypePolicy.RECALL_NOTIFICATION.getCode(); 148 public static final String SEND_NOTIFICATION_ON_SU_DISAPPROVE_POLICY = DocumentTypePolicy.SEND_NOTIFICATION_ON_SU_DISAPPROVE.getCode(); 149 public static final String SUPPRESS_IMMEDIATE_EMAILS_ON_SU_ACTION_POLICY = DocumentTypePolicy.SUPPRESS_IMMEDIATE_EMAILS_ON_SU_ACTION.getCode(); 150 151 public static final String DOCUMENT_TYPE_BLANKET_APPROVE_POLICY_NONE = "none"; 152 public static final String DOCUMENT_TYPE_BLANKET_APPROVE_POLICY_ANY = "any"; 153 154 public static final String[] DOCUMENT_TYPE_BLANKET_APPROVE_POLICY_VALUES = { 155 DOCUMENT_TYPE_BLANKET_APPROVE_POLICY_NONE, 156 DOCUMENT_TYPE_BLANKET_APPROVE_POLICY_ANY 157 }; 158 159 //determines if route log will show the look into the future link 160 public static final String LOOK_INTO_FUTURE_POLICY = "LOOK_FUTURE"; 161 public static final String SUPPORTS_QUICK_INITIATE_POLICY = "SUPPORTS_QUICK_INITIATE"; 162 public static final String NOTIFY_ON_SAVE_POLICY = "NOTIFY_ON_SAVE"; 163 164 // alternate kew status policy constants. Determines if route header will show the KEW Route Status 165 // or the application doc status, or both 166 public static final String DOCUMENT_STATUS_POLICY = "DOCUMENT_STATUS_POLICY"; 167 public static final String DOCUMENT_STATUS_POLICY_KEW_STATUS = "KEW"; 168 public static final String DOCUMENT_STATUS_POLICY_APP_DOC_STATUS = "APP"; 169 public static final String DOCUMENT_STATUS_POLICY_BOTH = "BOTH"; 170 public static final String[] DOCUMENT_STATUS_POLICY_VALUES = { 171 DOCUMENT_STATUS_POLICY_KEW_STATUS, 172 DOCUMENT_STATUS_POLICY_APP_DOC_STATUS, 173 DOCUMENT_STATUS_POLICY_BOTH 174 }; 175 176 177 public static final String SUPER_USER_CANCEL="SU_CANCEL"; 178 public static final String SUPER_USER_APPROVE="SU_APPROVE"; 179 public static final String SUPER_USER_DISAPPROVE="SU_DISAPPROVE"; 180 public static final String SUPER_USER_ROUTE_LEVEL_APPROVE="SU_ROUTE_LEVEL_APPROVE"; 181 public static final String SUPER_USER_ACTION_REQUEST_APPROVE="SU_ACTION_REQUEST_APPROVE"; 182 public static final String SUPER_USER_RETURN_TO_PREVIOUS_ROUTE_LEVEL="SU_RETURN_TO_PREVIOUS_ROUTE_LEVEL"; 183 184 /* email notification for action requests left in action list */ 185 public static final String EMAIL_RMNDR_KEY = "EMAIL_NOTIFICATION"; 186 public static final String DOCUMENT_TYPE_NOTIFICATION_PREFERENCE_SUFFIX = ".DocumentTypeNotification"; 187 public static final String DOCUMENT_TYPE_NOTIFICATION_DELIMITER = "|~|"; 188 public static final String EMAIL_RMNDR_NO_VAL = "no"; 189 public static final String EMAIL_RMNDR_DAY_VAL = "daily"; 190 public static final String EMAIL_RMNDR_WEEK_VAL = "weekly"; 191 public static final String EMAIL_RMNDR_IMMEDIATE = "immediate"; 192 public static final String EMAIL_LAST_RMNDR_KEY = "EMAIL_LST_RMNDR_DATE_KEY"; 193 public static final String EMAIL_STYLESHEET_NAME = "kew.email.style"; 194 /* end email notification constants */ 195 196 public static final String PREFERENCES_YES_VAL = "yes"; 197 public static final String PREFERENCES_NO_VAL = "no"; 198 199 public static final String ACTION_LIST_ALL_REQUESTS = "all"; 200 public static final String ACTION_LIST_DELEGATED_REQUESTS = "delegated"; 201 public static final String ACTION_LIST_NONDELEGATED_REQUESTS = "nondelegated"; 202 public static final String DELEGATORS_ON_FILTER_PAGE = "Secondary Delegators only on Filter Page"; 203 public static final String DELEGATORS_ON_ACTION_LIST_PAGE = "Secondary Delegators on Action List Page"; 204 public static final String PRIMARY_DELEGATES_ON_FILTER_PAGE = "Primary Delegates only on Filter Page"; 205 public static final String PRIMARY_DELEGATES_ON_ACTION_LIST_PAGE = "Primary Delegates on Action List Page"; 206 207 public static final Map<String, String> ACTION_LIST_CONTENT; 208 static { 209 ACTION_LIST_CONTENT = new HashMap<String, String>(); 210 ACTION_LIST_CONTENT.put(KewApiConstants.ACTION_LIST_ALL_REQUESTS, "All Requests"); 211 ACTION_LIST_CONTENT.put(KewApiConstants.ACTION_LIST_NONDELEGATED_REQUESTS, "No Delegations"); 212 ACTION_LIST_CONTENT.put(KewApiConstants.ACTION_LIST_DELEGATED_REQUESTS, "Delegations Only"); 213 } 214 215 public static final String ALL_CODE = "All"; 216 public static final String ALL_SECONDARY_DELEGATIONS = "All Secondary Delegations"; 217 public static final String ALL_PRIMARY_DELEGATES = "All Primary Delegates"; 218 public static final String NO_FILTERING = "No Filtering"; 219 public static final String DELEGATION_DEFAULT = "Choose Secondary Delegation"; 220 public static final String PRIMARY_DELEGATION_DEFAULT = "Choose Primary Delegate"; 221 222 public static final String ACTIVE_CD = "Y"; 223 public static final String ACTIVE_LABEL = "ACTIVE"; 224 public static final String ACTIVE_LABEL_LOWER = "Active"; 225 226 public static final String INACTIVE_CD = "N"; 227 public static final String INACTIVE_LABEL = "INACTIVE"; 228 public static final String INACTIVE_LABEL_LOWER = "Inactive"; 229 230 public static final String TRUE_CD = "1"; 231 public static final String TRUE = "T"; 232 233 public static final String FALSE_CD = "0"; 234 public static final String FALSE = "F"; 235 236 /** Value for UNAUTHENTICATED when comparing to the principal value */ 237 public static final String UNAUTHENTICATED = "UNAUTHENTICATED"; 238 public static final int DEFAULT_RETRY_TIME = 1800; 239 240 public static final int TITLE_MAX_LENGTH = 255; 241 242 public static final String DOCUMENT_STATUS_PARENT_TYPE_PENDING = "Pending"; 243 public static final String DOCUMENT_STATUS_PARENT_TYPE_SUCCESSFUL = "Successful"; 244 public static final String DOCUMENT_STATUS_PARENT_TYPE_UNSUCCESSFUL = "Unsuccessful"; 245 246 public static final Map<String, List<String>> DOCUMENT_STATUS_PARENT_TYPES; 247 248 static { 249 250 DOCUMENT_STATUS_PARENT_TYPES = new HashMap<String, List<String>>(); 251 252 // Pending Statuses 253 List<String> pendingList = new ArrayList<String>(); 254 pendingList.add(KewApiConstants.ROUTE_HEADER_ENROUTE_CD); 255 pendingList.add(KewApiConstants.ROUTE_HEADER_SAVED_CD); 256 pendingList.add(KewApiConstants.ROUTE_HEADER_INITIATED_CD); 257 pendingList.add(KewApiConstants.ROUTE_HEADER_EXCEPTION_CD); 258 259 // Successful Statuses 260 List<String> successfulList = new ArrayList<String>(); 261 successfulList.add(KewApiConstants.ROUTE_HEADER_FINAL_CD); 262 successfulList.add(KewApiConstants.ROUTE_HEADER_PROCESSED_CD); 263 264 // Unsuccessful Statuses 265 List<String> unsuccessfulList = new ArrayList<String>(); 266 unsuccessfulList.add(KewApiConstants.ROUTE_HEADER_DISAPPROVED_CD); 267 unsuccessfulList.add(KewApiConstants.ROUTE_HEADER_CANCEL_CD); 268 unsuccessfulList.add(KewApiConstants.ROUTE_HEADER_CANCEL_DISAPPROVE_CD); 269 270 DOCUMENT_STATUS_PARENT_TYPES.put(KewApiConstants.DOCUMENT_STATUS_PARENT_TYPE_PENDING, pendingList); 271 DOCUMENT_STATUS_PARENT_TYPES.put(KewApiConstants.DOCUMENT_STATUS_PARENT_TYPE_SUCCESSFUL, successfulList); 272 DOCUMENT_STATUS_PARENT_TYPES.put(KewApiConstants.DOCUMENT_STATUS_PARENT_TYPE_UNSUCCESSFUL, unsuccessfulList); 273 274 } 275 276 public static final Map<String, String> DOCUMENT_STATUSES; 277 278 static { 279 /* 280 * see values in RouteHeader inner class; this HashMap is the definitive list used for the Document Route Statuses in ActionList preferences 281 */ 282 DOCUMENT_STATUSES = new HashMap<String, String>(); 283 DOCUMENT_STATUSES.put(KewApiConstants.ROUTE_HEADER_CANCEL_CD, KewApiConstants.ROUTE_HEADER_CANCEL_LABEL); 284 DOCUMENT_STATUSES.put(KewApiConstants.ROUTE_HEADER_CANCEL_DISAPPROVE_CD, KewApiConstants.ROUTE_HEADER_CANCEL_DISAPPROVE_LABEL); 285 DOCUMENT_STATUSES.put(KewApiConstants.ROUTE_HEADER_DISAPPROVED_CD, KewApiConstants.ROUTE_HEADER_DISAPPROVED_LABEL); 286 DOCUMENT_STATUSES.put(KewApiConstants.ROUTE_HEADER_ENROUTE_CD, KewApiConstants.ROUTE_HEADER_ENROUTE_LABEL); 287 DOCUMENT_STATUSES.put(KewApiConstants.ROUTE_HEADER_EXCEPTION_CD, KewApiConstants.ROUTE_HEADER_EXCEPTION_LABEL); 288 DOCUMENT_STATUSES.put(KewApiConstants.ROUTE_HEADER_FINAL_CD, KewApiConstants.ROUTE_HEADER_FINAL_LABEL); 289 DOCUMENT_STATUSES.put(KewApiConstants.ROUTE_HEADER_INITIATED_CD, KewApiConstants.ROUTE_HEADER_INITIATED_LABEL); 290 DOCUMENT_STATUSES.put(KewApiConstants.ROUTE_HEADER_PROCESSED_CD, KewApiConstants.ROUTE_HEADER_PROCESSED_LABEL); 291 DOCUMENT_STATUSES.put(KewApiConstants.ROUTE_HEADER_SAVED_CD, KewApiConstants.ROUTE_HEADER_SAVED_LABEL); 292 DOCUMENT_STATUSES.put(DocumentStatus.RECALLED.getCode(), DocumentStatus.RECALLED.getLabel()); 293 } 294 295 // below must be negative to be 30 days in the past... positive number will push date into future 296 public static final Integer DOCUMENT_SEARCH_DOC_TITLE_CREATE_DATE_DAYS_AGO = new Integer(-30); 297 public static final Integer DOCUMENT_SEARCH_NO_CRITERIA_CREATE_DATE_DAYS_AGO = new Integer(0); 298 299 public static final int DOCUMENT_LOOKUP_DEFAULT_RESULT_CAP = 500; 300 301 public static final Map<String, String> ACTION_LIST_COLOR_PALETTE; 302 static { 303 ACTION_LIST_COLOR_PALETTE = new HashMap<String, String>(); 304 ACTION_LIST_COLOR_PALETTE.put("white", "#FFFFFF"); 305 ACTION_LIST_COLOR_PALETTE.put("pink", "#FFDDDE"); 306 ACTION_LIST_COLOR_PALETTE.put("orange", "#FFCC99"); 307 ACTION_LIST_COLOR_PALETTE.put("red", "#D99394"); 308 ACTION_LIST_COLOR_PALETTE.put("yellow", "#FFFF99"); 309 ACTION_LIST_COLOR_PALETTE.put("green", "#D4FF94"); 310 ACTION_LIST_COLOR_PALETTE.put("blue", "#BDD8F4"); 311 ACTION_LIST_COLOR_PALETTE.put("aqua", "#7FFFDF"); 312 ACTION_LIST_COLOR_PALETTE.put("slate", "#BDDABD"); 313 ACTION_LIST_COLOR_PALETTE.put("purple", "#DFCAFA"); 314 ACTION_LIST_COLOR_PALETTE.put("tan", "#E5E5B7"); 315 } 316 317 // This is just the above map, but with the keys in the place of the values and vice versa. This assumes the map above 318 // is a one-to-one correspondence; if it's not, then the static{} block below will need modification. 319 public static final Map<String, String> ACTION_LIST_COLOR_NAMES; 320 static { 321 ACTION_LIST_COLOR_NAMES = new HashMap<String,String>(); 322 for (Iterator<Map.Entry<String,String>> iterator = ACTION_LIST_COLOR_PALETTE.entrySet().iterator(); iterator.hasNext();) { 323 Map.Entry<String,String> colorEntry = iterator.next(); 324 ACTION_LIST_COLOR_NAMES.put(colorEntry.getValue(), colorEntry.getKey()); 325 } 326 } 327 328 public static final String HEADER_TAG = "ROUTE_HEADER"; 329 public static final String DOCTYPE_TAG = "DOCTYPE"; 330 331 // order of these is important since this forms a priority according to the codes index into the string 332 public static final String REQUEST_CODES = KewApiConstants.ACTION_REQUEST_FYI_REQ + KewApiConstants.ACTION_REQUEST_ACKNOWLEDGE_REQ + KewApiConstants.ACTION_REQUEST_APPROVE_REQ + KewApiConstants.ACTION_REQUEST_COMPLETE_REQ; 333 public static final String ACTION_CODES = KewApiConstants.ACTION_TAKEN_ACKNOWLEDGED_CD + KewApiConstants.ACTION_TAKEN_APPROVED_CD + KewApiConstants.ACTION_TAKEN_COMPLETED_CD + KewApiConstants.ACTION_TAKEN_ROUTED; 334 public static final String ROUTE_MANAGER_DRIVER_WRKGRP = "RouteManagerDriverCommandGroup"; 335 public static final int ROUTE_HEADER_INITIAL_ROUTE_LEVEL = 0; 336 /** The initial state of a document. Only state in which a delete is allowed. */ 337 public static final String ROUTE_HEADER_INITIATED_CD = "I"; 338 public static final String ROUTE_HEADER_INITIATED_LABEL = "INITIATED"; 339 340 /** 341 * Default pre-approval policy code. By default pre-approval action requests are not allowed. 342 */ 343 public static final boolean ROUTE_HEADER_DEFAULT_PRE_APPROVAL_POLICY = false; 344 /** 345 * Default code for the default auto approval policy code. If a document has not approve action requests and has gone through the route template, then by default the document is auto approved. 346 */ 347 public static final boolean ROUTE_HEADER_DEFAULT_AUTO_APPROVAL_POLICY = true; 348 public static final String ROUTE_HEADER_DEFAULT_DISAPPROVE_POLICY_LABEL = "DISAPPROVE-CANCEL"; 349 /** Default disapprove action policy code */ 350 public static final String ROUTE_HEADER_DEFAULT_DISAPPROVE_POLICY_CD = KewApiConstants.ROUTE_HEADER_CANCEL_DISAPPROVE_CD; 351 /** Document sent back to the last approver */ 352 public static final String ROUTE_HEADER_LAST_APPROVER_DISAPPROVE_CD = "A"; 353 /** 354 * Return the document to the initiator with complete request when the document is disapproved. Document must be explicitly canceled or it will remain en_route under this policy. 355 */ 356 public static final String ROUTE_HEADER_RETURN_INIATOR_DISAPPROVE_CD = "I"; 357 public static final String ROUTE_HEADER_CANCEL_DISAPPROVE_LABEL = "DISAPPROVE-CANCEL"; 358 /** When document disapproved, take same effect as a cancel but with a different action code */ 359 public static final String ROUTE_HEADER_CANCEL_DISAPPROVE_CD = "C"; 360 public static final String ROUTE_HEADER_DISAPPROVED_DEFAULT_COLOR = "yellow"; 361 public static final String ROUTE_HEADER_DISAPPROVED_LABEL = "DISAPPROVED"; 362 /** Document has been disapproved */ 363 public static final String ROUTE_HEADER_DISAPPROVED_CD = "D"; 364 public static final String ROUTE_HEADER_PROCESSED_LABEL = "PROCESSED"; 365 /** Document has been processed by the post processor */ 366 public static final String ROUTE_HEADER_PROCESSED_CD = "P"; 367 public static final String ROUTE_HEADER_EXCEPTION_DEFAULT_COLOR = "red"; 368 public static final String ROUTE_HEADER_EXCEPTION_LABEL = "EXCEPTION"; 369 /** Document has had an exception in routing and needs to be processed */ 370 public static final String ROUTE_HEADER_EXCEPTION_CD = "E"; 371 public static final String ROUTE_HEADER_CANCEL_LABEL = "CANCELED"; 372 /** Document has been canceled and no further action should be taken on it. */ 373 public static final String ROUTE_HEADER_CANCEL_CD = "X"; 374 public static final String ROUTE_HEADER_FINAL_LABEL = "FINAL"; 375 /** Document has finalized and no changes are allowed to take place to it. */ 376 public static final String ROUTE_HEADER_FINAL_CD = "F"; 377 public static final String ROUTE_HEADER_SAVED_LABEL = "SAVED"; 378 /** The document has been saved, but has not started to route. */ 379 public static final String ROUTE_HEADER_SAVED_CD = "S"; 380 public static final String ROUTE_HEADER_ENROUTE_LABEL = "ENROUTE"; 381 /** The document is currently being routed. */ 382 public static final String ROUTE_HEADER_ENROUTE_CD = "R"; 383 384 public static String UNKNOWN_STATUS = ""; 385 386 /** Actions Taken Constants **/ 387 public static final String ACTION_TAKEN_SU_ACTION_REQUEST_ACKNOWLEDGED_CD = "k"; 388 public static final String ACTION_TAKEN_SU_ACTION_REQUEST_ACKNOWLEDGED = "SUPER USER ACTION REQUEST ACKNOWLEDGED"; 389 public static final String ACTION_TAKEN_SU_ACTION_REQUEST_FYI_CD = "f"; 390 public static final String ACTION_TAKEN_SU_ACTION_REQUEST_FYI = "SUPER USER ACTION REQUEST FYI"; 391 public static final String ACTION_TAKEN_SU_ACTION_REQUEST_COMPLETED_CD = "m"; 392 public static final String ACTION_TAKEN_SU_ACTION_REQUEST_COMPLETED = "SUPER USER ACTION REQUEST COMPLETED"; 393 public static final String ACTION_TAKEN_SU_ACTION_REQUEST_APPROVED_CD = "v"; 394 public static final String ACTION_TAKEN_SU_ACTION_REQUEST_APPROVED = "SUPER USER ACTION REQUEST APPROVED"; 395 public static final String ACTION_TAKEN_SU_ROUTE_LEVEL_APPROVED_CD = "r"; 396 public static final String ACTION_TAKEN_SU_ROUTE_LEVEL_APPROVED = "SUPER USER ROUTE LEVEL APPROVED"; 397 public static final String ACTION_TAKEN_SU_RETURNED_TO_PREVIOUS_CD = "z"; 398 public static final String ACTION_TAKEN_SU_RETURNED_TO_PREVIOUS = "SUPER USER RETURNED TO PREVIOUS ROUTE LEVEL"; 399 public static final String ACTION_TAKEN_SU_DISAPPROVED_CD = "d"; 400 public static final String ACTION_TAKEN_SU_DISAPPROVED = "SUPER USER DISAPPROVED"; 401 public static final String ACTION_TAKEN_SU_CANCELED_CD = "c"; 402 public static final String ACTION_TAKEN_SU_CANCELED = "SUPER USER CANCELED"; 403 public static final String ACTION_TAKEN_SU_APPROVED_CD = "a"; 404 public static final String ACTION_TAKEN_SU_APPROVED = "SUPER USER APPROVED"; 405 public static final String ACTION_TAKEN_BLANKET_APPROVE_CD = "B"; 406 public static final String ACTION_TAKEN_BLANKET_APPROVE = "BLANKET APPROVED"; 407 public static final String ACTION_TAKEN_FYI = "FYI"; 408 public static final String ACTION_TAKEN_ADHOC_CD = "H"; 409 /** User has generated an action request to another user */ 410 public static final String ACTION_TAKEN_ADHOC = "ADHOC ROUTED"; 411 public static final String ACTION_TAKEN_ADHOC_REVOKED_CD = "V"; 412 /** AdHoc Request has been revoked */ 413 public static final String ACTION_TAKEN_ADHOC_REVOKED = "ADHOC REVOKED"; 414 public static final String ACTION_TAKEN_SAVED_CD = "S"; 415 /** Document has been saved by the user for later work */ 416 public static final String ACTION_TAKEN_SAVED = "SAVED"; 417 /** Document has been canceled. */ 418 public static final String ACTION_TAKEN_CANCELED = "CANCELED"; 419 /** Document has been denied. */ 420 public static final String ACTION_TAKEN_DENIED = "DISAPPROVED"; 421 /** Document has been opened by the designated recipient. */ 422 public static final String ACTION_TAKEN_ACKNOWLEDGED = "ACKNOWLEDGED"; 423 /** Document has been completed as requested. */ 424 public static final String ACTION_TAKEN_COMPLETED = "COMPLETED"; 425 /** Document has been completed as requested. */ 426 public static final String ACTION_TAKEN_ROUTED = "ROUTED"; 427 /** The document has been approved. */ 428 public static final String ACTION_TAKEN_APPROVED = "APPROVED"; 429 /** The document is being returned to a previous routelevel **/ 430 public static final String ACTION_TAKEN_RETURNED_TO_PREVIOUS_CD = "Z"; 431 public static final String ACTION_TAKEN_RETURNED_TO_PREVIOUS = "RETURNED TO PREVIOUS ROUTE LEVEL"; 432 /** The document has non-routed activity against it that is recorded in the route log **/ 433 public static final String ACTION_TAKEN_LOG_DOCUMENT_ACTION_CD = "R"; 434 public static final String ACTION_TAKEN_LOG_DOCUMENT_ACTION = "LOG MESSAGE"; 435 /** The document is routed to a workgroup and a user in the workgroup wants to take authority from the workgroup **/ 436 public static final String ACTION_TAKEN_TAKE_WORKGROUP_AUTHORITY_CD = "w"; 437 public static final String ACTION_TAKEN_TAKE_WORKGROUP_AUTHORITY = "WORKGROUP AUTHORITY TAKEN"; 438 /** The person who took workgroup authority is releasing it **/ 439 public static final String ACTION_TAKEN_RELEASE_WORKGROUP_AUTHORITY_CD = "y"; 440 public static final String ACTION_TAKEN_RELEASE_WORKGROUP_AUTHORITY = "WORKGROUP AUTHORITY RELEASED"; 441 /** The document is moved **/ 442 public static final String ACTION_TAKEN_MOVE_CD = "M"; 443 public static final String ACTION_TAKEN_MOVE = "MOVED"; 444 445 /** Route Level type constants FlexRM or Route Module **/ 446 public static final String ROUTE_LEVEL_FLEX_RM = "FR"; 447 public static final String ROUTE_LEVEL_ROUTE_MODULE = "RM"; 448 public static final String ROUTE_LEVEL_PEOPLE_FLOW = "PF"; 449 public static final String ROUTE_LEVEL_RULES_ENGINE = "RE"; 450 public static final String ROUTE_LEVEL_METHOD_NAME_ROUTE_MODULE = "Route Module"; 451 public static final String ROUTE_LEVEL_METHOD_NAME_FLEX_RM = "Rule Template"; 452 /** No route module available for this route level * */ 453 public static final String ROUTE_LEVEL_NO_ROUTE_MODULE = "NONE"; 454 /** 455 * The route level value for the AdHoc route level. AdHoc like Exception route level does not have a route module and is processed directly be the engine. 456 */ 457 public static final int ADHOC_ROUTE_LEVEL = 0; 458 public static final String ADHOC_ROUTE_LEVEL_NAME = "Adhoc Routing"; 459 public static final String PARALLEL_ADHOC_ROUTE_MODULE_NAME = "org.kuali.rice.kew.routemodule.ParallelAdHocRouteModule"; 460 461 /** 462 * The route level value for the Exception route level. The Exception route level does not have a route module and the core engine processes these requests since they have special rules, such as an exception request can not itself throw an exception request. 463 */ 464 public static final int EXCEPTION_ROUTE_LEVEL = -1; 465 public static final String EXCEPTION_ROUTE_MODULE_NAME = "org.kuali.rice.kew.routemodule.ExceptionRouteModule"; 466 public static final String EXCEPTION_ROUTE_LEVEL_NAME = "Exception Routing"; 467 public static final int INVALID_ROUTE_LEVEL = -2; 468 469 /** Routing should process the associated ActionRequests in sequence */ 470 public static final String ROUTE_LEVEL_SEQUENCE = "S"; 471 public static final String ROUTE_LEVEL_SEQUENTIAL_NAME = "Sequential"; 472 public static final String ROUTE_LEVEL_SEQUENCE_LABEL = "SEQUENCE"; 473 474 /** Routing should process the associated ActionRequests in parallel */ 475 public static final String ROUTE_LEVEL_PARALLEL = "P"; 476 public static final String ROUTE_LEVEL_PARALLEL_NAME = "Parallel"; 477 public static final String ROUTE_LEVEL_PARALLEL_LABEL = "PARALLEL"; 478 479 /** Routing should process the associated ActionRequests in parallel accoring to priority */ 480 public static final String ROUTE_LEVEL_PRIORITY_PARALLEL = "R"; 481 public static final String ROUTE_LEVEL_PRIORITY_PARALLEL_NAME = "Priority-Parallel"; 482 public static final String ROUTE_LEVEL_PRIORITY_PARALLEL_LABEL = "PRIORITY-PARALLEL"; 483 484 public static final boolean ACTION_REQUEST_FORCE_ACTION = true; 485 public static final boolean ACTION_REQUEST_PREV_ACTION_AWARE = false; 486 487 /** Priority used if no priority is specified */ 488 public static final int ACTION_REQUEST_DEFAULT_PRIORITY = 1; 489 490 /** Values for Rule template options */ 491 public static final String ACTION_REQUEST_DEFAULT_CD = "D"; 492 493 494 /** 495 * Priority level that indicates an ad hoc request. If the priority is above this value, then the request is considered an ad hoc request and is processed accordingly. This is used most often when an ad hoc request must follow the end of a route level. For example, if a user wants the ad hoc to happen after all requests at route level 3 have been processed, but before any requests at route level 4. This is also the upper, exclusive bound for normal request priorities. 496 */ 497 public static final int ACTION_REQUEST_ADHOC_PRIORITY = 1000; 498 499 public static final String ACTION_REQUEST_CANCEL_REQ_LABEL = "CANCEL"; 500 /** 501 * Requested action is to Cancel document 502 */ 503 public static final String ACTION_REQUEST_CANCEL_REQ = "X"; 504 public static final String ACTION_REQUEST_ACKNOWLEDGE_REQ_LABEL = "ACKNOWLEDGE"; 505 /** 506 * Requested action is ACKKNOWLEDGE. This action does not hold up routing, but action request will not be marked DONE until an ACKNOWLEDGE actiontaken is recorded. 507 */ 508 public static final String ACTION_REQUEST_ACKNOWLEDGE_REQ = "K"; 509 public static final String ACTION_REQUEST_FYI_REQ_LABEL = "FYI"; 510 /** 511 * The action is an FYI notification only. This action request is marked DONE as soon as it is activated. 512 */ 513 public static final String ACTION_REQUEST_FYI_REQ = "F"; 514 public static final String ACTION_REQUEST_APPROVE_REQ_LABEL = "APPROVE"; 515 /** Requested action is to approve the document. */ 516 public static final String ACTION_REQUEST_APPROVE_REQ = "A"; 517 public static final String ACTION_REQUEST_COMPLETE_REQ_LABEL = "COMPLETE"; 518 /** Requested action is to complete the document, however that is defined by the application. */ 519 public static final String ACTION_REQUEST_COMPLETE_REQ = "C"; 520 public static final String ACTION_REQUEST_DISAPPROVE_LABEL = "DISAPPROVE"; 521 522 public static final String ACTION_REQUEST_TO_BE_GENERATED = "-1"; 523 /** Largest value allowed for a workgroupID. Any value larger is assumed to be a sequenceId of a user */ 524 public static final int WORKGROUP_MAX_WORKGROUP_ID = 100000000; 525 /** Last approval taken applies to entire request */ 526 //public static final String WORKGROUP_LAST_APPROVAL = "L"; 527 /** First action taken applies to entire request */ 528 //public static final String WORKGROUP_FIRST_ACTION = "F"; 529 /** Personal workgroup code */ 530 //public static final String WORKGROUP_PERSONAL = "P"; 531 532 public static final Map<String, String> ACTION_REQUEST_CODES = new HashMap<String, String>(); 533 static { 534 ACTION_REQUEST_CODES.put(ACTION_REQUEST_COMPLETE_REQ, ACTION_REQUEST_COMPLETE_REQ_LABEL); 535 ACTION_REQUEST_CODES.put(ACTION_REQUEST_APPROVE_REQ, ACTION_REQUEST_APPROVE_REQ_LABEL); 536 ACTION_REQUEST_CODES.put(ACTION_REQUEST_ACKNOWLEDGE_REQ, ACTION_REQUEST_ACKNOWLEDGE_REQ_LABEL); 537 ACTION_REQUEST_CODES.put(ACTION_REQUEST_FYI_REQ, ACTION_REQUEST_FYI_REQ_LABEL); 538 } 539 540 /** Route Queue Priorities */ 541 public static final Integer ROUTE_QUEUE_DEFAULT_PRIORITY = new Integer(5); 542 public static final Integer ROUTE_QUEUE_BLANKET_APPROVE_PRIORITY = new Integer(4); 543 public static final Integer ROUTE_QUEUE_RERESOLVE_PRIORITY = new Integer(10); 544 public static final Integer ROUTE_QUEUE_REQUEUE_PRIORITY = new Integer(10); 545 public static final Integer ROUTE_QUEUE_EMAIL_PRIORITY = new Integer(20); 546 public static final Integer ROUTE_QUEUE_RULE_CACHE_PRIORITY = new Integer(0); 547 public static final Integer ROUTE_QUEUE_EXCEPTION_PRIORITY = new Integer(21); 548 public static final Integer ROUTE_QUEUE_UPGRADE_PRIORITY = new Integer(30); 549 550 public static final String ROUTE_QUEUE_EXCEPTION = "E"; 551 public static final String ROUTE_QUEUE_ROUTING = "R"; 552 public static final String ROUTE_QUEUE_QUEUED = "Q"; 553 public static final String ROUTE_QUEUE_EXCEPTION_LABEL = "EXCEPTION"; 554 public static final String ROUTE_QUEUE_ROUTING_LABEL = "ROUTING"; 555 public static final String ROUTE_QUEUE_QUEUED_LABEL = "QUEUED"; 556 557 public static final String RULE_RESPONSIBILITY_WORKFLOW_ID = "F"; 558 public static final String RULE_RESPONSIBILITY_GROUP_ID = "G"; 559 public static final String RULE_RESPONSIBILITY_ROLE_ID = "R"; 560 561 public static final String RULE_RESPONSIBILITY_WORKFLOW_ID_LABEL = "PERSON"; 562 public static final String RULE_RESPONSIBILITY_GROUP_ID_LABEL = "GROUP"; 563 public static final String RULE_RESPONSIBILITY_ROLE_ID_LABEL = "ROLE"; 564 565 public static final Map<String, String> RULE_RESPONSIBILITY_TYPES = new HashMap<String, String>(); 566 static { 567 RULE_RESPONSIBILITY_TYPES.put(RULE_RESPONSIBILITY_WORKFLOW_ID, RULE_RESPONSIBILITY_WORKFLOW_ID_LABEL); 568 RULE_RESPONSIBILITY_TYPES.put(RULE_RESPONSIBILITY_GROUP_ID, RULE_RESPONSIBILITY_GROUP_ID_LABEL); 569 RULE_RESPONSIBILITY_TYPES.put(RULE_RESPONSIBILITY_ROLE_ID, RULE_RESPONSIBILITY_ROLE_ID_LABEL); 570 } 571 572 public static final String DEFAULT_RULE_DOCUMENT_NAME = "RuleDocument"; 573 574 public static class Sorting { 575 public static final String SORT_COLUMN_SEQUENCES = "columnSortSequences"; 576 public static final String SORT_SEQUENCE_ASC = "ASCENDING"; 577 public static final String SORT_SEQUENCE_DSC = "DESCENDING"; 578 public static final String SORT_DOC_ID = "docId"; 579 public static final String SORT_DOC_ID_NUMBER = "docIdNumber"; 580 public static final String SORT_RULE_ID = "ruleId"; 581 public static final String SORT_RULE_ID_NUMBER = "ruleIdNumber"; 582 public static final String SORT_DOC_TITLE = "docTitle"; 583 public static final String SORT_DOC_TYPE_ID = "docTypeId"; 584 public static final String SORT_DOC_TYPE_ID_NUMBER = "docTypeIdNumber"; 585 public static final String SORT_DOC_TYPE_NAME = "docTypeName"; 586 public static final String SORT_DOC_TYPE_FULL_NAME = "docTypeFullName"; 587 public static final String SORT_DOC_TYPE_LABEL = "docTypeLabel"; 588 public static final String SORT_ACTION_REQUESTED = "actionRequested"; 589 public static final String SORT_ACTION_REQUESTED_LABEL = "actionRequestedLabel"; 590 public static final String SORT_CHART = "chart"; 591 public static final String SORT_ORG = "org"; 592 public static final String SORT_REVIEWERS_ALL_NAMES = "reviewersAllNames"; 593 public static final String SORT_REVIEWER_EMPLY_ID = "reviewerEmplyId"; 594 public static final String SORT_REVIEWER_NETWORK_ID = "reviewerNetworkId"; 595 public static final String SORT_REVIEWER_FULL_NAME = "reviewerFullName"; 596 public static final String SORT_ACTIVE_IND = "activeIndicator"; 597 public static final String SORT_ACTIVE_IND_LABEL = "activeIndicatorLabel"; 598 public static final String SORT_DOC_TYPE_GROUP_ID = "docTypeGroupId"; 599 public static final String SORT_DOC_TYPE_GROUP_ID_NUMBER = "docTypeGroupIdNumber"; 600 public static final String SORT_DOC_TYPE_GROUP_NAME = "docTypeGroupName"; 601 public static final String SORT_DOC_TYPE_GROUP_FULL_NAME = "docTypeGroupFullName"; 602 public static final String SORT_DOC_TYPE_GROUP_PARENT_NAME = "docTypeGroupParentName"; 603 public static final String SORT_DOC_TYPE_GROUP_PARENT_FULL_NAME = "docTypeGroupParentFullName"; 604 public static final String SORT_DOC_TYPE_GROUP_LABEL = "docTypeGroupLabel"; 605 public static final String SORT_FISCAL_UPAA = "fiscalUpaa"; 606 public static final String SORT_FISCAL_UPAA_LABEL = "fiscalUpaaLabel"; 607 public static final String SORT_POSITION_TYPE = "positionType"; 608 public static final String SORT_POSITION_TYPE_LABEL = "positionTypeLabel"; 609 public static final String SORT_SALARY_PLAN = "salaryPlanSort"; 610 public static final String SORT_DELEGATES_ALL = "delegatesAll"; 611 public static final String SORT_DELEGATE_EMPLY_ID = "delegateEmplyId"; 612 public static final String SORT_DELEGATE_NETWORK_ID = "delegateNetworkId"; 613 public static final String SORT_DELEGATE_FULL_NAME = "delegateFullName"; 614 public static final String SORT_ROUTE_MODULE_NAME = "routeModuleName"; 615 public static final String SORT_WORKGROUP_ID = "workGroupId"; 616 public static final String SORT_WORKGROUP_ID_NUMBER = "workGroupIdNumber"; 617 public static final String SORT_WORKGROUP_NAME = "workGroupName"; 618 public static final String SORT_WORKGROUP_FULL_NAME = "workGroupFullName"; 619 public static final String SORT_USER_FULL_NAME = "userFullName"; 620 public static final String SORT_USER_NETWORK_ID = "userNetworkId"; 621 public static final String SORT_MONITOR_ID_NUMBER = "monitorId"; 622 public static final String SORT_MONITOR_DOC_TYPE = "monitorDocType"; 623 public static final String SORT_MONITOR_TYPE = "monitorType"; 624 public static final String SORT_MONITOR_TIMER = "monitorTimer"; 625 public static final String SORT_MONITOR_ACTION_TYPE = "monitorActionType"; 626 } 627 628 public static final String WORKGROUP = "workgroup"; 629 public static final String PERSON = "person"; 630 public static final String ROLE = "role"; 631 632 public static final String DOC_HANDLER_RETURN_URL = "docHandlerReturnUrl"; 633 //document operation constants 634 public static final String ADD = "add"; 635 public static final String NOOP = "noop"; 636 public static final String UPDATE = "update"; 637 public static final String DELETE = "delete"; 638 public static final String TIMESTAMP_DATE_FORMAT_PATTERN = "yyyy-mm-dd hh:mm:ss.fffffffff"; 639 public static final String TIMESTAMP_DATE_FORMAT_PATTERN2 = "MM/dd/yyyy hh:mm a"; 640 641 public static final Map<String, String> ACTION_REQUEST_CD; 642 static{ 643 ACTION_REQUEST_CD = new HashMap<String, String>(); 644 ACTION_REQUEST_CD.put(KewApiConstants.ACTION_REQUEST_ACKNOWLEDGE_REQ, KewApiConstants.ACTION_REQUEST_ACKNOWLEDGE_REQ_LABEL); 645 ACTION_REQUEST_CD.put(KewApiConstants.ACTION_REQUEST_APPROVE_REQ, KewApiConstants.ACTION_REQUEST_APPROVE_REQ_LABEL); 646 ACTION_REQUEST_CD.put(KewApiConstants.ACTION_REQUEST_COMPLETE_REQ, KewApiConstants.ACTION_REQUEST_COMPLETE_REQ_LABEL); 647 ACTION_REQUEST_CD.put(KewApiConstants.ACTION_REQUEST_FYI_REQ, KewApiConstants.ACTION_REQUEST_FYI_REQ_LABEL); 648 } 649 650 public static final Map<String, String> ACTION_TAKEN_CD; 651 static{ 652 ACTION_TAKEN_CD = new HashMap<String, String>(); 653 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_ACKNOWLEDGED_CD, KewApiConstants.ACTION_TAKEN_ACKNOWLEDGED); 654 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_ADHOC_CD, KewApiConstants.ACTION_TAKEN_ADHOC); 655 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_ADHOC_REVOKED_CD, KewApiConstants.ACTION_TAKEN_ADHOC_REVOKED); 656 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_APPROVED_CD, KewApiConstants.ACTION_TAKEN_APPROVED); 657 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_BLANKET_APPROVE_CD, KewApiConstants.ACTION_TAKEN_BLANKET_APPROVE); 658 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_CANCELED_CD, KewApiConstants.ACTION_TAKEN_CANCELED); 659 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_COMPLETED_CD, KewApiConstants.ACTION_TAKEN_COMPLETED); 660 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_DENIED_CD, KewApiConstants.ACTION_TAKEN_DENIED); 661 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_FYI_CD, KewApiConstants.ACTION_TAKEN_FYI); 662 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_SAVED_CD, KewApiConstants.ACTION_TAKEN_SAVED); 663 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_RETURNED_TO_PREVIOUS_CD, KewApiConstants.ACTION_TAKEN_RETURNED_TO_PREVIOUS); 664 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_LOG_DOCUMENT_ACTION_CD, KewApiConstants.ACTION_TAKEN_LOG_DOCUMENT_ACTION); 665 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_SU_APPROVED_CD, KewApiConstants.ACTION_TAKEN_SU_APPROVED); 666 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_SU_CANCELED_CD, KewApiConstants.ACTION_TAKEN_SU_CANCELED); 667 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_SU_DISAPPROVED_CD, KewApiConstants.ACTION_TAKEN_SU_DISAPPROVED); 668 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_SU_ROUTE_LEVEL_APPROVED_CD, KewApiConstants.ACTION_TAKEN_SU_ROUTE_LEVEL_APPROVED); 669 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_SU_ACTION_REQUEST_APPROVED_CD, KewApiConstants.ACTION_TAKEN_SU_ACTION_REQUEST_APPROVED); 670 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_SU_RETURNED_TO_PREVIOUS_CD, KewApiConstants.ACTION_TAKEN_SU_RETURNED_TO_PREVIOUS); 671 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_TAKE_WORKGROUP_AUTHORITY_CD, KewApiConstants.ACTION_TAKEN_TAKE_WORKGROUP_AUTHORITY); 672 ACTION_TAKEN_CD.put(KewApiConstants.ACTION_TAKEN_MOVE_CD, KewApiConstants.ACTION_TAKEN_MOVE); 673 ACTION_TAKEN_CD.put(ActionType.RECALL.getCode(), ActionType.RECALL.getLabel()); 674 } 675 676 public static final String DOCUMENT_CONTENT_VERSION_1 = "1"; 677 public static final String DOCUMENT_CONTENT_VERSION_2 = "2"; 678 679 public static final String XML_FILE_NOT_FOUND = "general.error.filenotfound"; 680 public static final String XML_PARSE_ERROR = "general.error.parsexml"; 681 682 683 684 public static final String RULE_ATTRIBUTE_TYPE = "RuleAttribute"; 685 public static final String RULE_XML_ATTRIBUTE_TYPE = "RuleXmlAttribute"; 686 public static final String SEARCHABLE_ATTRIBUTE_TYPE = "SearchableAttribute"; 687 public static final String SEARCHABLE_XML_ATTRIBUTE_TYPE = "SearchableXmlAttribute"; 688 public static final String DOCUMENT_SEARCH_CUSTOMIZER_ATTRIBUTE_TYPE = "DocumentSearchCustomizer"; 689 public static final String DOCUMENT_SECURITY_ATTRIBUTE_TYPE = "DocumentSecurityAttribute"; 690 public static final String EXTENSION_ATTRIBUTE_TYPE = "ExtensionAttribute"; 691 public static final String EMAIL_ATTRIBUTE_TYPE = "EmailAttribute"; 692 public static final String NOTE_ATTRIBUTE_TYPE = "NoteAttribute"; 693 public static final String ACTION_LIST_ATTRIBUTE_TYPE = "ActionListAttribute"; 694 public static final String RULE_VALIDATION_ATTRIBUTE_TYPE = "RuleValidationAttribute"; 695 public static final String QUALIFIER_RESOLVER_ATTRIBUTE_TYPE = "QualifierResolver"; 696 697 public static final String RULE_ATTRIBUTE_TYPE_LABEL = "Rule Attribute"; 698 public static final String RULE_XML_ATTRIBUTE_TYPE_LABEL = "Rule Xml Attribute"; 699 public static final String SEARCHABLE_ATTRIBUTE_TYPE_LABEL = "Searchable Attribute"; 700 public static final String SEARCHABLE_XML_ATTRIBUTE_TYPE_LABEL = "Searchable Xml Attribute"; 701 public static final String DOCUMENT_SEARCH_CUSTOMIZER_ATTRIBUTE_TYPE_LABEL = "Document Search Customizer"; 702 public static final String DOCUMENT_SECURITY_ATTRIBUTE_TYPE_LABEL = "Document Security Attribute"; 703 public static final String EXTENSION_ATTRIBUTE_TYPE_LABEL = "Extension Attribute"; 704 public static final String EMAIL_ATTRIBUTE_TYPE_LABEL = "Email Attribute"; 705 public static final String NOTE_ATTRIBUTE_TYPE_LABEL = "Note Attribute"; 706 public static final String ACTION_LIST_ATTRIBUTE_TYPE_LABEL = "Action List Attribute"; 707 public static final String RULE_VALIDATION_ATTRIBUTE_TYPE_LABEL = "Rule Validation Attribute"; 708 public static final String QUALIFIER_RESOLVER_ATTRIBUTE_TYPE_LABEL = "Qualifier Resolver"; 709 710 public static final String[] RULE_ATTRIBUTE_TYPES = { 711 RULE_ATTRIBUTE_TYPE, 712 RULE_XML_ATTRIBUTE_TYPE, 713 SEARCHABLE_ATTRIBUTE_TYPE, 714 SEARCHABLE_XML_ATTRIBUTE_TYPE, DOCUMENT_SEARCH_CUSTOMIZER_ATTRIBUTE_TYPE, 715 DOCUMENT_SECURITY_ATTRIBUTE_TYPE, 716 EXTENSION_ATTRIBUTE_TYPE, 717 EMAIL_ATTRIBUTE_TYPE, 718 NOTE_ATTRIBUTE_TYPE, 719 ACTION_LIST_ATTRIBUTE_TYPE, 720 RULE_VALIDATION_ATTRIBUTE_TYPE, 721 QUALIFIER_RESOLVER_ATTRIBUTE_TYPE 722 }; 723 724 public static final Map<String, String> RULE_ATTRIBUTE_TYPE_MAP; 725 static { 726 RULE_ATTRIBUTE_TYPE_MAP = new HashMap<String, String>(); 727 RULE_ATTRIBUTE_TYPE_MAP.put(RULE_ATTRIBUTE_TYPE, RULE_ATTRIBUTE_TYPE_LABEL); 728 RULE_ATTRIBUTE_TYPE_MAP.put(RULE_XML_ATTRIBUTE_TYPE, RULE_XML_ATTRIBUTE_TYPE_LABEL); 729 RULE_ATTRIBUTE_TYPE_MAP.put(SEARCHABLE_ATTRIBUTE_TYPE, SEARCHABLE_ATTRIBUTE_TYPE_LABEL); 730 RULE_ATTRIBUTE_TYPE_MAP.put(SEARCHABLE_XML_ATTRIBUTE_TYPE, SEARCHABLE_XML_ATTRIBUTE_TYPE_LABEL); 731 RULE_ATTRIBUTE_TYPE_MAP.put(DOCUMENT_SEARCH_CUSTOMIZER_ATTRIBUTE_TYPE, 732 DOCUMENT_SEARCH_CUSTOMIZER_ATTRIBUTE_TYPE_LABEL); 733 RULE_ATTRIBUTE_TYPE_MAP.put(DOCUMENT_SECURITY_ATTRIBUTE_TYPE, DOCUMENT_SECURITY_ATTRIBUTE_TYPE_LABEL); 734 RULE_ATTRIBUTE_TYPE_MAP.put(EXTENSION_ATTRIBUTE_TYPE, EXTENSION_ATTRIBUTE_TYPE_LABEL); 735 RULE_ATTRIBUTE_TYPE_MAP.put(EMAIL_ATTRIBUTE_TYPE, EMAIL_ATTRIBUTE_TYPE_LABEL); 736 RULE_ATTRIBUTE_TYPE_MAP.put(NOTE_ATTRIBUTE_TYPE, NOTE_ATTRIBUTE_TYPE_LABEL); 737 RULE_ATTRIBUTE_TYPE_MAP.put(ACTION_LIST_ATTRIBUTE_TYPE, ACTION_LIST_ATTRIBUTE_TYPE_LABEL); 738 RULE_ATTRIBUTE_TYPE_MAP.put(RULE_VALIDATION_ATTRIBUTE_TYPE, RULE_VALIDATION_ATTRIBUTE_TYPE_LABEL); 739 RULE_ATTRIBUTE_TYPE_MAP.put(QUALIFIER_RESOLVER_ATTRIBUTE_TYPE, QUALIFIER_RESOLVER_ATTRIBUTE_TYPE_LABEL); 740 } 741 742 public static final String DAILY = "daily"; 743 public static final String WEEKLY = "weekly"; 744 public static final Long EMAIL_QUEUE_ENTRY_ROUTE_HEADER_ID = new Long(-1); 745 public static final int MAX_ANNOTATION_LENGTH = 2000; 746 public static final String XML_FILE_PARSE_ERROR = "general.error.parsexml"; 747 748 749 public static final String MACHINE_GENERATED_RESPONSIBILITY_ID = "0"; 750 public static final String ADHOC_REQUEST_RESPONSIBILITY_ID = "-1"; 751 public static final String EXCEPTION_REQUEST_RESPONSIBILITY_ID = "-2"; 752 public static final String SAVED_REQUEST_RESPONSIBILITY_ID = "-3"; 753 754 public static final Set<String> SPECIAL_RESPONSIBILITY_ID_SET; 755 static { 756 SPECIAL_RESPONSIBILITY_ID_SET = new HashSet<String>(); 757 SPECIAL_RESPONSIBILITY_ID_SET.add(MACHINE_GENERATED_RESPONSIBILITY_ID); 758 SPECIAL_RESPONSIBILITY_ID_SET.add(ADHOC_REQUEST_RESPONSIBILITY_ID); 759 SPECIAL_RESPONSIBILITY_ID_SET.add(EXCEPTION_REQUEST_RESPONSIBILITY_ID); 760 SPECIAL_RESPONSIBILITY_ID_SET.add(SAVED_REQUEST_RESPONSIBILITY_ID); 761 } 762 763 public static final int DEFAULT_WEB_SERVICE_RETRY = 1; 764 765 public static final String PRIMARY_PROCESS_NAME = "PRIMARY"; 766 public static final String PRIMARY_BRANCH_NAME = "PRIMARY"; 767 public static final String DEFAULT_EXCEPTION_PROCESS_NAME = "exception"; 768 769 // Document type versions 770 public static final String ROUTING_VERSION_ROUTE_LEVEL = "1"; 771 public static final String ROUTING_VERSION_NODAL = "2"; 772 public static final String CURRENT_ROUTING_VERSION = ROUTING_VERSION_NODAL; 773 774 public static final String EDL_ATTRIBUTE_GLOBAL_ERROR_KEY = "global"; 775 public static final String POST_PROCESSOR_FAILURE_MESSAGE = "PostProcessor failed to process document: "; 776 777 public static final String DEFAULT_CONFIG_LOCATION_PARAM = "default.config.location"; 778 public static final String DEFAULT_APPLICATION_CONFIG_LOCATION = "classpath:META-INF/workflow.xml"; 779 public static final String ADDITIONAL_CONFIG_LOCATIONS_PARAM = "additional.config.locations"; 780 781 // client protocols 782 public static enum ClientProtocol { 783 WEBSERVICE, LOCAL, EMBEDDED, RMI, SPRING_INVOKER 784 } 785 786 // system branch state keys 787 public static final String POST_PROCESSOR_PROCESSED_KEY = "System.PostProcessorProcessed"; 788 public static final String POST_PROCESSOR_FINAL_KEY = "System.PostProcessorFinal"; 789 public static final String POST_PROCESSOR_NON_DEFINED_VALUE = "none"; 790 791 // custom http header keys 792 public static final String DIGITAL_SIGNATURE_HEADER = "KEW_DIGITAL_SIGNATURE"; 793 public static final String KEYSTORE_ALIAS_HEADER = "KEW_KEYSTORE_ALIAS"; 794 795 public static final int DEFAULT_TRANSACTION_TIMEOUT_SECONDS = 3600; 796 797 public static final int DELEGATE_RULE_LOOKUP_MAX_ROWS_RETURNED = 500; 798 799 public static final String HTML_NON_BREAKING_SPACE = " "; 800 801 public static final String DAILY_EMAIL_CRON_EXPRESSION = "dailyEmail.cronExpression"; 802 public static final String WEEKLY_EMAIL_CRON_EXPRESSION = "weeklyEmail.cronExpression"; 803 public static final String DAILY_EMAIL_ACTIVE = "dailyEmail.active"; 804 public static final String WEEKLY_EMAIL_ACTIVE = "weeklyEmail.active"; 805 806 public static final String ACTION_LIST_NO_REFRESH = "ActionList.norefresh"; 807 public static final String REQUERY_ACTION_LIST_KEY = "requeryActionList"; 808 809 810 // receive future action request contants 811 public static final String RECEIVE_FUTURE_REQUESTS_BRANCH_STATE_KEY = "_receive_future_requests"; 812 public static final String DEACTIVATED_FUTURE_REQUESTS_BRANCH_STATE_KEY = "_deactivated_future_requests"; 813 public static final String DONT_RECEIVE_FUTURE_REQUESTS_BRANCH_STATE_VALUE = "NO"; 814 public static final String RECEIVE_FUTURE_REQUESTS_BRANCH_STATE_VALUE = "YES"; 815 public static final String CLEAR_FUTURE_REQUESTS_BRANCH_STATE_VALUE = "CLEAR"; 816 public static final String USE_REMOTE_EMAIL_SERVICES = "Email.useRemoteServices"; 817 818 // lookupable column types 819 public static final String LOOKUP_COLUMN_TYPE_TEXT = "text"; 820 public static final String LOOKUP_COLUMN_TYPE_INTEGER = "integer"; 821 public static final String LOOKUP_COLUMN_TYPE_LONG = "long"; 822 public static final String LOOKUP_COLUMN_TYPE_FLOAT = "float"; 823 public static final String LOOKUP_COLUMN_TYPE_DATETIME = "datetime"; 824 825 // document search route status qualifiers 826 public static final String DOC_SEARCH_ROUTE_STATUS_QUALIFIER_EXACT = "equal"; 827 public static final String DOC_SEARCH_ROUTE_STATUS_QUALIFIER_BEFORE = "before"; 828 public static final String DOC_SEARCH_ROUTE_STATUS_QUALIFIER_AFTER = "after"; 829 public static final Map<String,String> DOC_SEARCH_ROUTE_STATUS_QUALIFIERS; 830 static { 831 DOC_SEARCH_ROUTE_STATUS_QUALIFIERS = new HashMap<String,String>(); 832 DOC_SEARCH_ROUTE_STATUS_QUALIFIERS.put(DOC_SEARCH_ROUTE_STATUS_QUALIFIER_EXACT, "Exactly"); 833 DOC_SEARCH_ROUTE_STATUS_QUALIFIERS.put(DOC_SEARCH_ROUTE_STATUS_QUALIFIER_BEFORE, "Before"); 834 DOC_SEARCH_ROUTE_STATUS_QUALIFIERS.put(DOC_SEARCH_ROUTE_STATUS_QUALIFIER_AFTER, "After"); 835 } 836 837 // service name constants 838 839 public static final String WORKFLOW_UTILITY_SERVICE = "enWorkflowUtilityService"; 840 841 public static final String SIMPLE_DATE_FORMAT_FOR_DATE = RiceConstants.SIMPLE_DATE_FORMAT_FOR_DATE; 842 public static final String SIMPLE_DATE_FORMAT_FOR_TIME = RiceConstants.SIMPLE_DATE_FORMAT_FOR_TIME; 843 public static final String DEFAULT_DATE_FORMAT_PATTERN = RiceConstants.DEFAULT_DATE_FORMAT_PATTERN; 844 845 public static final String ACTIONLIST_COMMAND = "displayActionListView"; 846 847 public static final String ACTIONLIST_INLINE_COMMAND = "displayActionListInlineView"; 848 849 public static final String EMAIL_COMMAND = "displayEmailView"; 850 851 public static final String DOCSEARCH_COMMAND = "displayDocSearchView"; 852 853 public static final String SUPERUSER_COMMAND = "displaySuperUserView"; 854 855 public static final String HELPDESK_ACTIONLIST_COMMAND = "displayHelpDeskActionListView"; 856 857 public static final String INITIATE_COMMAND = "initiate"; 858 859 public static final String COMMAND_PARAMETER = "command"; 860 861 public static final String DOCUMENT_ID_PARAMETER = "docId"; 862 863 public static final String BACKDOOR_ID_PARAMETER = "backdoorId"; 864 865 public static final String DOCTYPE_PARAMETER = "docTypeName"; 866 867 public static final String INITIATE_URL = "initiateURL"; 868 869 public static final String ADVANCE_SEARCH_URL = "advanceSearchURL"; 870 871 public static final String DOCHANDLER_METHOD = "dochandlerMethod"; 872 873 public static final String KEW_NAMESPACE = "KR-WKFLW"; 874 875 public static final String DEFAULT_RESPONSIBILITY_TEMPLATE_NAME = "Review"; 876 877 public static final String EXCEPTION_ROUTING_RESPONSIBILITY_TEMPLATE_NAME = "Resolve Exception"; 878 879 // Permission Details 880 881 public static final String DOCUMENT_TYPE_NAME_DETAIL = "documentTypeName"; 882 public static final String ACTION_REQUEST_CD_DETAIL = "actionRequestCd"; 883 public static final String ROUTE_NODE_NAME_DETAIL = "routeNodeName"; 884 public static final String DOCUMENT_STATUS_DETAIL = "routeStatusCode"; 885 public static final String APP_DOC_STATUS_DETAIL = "appDocStatus"; 886 887 888 // Permissions 889 890 public static final String BLANKET_APPROVE_PERMISSION = "Blanket Approve Document"; 891 public static final String AD_HOC_REVIEW_PERMISSION = "Ad Hoc Review Document"; 892 public static final String ADMINISTER_ROUTING_PERMISSION = "Administer Routing for Document"; 893 public static final String SUPER_USER_APPROVE_SINGLE_ACTION_REQUEST = "Super User Approve Single Action Request"; 894 public static final String SUPER_USER_APPROVE_DOCUMENT = "Super User Approve Document"; 895 public static final String SUPER_USER_DISAPPROVE_DOCUMENT = "Super User Disapprove Document"; 896 897 public static final String CANCEL_PERMISSION = "Cancel Document"; 898 public static final String RECALL_PERMISSION = "Recall Document"; 899 public static final String INITIATE_PERMISSION = "Initiate Document"; 900 public static final String ROUTE_PERMISSION = "Route Document"; 901 public static final String SAVE_PERMISSION = "Save Document"; 902 public static final String ADD_MESSAGE_TO_ROUTE_LOG = "Add Message to Route Log"; 903 904 905 // signifies the delimiter character for ingested KIM groups 906 public static final String KIM_GROUP_NAMESPACE_NAME_DELIMITER_CHARACTER = ":"; 907 908 // system parameters 909 public static final String KIM_PRIORITY_ON_DOC_TYP_PERMS_IND = "KIM_PRIORITY_ON_DOC_TYP_PERMS_IND"; 910 public static final String ACTION_LIST_DOCUMENT_POPUP_IND = "ACTION_LIST_DOCUMENT_POPUP_IND"; 911 public static final String ACTION_LIST_ROUTE_LOG_POPUP_IND = "ACTION_LIST_ROUTE_LOG_POPUP_IND"; 912 public static final String ACTION_LIST_SEND_EMAIL_NOTIFICATION_IND = "SEND_EMAIL_NOTIFICATION_IND"; 913 public static final String SHOW_BACK_DOOR_LOGIN_IND = "SHOW_BACK_DOOR_LOGIN_IND"; 914 public static final String RULE_DELEGATE_LIMIT = "DELEGATE_LIMIT"; 915 public static final String EMAIL_REMINDER_FROM_ADDRESS = "FROM_ADDRESS"; 916 public static final String MAX_NODES_BEFORE_RUNAWAY_PROCESS = "MAXIMUM_NODES_BEFORE_RUNAWAY"; 917 public static final String NOTIFICATION_EXCLUDED_USERS_WORKGROUP_NAME_IND = "NOTIFY_GROUPS"; 918 public static final String DOC_SEARCH_FETCH_MORE_ITERATION_LIMIT = "FETCH_MORE_ITERATION_LIMIT"; 919 public static final String DOCUMENT_SEARCH_DOCUMENT_POPUP_IND = "DOCUMENT_SEARCH_POPUP_IND"; 920 public static final String DOCUMENT_SEARCH_ROUTE_LOG_POPUP_IND = "DOCUMENT_SEARCH_ROUTE_LOG_POPUP_IND"; 921 public static final String DOC_SEARCH_RESULT_CAP = "RESULT_CAP"; 922 public static final String EDL_DEBUG_TRANSFORM_IND = "DEBUG_TRANSFORM_IND"; 923 public static final String EDL_USE_XSLTC_IND = "USE_XSLTC_IND"; 924 public static final String IS_LAST_APPROVER_ACTIVATE_FIRST_IND = "IS_LAST_APPROVER_ACTIVATE_FIRST_IND"; 925 public static final String HELP_DESK_ACTION_LIST = "HELP_DESK_NAME_GROUP"; 926 public static final String QUICK_LINKS_RESTRICT_DOCUMENT_TYPES = "RESTRICT_DOCUMENT_TYPES"; 927 public static final String RULE_CUSTOM_DOC_TYPES = "CUSTOM_DOCUMENT_TYPES"; 928 public static final String RULE_GENERATE_ACTION_REQESTS_IND = "GENERATE_ACTION_REQUESTS_IND"; 929 public static final String SHOW_ATTACHMENTS_IND = "SHOW_ATTACHMENTS_IND"; 930 public static final String RULE_CACHE_REQUEUE_DELAY = "RULE_CACHE_REQUEUE_DELAY"; 931 public static final String ACTIONLIST_EMAIL_TEST_ADDRESS = "EMAIL_NOTIFICATION_TEST_ADDRESS"; 932 public static final String SECURE_ATTACHMENTS_PARAM = "SECURED_ATTACHMENT_SERVLET"; 933 934 //System parameter value comparisons 935 public static final String ACTION_LIST_SEND_EMAIL_NOTIFICATION_VALUE = "Y"; 936 public static final String YES_RULE_CHANGE_AR_GENERATION_VALUE = "Y"; 937 public static final String YES_DELEGATE_CHANGE_AR_GENERATION_VALUE = "Y"; 938 public static final String DOCUMENT_SEARCH_ROUTE_LOG_POPUP_VALUE = "Y"; 939 public static final String DOCUMENT_SEARCH_DOCUMENT_POPUP_VALUE = "Y"; 940 941 public static final class PermissionNames { 942 public static final String VIEW_OTHER_ACTION_LIST = "View Other Action List"; 943 public static final String UNRESTRICTED_DOCUMENT_SEARCH = "Unrestricted Document Search"; 944 945 private PermissionNames() { 946 throw new UnsupportedOperationException("do not call"); 947 } 948 } 949 950 // special user used when no other user is available 951 public static final String SYSTEM_USER = "kr"; 952 public static final String ENABLE_KEN_NOTIFICATION = "rice.kew.enableKENNotification"; 953 954 public static final String ROLEROUTE_QUALIFIER_RESOLVER_ELEMENT = "qualifierResolver"; 955 public static final String ROLEROUTE_QUALIFIER_RESOLVER_CLASS_ELEMENT = "qualifierResolverClass"; 956 public static final String ROLEROUTE_RESPONSIBILITY_TEMPLATE_NAME_ELEMENT = "responsibilityTemplateName"; 957 public static final String ROLEROUTE_NAMESPACE_ELEMENT = "namespace"; 958 959 public static final String ACTION_LIST_FILTER_ATTR_NAME = "ActionListFilter"; 960 public static final String UPDATE_ACTION_LIST_ATTR_NAME = "updateActionList"; 961 public static final String SORT_ORDER_ATTR_NAME = "sortOrder"; 962 public static final String SORT_CRITERIA_ATTR_NAME = "sortCriteria"; 963 public static final String CURRENT_PAGE_ATTR_NAME = "currentPage"; 964 965 public static final String HELP_DESK_ACTION_LIST_PRINCIPAL_ATTR_NAME = "helpDeskActionListPrincipal"; 966 public static final String HELP_DESK_ACTION_LIST_PERSON_ATTR_NAME = "helpDeskActionListPerson"; 967 public static final String PREFERENCES = "Preferences"; 968 public static final String WORKFLOW_DOCUMENT_MAP_ATTR_NAME = "workflowDocumentMap"; 969 public static final String WORKFLOW_ACTION_IGNORE_UNKOWN_PRINCIPAL_IDS = "ignoreUnknownPrincipalIds"; 970 971 public static final String USER_OPTIONS_DEFAULT_USE_OUTBOX_PARAM = "userOptions.default.useOutBox"; 972 973 974 public static final class SearchableAttributeConstants { 975 public static final String SEARCH_WILDCARD_CHARACTER = "*"; 976 public static final String SEARCH_WILDCARD_CHARACTER_REGEX_ESCAPED = "\\" + SEARCH_WILDCARD_CHARACTER; 977 public static final String DATA_TYPE_STRING = CoreConstants.DATA_TYPE_STRING; 978 public static final String DATA_TYPE_DATE = CoreConstants.DATA_TYPE_DATE; 979 public static final String DATA_TYPE_LONG = CoreConstants.DATA_TYPE_LONG; 980 public static final String DATA_TYPE_FLOAT = CoreConstants.DATA_TYPE_FLOAT; 981 public static final String DEFAULT_SEARCHABLE_ATTRIBUTE_TYPE_NAME = DATA_TYPE_STRING; 982 public static final String DEFAULT_RANGE_SEARCH_LOWER_BOUND_LABEL = "From"; 983 public static final String DEFAULT_RANGE_SEARCH_UPPER_BOUND_LABEL = "To"; 984 985 private SearchableAttributeConstants() {} 986 } 987 988 /** 989 * Defines the prefix to add to document attribute field names on the document search screens. 990 */ 991 public static final String DOCUMENT_ATTRIBUTE_FIELD_PREFIX = "documentAttribute."; 992 993 public static final class WorkflowProcessDirectives { 994 public static final String RUN_POST_PROCESSOR_LOGIC = "directive.run.post.processor.logic"; 995 } 996 997 public static final class GroupMembershipChangeOperations { 998 public static final String ADDED = "ADDED"; 999 public static final String REMOVED = "REMOVED"; 1000 } 1001 1002 public static final String DOCUMENT_CONTENT_ELEMENT = "documentContent"; 1003 public static final String ATTRIBUTE_CONTENT_ELEMENT = "attributeContent"; 1004 public static final String SEARCHABLE_CONTENT_ELEMENT = "searchableContent"; 1005 public static final String APPLICATION_CONTENT_ELEMENT = "applicationContent"; 1006 public static final String DEFAULT_DOCUMENT_CONTENT = "<" + DOCUMENT_CONTENT_ELEMENT + "/>"; 1007 public static final String DEFAULT_DOCUMENT_CONTENT2 = "<" + DOCUMENT_CONTENT_ELEMENT + "></" 1008 + DOCUMENT_CONTENT_ELEMENT + ">"; 1009 1010 public static final String ATTRIBUTE_XML_CONFIG_DATA = "xmlConfigData"; 1011 1012 public static final class DocumentContentVersions { 1013 public static final int ROUTE_LEVEL = 0; 1014 public static final int NODAL = 1; 1015 public static final int CURRENT = NODAL; 1016 } 1017 1018 public final static String SERVICE_PATH_SOAP = "soap/" + Namespaces.MODULE_NAME + "/" + CoreConstants.Versions.VERSION_2_0; 1019 1020 public static final class Namespaces { 1021 public static final String MODULE_NAME = "kew"; 1022 public static final String KEW_NAMESPACE_PREFIX = CoreConstants.Namespaces.ROOT_NAMESPACE_PREFIX + "/" + MODULE_NAME; 1023 1024 /** 1025 * Namespace for the kew module which is compatible with Kuali Rice 2.0.x. 1026 */ 1027 public static final String KEW_NAMESPACE_2_0 = KEW_NAMESPACE_PREFIX + "/" + Versions.VERSION_2_0; 1028 1029 } 1030 1031 public static final class ServiceNames { 1032 public static final String WORKFLOW_DOCUMENT_ACTIONS_SERVICE_SOAP = "workflowDocumentActionsService"; 1033 } 1034 1035 private KewApiConstants() { 1036 throw new UnsupportedOperationException("Should never be called."); 1037 } 1038 1039 public static final String ACTION_TAKEN_APPROVED_CD = "A"; 1040 public static final String ACTION_TAKEN_COMPLETED_CD = "C"; 1041 public static final String ACTION_TAKEN_ACKNOWLEDGED_CD = "K"; 1042 public static final String ACTION_TAKEN_FYI_CD = "F"; 1043 public static final String ACTION_TAKEN_DENIED_CD = "D"; 1044 public static final String ACTION_TAKEN_CANCELED_CD = "X"; 1045 public static final String ACTION_TAKEN_ROUTED_CD = "O"; 1046 1047 1048}