StudentFacadeEJB.java
资源名称:某公司的java培训教材 [点击查看]
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:11k
源码类别:
Java编程
开发平台:
Java
- package day21ex.studentfacade;
- import java.util.*;
- import java.rmi.*;
- import javax.rmi.*;
- import javax.naming.*;
- import javax.ejb.*;
- import day21ex.enrollmentcart.*;
- import day21ex.signon.*;
- import day21ex.course.*;
- import day21ex.order.*;
- import day21ex.orderlineitem.*;
- import day21ex.messagesender.*;
- import day21ex.student.*;
- /* day 21 exercise */
- import day21ex.enrollment.*;
- public class StudentFacadeEJB implements SessionBean {
- private SessionContext ctx;
- String login;
- EnrollmentCart cart;
- public StudentFacadeEJB() {
- print("The container created this instance.n");
- login = null;
- }
- public void setSessionContext(SessionContext ctx) {
- print("The container called the setSessionContext method ");
- print("to associate session bean instance with its context.n");
- this.ctx = ctx;
- }
- public void ejbCreate() throws CreateException {
- print("The container called the ejbCreate method.n");
- cart = getEnrollmentCart();
- }
- public void ejbActivate() {
- print("This instance has just been reactivated.n");
- }
- public void ejbPassivate() {
- print("The container intends to passivate the instance.n");
- }
- public void ejbRemove() {
- print("This instance is in the process of being removed ");
- print("by the container.n");
- }
- public void addUser(String login, String password) throws RemoteException {
- SignOn signOn = getSignOn();
- signOn.addUser(login, password);
- this.login = login;
- }
- public void addStudent(String loginName, String password, String firstName,
- String lastName, String address, String emailAddress) throws RemoteException {
- try {
- StudentLocalHome home = getStudentLocalHome();
- addUser(loginName, password);
- StudentLocal student = home.create(loginName, firstName,
- lastName, address, emailAddress);
- }catch (Exception e) {
- throw new EJBException(e);
- }
- }
- public boolean validateUser(String login, String password)
- throws InvalidLoginException, RemoteException {
- SignOn signOn = getSignOn();
- boolean status = signOn.validateUser(login, password);
- if ( status )
- {
- this.login = login;
- }
- return status;
- }
- public void addCourses(String[] courseIds) throws RemoteException {
- print("The container called addCourses method.n");
- if ( courseIds == null) {
- return;
- }
- cart = getEnrollmentCart();
- cart.addCourses(courseIds);
- }
- public Collection getCartItems() throws RemoteException {
- cart = getEnrollmentCart();
- ArrayList items = new ArrayList();
- Collection collection = cart.getCourses();
- Iterator it = collection.iterator();
- while (it.hasNext()) {
- String courseId = (String)it.next();
- CourseItem item = null;
- try {
- CourseItem ci = getCourseItemDetails(courseId) ;
- items.add(ci);
- } catch (Exception cce) {
- System.out.println("exception caught: " + cce);
- }
- }
- return items;
- }
- public void empty() throws RemoteException {
- cart = getEnrollmentCart();
- cart.empty();
- }
- void print(String s) {
- System.out.println("StudentFacadeEJB:"+ s);
- }
- public CourseItem getCourseItemDetails(String courseId) throws NamingException, FinderException {
- Context ctx = new InitialContext();
- CourseLocalHome courseHome = (CourseLocalHome)
- PortableRemoteObject.narrow(
- ctx.lookup("day21ex/Course"), CourseLocalHome.class);
- CourseLocal course=courseHome.findByPrimaryKey(courseId);
- CourseItem item=new CourseItem(course.getCourseId(),course.getName(),
- course.getFee());
- return item;
- }
- public Vector getCourseItemList(){
- try{
- Context ctx = new InitialContext();
- CourseLocalHome courseHome = (CourseLocalHome)
- PortableRemoteObject.narrow(
- ctx.lookup("day21ex/Course"), CourseLocalHome.class);
- Collection courses=courseHome.findAllCourses();
- Enumeration items = Collections.enumeration(courses);
- Vector courseItems=new Vector();
- while (items.hasMoreElements()) {
- CourseLocal course= (CourseLocal) items.nextElement();
- CourseItem p=new CourseItem(course.getCourseId(),course.getName(),
- course.getFee());
- courseItems.add(p);
- }
- return courseItems;
- }catch (Exception e) {
- throw new EJBException(e);
- }
- }
- public String placeOrder() {
- try {
- print("placeOrder calledn");
- OrderLocalHome home=getOrderLocalHome();
- String orderID = makeUniqueID();
- OrderLocal order=home.create(orderID, login ,"unverified",100 );
- Vector orderItems=addOrderLineItems(order);
- order.setLineItems(orderItems);
- sendMessage(orderID);
- cart.empty(); // clear shopping cart
- return orderID;
- } catch (Exception e) {
- throw new EJBException(e);
- }
- }
- /* day 21 exercise */
- public Collection getStudentEnrollments() {
- Collection collection = new ArrayList();
- CourseLocal course;
- StudentLocal student;
- EnrollmentLocal enrollment;
- try {
- EnrollmentLocalHome home= getEnrollmentLocalHome();
- Collection enrollments = home.findStudentEnrollments(login);
- Iterator it = enrollments.iterator();
- while( it != null && it.hasNext() ) {
- enrollment = (EnrollmentLocal) it.next();
- try {
- course = enrollment.getCourse();
- student = enrollment.getStudent();
- collection.add( new EnrollmentDetails(
- enrollment.getEnrollmentId(),
- student.getStudentId(),
- course.getCourseId(),
- course.getName() ) );
- } catch (Exception e) {
- e.printStackTrace();
- System.err.println(e);
- }
- }
- } catch(FinderException fe) {
- print("FinderException while getStudentEnrollments :" +
- fe.getMessage() + "n" );
- throw new EJBException("Unable to find enrollment"+
- " for student: " + login +
- fe.getMessage());
- } catch(NamingException ne) {
- print("NamingException while getStudentEnrollments :" +
- ne.getMessage() + "n");
- throw new EJBException("NamingException while looking "
- + "for enrollments of student: " + login +
- ne.getMessage());
- } catch(Exception e) {
- print("Exception while getStudentEnrollments :" +
- e.getMessage() + "n");
- throw new EJBException("Exception while looking "
- + "for enrollments of student: " + login +
- e.getMessage());
- }
- return collection;
- }
- private Vector addOrderLineItems(OrderLocal order){
- try{
- Context ctx = new InitialContext();
- OrderLineItemLocalHome orderLineItemLocalHome = (OrderLineItemLocalHome)
- PortableRemoteObject.narrow(
- ctx.lookup("day21ex/OrderLineItem"), OrderLineItemLocalHome.class);
- CourseLocalHome courseHome = (CourseLocalHome)
- PortableRemoteObject.narrow(
- ctx.lookup("day21ex/Course"), CourseLocalHome.class);
- Collection items = getCartItems();
- Iterator it = items.iterator();
- Vector orderItems=new Vector();
- while( it.hasNext() ) {
- CourseItem item = (CourseItem) it.next();
- CourseLocal course=courseHome.findByPrimaryKey(item.getCourseId());
- String id = makeUniqueID();
- OrderLineItemLocal orderLineItem =
- orderLineItemLocalHome.create(id, order, course,item.getFee()) ;
- orderItems.add(orderLineItem);
- }
- return orderItems;
- } catch (Exception e) {
- throw new EJBException(e);
- }
- }
- private void sendMessage(String message) throws Exception{
- try{
- print("sendMessage calledn");
- MessageSender sender=new MessageSender();
- sender.sendAMessage(new InitialContext(), message);
- } catch(Exception e){
- throw new EJBException(e);
- }
- }
- private String makeUniqueID(){
- return new Long(System.currentTimeMillis()).toString();
- }
- private OrderLocalHome getOrderLocalHome(){
- try{
- Context ctx = new InitialContext();
- OrderLocalHome home = (OrderLocalHome)
- ctx.lookup("day21ex/Order");
- return home;
- } catch (Exception e) {
- throw new EJBException(e);
- }
- }
- private StudentLocalHome getStudentLocalHome(){
- try{
- Context ctx = new InitialContext();
- StudentLocalHome home = (StudentLocalHome)
- ctx.lookup("day21ex/Student");
- return home;
- } catch (Exception e) {
- throw new EJBException(e);
- }
- }
- SignOn getSignOn(){
- SignOn signOn = null;
- try {
- Context ic = getInitialContext();
- Object o = initialContext.lookup("day21ex/SignOn");
- SignOnHome home = (SignOnHome)
- javax.rmi.PortableRemoteObject.narrow(o, SignOnHome.class);
- signOn = home.create();
- } catch (Exception e) {
- print(e.toString());
- throw new EJBException(e);
- }
- return signOn;
- }
- EnrollmentCart getEnrollmentCart(){
- if ( cart != null ) {
- return cart;
- }
- try {
- Context ic = getInitialContext();
- Object o = initialContext.lookup("day21ex/EnrollmentCart");
- EnrollmentCartHome home = (EnrollmentCartHome) javax.rmi.
- PortableRemoteObject.narrow(o, EnrollmentCartHome.class);
- cart = home.create();
- } catch (Exception e) {
- print(e.toString());
- throw new EJBException(e);
- }
- return cart;
- }
- /* day 21 exercise */
- private EnrollmentLocalHome getEnrollmentLocalHome()
- throws NamingException {
- InitialContext initial = new InitialContext();
- Object o = initial.lookup("day21ex/EnrollmentLocal");
- return ((EnrollmentLocalHome) o);
- }
- Context getInitialContext() throws NamingException {
- if ( initialContext == null ) {
- initialContext = new InitialContext();
- }
- return initialContext;
- }
- Context initialContext = null;
- }