package com.vst.webapp.action;
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import com.vst.webapp.action.BaseFormController;
import com.vst.model.DefectCategoryName;
import com.vst.service.DefectCategoryNameManager;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
public class DefectCategoryNameFormController extends BaseFormController {
private DefectCategoryNameManager defectCategoryNameManager = null;
public void setDefectCategoryNameManager(DefectCategoryNameManager defectCategoryNameManager) {
this.defectCategoryNameManager = defectCategoryNameManager;
}
public DefectCategoryNameFormController() {
setCommandName("defectCategoryName");
setCommandClass(DefectCategoryName.class);
}
protected Object formBackingObject(HttpServletRequest request)
throws Exception {
String defectCategoryNameId = request.getParameter("defectCategoryNameId");
DefectCategoryName defectCategoryName = null;
if (!StringUtils.isEmpty(defectCategoryNameId)) {
defectCategoryName = defectCategoryNameManager.getDefectCategoryName(defectCategoryNameId);
} else {
defectCategoryName = new DefectCategoryName();
}
if (request.getParameter("edited") != null) {
request.setAttribute("addition", "?edited=1");
defectCategoryName.setEdited(true);
}
defectCategoryName.setDocLocation(request.getParameter("docLocation"));
return defectCategoryName;
}
public ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command,
BindException errors)
throws Exception {
if (log.isDebugEnabled()) {
log.debug("entering 'onSubmit' method...");
}
DefectCategoryName defectCategoryName = (DefectCategoryName) command;
boolean isNew = (defectCategoryName.getDefectCategoryNameId() == null);
Locale locale = request.getLocale();
if (request.getParameter("delete") != null) {
defectCategoryNameManager.removeDefectCategoryName(defectCategoryName.getDefectCategoryNameId().toString());
saveMessage(request, getText("defectCategoryName.deleted", locale));
} else {
defectCategoryNameManager.saveDefectCategoryName(defectCategoryName);
String key = (isNew) ? "defectCategoryName.added" : "defectCategoryName.updated";
saveMessage(request, getText(key, locale));
if (defectCategoryName.isEdited()) {
return new ModelAndView("redirect:updating.html?id=" + defectCategoryName.getDefectCategoryNameId() + "&fieldId=" + request.getParameter("fieldId"));
}
}
return new ModelAndView("redirect:" + defectCategoryName.getDocLocation());
}
}