package com.titan.travelagent;
import com.titan.cabin.Cabin;
import com.titan.cabin.CabinHome;
import com.titan.cabin.CabinPK;
import java.rmi.RemoteException;
import javax.naming.InitialContext;
import javax.naming.Context;
import java.util.Properties;
import java.util.Vector;
public class TravelAgentBean implements javax.ejb.SessionBean {
public void ejbCreate() {
// do nothing
}
public String [] listCabins(int shipID, int bedCount)
throws RemoteException{
try{
Context jndiContext = getInitialContext();
CabinHome cabinHome =
(CabinHome)jndiContext.lookup("CabinHome");
Vector vect = new Vector();
CabinPK pk = new CabinPK();
Cabin cabin;
for(int i = 1; ; i++){
pk.id = i;
try{
cabin = cabinHome.findByPrimaryKey(pk);
}catch(javax.ejb.FinderException fe){
break;
}
// check to see if the bed count and ship id match
if (cabin.getShip() == shipID &&
cabin.getBedCount() == bedCount){
String details =
i+","+cabin.getName()+","+cabin.getDeckLevel();
vect.addElement(details);
}
}
String [] list = new String[vect.size()];
vect.copyInto(list);
return list;
}catch(javax.naming.NamingException ne){
throw new RemoteException("Unable to locate CabinHome",ne);
}
}
private javax.naming.Context getInitialContext()
throws javax.naming.NamingException{
Properties p = new Properties();
// ... specify the JNDI properties specific to the vendor
return new javax.naming.InitialContext(p);
}
public void ejbRemove(){}
public void ejbActivate(){}
public void ejbPassivate(){}
public void setSessionContext(javax.ejb.SessionContext cntx){}
}
|