package com.vci.server.workflow.server.delegate; import java.util.List; import com.vci.corba.common.VCIError; import com.vci.corba.common.data.UserEntityInfo; import com.vci.corba.workflow.data.TaskCCInfo; import com.vci.server.base.delegate.BaseDelegate; import com.vci.server.workflow.objects.TaskCCSObject; import com.vci.server.workflow.server.template.TaskCCService; public class TaskCCDelegate extends BaseDelegate { TaskCCService service = null; public TaskCCDelegate(UserEntityInfo userEntityInfo) { super(userEntityInfo); service = new TaskCCService(this.getUserEntity()); } public TaskCCDelegate() { service = new TaskCCService(); } /** * 获取抄送人信息 * @param executionid * @return * @throws VCIError */ public TaskCCInfo[] getTaskCCInfos(String jbpmDeploymentId) throws VCIError { TaskCCInfo[] infos = new TaskCCInfo[0]; try { List list = service.getTaskCCInfos(jbpmDeploymentId); TaskCCSObject[] objects = list.toArray(new TaskCCSObject[] {}); infos = this.convertTaskCCSObjectsToTaskCCInfos(objects); } catch (Exception ex) { throw new VCIError("420001", new String[] {}); } return infos; } /** * 保存抄送人信息 * @param info * @return * @throws VCIError */ public boolean saveTaskCCInfo(TaskCCInfo[] info) throws VCIError { boolean falg = false; try { falg = service.saveTaskCCInfo(this.convertTaskCCInfoToTaskCCSObject(info)); } catch (Exception ex) { throw new VCIError("420002", new String[] {}); } return falg; } /** * 删除抄送人信息 * @param jbpmDeploymentId * @param userName TODO * @return * @throws VCIError */ public boolean deleteTaskCC(String jbpmDeploymentId, String userName) throws VCIError { boolean res = false; try { res = service.deleteTaskCC(jbpmDeploymentId, userName); } catch (Exception ex) { ex.printStackTrace(); throw new VCIError("420003", new String[] {}); } return res; } /************************* CORBA & HIBERNATE CONVERT **************************/ /** * 对象转换(批量),从Corba对象转换到Hibernate对象 * * @param objects */ private TaskCCInfo[] convertTaskCCSObjectsToTaskCCInfos(TaskCCSObject[] objects) { TaskCCInfo[] infos = new TaskCCInfo[objects.length]; int i = 0; for (TaskCCSObject obj : objects) { infos[i++] = this.convertTaskCCSObjectToTaskCCInfo(obj); } return infos; } private TaskCCInfo convertTaskCCSObjectToTaskCCInfo(TaskCCSObject object) { TaskCCInfo info = new TaskCCInfo(); info.id = object.getId() == null ? "" : object.getId(); info.assigner = object.getAssigner() == null ? "" : object.getAssigner(); info.cc = object.getCc() == null ? "" : object.getCc(); info.pljbpmdeploymentid = object.getJbpmdeploymentid() == null ? "" : object.getJbpmdeploymentid(); info.taskname = object.getTaskname() == null ? "" : object.getTaskname(); return info; } private TaskCCSObject[] convertTaskCCInfoToTaskCCSObject(TaskCCInfo[] info) { TaskCCSObject[] objects = new TaskCCSObject[info.length]; for(int i = 0 ; i < info.length ; i ++){ TaskCCSObject object = new TaskCCSObject(); object.setId(info[i].id==null?"":info[i].id); object.setAssigner(info[i].assigner==null?"":info[i].assigner); object.setCc(info[i].cc==null?"":info[i].cc); object.setJbpmdeploymentid(info[i].pljbpmdeploymentid==null?"":info[i].pljbpmdeploymentid); object.setTaskname(info[i].taskname==null?"":info[i].taskname); objects[i] = object; } return objects; } }