/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
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.util.StringUtils;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.ModelAndViewDefiningException;
import com.conant.order.common.PageMsg;
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;
/**
*
* @author Administrator
*/
public class AddLensOrderController extends AddOrderController
{
private static final Logger log = Logger.getLogger(
"AddOrderFormController", Logger.DEBUG, true);
private LensModelDao lensModelDao;
private List lensmodels;
public AddLensOrderController()
{
// Initialize controller properties here or
// in the Web Application Context
}
public LensModelDao getLensModelDao()
{
return lensModelDao;
}
public void setLensModelDao(LensModelDao lensModelDao)
{
this.lensModelDao = lensModelDao;
}
protected Object formBackingObject(HttpServletRequest request)
throws ModelAndViewDefiningException
{
log.info("AddOrderFormController formBackingObject...");
OrsOrder order = new OrsOrder();
OrderUtils.completeLensOrder(order);
String user = (String)request.getSession().getAttribute("user_name");
if(!StringUtils.hasText(user))
{
PageMsg pageMsg = new PageMsg();
pageMsg.setTarget("_self");
pageMsg.setMsg("Please login first!");
ModelAndView modelAndView = new ModelAndView("common/err", "error", pageMsg);
throw new ModelAndViewDefiningException(modelAndView);
}
order.setClientname(user);
return order;
}
protected Map referenceData(HttpServletRequest request) throws Exception
{
Map model = new HashMap();
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));
}
}