package com.usemodj.jpetstore.struts.action;
import org.apache.log4j.Logger;
import com.usemodj.jpetstore.domain.Order;
import com.usemodj.jpetstore.domain.Signon;
import com.usemodj.struts.Constants;
import com.usemodj.struts.action.BaseAction;
public class ShippingAction extends BaseAction {
private static Logger logger = Logger.getLogger( ShippingAction.class);
private Order order = null;
private String url = null;
@Override
public String execute() throws Exception {
//logger.debug(" -- ShippingAction::execute() is called!! ");
Signon signon = getSignon();
if( null == signon){
this.addActionMessage( getText("login.required"));
url = request.getContextPath()+"/login_input?url="+ getText("hostname")+ request.getRequestURI();
return Constants.REDIRECT;
}
if( null == order){
this.addActionMessage( getText("order.shipping.information.required"));
return INPUT;
}
//TODO: Order is saved at session
order.setUsername( signon.getUsername());
this.setSession( Constants.ORDER, order);
return SUCCESS;
}
@Override
public String input() throws Exception {
Signon signon = getSignon();
if( null == signon){
this.addActionMessage( getText("login.required"));
url = request.getContextPath()+"/login_input?url="+ getText("hostname")+ request.getRequestURI();
//request.setAttribute( Constants.URL, url);
return Constants.REDIRECT;
}
this.order = new Order();
this.order.setUsername( signon.getUsername());
return INPUT;
}
public Signon getSignon(){
return (Signon)this.getSession(LOGIN);
}
// --- getter/setter ---
public Order getOrder() {
return order;
}
public void setOrder(Order order) {
this.order = order;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
}