OrderEJB.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:6k
源码类别:

Java编程

开发平台:

Java

  1. package day21ex.order;
  2. import java.util.*;
  3. import java.io.*;
  4. import java.rmi.*;
  5. import javax.naming.*;
  6. import javax.ejb.*;
  7. import day21ex.student.*;
  8. import day21ex.orderlineitem.*;
  9. public abstract class OrderEJB implements EntityBean {
  10.    protected EntityContext ctx;
  11.    public abstract String getOrderId();
  12.    public abstract void setOrderId(String id);
  13.    public abstract Collection getLineItems();
  14.    public abstract void setLineItems(Collection lineItems);
  15.    public abstract StudentLocal getStudent();
  16.    public abstract void setStudent(StudentLocal student);
  17.    public abstract java.sql.Timestamp getOrderDate();
  18.    public abstract void setOrderDate(java.sql.Timestamp timestamp);
  19.    public abstract String getStatus();
  20.    public abstract void setStatus(String status);
  21.    public abstract double getAmount();
  22.    public abstract void setAmount(double amount);
  23.    public double getTotalPrice() {
  24.       double totalPrice = 0;
  25.       Iterator i = getLineItems().iterator();
  26.       while (i.hasNext()) {
  27.          OrderLineItemLocal item = (OrderLineItemLocal) i.next();
  28.          totalPrice += item.getCourse().getFee();
  29.       }
  30.       return totalPrice;
  31.    }
  32.    public void setEntityContext(EntityContext ctx) {
  33.       System.out.println("Order.setEntityContext called");
  34.       this.ctx = ctx;
  35.    }
  36.    public void unsetEntityContext() {
  37.       System.out.println("Order.unsetEntityContext called");
  38.       this.ctx = null; 
  39.    }
  40.    public void ejbActivate() {
  41.       System.out.println("Order.ejbActivate() called.");
  42.    }
  43.    public void ejbPassivate() {
  44.       System.out.println("Order.ejbPassivate () called.");
  45.    }
  46.    public void ejbStore() {
  47.       System.out.println("Order.ejbStore() called.");
  48.    }
  49.    public void ejbLoad() {
  50.       System.out.println("Order.ejbLoad() called.");
  51.    }
  52.    public String ejbCreate(String orderID, StudentLocal student, 
  53.                        Collection lineItems) throws CreateException {
  54.       System.out.println("Order.ejbCreate(" + orderID + ") called");
  55.       setOrderId(orderID);  
  56.       setOrderDate(new java.sql.Timestamp(System.currentTimeMillis()));
  57.       setStatus("submitted");
  58.       return null;
  59.    }
  60.    public String ejbCreate(String orderID, StudentLocal student,
  61.                  String status,double amount) throws CreateException {
  62.       System.out.println("Order.ejbCreate(" + orderID + ") called");
  63.       setOrderId(orderID);
  64.       setOrderDate(new java.sql.Timestamp(System.currentTimeMillis()));
  65.       setStatus(status);
  66.       setAmount(amount);
  67.       return null;
  68.    }
  69.    public String ejbCreate(String orderID, String studentID, 
  70.                          Collection lineItems) throws CreateException {
  71.       try {
  72.          Context ctx = new InitialContext();
  73.          StudentLocalHome home = (StudentLocalHome)
  74.             javax.rmi.PortableRemoteObject.narrow(
  75.                ctx.lookup("day21ex/Student"), StudentLocalHome.class);                
  76.          StudentLocal c = home.findByPrimaryKey(studentID);
  77.          return this.ejbCreate(orderID, c, lineItems);
  78.       }catch (Exception e) {
  79.          e.printStackTrace();
  80.          throw new EJBException(e);
  81.       }
  82.    }
  83.    public String ejbCreate(String orderID, String studentID,
  84.               String status, double amount) throws CreateException {
  85.       try {
  86.          Context ctx = new InitialContext();
  87.          StudentLocalHome home = (StudentLocalHome)
  88.             javax.rmi.PortableRemoteObject.narrow(
  89.                ctx.lookup("day21ex/Student"), StudentLocalHome.class);
  90.          StudentLocal c = home.findByPrimaryKey(studentID);
  91.          return this.ejbCreate(orderID, c,status,amount);
  92.       } catch (Exception e) {
  93.          e.printStackTrace();
  94.          throw new EJBException(e);
  95.       }
  96.    }
  97.    public void ejbPostCreate(String orderLineItemID, StudentLocal student, 
  98.                           Collection lineItems) throws CreateException {
  99.       System.out.println("Order.ejbPostCreate() 1  called");
  100.       setStudent(student);           
  101.    }
  102.    public void ejbPostCreate(String orderLineItemID, 
  103.      String studentID, Collection lineItems) throws CreateException {
  104.       System.out.println("Order.ejbPostCreate() called");
  105.       try{
  106.          Context ctx = new InitialContext();
  107.          StudentLocalHome home = (StudentLocalHome)
  108.             javax.rmi.PortableRemoteObject.narrow(
  109.                ctx.lookup("day21ex/Student"), StudentLocalHome.class);
  110.          StudentLocal student = home.findByPrimaryKey(studentID);
  111.          setStudent(student);
  112.       }catch (Exception e) {
  113.          e.printStackTrace();
  114.          throw new EJBException(e);
  115.       }   
  116.    }
  117.    public void ejbPostCreate(String orderLineItemID, StudentLocal student,
  118.                                              String status,double amount) 
  119.       throws CreateException {
  120.       System.out.println("Order.ejbPostCreate() 1  called");
  121.       setStudent(student);                
  122.    }
  123.    public void ejbPostCreate(String orderLineItemID, String studentID,
  124.                                          String status,double amount) 
  125.       throws CreateException {
  126.       System.out.println("Order.ejbPostCreate() called");
  127.       try{
  128.          Context ctx = new InitialContext();
  129.          StudentLocalHome home = (StudentLocalHome)
  130.             javax.rmi.PortableRemoteObject.narrow(
  131.                ctx.lookup("day21ex/Student"), StudentLocalHome.class);
  132.          StudentLocal student = home.findByPrimaryKey(studentID);
  133.          setStudent(student);
  134.       }catch (Exception e) {
  135.          e.printStackTrace();
  136.          throw new EJBException(e);
  137.       }
  138.    }
  139.    public void ejbRemove() throws RemoveException {
  140.       System.out.println("Order.ejbRemove() called.");
  141.    }
  142. }