package ordering.ejb;

 

import javax.ejb.*;

import java.util.Collection;

import ordering.common.vo.PurchaseOrderVO;

import java.util.Iterator;

import java.util.ArrayList;

import ordering.common.vo.POLineItemVO;

import javax.naming.InitialContext;

import javax.naming.NamingException;

 

abstract public class PurchaseOrderEJBBean implements EntityBean {

         EntityContext entityContext;

         private POLineItemEJBHome itemHome;

 

         public PurchaseOrderEJBPK ejbCreate(int poID, java.lang.String number, java.util.Date date, java.lang.String bill_to_name, java.lang.String bill_to_address, java.lang.String bill_to_city, java.lang.String bill_to_state, java.lang.String bill_to_zip, java.lang.String bill_to_country, java.lang.String ship_to_name, java.lang.String ship_to_address, java.lang.String ship_to_city, java.lang.String ship_to_state, java.lang.String ship_to_zip, java.lang.String ship_to_country, java.lang.String payment_method, double total_cost, java.lang.String note, String status) throws CreateException {

              setPoID(poID);

              setNumber(number);

              setDate(date);

              setBill_to_name(bill_to_name);

              setBill_to_address(bill_to_address);

              setBill_to_city(bill_to_city);

              setBill_to_state(bill_to_state);

              setBill_to_zip(bill_to_zip);

              setBill_to_country(bill_to_country);

              setShip_to_name(ship_to_name);

              setShip_to_address(ship_to_address);

              setShip_to_city(ship_to_city);

              setShip_to_state(ship_to_state);

              setShip_to_zip(ship_to_zip);

              setShip_to_country(ship_to_country);

              setPayment_method(payment_method);

              setTotal_cost(total_cost);

              setNote(note);

              setStatus(status);

              return null;

         }

         public void ejbPostCreate(int poID, java.lang.String number, java.util.Date date, java.lang.String bill_to_name, java.lang.String bill_to_address, java.lang.String bill_to_city, java.lang.String bill_to_state, java.lang.String bill_to_zip, java.lang.String bill_to_country, java.lang.String ship_to_name, java.lang.String ship_to_address, java.lang.String ship_to_city, java.lang.String ship_to_state, java.lang.String ship_to_zip, java.lang.String ship_to_country, java.lang.String payment_method, double total_cost, java.lang.String note, String status) throws CreateException {

              /**@todo Complete this method*/

         }

 

         public PurchaseOrderEJBPK ejbCreateUsingVO(PurchaseOrderVO poVO) throws CreateException {

          setPoID(poVO.getPoId());

          setNumber(poVO.getPoNumber());

          setDate(poVO.getDate());

          setBill_to_name(poVO.getBillTo().getName());

          setBill_to_address(poVO.getBillTo().getAddress());

          setBill_to_city(poVO.getBillTo().getCity());

          setBill_to_state(poVO.getBillTo().getState());

          setBill_to_zip(poVO.getBillTo().getZip());

          setBill_to_country(poVO.getBillTo().getCountry());

          setShip_to_name(poVO.getShipTo().getName());

          setShip_to_address(poVO.getShipTo().getAddress());

          setShip_to_city(poVO.getShipTo().getCity());

          setShip_to_state(poVO.getShipTo().getState());

          setShip_to_zip(poVO.getShipTo().getZip());

          setShip_to_country(poVO.getShipTo().getCountry());

          setPayment_method(poVO.getPaymentMethod());

          setTotal_cost(poVO.getTotalCost());

          setNote(poVO.getNote());

          setStatus(poVO.getStatus());

          return null;

        }

 

        public void ejbPostCreateUsingVO(PurchaseOrderVO poVO) throws CreateException {

          System.out.println("post create po");

          Collection items = new ArrayList();

          Iterator i = poVO.getLineItems().iterator();

          while (i.hasNext())

          {

               POLineItemVO itemVO = (POLineItemVO) i.next();

               POLineItemEJB item = itemHome.createUsingVO(itemVO);

               items.add(item);

          }

          setPoLineItems(items);

         }

 

 

         public void ejbRemove() throws RemoveException {

              /**@todo Complete this method*/

         }

         public abstract void setPoID(int poID);

         public abstract void setNumber(java.lang.String number);

         public abstract void setDate(java.util.Date date);

         public abstract void setBill_to_name(java.lang.String bill_to_name);

         public abstract void setBill_to_address(java.lang.String bill_to_address);

         public abstract void setBill_to_city(java.lang.String bill_to_city);

         public abstract void setBill_to_state(java.lang.String bill_to_state);

         public abstract void setBill_to_zip(java.lang.String bill_to_zip);

         public abstract void setBill_to_country(java.lang.String bill_to_country);

         public abstract void setShip_to_name(java.lang.String ship_to_name);

         public abstract void setShip_to_address(java.lang.String ship_to_address);

         public abstract void setShip_to_city(java.lang.String ship_to_city);

         public abstract void setShip_to_state(java.lang.String ship_to_state);

         public abstract void setShip_to_zip(java.lang.String ship_to_zip);

         public abstract void setShip_to_country(java.lang.String ship_to_country);

         public abstract void setPayment_method(java.lang.String payment_method);

         public abstract void setTotal_cost(double total_cost);

         public abstract void setNote(java.lang.String note);

         public abstract void setPoLineItems(java.util.Collection poLineItems);

              public abstract void setStatus(java.lang.String status);

         public abstract int getPoID();

         public abstract java.lang.String getNumber();

         public abstract java.util.Date getDate();

         public abstract java.lang.String getBill_to_name();

         public abstract java.lang.String getBill_to_address();

         public abstract java.lang.String getBill_to_city();

         public abstract java.lang.String getBill_to_state();

         public abstract java.lang.String getBill_to_zip();

         public abstract java.lang.String getBill_to_country();

         public abstract java.lang.String getShip_to_name();

         public abstract java.lang.String getShip_to_address();

         public abstract java.lang.String getShip_to_city();

         public abstract java.lang.String getShip_to_state();

         public abstract java.lang.String getShip_to_zip();

         public abstract java.lang.String getShip_to_country();

         public abstract java.lang.String getPayment_method();

         public abstract double getTotal_cost();

         public abstract java.lang.String getNote();

         public abstract java.util.Collection getPoLineItems();

              public abstract java.lang.String getStatus();

         public void ejbLoad() {

              /**@todo Complete this method*/

         }

         public void ejbStore() {

              /**@todo Complete this method*/

         }

         public void ejbActivate() {

              /**@todo Complete this method*/

         }

         public void ejbPassivate() {

              /**@todo Complete this method*/

         }

         public void unsetEntityContext() {

              this.entityContext = null;

         }

              public void setEntityContext(EntityContext entityContext) {

                     this.entityContext = entityContext;

                     itemHome = getPOLineItemHome();

              }

 

         private static POLineItemEJBHome getPOLineItemHome()

         {

              try

              {

                return (POLineItemEJBHome)

                        new InitialContext().lookup("POLineItemEJB");

              }

              catch(Exception ne)

              {

                     System.out.println("can not find POLineItemEJB!");

                     return null;

                     //throw new EJBException();

              }

         }

}