FileDocCategorySizeDatePackage
TravelAgentBean.javaAPI DocExample1990Fri Mar 01 22:25:12 GMT 2002com.titan.travelagent

TravelAgentBean.java

package com.titan.travelagent;

import com.titan.cabin.CabinLocal;
import com.titan.cabin.CabinHomeLocal;
import java.rmi.RemoteException;
import javax.naming.NamingException;
import javax.naming.InitialContext;
import javax.naming.Context;
import javax.ejb.EJBException;
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) 
   {

      try 
      {
         javax.naming.Context jndiContext = new InitialContext();
         CabinHomeLocal home = (CabinHomeLocal)
            jndiContext.lookup("java:comp/env/ejb/CabinHomeLocal");

         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 (NamingException ne) 
      {
         throw new EJBException(ne);
      }    
   }

   public void ejbRemove(){}
   public void ejbActivate(){}
   public void ejbPassivate(){}
   public void setSessionContext(javax.ejb.SessionContext cntx){}
}