package com.vst.webapp.action;
import com.vst.model.InspectionAnswer;
import com.vst.model.ObjectAnswer;
import com.vst.service.ObjectAnswerManager;
import org.apache.commons.lang.StringUtils;
import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Locale;
public class ObjectAnswerFormController extends BaseFormController {
private ObjectAnswerManager objectAnswerManager = null;
public void setObjectAnswerManager(ObjectAnswerManager objectAnswerManager) {
this.objectAnswerManager = objectAnswerManager;
}
public ObjectAnswerFormController() {
setCommandName("objectAnswer");
setCommandClass(ObjectAnswer.class);
}
protected Object formBackingObject(HttpServletRequest request)
throws Exception {
String objectAnswerId = request.getParameter("objectAnswerId");
ObjectAnswer objectAnswer = null;
if (!StringUtils.isEmpty(objectAnswerId)) {
objectAnswer = objectAnswerManager.getObjectAnswer(objectAnswerId);
} else {
objectAnswer = new ObjectAnswer();
}
return objectAnswer;
}
public ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command,
BindException errors)
throws Exception {
if (log.isDebugEnabled()) {
log.debug("entering 'onSubmit' method...");
}
ObjectAnswer objectAnswer = (ObjectAnswer) command;
boolean isNew = (objectAnswer.getObjectAnswerId() == null);
Locale locale = request.getLocale();
if (request.getParameter("delete") != null) {
objectAnswerManager.removeObjectAnswer(objectAnswer.getObjectAnswerId().toString());
saveMessage(request, getText("objectAnswer.deleted", locale));
} else {
objectAnswerManager.saveObjectAnswer(objectAnswer);
String key = (isNew) ? "objectAnswer.added" : "objectAnswer.updated";
saveMessage(request, getText(key, locale));
if (!isNew) {
return new ModelAndView("redirect:editObjectAnswer.html", "objectAnswerId", objectAnswer.getObjectAnswerId());
}
}
return new ModelAndView(getSuccessView());
}
}