try {
Properties p = new Properties();
javax.naming.Context jndiContext = new InitialContext();
Object obj =
jndiContext.lookup("java:comp/env/ejb/CabinHome");
CabinHomeLocal home = (CabinHomeLocal)
javax.rmi.PortableRemoteObject.narrow(obj,CabinHomeLocal.class);
Vector vect = new Vector();
for (int i = 1; ; i++) {
Integer pk = new Integer(i);
CabinLocal cabin = null;
try {
cabin = home.findByPrimaryKey(pk);
} catch(javax.ejb.FinderException fe) {
System.out.println("Caught exception: "+fe.getMessage()+" for pk="+i);
break;
}
// Check to see if the bed count and ship ID match.
if (cabin != null &&
cabin.getShipId() == 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(Exception e) {throw new EJBException(e);}