KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > j2ee > blueprints > opc > otwebservice > OtEndpointBean


1 /*
2 * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * - Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * - Redistribution in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in
13 * the documentation and/or other materials provided with the
14 * distribution.
15 *
16 * Neither the name of Sun Microsystems, Inc. or the names of
17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * This software is provided "AS IS," without a warranty of any
21 * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
22 * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
23 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
24 * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES
25 * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
26 * DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
27 * OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
28 * FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
29 * PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
30 * LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE,
31 * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
32 *
33 * You acknowledge that Software is not designed, licensed or intended
34 * for use in the design, construction, operation or maintenance of
35 * any nuclear facility.
36 */

37
38 package com.sun.j2ee.blueprints.opc.otwebservice;
39
40 import javax.ejb.*;
41 import java.rmi.RemoteException JavaDoc;
42 import com.sun.j2ee.blueprints.servicelocator.*;
43 import com.sun.j2ee.blueprints.servicelocator.ejb.*;
44 import com.sun.j2ee.blueprints.processmanager.ejb.*;
45 import com.sun.j2ee.blueprints.opc.JNDINames;
46 import com.sun.j2ee.blueprints.opc.purchaseorder.*;
47 import com.sun.j2ee.blueprints.opc.purchaseorder.ejb.*;
48
49 /**
50  * This class is used to get Order Tracking info
51  * by adventure builder web site application after a user
52  * has submitted an order, and wants to track it.
53  */

54 public class OtEndpointBean implements SessionBean {
55
56     private SessionContext sc;
57     private ProcessManagerLocal processManager = null;
58     private PurchaseOrderLocalHome poHome = null;
59  
60     public OtEndpointBean(){}
61     
62     public void ejbCreate() throws CreateException {
63   try {
64       ServiceLocator sl = new ServiceLocator();
65       ProcessManagerLocalHome pmHome =
66     (ProcessManagerLocalHome)sl.getLocalHome(JNDINames.PM_EJB);
67       processManager = pmHome.create();
68       poHome = (PurchaseOrderLocalHome) sl.getLocalHome(JNDINames.PO_EJB);
69   } catch (ServiceLocatorException se) {
70           throw new CreateException(se.getMessage());
71        }
72     }
73
74     /**
75      * Accept an order id, and return the details of the current status
76      * for the order.
77      *
78      * @return OrderDetails if orderId exists, else return null to
79      * indicate orderId not found
80      */

81     public OrderDetails getOrderDetails(String JavaDoc orderId)
82                             throws OrderNotFoundException, RemoteException JavaDoc {
83        
84         OrderDetails details = new OrderDetails();
85         try {
86             String JavaDoc status = processManager.getOrderStatus(orderId);
87             details.setStatus(status);
88             PurchaseOrderLocal polocal = poHome.findByPrimaryKey(orderId);
89         details.setPO(polocal.getPO());
90         } catch (FinderException fe) {
91       throw new OrderNotFoundException("Unable to locate order with id " + orderId + "; Please ensure that you entered the correcr order Id");
92   }
93         return details;
94     }
95         
96     public void setSessionContext(SessionContext sc) {
97         this.sc = sc;
98     }
99     
100     public void ejbRemove() throws RemoteException JavaDoc {}
101
102     //empty for Stateless EJBs
103
public void ejbActivate() {}
104
105     //empty for Stateless EJBs
106
public void ejbPassivate() {}
107
108 }
109
Popular Tags