package org.fireflow.demo.workflow.ext;
import org.fireflow.engine.context.RuntimeContext;
import org.fireflow.engine.entity.runtime.ProcessInstance;
import org.fireflow.engine.modules.persistence.PersistenceService;
import org.fireflow.engine.modules.persistence.nutz.PersistenceServiceNutzImpl;
import org.fireflow.engine.modules.script.BusinessObjectWrapper;
public class BusinessObjectWrappImpl implements BusinessObjectWrapper {
String bizClzName = null;
String bizId = null;
public String getBizClzName() {
return bizClzName;
}
public void setBizClzName(String bizClzName) {
this.bizClzName = bizClzName;
}
public String getBizId() {
return bizId;
}
public void setBizId(String bizId) {
this.bizId = bizId;
}
@Override
public Object resolveBusinessObject(RuntimeContext arg0,
ProcessInstance arg1, PersistenceService arg2) {
try{
String billCode = bizId;
if (billCode==null || billCode.trim().equals("")){
billCode = arg1.getBizId();
}
Class clz = Class.forName(bizClzName);
PersistenceServiceNutzImpl p = (PersistenceServiceNutzImpl)arg2;
Object obj = p.getDao().fetch(clz, billCode);
return obj;
}catch(Exception e){
throw new RuntimeException(e);
}
}
}