/**
* @ Project : NanjingWF
* @ File Name : WFBeanUtils.java
* @ Date : May 21, 2009
* @ Author : 710000571
* Copyright 2009 Genpact. All Rights Reserved.
*/
package com.abinbev.workflow.common.utils;
import java.util.Iterator;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.abinbev.workflow.common.CommonConstant;
import com.abinbev.workflow.core.expeditor.jbpm.interfaces.RequestBean;
import com.abinbev.workflow.core.expeditor.jbpm.interfaces.ResponseBean;
/**
*
* @copyright: Copyright 2009
* @company: Genpact
* @author: 710000571
* @version: 1.0
*
* Modification History:
* Date Author Description
* -----------------------
* May 21, 2009 710000571 Initialization
*/
public class WFBeanUtils {
private static final Log log = LogFactory.getLog(WFBeanUtils.class);
private static final String KEY_PROCESS_INSTANCE_ID = "ProcessInstanceId";
private static final String KEY_TASK_INSTANCE_ID = "TaskInstanceId";
private static final String KEY_PROCESS_DEFINITION_NAME = "ProcessDefinitionName";
private static final String KEY_PROCESS_STATUS = "currentNode";
/**
* 从ResponseBean中取得出ProcessInstanceId, TaskInstanceId放入RequestBean中。
*
* @param reqBean
* @param resBean
* @return
* @author: 710000571
* @version: 1.0
*
* Modification History:
* Date Author Description
* -----------------------
* May 21, 2009 710000571 Initialization
*/
@SuppressWarnings("unchecked")
public static RequestBean getReqBeanFromRes(RequestBean reqBean, ResponseBean resBean){
Map<Object, Object> map = resBean.getDataContainerMapType();
if(null == map
|| 0 == map.size() ){
return reqBean;
}
Iterator it = map.keySet().iterator();
while(it.hasNext()){
String key = (String)it.next();
if (log.isDebugEnabled()) {
log.debug("Key [" + key + "] -> value[" + map.get(key) + "]");
}
if(KEY_PROCESS_INSTANCE_ID.equalsIgnoreCase(key)){
reqBean.setProcessInstanceId(Long.valueOf(String.valueOf(map.get(key))));
}else if(KEY_TASK_INSTANCE_ID.equalsIgnoreCase(key)){
reqBean.setTaskInstanceId(Long.valueOf(String.valueOf(map.get(key))));
}else if(KEY_PROCESS_DEFINITION_NAME.equalsIgnoreCase(key)){
reqBean.setProcessDefinitionName(String.valueOf(map.get(key)));
}
}
return reqBean;
}
/**
* 从ResponseBean取得ApplicationFormId.
*
* @param resBean
* @return
* @author: 710000571
* @version: 1.0
*
* Modification History:
* Date Author Description
* -----------------------
* May 26, 2009 710000571 Initialization
*/
public static String getApplicationFormId(ResponseBean resBean){
Map<Object, Object> map = resBean.getDataContainerMapType();
if(null == map
|| 0 == map.size() ){
return null;
}
if (log.isDebugEnabled()) {
log.debug("Key [" + CommonConstant.VAR_BUSUNESS_ID + "] -> value["
+ map.get(CommonConstant.VAR_BUSUNESS_ID) + "]");
}
String appformId = (String)map.get(CommonConstant.VAR_BUSUNESS_ID);
return appformId;
}
/**
* 从ResponseBean取得Process Status.
*
* @param resBean
* @return
* @author: 710000571
* @version: 1.0
*
* Modification History:
* Date Author Description
* -----------------------
* May 26, 2009 710000571 Initialization
*/
@SuppressWarnings("unchecked")
public static String getProcessStatus(ResponseBean resBean){
Map<Object, Object> map = resBean.getDataContainerMapType();
if(null == map
|| 0 == map.size() ){
return null;
}
Iterator it = map.keySet().iterator();
while(it.hasNext()){
String key = (String)it.next();
if (log.isDebugEnabled()) {
log.debug("Key [" + key + "] -> value[" + map.get(key) + "]");
}
if(KEY_PROCESS_STATUS.equalsIgnoreCase(key)){
return (String)map.get(key);
}
}
return "";
}
}
转载于:https://blog.51cto.com/yipaixiaoyayin/1633561