📄 taskhandler_1.java~
字号:
/* */package com.sun.j2ee.workflow.control.actions;import java.util.HashMap;import java.util.ArrayList;import java.util.Locale;import java.util.Enumeration;import java.util.Calendar;import java.sql.Date;import javax.servlet.http.HttpSession;import com.sun.j2ee.workflow.util.WebKeys;import com.sun.j2ee.workflow.util.JSPUtil;import javax.servlet.http.HttpServletRequest;import com.sun.j2ee.workflow.util.Debug;import com.sun.j2ee.workflow.control.exceptions.WorkflowActionException;import com.sun.j2ee.workflow.control.exceptions.WorkflowAppException;import com.sun.j2ee.workflow.control.exceptions.SigninFailedException;import com.sun.j2ee.workflow.task.model.TaskModel;import com.sun.j2ee.workflow.task.dao.TaskDAOImpl;import com.sun.j2ee.workflow.task.exceptions.TaskDAOSysException;import com.sun.j2ee.workflow.task.exceptions.TaskDAOAppException;import com.sun.j2ee.workflow.task.exceptions.TaskDAODBUpdateException;import com.sun.j2ee.workflow.task.exceptions.TaskDAOFinderException;import com.sun.j2ee.workflow.task.exceptions.TaskDAODupKeyException;/** * TaskHandler **/public class TaskHandler extends ActionHandlerSupport { private static final int CREATE_TASK = 1; private static final int UPDATE_TASK = 2; private static final int REMOVE_TASK = 3; private static final int UNKNOWN = 0; public void perform(HashMap taskevent) throws WorkflowActionException{ Debug.println("TaskHandler: perform()"); //session of the request are passed as partof the event HttpSession session = (HttpSession)taskevent.get("session"); //Locale currentLocale = JSPUtil.getLocale(session); switch (this.mapactiontype((String)taskevent.get("actiontype"))) { case CREATE_TASK: { Debug.println("TaskHandler: CREATE_TASK event"); try { TaskDAOImpl taskDa = new TaskDAOImpl(); taskDa.create(getTaskModel(taskevent)); } catch (TaskDAOSysException pse) { throw new WorkflowActionException(" Error Create Task " + pse); } catch (TaskDAODupKeyException pde) { throw new WorkflowActionException(" Error Create Task " + pde); } catch (TaskDAODBUpdateException pue) { throw new WorkflowActionException(" Error Create Task" + pue); } catch (TaskDAOAppException pue) { throw new WorkflowActionException(" Error Create Task" + pue); } } break; case UPDATE_TASK: { Debug.println("TaskHandler: UPDATE_TASK event"); try { TaskDAOImpl taskDa = new TaskDAOImpl(); TaskModel taskMd = getTaskModel(taskevent); taskDa.store(taskMd); Debug.println("TaskHandler: updating task " + (String)taskevent.get("task_name")); this.context.setAttribute("taskupdate", taskMd.getTask_ID()); } catch (TaskDAOSysException pse) { throw new WorkflowActionException(" Error Update Task " + pse); } catch (TaskDAODupKeyException pde) { throw new WorkflowActionException(" Error Update Task " + pde); } catch (TaskDAODBUpdateException pue) { throw new WorkflowActionException(" Error Update Task" + pue); } catch (TaskDAOAppException pue) { throw new WorkflowActionException(" Error Create Task" + pue); } } break; case REMOVE_TASK: { Debug.println("TaskHandler: REMOVE_TASK event"); try { TaskDAOImpl taskDa = new TaskDAOImpl(); taskDa.remove((String)taskevent.get("task_ID")); Debug.println("TaskHandler: removing task " + (String)taskevent.get("task_ID")); //should add methods to remove the rows in other table } catch (TaskDAOSysException pse) { throw new WorkflowActionException(" Error Remove Task " + pse); } catch (TaskDAODBUpdateException pue) { throw new WorkflowActionException(" Error Remove Task" + pue); } } break; default: Debug.print("Error: not implemented yet"); break; } } private int mapactiontype(String actiontype) { Debug.println("inside mapactiontype: "+ actiontype); if (actiontype.equals("CREATE_TASK")) return this.CREATE_TASK; else if (actiontype.equals("UPDATE_TASK")) return this.UPDATE_TASK; else if (actiontype.equals("REMOVE_TASK")) return this.REMOVE_TASK; else return this.UNKNOWN; } private TaskModel getTaskModel(HashMap te){ Debug.println("geting date"); Date plan_start_date = Date.valueOf((String)te.get("plan_start_year")+"-"+ (String)te.get("plan_start_month")+"-"+ (String)te.get("plan_start_day")); Debug.println("geting date"); Date plan_end_date = Date.valueOf((String)te.get("plan_end_year")+"-"+ (String)te.get("plan_end_month")+"-"+ (String)te.get("plan_end_day")); Debug.println("geting date"); Date act_start_date = Date.valueOf((String)te.get("act_start_year")+"-"+ (String)te.get("act_start_month")+"-"+ (String)te.get("act_start_day")); Debug.println("geting date:"+ act_start_date.toString()); Date act_end_date = Date.valueOf((String)te.get("act_end_year")+"-"+ (String)te.get("act_end_month")+"-"+ (String)te.get("act_end_day")); TaskModel pjm = new TaskModel((String)te.get("task_ID"), (String)te.get("task_name"), plan_start_date, plan_end_date, act_start_date, act_end_date, (String)te.get("status"), (String)te.get("predecessor"), (String)te.get("project"), (String)te.get("task_desc"), (String)te.get("type"), (String)te.get("comment") ); return pjm; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -