FileDocCategorySizeDatePackage
TravelAgentBean.javaAPI DocExample5450Wed Sep 19 23:22:56 BST 2001com.titan.travelagent

TravelAgentBean

public class TravelAgentBean extends Object implements javax.ejb.SessionBean

Fields Summary
public CustomerRemote
customer
public CruiseRemote
cruise
public CabinRemote
cabin
public javax.ejb.SessionContext
ejbContext
public Context
jndiContext
Constructors Summary
Methods Summary
public TicketDObookPassage(CreditCardDO card, double price)

                   
        if (customer == null || cruise == null || cabin == null){
            throw new IncompleteConversationalState();
        }
        try {
            ReservationHomeRemote resHome =  
            (ReservationHomeRemote)getHome("ReservationHomeRemote",
                                   ReservationHomeRemote.class);
            ReservationRemote reservation =
                resHome.create(customer, cruise, cabin, price, new Date(System.currentTimeMillis()));
            ProcessPaymentHomeRemote ppHome =  
            (ProcessPaymentHomeRemote)           
                getHome("ProcessPaymentHomeRemote",
                ProcessPaymentHomeRemote.class);
            ProcessPaymentRemote process = ppHome.create();
            process.byCredit(customer, card, price);

            TicketDO ticket = 
                new TicketDO(customer,cruise,cabin,price);
            return ticket;
        } catch(Exception e) {
		System.out.println("Exception caught " + e);
            throw new EJBException(e);
        }
    
public voidejbActivate()

public voidejbCreate(CustomerRemote cust)

        customer = cust;
    
public voidejbPassivate()

public voidejbRemove()

private java.sql.ConnectiongetConnection()

    try {
        DataSource ds = (DataSource)jndiContext.lookup(
            "java:comp/env/jdbc/titanDB");
        return ds.getConnection();
    } catch(NamingException ne) {throw new EJBException(ne);}
protected java.lang.ObjectgetHome(java.lang.String name, java.lang.Class type)

        try {
            Object ref =  
                jndiContext.lookup("java:comp/env/ejb/"+name);
            return javax.rmi.PortableRemoteObject.narrow(ref, type);
        } catch(NamingException ne) {
            throw new EJBException(ne);
        }
    
public java.lang.String[]listAvailableCabins(int bedCount)

 
    if (cruise == null) 
        throw new IncompleteConversationalState();

    Connection con = null;
    PreparedStatement ps = null;;
    ResultSet result = null;
    try {
        Integer cruiseID = (Integer)cruise.getPrimaryKey();
	  Integer shipID = new Integer(cruise.getShipID());       
        con = getConnection();
        ps = con.prepareStatement(
            "select ID, NAME, DECK_LEVEL  from CABIN "+
            "where SHIP_ID = ? and BED_COUNT = ? and ID NOT IN "+
            "(SELECT CABIN_ID FROM RESERVATION "+
            " WHERE CRUISE_ID = ?)");

        ps.setInt(1,shipID.intValue());
        ps.setInt(2, bedCount);
        ps.setInt(3,cruiseID.intValue());
        result = ps.executeQuery();
        Vector vect = new Vector();
        while(result.next()) {
            StringBuffer buf = new StringBuffer();
            buf.append(result.getString(1));
            buf.append(',");
            buf.append(result.getString(2));
            buf.append(',");
            buf.append(result.getString(3));
            vect.addElement(buf.toString());
        }
        String [] returnArray = new String[vect.size()];
        vect.copyInto(returnArray);
        return returnArray;
    }
    catch (Exception e) {
        throw new EJBException(e);
    }
    finally {
        try {
        if (result != null) result.close();
        if (ps != null) ps.close();
        if (con!= null) con.close();
        }catch(SQLException se){se.printStackTrace();}
    }
public voidsetCabinID(java.lang.Integer cabinID)

 
        try { 
            CabinHomeRemote home = (CabinHomeRemote)
            getHome("CabinHomeRemote",CabinHomeRemote.class);
            cabin = home.findByPrimaryKey(cabinID);
        } catch(Exception re) {
		System.out.println("Exception caught " + re);
		re.printStackTrace();
            throw new EJBException(re);
        }
    
public voidsetCruiseID(java.lang.Integer cruiseID)

 
        try { 
            CruiseHomeRemote home = (CruiseHomeRemote)
            getHome("CruiseHomeRemote", CruiseHomeRemote.class);
            cruise = home.findByPrimaryKey(cruiseID);
        } catch(Exception re) {
		System.out.println("Exception caught " + re);
		re.printStackTrace();
            throw new EJBException(re);
        }
        
    
public voidsetSessionContext(javax.ejb.SessionContext cntx)


        ejbContext = cntx;
        try {
            jndiContext = new javax.naming.InitialContext();
        } catch(NamingException ne) {

            throw new EJBException(ne);
        }