| 
 package com.ort.strutsdemo.simpledemo.controller; 
  
import org.apache.struts.action.*; 
import javax.servlet.http.*; 
import com.ort.strutsdemo.simpledemo.business.BusinessDelegate; 
import com.boss.module.operation.object.Project; 
import com.boss.module.operation.object.Site; 
import com.ort.strutsdemo.simpledemo.Constants; 
import com.ort.strutsdemo.simpledemo.ui.ProjectForm; 
import com.ort.strutsdemo.simpledemo.controller.exception.ExceptionBean; 
import com.ipbs.util.web.ParamUtils; 
/** 
 * 
 * <p>Title: Struts Training </p> 
 * <p>Description: 项目管理功能页面的导向,以及页面所需要数据的初始化,同时,处理删除操作</p> 
 * <p>Copyright: Copyright (c) 2004</p> 
 * <p>Company: </p> 
 * @author Liuz 
 * @version 1.0 
 */ 
public class ProjectFormSaveAction 
    extends Action { 
  BusinessDelegate businessDelegate = null; 
  public ActionForward execute(ActionMapping actionMapping, 
                               ActionForm actionForm, 
                               HttpServletRequest request, 
                               HttpServletResponse response) { 
    businessDelegate = BusinessDelegate.getInstance(); 
    ProjectForm form = (ProjectForm)actionForm; 
    ActionForward forward = null; 
    String action = form.getAction(); 
    if (this.isCancelled(request)) { 
        return (actionMapping.findForward("cancel")); 
    } 
    if("modify".equals(action)){ 
        forward = modifyProject(actionMapping, actionForm, 
                                           request, response); 
    } 
    else if ("create".equals(action)) { 
      forward = createProject(actionMapping, actionForm,request, response); 
    }else if("delete".equals(action)){ 
       forward = deleteProject(actionMapping, actionForm,request, response); 
    } 
    return forward; 
  } 
  
  
  public ActionForward modifyProject(ActionMapping actionMapping, 
                                     ActionForm actionForm, 
                                    HttpServletRequest request, 
                                    HttpServletResponse response 
                                    ) 
{ 
     ProjectForm form = (ProjectForm) actionForm; 
     String projectCode = form.getProjectCode(); 
     String projectName = form.getProjectName(); 
     String siteCode = form.getSiteCode(); 
     double discount = form.getDiscount(); 
      try{ 
          Site site = businessDelegate.getSite(siteCode); 
          Project project = new Project(); 
          project.setProjectCode(projectCode); 
          project.setProjectName(projectName); 
          project.setDiscount(discount); 
          project.setSite(site); 
          businessDelegate.modifyProject(project); 
          return actionMapping.findForward("success"); 
      }catch(Exception ex){ 
          com.ipbs.util.Log.println( 
              "[ProjectFormSaveAction.java][Exception]:" + ex.getMessage()); 
          ExceptionBean exception = new ExceptionBean(); 
          exception.setErrorMsg(Constants.getExceptionMsg(ex)); 
          exception.setReturnPath(actionMapping.getPath()); 
          request.setAttribute(Constants.EXCEPTION_BEAN, exception); 
          return actionMapping.findForward("failed"); 
      } 
  } 
  
  public ActionForward createProject(ActionMapping actionMapping, 
                                     ActionForm actionForm, 
                                    HttpServletRequest request, 
                                    HttpServletResponse response 
                                    ) { 
     ProjectForm form = (ProjectForm) actionForm; 
     String projectCode = form.getProjectCode(); 
     String projectName = form.getProjectName(); 
     String siteCode = form.getSiteCode(); 
     double discount = form.getDiscount(); 
     try{ 
         Site site = businessDelegate.getSite(siteCode); 
         Project project = new Project(); 
         project.setProjectCode(projectCode); 
         project.setProjectName(projectName); 
         project.setDiscount(discount); 
         project.setSite(site); 
         businessDelegate.createProject(project); 
         return actionMapping.findForward("success"); 
     }catch(Exception ex){ 
         com.ipbs.util.Log.println( 
              "[ProjectFormSaveAction.java][Exception]:" + ex.getMessage()); 
          ExceptionBean exception = new ExceptionBean(); 
          exception.setErrorMsg(Constants.getExceptionMsg(ex)); 
          exception.setReturnPath(actionMapping.getPath()); 
          request.setAttribute(Constants.EXCEPTION_BEAN, exception); 
          return actionMapping.findForward("failed"); 
     } 
  } 
  
  public ActionForward deleteProject(ActionMapping actionMapping, 
                                     ActionForm actionForm, 
                                    HttpServletRequest request, 
                                    HttpServletResponse response 
                                    ) { 
     ProjectForm form = (ProjectForm)actionForm; 
     String projectCode = form.getProjectCode(); 
     try{ 
         businessDelegate.deleteProject(projectCode); 
         request.removeAttribute(Constants.PROJECT_SINGLEFORM_KEY); 
         return actionMapping.findForward("success"); 
     }catch(Exception ex){ 
         com.ipbs.util.Log.println( 
             "[ProjectControllerAction.java][Exception]:" + ex.getMessage()); 
         ExceptionBean exception = new ExceptionBean(); 
         exception.setErrorMsg(Constants.getExceptionMsg(ex)); 
         exception.setReturnPath(actionMapping.findForward("failed.return").getPath()); 
         request.setAttribute(Constants.EXCEPTION_BEAN,exception); 
         return actionMapping.findForward("failed"); 
  
     } 
  } 
  
}  |