package is.idega.idegaweb.egov.bpm.cases;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import com.idega.block.process.data.CaseBMPBean;
import com.idega.util.CoreConstants;
/**
* @author <a href="mailto:arunas@idega.com">Arūnas Vasmanas</a>
* @version $Revision: 1.5 $ Last modified: $Date: 2009/06/23 10:22:01 $ by $Author: valdas $
*/
@Service("casesStatusMapperHandler")
@Scope(BeanDefinition.SCOPE_SINGLETON)
public class CasesStatusMapperHandler {
private static final String CASE_STATUS_OPEN_KEY = CaseBMPBean.CASE_STATUS_OPEN_KEY;
private static final String CASE_STATUS_CREATED_KEY = CaseBMPBean.CASE_STATUS_CREATED_KEY;
private static final String CASE_STATUS_INACTIVE_KEY = CaseBMPBean.CASE_STATUS_INACTIVE_KEY;
private static final String CASE_STATUS_GRANTED_KEY = CaseBMPBean.CASE_STATUS_GRANTED_KEY;
private static final String CASE_STATUS_DENIED_KEY = CaseBMPBean.CASE_STATUS_DENIED_KEY;
private static final String CASE_STATUS_REVIEW_KEY = CaseBMPBean.CASE_STATUS_REVIEW_KEY;
private static final String CASE_STATUS_GROUPED_KEY = CaseBMPBean.CASE_STATUS_GROUPED_KEY;
private static final String CASE_STATUS_PRELIMINARY_KEY = CaseBMPBean.CASE_STATUS_PRELIMINARY_KEY;
private static final String CASE_STATUS_READY_KEY = CaseBMPBean.CASE_STATUS_READY_KEY;
private static final String CASE_STATUS_MOVED_KEY = CaseBMPBean.CASE_STATUS_MOVED_KEY;
private static final String CASE_STATUS_IN_PROGRESS = CaseBMPBean.CASE_STATUS_PENDING_KEY;
private static final String CASE_STATUS_PLACED_KEY = CaseBMPBean.CASE_STATUS_PLACED_KEY;
private static final String CASE_STATUS_WAIT_KEY = CaseBMPBean.CASE_STATUS_WAITING_KEY;
private static final String CASE_STATUS_IN_PROCESS_KEY = CaseBMPBean.CASE_STATUS_IN_PROCESS_KEY;
private static final String CASE_STATUS_DELETED_KEY = CaseBMPBean.CASE_STATUS_DELETED_KEY;
private static final String CASE_STATUS_FINISHED_KEY = CaseBMPBean.CASE_STATUS_FINISHED_KEY;
private static final String CASE_STATUS_CLOSED_KEY = CaseBMPBean.CASE_STATUS_CLOSED;
private static final String STATUS_EXP = "string_";
public String getStatusVariableNameFromStatusCode(String statusCode) {
String caseStatusVariableName = CoreConstants.EMPTY;
if (CASE_STATUS_DENIED_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusDenied;
else if (CASE_STATUS_GRANTED_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusGranted;
else if (CASE_STATUS_INACTIVE_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusInactive;
else if (CASE_STATUS_MOVED_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusMoved;
else if (CASE_STATUS_OPEN_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusReceived;
else if (CASE_STATUS_IN_PROGRESS.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusInProgress;
else if (CASE_STATUS_PRELIMINARY_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusPreliminary;
else if (CASE_STATUS_READY_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusReady;
else if (CASE_STATUS_REVIEW_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusReview;
else if (CASE_STATUS_GROUPED_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusGrouped;
else if (CASE_STATUS_PLACED_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusPlaced;
else if (CASE_STATUS_WAIT_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusWait;
else if (CASE_STATUS_IN_PROCESS_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusInProcess;
else if (CASE_STATUS_DELETED_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusDeleted;
else if (CASE_STATUS_CREATED_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusCreated;
else if (CASE_STATUS_FINISHED_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusFinished;
else if (CASE_STATUS_CLOSED_KEY.equals(statusCode))
caseStatusVariableName = CasesBPMProcessConstants.caseStatusFinished;
return caseStatusVariableName.equals(CoreConstants.EMPTY) ? new StringBuilder()
.append(STATUS_EXP).append(statusCode).toString()
: caseStatusVariableName;
}
public String getStatusCodeByMappedName(String statusMappedName) {
String statusKey = CoreConstants.EMPTY;
if (CasesBPMProcessConstants.CASE_STATUS_GRANTED_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_GRANTED_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_DENIED_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_DENIED_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_INACTIVE_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_INACTIVE_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_MOVED_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_MOVED_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_OPENED_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_OPEN_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_INPROGRESS_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_IN_PROGRESS;
else if (CasesBPMProcessConstants.CASE_STATUS_PRELIMINARY_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_PRELIMINARY_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_READY_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_READY_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_REVIEW_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_REVIEW_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_PLACED_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_PLACED_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_WAIT_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_WAIT_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_INPROCESS_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_IN_PROCESS_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_DELETED_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_DELETED_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_CREATED_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_CREATED_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_FINISHED_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_FINISHED_KEY;
else if (CasesBPMProcessConstants.CASE_STATUS_CLOSED_MAPNAME
.equals(statusMappedName))
statusKey = CASE_STATUS_CLOSED_KEY;
return statusKey;
}
}