?? projecthandler.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 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.DuplicateNameException;import com.sun.j2ee.workflow.control.exceptions.SigninFailedException;import com.sun.j2ee.workflow.project.model.ProjectModel;import com.sun.j2ee.workflow.project.dao.ProjectDAOImpl;import com.sun.j2ee.workflow.project.exceptions.ProjectDAOSysException;import com.sun.j2ee.workflow.project.exceptions.ProjectDAOAppException;import com.sun.j2ee.workflow.project.exceptions.ProjectDAODBUpdateException;import com.sun.j2ee.workflow.project.exceptions.ProjectDAOFinderException;import com.sun.j2ee.workflow.project.exceptions.ProjectDAODupKeyException;/** ProjectHandler * @author Jian (James) Cai */public class ProjectHandler extends ActionHandlerSupport { private static final int CREATE_PROJECT = 1; private static final int UPDATE_PROJECT = 2; private static final int REMOVE_PROJECT = 3; private static final int UNKNOWN = 0; public void perform(HashMap projectevent) throws WorkflowActionException, DuplicateNameException{ Debug.println("ProjectHandler: perform()"); //session of the request are passed as partof the event HttpSession session = (HttpSession)projectevent.get("session"); //Locale currentLocale = JSPUtil.getLocale(session); switch (this.mapactiontype((String)projectevent.get("actiontype"))) { case CREATE_PROJECT: { Debug.println("ProjectHandler: CREATE_PROJECT event"); try { ProjectDAOImpl projectDa = new ProjectDAOImpl(); projectDa.create(getProjectModel(projectevent)); } catch (ProjectDAOSysException pse) { throw new WorkflowActionException(" Error Create Project " + pse); } catch (ProjectDAODupKeyException pde) { throw new DuplicateNameException(" Error Create Project, Porject with same name exists" + pde); } catch (ProjectDAODBUpdateException pue) { throw new WorkflowActionException(" Error Create Project" + pue); } catch (ProjectDAOAppException pue) { throw new WorkflowActionException(" Error Create Project" + pue); } } break; case UPDATE_PROJECT: { Debug.println("ProjectHandler: UPDATE_PROJECT event"); try { ProjectDAOImpl projectDa = new ProjectDAOImpl(); projectDa.store(getProjectModel(projectevent)); Debug.println("ProjectHandler: updating project " + (String)projectevent.get("project_name")); } catch (ProjectDAOSysException pse) { throw new WorkflowActionException(" Error Update Project " + pse); } catch (ProjectDAODupKeyException pde) { throw new WorkflowActionException(" Error Update Project " + pde); } catch (ProjectDAODBUpdateException pue) { throw new WorkflowActionException(" Error Update Project" + pue); } catch (ProjectDAOAppException pue) { throw new WorkflowActionException(" Error Create Project" + pue); } } break; case REMOVE_PROJECT: { Debug.println("ProjectHandler: REMOVE_PROJECT event"); try { ProjectDAOImpl projectDa = new ProjectDAOImpl(); projectDa.remove((String)projectevent.get("proj_ID")); Debug.println("ProjectHandler: removing project " + (String)projectevent.get("project_ID")); //should add methods to remove the rows in other table } catch (ProjectDAOSysException pse) { throw new WorkflowActionException(" Error Remove Project " + pse); } catch (ProjectDAODBUpdateException pue) { throw new WorkflowActionException(" Error Remove Project" + pue); } } break; default: Debug.print("Error: not implemented yet"); break; } } private int mapactiontype(String actiontype) { Debug.println("inside mapactiontype: "+ actiontype); if (actiontype.equals("CREATE_PROJECT")) return this.CREATE_PROJECT; else if (actiontype.equals("UPDATE_PROJECT")) return this.UPDATE_PROJECT; else if (actiontype.equals("REMOVE_PROJECT")) return this.REMOVE_PROJECT; else return this.UNKNOWN; } private ProjectModel getProjectModel(HashMap pe){ ProjectModel pjm = new ProjectModel((String)pe.get("proj_ID"), (String)pe.get("proj_name"), (String)pe.get("group"), (String)pe.get("lead"), (String)pe.get("desc")); return pjm; } }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -