Show InitTestDB.java syntax highlighted
/**
* Author:
* @author sschaelle
* @author ukistler
* Created:
* 25.05.2006 18:36:27
* Description:
* <text>
**/
package ch.iticket.db;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Random;
import ch.iticket.config.ConfigurationAdapter;
import ch.iticket.config.IConfigurationAdapter;
import ch.iticket.pd.AircraftDescriptionManager;
import ch.iticket.pd.AircraftManager;
import ch.iticket.pd.AirportManager;
import ch.iticket.pd.BoardingManager;
import ch.iticket.pd.BookerManager;
import ch.iticket.pd.BookingItemManager;
import ch.iticket.pd.BookingManager;
import ch.iticket.pd.CarrierManager;
import ch.iticket.pd.CategoryManager;
import ch.iticket.pd.FlightDescriptionManager;
import ch.iticket.pd.FlightDescriptionToCategoryManager;
import ch.iticket.pd.FlightManager;
import ch.iticket.pd.PDManager;
import ch.iticket.pd.PassengerManager;
import ch.iticket.pd.PriceCategoryManager;
import ch.iticket.pd.SeatManager;
import ch.iticket.pd.interfaces.bean.IAircraftDescriptionBean;
import ch.iticket.pd.interfaces.bean.IAirportBean;
import ch.iticket.pd.interfaces.bean.ICarrierBean;
import ch.iticket.pd.interfaces.bean.ICategoryBean;
import ch.iticket.pd.interfaces.bean.IFlightDescriptionBean;
import ch.iticket.pd.interfaces.bean.IPriceCategoryBean;
public class InitTestDB
{
protected AircraftManager aircraftManager;
protected AircraftDescriptionManager aircraftDescriptionManager;
protected AirportManager airportManager;
protected BoardingManager boardingManager;
protected BookerManager bookerManager;
protected BookingManager bookingManager;
protected BookingItemManager bookingItemManager;
protected CarrierManager carrierManager;
protected CategoryManager categoryManager;
protected FlightDescriptionToCategoryManager flightDescriptionToCategoryManager;
protected FlightDescriptionManager flightDesc;
protected FlightManager flightManager;
protected PassengerManager passengerManager;
protected PriceCategoryManager priceCategoryManager;
protected SeatManager seatManager;
public InitTestDB(PDManager pd)
{
initializeAll(pd);
clearAll();
}
private void initializeAll(PDManager pd)
{
aircraftManager = pd.getAircraftManager();
aircraftDescriptionManager = pd.getAircraftDescriptionManager();
airportManager = pd.getAirportManager();
boardingManager = pd.getBoardingManager();
bookerManager = pd.getBookerManager();
bookingManager = pd.getBookingManager();
bookingItemManager = pd.getBookingItemManager();
carrierManager = pd.getCarrierManager();
categoryManager = pd.getCategoryManager();
flightDescriptionToCategoryManager = pd.getFlightDescriptionToCategoryManager();
flightDesc = pd.getFlightDescriptionManager();
flightManager = pd.getFlightManager();
passengerManager = pd.getPassengerManager();
priceCategoryManager = pd.getPriceCategoryManager();
seatManager = pd.getSeatManager();
}
protected void clearAll()
{
airportManager.clear();
aircraftDescriptionManager.clear();
aircraftManager.clear();
boardingManager.clear();
bookerManager.clear();
bookingManager.clear();
bookingItemManager.clear();
carrierManager.clear();
categoryManager.clear();
flightDescriptionToCategoryManager.clear();
flightDesc.clear();
flightManager.clear();
passengerManager.clear();
priceCategoryManager.clear();
seatManager.clear();
}
protected void generateFlight(IFlightDescriptionBean bean)
{
Date startDate = bean.getForm();
Date stopDate = bean.getTo();
while (!startDate.after(stopDate))
{
Calendar calendar = Calendar.getInstance();
calendar.setTime(startDate);
calendar.add(Calendar.WEEK_OF_YEAR, 1);
startDate = calendar.getTime();
flightManager.create(aircraftManager.getRandom(bean.getAircraftDescription(), bean.getCarrier()), startDate, bean);
}
}
protected void generateSeat(IAircraftDescriptionBean aircraftDesc, ICategoryBean economy, ICategoryBean business,
ICategoryBean first, int economyCount, int businessCount, int firstCount)
{
for (int i = 0; i < economyCount; i++)
{
seatManager.create(economy, aircraftDesc);
}
for (int i = 0; i < businessCount; i++)
{
seatManager.create(business, aircraftDesc);
}
for (int i = 0; i < firstCount; i++)
{
seatManager.create(first, aircraftDesc);
}
}
public void createTestData()
{
/**
* Hacking style - generiert nur dummy daten
*/
IAirportBean zurich = airportManager.create("Zürich", "ZH", (short) 1);
IAirportBean frankfurt = airportManager.create("Frankfurt", "FA", (short) 1);
IAirportBean wien = airportManager.create("Wien", "WI",(short) 1);
IAirportBean paris = airportManager.create("Paris", "PA",(short) 1);
IAirportBean newYork = airportManager.create("New York", "NY",(short) -6);
IAirportBean sydney = airportManager.create("Sydney", "SY",(short) 8);
ICarrierBean swiss = carrierManager.create("Swiss", "LX");
// Categories
List<ICategoryBean> categories = new ArrayList<ICategoryBean>();
ICategoryBean economy = categoryManager.create("Economy");
ICategoryBean business = categoryManager.create("Business");
ICategoryBean first = categoryManager.create("First");
categories.add(economy);
categories.add(business);
categories.add(first);
// PriceCategories
List<IPriceCategoryBean> priceCategories = new ArrayList<IPriceCategoryBean>();
priceCategories.add(priceCategoryManager.create("Adults"));
priceCategories.add(priceCategoryManager.create("Children"));
priceCategories.add(priceCategoryManager.create("Infants"));
IAircraftDescriptionBean airbus = aircraftDescriptionManager.create("A-380");
IAircraftDescriptionBean boeing = aircraftDescriptionManager.create("B-747");
// Sitzplätze generieren
generateSeat(airbus, economy, business, first, 200, 30, 20);
generateSeat(boeing, economy, business, first, 300, 60, 30);
// je 10 airbus und 10 boeing für swiss
for (int x = 0; x < 10; x++)
{
aircraftManager.create(airbus, "HB-2" + String.valueOf(x), swiss);
aircraftManager.create(boeing, "HB-3" + String.valueOf(x), swiss);
}
// Flight Descriptions
List<IFlightDescriptionBean> flights = new ArrayList<IFlightDescriptionBean>();
IFlightDescriptionBean lx123 = createFlightDescription(123, airbus, swiss, zurich, frankfurt, 120, 12, 0, 2006,
Calendar.MAY, 1, 2006, Calendar.JULY, 31);
IFlightDescriptionBean lx321 = createFlightDescription(321, airbus, swiss, frankfurt, zurich, 110, 14, 15,
2006, Calendar.MAY, 1, 2006, Calendar.JULY, 31);
IFlightDescriptionBean lx456 = createFlightDescription(456, airbus, swiss, zurich, paris, 75, 10, 30, 2006,
Calendar.MAY, 1, 2006, Calendar.JULY, 31);
IFlightDescriptionBean lx654 = createFlightDescription(654, boeing, swiss, paris, zurich, 60, 12, 30, 2006,
Calendar.MAY, 1, 2006, Calendar.JULY, 31);
IFlightDescriptionBean lx789 = createFlightDescription(789, boeing, swiss, zurich, sydney, 1140, 8,0, 2006,
Calendar.MAY, 1, 2006, Calendar.JULY, 31);
IFlightDescriptionBean lx987 = createFlightDescription(987, boeing, swiss, sydney, zurich, 1100, 7,0, 2006,
Calendar.MAY, 1, 2006, Calendar.JULY, 31);
IFlightDescriptionBean lx234 = createFlightDescription(234, boeing, swiss, zurich, newYork, 900, 15,0, 2006,
Calendar.MAY, 1, 2006, Calendar.JULY, 31);
IFlightDescriptionBean lx432 = createFlightDescription(432, boeing, swiss, newYork, zurich, 980, 7,30, 2006,
Calendar.MAY, 1, 2006, Calendar.JULY, 31);
IFlightDescriptionBean lx678 = createFlightDescription(678, boeing, swiss, paris, wien, 125, 7, 0, 2006,
Calendar.MAY, 1, 2006, Calendar.JULY, 31);
IFlightDescriptionBean lx876 = createFlightDescription(876, boeing, swiss, wien, paris, 125, 12, 30, 2006,
Calendar.MAY, 1, 2006, Calendar.JULY, 31);
flights.add(lx123);
flights.add(lx321);
flights.add(lx456);
flights.add(lx654);
flights.add(lx789);
flights.add(lx987);
flights.add(lx234);
flights.add(lx432);
flights.add(lx678);
flights.add(lx876);
for (IFlightDescriptionBean bean : flights)
{
generateFlight(bean);
}
// Associate categories/pricecategories with flightdescription
for (IPriceCategoryBean priceCategory : priceCategories)
{
for (ICategoryBean category : categories)
{
for (IFlightDescriptionBean desc : flights)
{
double price = 0.0;
Random randomTax = new Random();
String categoryName = category.getName();
if (categoryName == "Economy")
{
price = 75.0 + randomTax.nextDouble() * 20;
} else if (categoryName == "Business")
{
price = 100.0 + randomTax.nextDouble() * 30;
} else if (categoryName == "First")
{
price = 150.0 + randomTax.nextDouble() * 30;
}
flightDescriptionToCategoryManager.create(desc, category, priceCategory, price);
}
}
}
// Booker Testdaten
bookerManager.create("Nufer", "Marc", "mnufer", "iticket"); // IBookerBean booker =
bookerManager.create("Kistler", "Ueli", "ukistler", "iticket"); // IBookerBean booker2 =
bookerManager.create("Hunziker", "Dennis", "dhunziker", "iticket");
bookerManager.create("Schälle", "Stefan", "sschaelle", "iticket");
}
protected IFlightDescriptionBean createFlightDescription(int flightcode, IAircraftDescriptionBean aircraftDesc,
ICarrierBean carrier, IAirportBean dep, IAirportBean dest, int duration, int hour, int minute,
int yearFrom, int monthFrom, int dayFrom, int yearTo, int monthTo, int dayTo)
{
Date fromDate;
Date toDate;
Date time;
Calendar calendar = Calendar.getInstance();
calendar.set(0, 0, 0, hour, minute, 0);
time = calendar.getTime();
calendar.set(yearFrom, monthFrom, dayFrom);
fromDate = calendar.getTime();
calendar.set(yearTo, monthTo, dayTo);
toDate = calendar.getTime();
return flightDesc.create(flightcode, dep, dest, time, duration, fromDate, toDate, aircraftDesc, carrier);
}
public static void main(String[] args)
{
IConfigurationAdapter config = ConfigurationAdapter.getInstance();
config.initXML("config/config.xml");
PDManager.getInstance().Init(config.getTorqueConfig());
new InitTestDB(PDManager.getInstance());
System.out.println("Database cleared");
}
}
See more files for this project here