1 20 package org.openi.web.controller.admin; 21 22 import org.apache.log4j.Logger; 23 import org.openi.project.Module; 24 import org.openi.project.Project; 25 import org.openi.project.ProjectContext; 26 import org.openi.xml.BeanStorage; 27 import org.springframework.validation.BindException; 28 import org.springframework.web.servlet.ModelAndView; 29 import org.springframework.web.servlet.mvc.SimpleFormController; 30 import java.util.HashMap ; 31 import java.util.LinkedList ; 32 import java.util.List ; 33 import java.util.Map ; 34 import javax.servlet.http.HttpServletRequest ; 35 import javax.servlet.http.HttpServletResponse ; 36 37 38 51 public class ProjectFormController extends SimpleFormController { 52 private static Logger logger = Logger.getLogger(ProjectFormController.class); 53 54 60 protected Object formBackingObject(HttpServletRequest request) 61 throws Exception { 62 try { 63 ProjectContext projectContext = (ProjectContext) request.getSession() 65 .getAttribute("projectContext"); 66 67 Project project = projectContext.getProject(); 69 70 return project; 71 } catch (Exception e) { 72 logger.error("Exception:", e); 73 throw e; 74 } 75 } 76 77 85 protected void onBindAndValidate(HttpServletRequest request, 86 Object command, BindException errors) throws Exception { 87 Project project = (Project) command; 88 89 String [] folders = request.getParameterValues("modules.folderName"); 90 String [] allowedUsers = request.getParameterValues( 91 "modules.allowedUsers"); 92 93 List modules = new LinkedList (); 94 95 for (int i = 0; i < folders.length; i++) { 96 if ((folders[i] != null) && !folders[i].equals("")) { 97 Module module = new Module(); 98 module.setFolderName(folders[i]); 99 module.setAllowedUsers(allowedUsers[i]); 100 modules.add(module); 101 } 102 } 103 104 project.setModules(modules); 105 106 } 107 108 118 protected ModelAndView onSubmit(HttpServletRequest request, 119 HttpServletResponse response, Object command, BindException errors) 120 throws Exception { 121 try { 122 Project project = (Project) command; 123 124 ProjectContext projectContext = (ProjectContext) request.getSession() 126 .getAttribute("projectContext"); 127 projectContext.setProject(project); 128 129 projectContext.saveProject(); 131 132 return super.onSubmit(request, response, command, errors); 133 } catch (Exception e) { 134 logger.error("Exception:", e); 135 throw e; 136 } 137 } 138 } 139 | Popular Tags |