FileDocCategorySizeDatePackage
TravelAgentBean.javaAPI DocExample2056Sun Mar 07 08:33:22 GMT 1999com.titan.travelagent

TravelAgentBean.java

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){}
}