package com.sun.j2ee.blueprints.adventure.web.actions;
import java.io.*;
import java.util.*;
import javax.servlet.http.*;
import com.sun.j2ee.blueprints.waf.controller.*;
import com.sun.j2ee.blueprints.waf.controller.web.html.*;
import com.sun.j2ee.blueprints.adventure.web.*;
import com.sun.j2ee.blueprints.catalog.*;
import com.sun.j2ee.blueprints.catalog.dao.*;
public final class TransportSearchHTMLAction extends HTMLActionSupport {
public Event perform(HttpServletRequest request)
throws HTMLActionException {
HttpSession session = request.getSession();
AdventureComponentManager acm =
(AdventureComponentManager)session.getAttribute(AdventureKeys.COMPONENT_MANAGER);
Cart cart = acm.getCart(session);
String origin = request.getParameter("origin");
if (origin == null) {
origin = cart.getOrigin();
} else {
cart.setOrigin(origin);
}
ArrayList transpDepartureBeans = null;
ArrayList transpReturnBeans = null;
String noTransport = request.getParameter("no_transport");
String showTransport = request.getParameter("show_flights");
Locale locale = new Locale("en","us");
String destination = cart.getDestination();
transpDepartureBeans = searchTransportation(origin, destination, locale);
transpReturnBeans = searchTransportation(destination, origin, locale);
request.setAttribute("departure_result", transpDepartureBeans );
request.setAttribute("return_result", transpReturnBeans );
request.setAttribute("search_target","transportation");
return null;
}
public ArrayList searchTransportation(String origin, String destination ,Locale locale) throws HTMLActionException {
ArrayList transportation = null;
ArrayList transportationBean = new ArrayList();
try {
CatalogFacade catalogFacade = new CatalogFacade();
transportation = catalogFacade.getTransportations(origin, destination, locale);
} catch (Exception e) {
throw new HTMLActionException("Transportation Search Exception:: Catalog Exception accessing catalog component: " + e);
}
for(int i=0;i<transportation.size() ;++i){
transportationBean.add(new TransportationBean(((com.sun.j2ee.blueprints.catalog.Transportation)transportation.get(i)).getTransportationId(),
((com.sun.j2ee.blueprints.catalog.Transportation)transportation.get(i)).getName(),
((com.sun.j2ee.blueprints.catalog.Transportation)transportation.get(i)).getDescription(),
((com.sun.j2ee.blueprints.catalog.Transportation)transportation.get(i)).getImageURI(),
((com.sun.j2ee.blueprints.catalog.Transportation)transportation.get(i)).getPrice(),
((com.sun.j2ee.blueprints.catalog.Transportation)transportation.get(i)).getOrigin(),
((com.sun.j2ee.blueprints.catalog.Transportation)transportation.get(i)).getDestination(),
((com.sun.j2ee.blueprints.catalog.Transportation)transportation.get(i)).getCarrier(),
((com.sun.j2ee.blueprints.catalog.Transportation)transportation.get(i)).getDepartureTime(),
((com.sun.j2ee.blueprints.catalog.Transportation)transportation.get(i)).getArrivalTime(),
((com.sun.j2ee.blueprints.catalog.Transportation)transportation.get(i)).getTravelClass()));
}
return transportationBean ;
}
}