?? proactreqhandler.java.svn-base
字號:
package com.nsi.components.proactivity;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.nsi.components.util.ActInfoUtil;
import com.nsi.constants.AppConstants;
import com.nsi.control.event.NsiEvent;
import com.nsi.control.exceptions.NsiEventException;
import com.nsi.control.web.ModelManager;
import com.nsi.control.web.handles.ReqHandler;
import com.nsi.control.web.util.WebModelUtil;
import com.nsi.util.ValHelper;
/**
* @author Chris Ye, created on Oct 8, 2008
*
* ProActReqHandler
*/
public class ProActReqHandler implements ReqHandler
{
private static Log log = LogFactory.getLog(ProActReqHandler.class);
/**
* @see com.nsi.control.web.handles.ReqHandler#processRequest(javax.servlet.http.HttpServletRequest)
*/
public NsiEvent processRequest(HttpServletRequest request,HttpServletResponse response) throws NsiEventException
{
NsiEvent event = null;
String action = request.getParameter("action");
if( ValHelper.getInstance().isNotNullAndEmpty(action))
{
String actcatid = request.getParameter("actcatid");
String projstatus = request.getParameter("projectstatus") != null ? request.getParameter("projectstatus") : "";
ProActWebInfo info = new ProActWebInfo(projstatus, actcatid);
String inserttype = request.getParameter("inserttype");
if(action.equalsIgnoreCase("updateProAct")) event = createUpdateProActivityEvent(request);
else if(action.equalsIgnoreCase("displayProAct")) event = createDisplayProActivityEvent(request);
else if(action.equalsIgnoreCase("addProAct"))
{
setAddInfo(info, request, inserttype);
if("2".equals(inserttype))
{
event = createUpdateProActivityEvent(request);
}
else
{
event = createAddProActivityEvent(request);
}
}
request.getSession().setAttribute("actwebinfo", info);
}
return event;
}
private NsiEvent createDisplayProActivityEvent(HttpServletRequest req) throws NsiEventException
{
ProActivityEvent event = new ProActivityEvent(1);
String projectid = req.getParameter("projectid").trim();
ProActivityInfo info = new ProActivityInfo();
info.setProjectid(projectid);
ModelManager mm = (ModelManager)req.getSession().getAttribute(AppConstants.ModelManagerKey);
WebModelUtil.getInstance().getProActivityModel(mm).copy(info);
event.setInfo(info);
return event;
}
private NsiEvent createUpdateProActivityEvent(HttpServletRequest req) throws NsiEventException
{
ProActivityEvent event = new ProActivityEvent(2);
ModelManager mm = (ModelManager)req.getSession().getAttribute(AppConstants.ModelManagerKey);
String loginuser = mm.getLoginuser().getResourceid();
String projectid = req.getParameter("projectid").trim();
ProActivityInfo info = new ProActivityInfo();
info.setProjectid(projectid);
int rows = prepareActivityInfo( req,info,projectid);
log.debug("createUpdateProActivityEvent() -- rows[" + rows + "]");
WebModelUtil.getInstance().getProActivityModel(mm).copy(info);
event.setLoginUser(loginuser.trim());
event.setInfo(info);
return event;
}
private NsiEvent createAddProActivityEvent(HttpServletRequest req) throws NsiEventException
{
ProActivityEvent event = new ProActivityEvent(2);
ModelManager mm = (ModelManager)req.getSession().getAttribute(AppConstants.ModelManagerKey);
String loginuser = mm.getLoginuser().getResourceid();
String projectid = req.getParameter("projectid").trim();
ProActivityInfo info = new ProActivityInfo();
info.setProjectid(projectid);
int rows = prepareActivityInfo( req,info,projectid);
String actcatid = req.getParameter("actcatid").trim();
String projectcode = req.getParameter("projectcode");
List<ActInfo> actlist = ActInfoUtil.getInstance().getCollection(actcatid);
if( !actlist.isEmpty())
{
int size = actlist.size();
for (int i = 0; i < size; i++)
{
boolean exist = false;
ProActDetail detail = new ProActDetail();
String actid = actlist.get(i).getActid();
for (int j = 0; j < rows; j++)
{
String inputactid = req.getParameter("actid" + j).trim();
exist = actid.equals(inputactid);
if(exist)
{
log.debug("createAddProActivityEvent() -- actid[" + actid + "], inputactid[" + inputactid + "]");
break;
}
}
detail.setActid(actid);
if(!exist)
{
detail.setProactid(AppConstants.EMPTY_STRING);
detail.setProjectid(projectid);
detail.setActive("T");
if( (ValHelper.getInstance().isNotNullAndEmpty(projectcode)) && "INT".equals(projectcode.substring(0, 3)))
{
detail.setBillable("F");
}
else
{
detail.setBillable("T");
}
info.getDetaillist().add(detail);
}
}
}
WebModelUtil.getInstance().getProActivityModel(mm).copy(info);
event.setLoginUser(loginuser.trim());
event.setInfo(info);
return event;
}
private void setAddInfo(ProActWebInfo info, HttpServletRequest req, String inserttype )
{
String addnum = "0";
if("2".equals(inserttype))
{
addnum = req.getParameter("addlines");
}
info.setAddnum(addnum.trim());
}
private int prepareActivityInfo(HttpServletRequest req, ProActivityInfo info, String projectid)
{
int rows = Integer.parseInt(req.getParameter("rownum"));
for (int i = 0; i < rows; i++)
{
ProActDetail detail = new ProActDetail();
detail.setProactid(req.getParameter("proactid" + i).trim());
detail.setProjectid(projectid);
detail.setActid(req.getParameter("actid" + i).trim());
detail.setActive(req.getParameter("active" + i).trim());
detail.setBillable(req.getParameter("billable" + i).trim());
info.getDetaillist().add(detail);
}
return rows;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -