package com.vst.webapp.action;
import com.vst.model.Gost;
import com.vst.model.ObjectExpertType;
import com.vst.service.ObjectExpertTypeManager;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Created by IntelliJ IDEA.
* User: And Lilia
* Date: 16.04.2009
* Time: 10:57:41
* To change this template use File | Settings | File Templates.
*/
public class InsertObjectExpertTypeController extends BaseFormController {
ObjectExpertTypeManager objectExpertTypeManager;
public void setObjectExpertTypeManager(ObjectExpertTypeManager objectExpertTypeManager) {
this.objectExpertTypeManager = objectExpertTypeManager;
}
public InsertObjectExpertTypeController() {
setCommandName("objectExpertType");
setCommandClass(ObjectExpertType.class);
}
protected Object formBackingObject(HttpServletRequest request) throws Exception {
if (!isFormSubmission(request)) {
ObjectExpertType objectExpertType = new ObjectExpertType();
if (request.getParameter("expertId") != null) {
int id = Integer.parseInt(request.getParameter("expertId"));
objectExpertType = objectExpertTypeManager.getObjectExpertTypeById((Integer) id);
}
if (request.getParameter("edited") != null) {
request.setAttribute("addition", "?edited=1");
objectExpertType.setEdited(true);
}
return objectExpertType;
}
return super.formBackingObject(request);
}
public ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response,
Object command,
BindException errors) throws Exception {
ModelAndView mav = new ModelAndView(getSuccessView());
ObjectExpertType objectExpertType = (ObjectExpertType) command;
if (objectExpertType.getExpertId() != null) {
objectExpertTypeManager.updateObjectExpert(objectExpertType);
if (objectExpertType.isEdited()) {
return new ModelAndView("redirect:updating.html?id=" + objectExpertType.getExpertId() + "&fieldId=" + request.getParameter("fieldId"));
}
return new ModelAndView("redirect:/lookObjectExpertType.html");
} else {
objectExpertTypeManager.insertObjectExpert(objectExpertType);
mav.addObject("objectExpertType", new ObjectExpertType());
mav.addObject("result", new Integer(1));
if (objectExpertType.isEdited()) {
return new ModelAndView("redirect:updating.html?id=" + objectExpertType.getExpertId() + "&fieldId=" + request.getParameter("fieldId"));
}
return mav;
}
}
}