roadinspectionmultiactioncontroller.java
来自「Java的框架」· Java 代码 · 共 399 行
JAVA
399 行
package mcaps.apps.prrm.roadinspection.webapp.controller;
//import java.io.IOException;
//import java.util.HashMap;
//import java.util.Map;
import java.util.ArrayList;
import java.util.List;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.io.File;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.ApplicationContextException;
import org.springframework.web.bind.RequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
import mcap.core.logging.Log;
import mcaps.apps.prrm.roaddefect.model.RoadDefect;
import mcaps.apps.prrm.roaddefect.service.RoadDefectManager;
import mcaps.apps.prrm.roadinspection.model.RoadInspection;
import mcaps.apps.prrm.roadinspection.model.RoadInspectionPicture;
import mcaps.apps.prrm.roadinspection.service.RoadInspectionManager;
import mcap.core.base.webapp.controller.BaseMultiActionController;
import mcap.core.base.webapp.util.Result;
import mcaps.apps.prrm.roadinspection.util.NameConstants;
import mcaps.apps.prrm.task.model.Status;
import mcaps.apps.prrm.task.model.Task;
import mcaps.apps.prrm.task.service.TaskManager;
public class RoadInspectionMultiActionController extends BaseMultiActionController implements
InitializingBean {
private static final String ROADINSPECTIONS_VIEW = "prrm/roadInspection/roadInspections";
private static final String ROADINSPECTION_VIEW = "prrm/roadInspection/roadInspection";
private static final String UPLOAD_ROOT_DIR = "resources/pictures/roadinspection/";
private static final String ROADINSPECTION_REPORT_VIEW = "roadInspectionReport";
private static final String className="mcaps.apps.prrm.roadinspection.webapp.controller.RoadInspectionMultiActionController";
private RoadInspectionManager roadInspectionManager;
private TaskManager taskManager;
private RoadDefectManager roadDefectManager;
private Map imageMap;
/**
* Returns the roadInspectionManager.
* @return RoadInspectionManager
*/
public RoadInspectionManager getRoadInspectionManager () {
return roadInspectionManager;
}
/**
* Sets the roadInspectionManager.
* @param roadInspectionManager The roadInspectionManager to set.
*/
public void setRoadInspectionManager (RoadInspectionManager roadInspectionManager) {
this.roadInspectionManager = roadInspectionManager;
}
/**
* @return Returns the taskManager.
*/
public TaskManager getTaskManager() {
return taskManager;
}
/**
* @param taskManager The taskManager to set.
*/
public void setTaskManager(TaskManager taskManager) {
this.taskManager = taskManager;
}
/**
* Returns the imageMap.
* @return Map
*/
public Map getImageMap () {
return imageMap;
}
/**
* Sets the imageMap.
* @param imageMap The imageMap to set.
*/
public void setImageMap (Map imageMap) {
this.imageMap = imageMap;
}
public void afterPropertiesSet() throws Exception {
if (roadInspectionManager == null)
throw new ApplicationContextException(
"Must set roadInspectionManager bean property on " + getClass());
if (imageMap == null)
throw new ApplicationContextException(
"Must set imageMap bean property on " + getClass());
}
// handlers
/**
* Custom handler for road defect display
*
* @param request
* current HTTP request
* @param response
* current HTTP response
* @return a ModelAndView to render the response
*/
public ModelAndView roadInspectionHandler(HttpServletRequest request,
HttpServletResponse response) throws ServletException {
if (request.getParameter ("roadInspectionId") == null) {
Result result = new Result("roadInspection.title","roadInspection.heading",
"roadInspection.nullid","actionUrl");
return new ModelAndView("result","result",result);
}
RoadInspection roadInspection = roadInspectionManager.getRoadInspection(
RequestUtils.getIntParameter(request, "roadInspectionId"));
if (roadInspection == null) {
Result result = new Result("roadInspection.title","roadInspection.heading",
"roadInspection.null","actionUrl");
return new ModelAndView("result","result",result);
}
Task task=taskManager.getTask(roadInspection.getTaskId());
List pictureList = getPictureFiles(roadInspection.getId());
request.setAttribute("roadinspectionpicturelist",pictureList);
request.setAttribute(mcaps.apps.prrm.task.util.NameConstants.TASK_OBJ,task);
return new ModelAndView(ROADINSPECTION_VIEW, NameConstants.ROADINSPECTION_OBJ, roadInspection);
}
/**
* Custom handler for submit road defect inspection
*
* @author fenglei
*
* @param request
* current HTTP request
* @param response
* current HTTP response
* @return a ModelAndView to render the response
*/
public ModelAndView submitRoadInspectionHandler(HttpServletRequest request,
HttpServletResponse response) throws ServletException {
Log.info(className + " submitRoadInspectionHandler start");
if (request.getParameter ("taskId") == null) {
Result result = new Result("roadInspection.title","roadInspection.heading",
"roadInspection.nullid","actionUrl");
return new ModelAndView("result","result",result);
}
RoadInspection roadInspection=this.roadInspectionManager.getRoadInspection(RequestUtils.getIntParameter(request,"roadInspectionId"));
Log.info(className + " submitRoadInspectionHandler roadInspection.id=" + roadInspection.getId());
// Task task=this.taskManager.getTask(RequestUtils.getIntParameter(request,"taskId"));
if (roadInspection == null) {
Result result = new Result("roadInspection.title","roadInspection.heading",
"roadInspection.null","actionUrl");
return new ModelAndView("result","result",result);
}
this.getRoadInspectionManager().submitRoadInspection(roadInspection);
Log.info(className + " submitRoadInspectionHandler end");
return new ModelAndView (new RedirectView ("roadDefect.action?roadDefectId=" + roadInspection.getRoadDefectId()));
//return new ModelAndView(new RedirectView ("task.action?taskId=" + task.getId()));
}
/**
* Custom handler for road defects display
*
* @param request
* current HTTP request
* @param response
* current HTTP response
* @return a ModelAndView to render the response
*/
public ModelAndView roadInspectionReportHandler(HttpServletRequest request,
HttpServletResponse response) throws ServletException {
if (request.getParameter ("roadInspectionId") == null) {
Result result = new Result ("roadInspection.title",
"roadInspection.heading", "roadInspection.nullid", "actionUrl");
return new ModelAndView ("result", "result", result);
}
String id = request.getParameter ("roadInspectionId");
System.out.println ("roadInspectionid = " + id);
String uri = request.getRequestURI ();
String format = uri.substring (uri.lastIndexOf (".") + 1);
System.out.println ("format = " + format);
Map model = new HashMap ();
model.put ("format", format);
model.put ("roadinspectionid", Integer.valueOf (id));
String imageDir = getServletContext ().getRealPath (UPLOAD_ROOT_DIR);
model.put ("imagedir", imageDir);
System.out.println("Image Dir : " + imageDir);
System.out.println("Image Dir : " + model.get("imagedir"));
String uploadDir = UPLOAD_ROOT_DIR + id + "/";
String fullUploadDir = getServletContext ().getRealPath (uploadDir);
File dir = new File (fullUploadDir);
if (dir.exists ()) {
File[] files = dir.listFiles();
String fileName;
int cnt = 0;
for (int i = 0; i < files.length; i++) {
File file = files[i];
if (file.isFile()) {
if (isImageFile (file)) {
// fileName = file.getAbsolutePath();
fileName = file.getName();
model.put ("imagefile" + ++cnt, fileName);
System.out.println(cnt + fileName);
}
}
}
}
// if (format.equals("html")){
System.out.println("Image Map Set");
request.getSession().setAttribute("IMAGES_MAP", imageMap);
// }
return new ModelAndView(ROADINSPECTION_REPORT_VIEW, model);
}
/**
* Custom handler for road defects display
*
* @param request
* current HTTP request
* @param response
* current HTTP response
* @return a ModelAndView to render the response
*/
public ModelAndView roadInspectionsHandler(HttpServletRequest request,
HttpServletResponse response) throws ServletException {
return new ModelAndView(ROADINSPECTIONS_VIEW,
NameConstants.ROADINSPECTION_LIST, roadInspectionManager.getAllRoadInspections());
}
/**
* Custom handler for road defects display
*
* @param request
* current HTTP request
* @param response
* current HTTP response
* @return a ModelAndView to render the response
*/
public ModelAndView roadInspectionsSearchHandler(HttpServletRequest request,
HttpServletResponse response) throws ServletException {
return new ModelAndView(ROADINSPECTIONS_VIEW,
NameConstants.ROADINSPECTION_LIST, roadInspectionManager.getAllRoadInspections());
}
/**
* Custom handler for road defects display
*
* @param request
* current HTTP request
* @param response
* current HTTP response
* @return a ModelAndView to render the response
*/
public ModelAndView deleteRoadInspectionHandler(HttpServletRequest request,
HttpServletResponse response) throws ServletException {
Locale locale = request.getLocale();
if (request.getParameter ("roadInspectionId") == null) {
Result result = new Result("deleteRoadInspection.title","deleteRoadInspection.heading",
"roadInspection.delete.nullid","actionUrl");
return new ModelAndView("result","result",result);
}
Integer id = Integer.valueOf(request.getParameter ("roadInspectionId"));
RoadInspection roadInspection = this.getRoadInspectionManager().getRoadInspection(id);
this.getRoadInspectionManager().removeRoadInspection(roadInspection);
saveMessage (request, getText ("roadInspection.deleted", id.toString(), locale));
return new ModelAndView(ROADINSPECTIONS_VIEW, NameConstants.ROADINSPECTION_LIST, roadInspectionManager.getAllRoadInspections());
}
/**
* Custom handler for road defects display
*
* @param request
* current HTTP request
* @param response
* current HTTP response
* @return a ModelAndView to render the response
*/
public ModelAndView deleteRoadInspectionPictureHandler(HttpServletRequest request,
HttpServletResponse response) throws ServletException {
Locale locale = request.getLocale();
if (request.getParameter ("roadInspectionId") == null) {
Result result = new Result("deleteRoadInspectionPicture.title","deleteRoadInspection.heading",
"roadInspection.picture.nullid","actionUrl");
return new ModelAndView("result","result",result);
}
if (request.getParameter ("pictureid") == null) {
Result result = new Result("deleteRoadInspectionPicture.title","deleteRoadInspection.heading",
"roadInspection.picture.nullpicid","actionUrl");
return new ModelAndView("result","result",result);
}
Integer id = Integer.valueOf(request.getParameter ("roadInspectionId"));
String picId = request.getParameter ("pictureid");
String uploadDir = UPLOAD_ROOT_DIR + id + "\\";
String fullUploadDir = getServletContext().getRealPath(uploadDir);
File dir = new File(fullUploadDir);
if (dir.exists()) {
System.out.println(" Delete Pic : " + fullUploadDir + "\\" + picId);
File file = new File(fullUploadDir + "\\" + picId);
if (file.exists()){
file.delete();
}
}
saveMessage (request, getText ("roadInspectionPicture.deleted", picId, locale));
return new ModelAndView (new RedirectView ("roadInspectionForm.action?method=edit&roadInspectionId=" + id));
}
private boolean isImageFile(File file){
String fileName = file.getName();
String ext = fileName.substring(fileName.lastIndexOf(".",fileName.length())+1);
if ((ext.equalsIgnoreCase("jpg")) || (ext.equalsIgnoreCase("jpeg")) ||
(ext.equalsIgnoreCase("gif")) || (ext.equalsIgnoreCase("bmp")) ||
(ext.equalsIgnoreCase("png") )){
return true;
}
return false;
}
private List getPictureFiles(Integer roadInspectionId){
List pictureList = new ArrayList();
String uploadDir = UPLOAD_ROOT_DIR + roadInspectionId + "/";
String fullUploadDir = getServletContext().getRealPath(uploadDir);
File dir = new File(fullUploadDir);
if (dir.exists()) {
File[] files = dir.listFiles();
RoadInspectionPicture pic = null;
short cnt = 0;
for (int i = 0; i < files.length; i++){
File file = files[i];
if (file.isFile()){
if (isImageFile(file)){
pic = new RoadInspectionPicture();
pic.setName(file.getName());
pic.setPath(uploadDir);
pictureList.add(cnt++,pic);
}
}
}
}
return pictureList;
}
/**
* @return Returns the roadDefectManager.
*/
public RoadDefectManager getRoadDefectManager() {
return roadDefectManager;
}
/**
* @param roadDefectManager The roadDefectManager to set.
*/
public void setRoadDefectManager(RoadDefectManager roadDefectManager) {
this.roadDefectManager = roadDefectManager;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?