package com.vci.server.workflow.server.instance; import java.util.List; import org.hibernate.HibernateException; import com.vci.common.objects.UserEntity; import com.vci.server.base.persistence.dao.BaseService; import com.vci.server.base.persistence.dao.HibernateCallback; import com.vci.server.base.persistence.dao.HibernateTemplate; import com.vci.server.workflow.dao.FlowInstanceDaoImpl; import com.vci.server.workflow.dao.ProcessCategoryDaoImpl; import com.vci.server.workflow.objects.FlowInstance; import com.vci.server.workflow.objects.ProcessCategory; public class FlowInstanceService extends BaseService { public FlowInstanceService(UserEntity userEntity) { super(userEntity); } public FlowInstanceService() { } @SuppressWarnings("unchecked") public List getFlowInstances(final String applicant) { return (List)new HibernateTemplate().run(new HibernateCallback(){ public Object execute() throws HibernateException { FlowInstanceDaoImpl impl = new FlowInstanceDaoImpl(); String hql = "from FlowInstance t where t.applicant = ?"; return impl.createQueryList(hql, new Object[]{applicant}); } }); } // @SuppressWarnings("unchecked") public List getFlowInstancesname(final String name) { return (List)new HibernateTemplate().run(new HibernateCallback(){ public Object execute() throws HibernateException { FlowInstanceDaoImpl impl = new FlowInstanceDaoImpl(); String hql = "from FlowInstance t where t.processName = ?"; return impl.createQueryList(hql, new Object[]{name}); } }); } public boolean saveFlowInstance(final FlowInstance object) { return (Boolean)new HibernateTemplate().run(new HibernateCallback(){ public Object execute() throws HibernateException { FlowInstanceDaoImpl impl = new FlowInstanceDaoImpl(); object.setUserEntity(userEntity); impl.saveOrUpdate(object); return true; } }); } public boolean updateFlowInstance(final FlowInstance object){ return (Boolean)new HibernateTemplate().run(new HibernateCallback(){ public Object execute() throws HibernateException { FlowInstanceDaoImpl impl = new FlowInstanceDaoImpl(); object.setUserEntity(userEntity); FlowInstance objGet = impl.getById(object.getId()); if(objGet == null){ impl.saveOrUpdate(object); }else{ objGet.setUserEntity(userEntity); objGet.setId(object.getId()); objGet.setExecutionid(object.getExecutionid()); objGet.setApplicant(object.getApplicant()); objGet.setCreator(object.getCreator()); objGet.setTemplatePuid(object.getTemplatePuid()); objGet.setTemplateName(object.getTemplateName()); objGet.setClsfOid(object.getClsfOid()); objGet.setTableName(object.getTableName()); objGet.setDesc(object.getDesc()); objGet.setProcessType(object.getProcessType()); impl.saveOrUpdate(objGet); } return true; } }); } }