package com.conant.order.web.controller; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.propertyeditors.CustomDateEditor; import org.springframework.web.bind.ServletRequestDataBinder; import org.springframework.web.servlet.ModelAndViewDefiningException; import com.conant.order.dao.LensModelDao; import com.conant.order.util.Logger; import com.conant.order.vo.LensModel; import com.conant.order.vo.OrderUtils; import com.conant.order.vo.OrsOrder; import com.conant.order.web.form.LensModelEditor; public class ModifyLensOrderController extends ModifyOrderController { private static final Logger log = Logger.getLogger( "ModifyLensOrderController", Logger.DEBUG, true); private LensModelDao lensModelDao; private List lensmodels; public ModifyLensOrderController() { // Initialize controller properties here or // in the Web Application Context } public LensModelDao getLensModelDao() { return lensModelDao; } public void setLensModelDao(LensModelDao lensModelDao) { this.lensModelDao = lensModelDao; } public Object formSubmissionBackingObject(HttpServletRequest request) throws ModelAndViewDefiningException { OrsOrder order = new OrsOrder(); OrderUtils.completeLensOrder(order); return order; } protected Map referenceData(HttpServletRequest request) throws Exception { Map<String, Object> model = new HashMap<String, Object>(); lensmodels = lensModelDao.getLensModel(); model.put("lensmodels", lensmodels); return model; } protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception { super.initBinder(request, binder); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); dateFormat.setLenient(false); // CustomDateEditor should be set allowEmpty, otherwise it would throw // exception // before validator can handle invalid values. binder.registerCustomEditor(Date.class, new CustomDateEditor( dateFormat, true)); binder.registerCustomEditor(LensModel.class, new LensModelEditor( lensmodels)); } }