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 */ 016 package org.kuali.rice.kew.api.util; 017 018 import java.util.HashMap; 019 import java.util.Map; 020 021 import org.kuali.rice.kew.api.KewApiConstants; 022 import org.kuali.rice.kew.api.action.ActionRequestPolicy; 023 import org.kuali.rice.kew.api.action.ActionRequestStatus; 024 import org.kuali.rice.kew.api.action.ActionType; 025 026 /** 027 * Utility class to translate the various codes into labels and vice versa. 028 * 029 * @author Kuali Rice Team (rice.collab@kuali.org) 030 */ 031 public class CodeTranslator { 032 public static final Map<String, String> arLabels = getArLabels(); 033 public static final Map<String, String> atLabels = getAtLabels(); 034 public static final Map<String, String> arStatusLabels = getArStatusLabels(); 035 public static final Map<String, String> routeStatusLabels = getRouteStatusLabels(); 036 public static final Map<Boolean, String> activeIndicatorLabels = getActiveIndicatorLabels(); 037 public static final Map<String, String> activationPolicyLabels = getActivationPolicyLabels(); 038 public static final Map<String, String> policyLabels = getPolicyLabels(); 039 public static final Map<String, String> approvePolicyLabels = getApprovePolicyLabels(); 040 041 private static Map<String, String> getAtLabels() { 042 Map<String, String> newAtLabels = new HashMap<String, String>(); 043 newAtLabels.put(KewApiConstants.ACTION_TAKEN_ACKNOWLEDGED_CD, KewApiConstants.ACTION_TAKEN_ACKNOWLEDGED); 044 newAtLabels.put(KewApiConstants.ACTION_TAKEN_ADHOC_CD, KewApiConstants.ACTION_TAKEN_ADHOC); 045 newAtLabels.put(KewApiConstants.ACTION_TAKEN_ADHOC_REVOKED_CD, KewApiConstants.ACTION_TAKEN_ADHOC_REVOKED); 046 newAtLabels.put(KewApiConstants.ACTION_TAKEN_APPROVED_CD, KewApiConstants.ACTION_TAKEN_APPROVED); 047 newAtLabels.put(KewApiConstants.ACTION_TAKEN_BLANKET_APPROVE_CD, KewApiConstants.ACTION_TAKEN_BLANKET_APPROVE); 048 newAtLabels.put(KewApiConstants.ACTION_TAKEN_CANCELED_CD, KewApiConstants.ACTION_TAKEN_CANCELED); 049 newAtLabels.put(ActionType.RECALL.getCode(), ActionType.RECALL.getLabel()); 050 newAtLabels.put(KewApiConstants.ACTION_TAKEN_COMPLETED_CD, KewApiConstants.ACTION_TAKEN_COMPLETED); 051 newAtLabels.put(KewApiConstants.ACTION_TAKEN_ROUTED_CD, KewApiConstants.ACTION_TAKEN_ROUTED); 052 newAtLabels.put(KewApiConstants.ACTION_TAKEN_DENIED_CD, KewApiConstants.ACTION_TAKEN_DENIED); 053 newAtLabels.put(KewApiConstants.ACTION_TAKEN_FYI_CD, KewApiConstants.ACTION_TAKEN_FYI); 054 newAtLabels.put(KewApiConstants.ACTION_TAKEN_SAVED_CD, KewApiConstants.ACTION_TAKEN_SAVED); 055 newAtLabels.put(KewApiConstants.ACTION_TAKEN_RETURNED_TO_PREVIOUS_CD, KewApiConstants.ACTION_TAKEN_RETURNED_TO_PREVIOUS); 056 newAtLabels.put(KewApiConstants.ACTION_TAKEN_LOG_DOCUMENT_ACTION_CD, KewApiConstants.ACTION_TAKEN_LOG_DOCUMENT_ACTION); 057 newAtLabels.put(KewApiConstants.ACTION_TAKEN_MOVE_CD, KewApiConstants.ACTION_TAKEN_MOVE); 058 newAtLabels.put(KewApiConstants.ACTION_TAKEN_SU_APPROVED_CD, KewApiConstants.ACTION_TAKEN_SU_APPROVED); 059 newAtLabels.put(KewApiConstants.ACTION_TAKEN_SU_CANCELED_CD, KewApiConstants.ACTION_TAKEN_SU_CANCELED); 060 newAtLabels.put(KewApiConstants.ACTION_TAKEN_SU_DISAPPROVED_CD, KewApiConstants.ACTION_TAKEN_SU_DISAPPROVED); 061 newAtLabels.put(KewApiConstants.ACTION_TAKEN_SU_ROUTE_LEVEL_APPROVED_CD, KewApiConstants.ACTION_TAKEN_SU_ROUTE_LEVEL_APPROVED); 062 newAtLabels.put(KewApiConstants.ACTION_TAKEN_SU_ACTION_REQUEST_APPROVED_CD, KewApiConstants.ACTION_TAKEN_SU_ACTION_REQUEST_APPROVED); 063 newAtLabels.put(KewApiConstants.ACTION_TAKEN_SU_RETURNED_TO_PREVIOUS_CD, KewApiConstants.ACTION_TAKEN_SU_RETURNED_TO_PREVIOUS); 064 newAtLabels.put(KewApiConstants.ACTION_TAKEN_SU_ACTION_REQUEST_ACKNOWLEDGED_CD, KewApiConstants.ACTION_TAKEN_SU_ACTION_REQUEST_ACKNOWLEDGED); 065 newAtLabels.put(KewApiConstants.ACTION_TAKEN_SU_ACTION_REQUEST_FYI_CD, KewApiConstants.ACTION_TAKEN_SU_ACTION_REQUEST_FYI); 066 newAtLabels.put(KewApiConstants.ACTION_TAKEN_SU_ACTION_REQUEST_COMPLETED_CD, KewApiConstants.ACTION_TAKEN_SU_ACTION_REQUEST_COMPLETED); 067 newAtLabels.put(KewApiConstants.ACTION_TAKEN_TAKE_WORKGROUP_AUTHORITY_CD, KewApiConstants.ACTION_TAKEN_TAKE_WORKGROUP_AUTHORITY); 068 newAtLabels.put(KewApiConstants.ACTION_TAKEN_RELEASE_WORKGROUP_AUTHORITY_CD, KewApiConstants.ACTION_TAKEN_RELEASE_WORKGROUP_AUTHORITY); 069 return newAtLabels; 070 } 071 072 private static Map<String, String> getArLabels() { 073 Map<String, String> newArLabels = new HashMap<String, String>(); 074 newArLabels.put(KewApiConstants.ACTION_REQUEST_ACKNOWLEDGE_REQ, KewApiConstants.ACTION_REQUEST_ACKNOWLEDGE_REQ_LABEL); 075 newArLabels.put(KewApiConstants.ACTION_REQUEST_APPROVE_REQ, KewApiConstants.ACTION_REQUEST_APPROVE_REQ_LABEL); 076 newArLabels.put(KewApiConstants.ACTION_REQUEST_COMPLETE_REQ, KewApiConstants.ACTION_REQUEST_COMPLETE_REQ_LABEL); 077 newArLabels.put(KewApiConstants.ACTION_REQUEST_FYI_REQ, KewApiConstants.ACTION_REQUEST_FYI_REQ_LABEL); 078 return newArLabels; 079 } 080 081 private static Map<String, String> getArStatusLabels() { 082 Map<String, String> newArStatusLabels = new HashMap<String, String>(); 083 newArStatusLabels.put(ActionRequestStatus.ACTIVATED.getCode(), KewApiConstants.ACTIVE_LABEL); 084 newArStatusLabels.put(ActionRequestStatus.INITIALIZED.getCode(), ActionRequestStatus.INITIALIZED.getLabel()); 085 newArStatusLabels.put(ActionRequestStatus.DONE.getCode(), ActionRequestStatus.DONE.getLabel()); 086 return newArStatusLabels; 087 } 088 089 private static Map<String, String> getRouteStatusLabels() { 090 Map<String, String> newRouteStatusLabels = new HashMap<String, String>(); 091 newRouteStatusLabels.put(KewApiConstants.ROUTE_HEADER_CANCEL_CD, KewApiConstants.ROUTE_HEADER_CANCEL_LABEL); 092 newRouteStatusLabels.put(KewApiConstants.ROUTE_HEADER_DISAPPROVED_CD, KewApiConstants.ROUTE_HEADER_DISAPPROVED_LABEL); 093 newRouteStatusLabels.put(KewApiConstants.ROUTE_HEADER_ENROUTE_CD, KewApiConstants.ROUTE_HEADER_ENROUTE_LABEL); 094 newRouteStatusLabels.put(KewApiConstants.ROUTE_HEADER_EXCEPTION_CD, KewApiConstants.ROUTE_HEADER_EXCEPTION_LABEL); 095 newRouteStatusLabels.put(KewApiConstants.ROUTE_HEADER_FINAL_CD, KewApiConstants.ROUTE_HEADER_FINAL_LABEL); 096 newRouteStatusLabels.put(KewApiConstants.ROUTE_HEADER_INITIATED_CD, KewApiConstants.ROUTE_HEADER_INITIATED_LABEL); 097 newRouteStatusLabels.put(KewApiConstants.ROUTE_HEADER_PROCESSED_CD, KewApiConstants.ROUTE_HEADER_PROCESSED_LABEL); 098 newRouteStatusLabels.put(KewApiConstants.ROUTE_HEADER_SAVED_CD, KewApiConstants.ROUTE_HEADER_SAVED_LABEL); 099 return newRouteStatusLabels; 100 } 101 102 private static Map<Boolean, String> getActiveIndicatorLabels() { 103 Map<Boolean, String> newActiveIndicatorLabels = new HashMap<Boolean, String>(); 104 newActiveIndicatorLabels.put(Boolean.TRUE, KewApiConstants.ACTIVE_LABEL_LOWER); 105 newActiveIndicatorLabels.put(Boolean.FALSE, KewApiConstants.INACTIVE_LABEL_LOWER); 106 return newActiveIndicatorLabels; 107 } 108 109 private static Map<String, String> getPolicyLabels() { 110 Map<String, String> newDocTypeActiveIndicatorLabels = new HashMap<String, String>(); 111 newDocTypeActiveIndicatorLabels.put(KewApiConstants.TRUE_CD, KewApiConstants.YES_LABEL); 112 newDocTypeActiveIndicatorLabels.put(KewApiConstants.FALSE_CD, KewApiConstants.NO_LABEL); 113 newDocTypeActiveIndicatorLabels.put(KewApiConstants.INHERITED_CD, KewApiConstants.INHERITED_LABEL); 114 return newDocTypeActiveIndicatorLabels; 115 } 116 117 private static Map<String, String> getActivationPolicyLabels() { 118 Map<String, String> newActivationPolicyLabels = new HashMap<String, String>(); 119 newActivationPolicyLabels.put(KewApiConstants.ROUTE_LEVEL_PARALLEL, KewApiConstants.ROUTE_LEVEL_PARALLEL_LABEL); 120 newActivationPolicyLabels.put(KewApiConstants.ROUTE_LEVEL_SEQUENCE, KewApiConstants.ROUTE_LEVEL_SEQUENCE_LABEL); 121 newActivationPolicyLabels.put(KewApiConstants.ROUTE_LEVEL_PRIORITY_PARALLEL, KewApiConstants.ROUTE_LEVEL_PRIORITY_PARALLEL_LABEL); 122 return newActivationPolicyLabels; 123 } 124 125 private static Map<String, String> getApprovePolicyLabels() { 126 Map<String, String> approvePolicyLabels = new HashMap<String, String>(); 127 approvePolicyLabels.put(ActionRequestPolicy.ALL.getCode(), ActionRequestPolicy.ALL.getLabel()); 128 approvePolicyLabels.put(ActionRequestPolicy.FIRST.getCode(), ActionRequestPolicy.FIRST.getLabel()); 129 return approvePolicyLabels; 130 } 131 132 /** 133 * Given an actionRequest code return the appropriate label. 134 * 135 * @param actionRequestCode 136 * The actionRequestCode to be translated. 137 * @return action request label 138 */ 139 static public String getActionRequestLabel(String actionRequestCode) { 140 return (String) arLabels.get(actionRequestCode); 141 } 142 143 /** 144 * Given an action taken code return the appropriate label for it. 145 * 146 * @param actionTakenCode 147 * action taken code to use to find the label. 148 * @return action taken label 149 */ 150 static public String getActionTakenLabel(String actionTakenCode) { 151 return (String) atLabels.get(actionTakenCode); 152 } 153 154 /** 155 * Return the label for the given request status level. 156 * 157 * @param status 158 * code of the request status 159 * @return label for the corresponding code. 160 */ 161 static public String getActionRequestStatusLabel(String status) { 162 return (String) arStatusLabels.get(status); 163 } 164 165 static public String getRouteStatusLabel(String status) { 166 return (String) routeStatusLabels.get(status); 167 } 168 169 static public String getActiveIndicatorLabel(Boolean indicator) { 170 return (String) activeIndicatorLabels.get(indicator); 171 } 172 173 static public String getActivationPolicyLabel(String code) { 174 return (String) activationPolicyLabels.get(code); 175 } 176 177 static public String getPolicyLabel(String code) { 178 return (String) policyLabels.get(code); 179 } 180 181 }