KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > request > RequestBean


1 /*
2  * Copyright (c) 2005 Sun Microsystems, Inc. All rights reserved. U.S.
3  * Government Rights - Commercial software. Government users are subject
4  * to the Sun Microsystems, Inc. standard license agreement and
5  * applicable provisions of the FAR and its supplements. Use is subject
6  * to license terms.
7  *
8  * This distribution may include materials developed by third parties.
9  * Sun, Sun Microsystems, the Sun logo, Java and J2EE are trademarks
10  * or registered trademarks of Sun Microsystems, Inc. in the U.S. and
11  * other countries.
12  *
13  * Copyright (c) 2005 Sun Microsystems, Inc. Tous droits reserves.
14  *
15  * Droits du gouvernement americain, utilisateurs gouvernementaux - logiciel
16  * commercial. Les utilisateurs gouvernementaux sont soumis au contrat de
17  * licence standard de Sun Microsystems, Inc., ainsi qu'aux dispositions
18  * en vigueur de la FAR (Federal Acquisition Regulations) et des
19  * supplements a celles-ci. Distribue par des licences qui en
20  * restreignent l'utilisation.
21  *
22  * Cette distribution peut comprendre des composants developpes par des
23  * tierces parties. Sun, Sun Microsystems, le logo Sun, Java et J2EE
24  * sont des marques de fabrique ou des marques deposees de Sun
25  * Microsystems, Inc. aux Etats-Unis et dans d'autres pays.
26  */

27
28 package request;
29
30 import dataregistry.LineItemLocal;
31 import dataregistry.LineItemLocalHome;
32 import dataregistry.OrderLocal;
33 import dataregistry.OrderLocalHome;
34 import dataregistry.PartLocal;
35 import dataregistry.PartLocalHome;
36 import dataregistry.PartPK;
37 import dataregistry.VendorKey;
38 import dataregistry.VendorLocal;
39 import dataregistry.VendorLocalHome;
40 import dataregistry.VendorPartLocal;
41 import dataregistry.VendorPartLocalHome;
42 import java.math.BigDecimal JavaDoc;
43 import java.util.ArrayList JavaDoc;
44 import java.util.Collection JavaDoc;
45 import java.util.Iterator JavaDoc;
46 import java.util.logging.Level JavaDoc;
47 import java.util.logging.Logger JavaDoc;
48 import javax.naming.Context JavaDoc;
49 import javax.naming.InitialContext JavaDoc;
50 import javax.naming.NamingException JavaDoc;
51 import javax.ejb.*;
52
53 /**
54  * This is the bean class for the RequestBean enterprise bean.
55  */

56 public class RequestBean implements SessionBean, request.RequestRemoteBusiness {
57     private SessionContext context;
58     private LineItemLocalHome lineItemHome = null;
59     private OrderLocalHome orderHome = null;
60     private PartLocalHome partHome = null;
61     private VendorLocalHome vendorHome = null;
62     private VendorPartLocalHome vendorPartHome = null;
63     
64     // <editor-fold defaultstate="collapsed" desc="EJB infrastructure methods. Click the + sign on the left to edit the code.">
65
// TODO Add code to acquire and use other enterprise resources (DataSource, JMS, enterprise bean, Web services)
66
// TODO Add business methods or web service operations
67
/**
68      * @see SessionBean#setSessionContext(SessionContext)
69      */

70     public void setSessionContext(SessionContext aContext) {
71         context = aContext;
72     }
73     
74     /**
75      * @see SessionBean#ejbActivate()
76      */

77     public void ejbActivate() {
78         
79     }
80     
81     /**
82      * @see SessionBean#ejbPassivate()
83      */

84     public void ejbPassivate() {
85         
86     }
87     
88     /**
89      * @see SessionBean#ejbRemove()
90      */

91     public void ejbRemove() {
92         
93     }
94     // </editor-fold>
95

96     /**
97      * See section 7.10.3 of the EJB 2.0 specification
98      * See section 7.11.3 of the EJB 2.1 specification
99      */

100     public void ejbCreate() {
101         try {
102             lineItemHome = lookupLineitem();
103             orderHome = lookupOrder();
104             partHome = lookupPart();
105             vendorHome = lookupVendor();
106             vendorPartHome = lookupVendorPart();
107         } catch (Exception JavaDoc e) {
108             throw new EJBException(e.getMessage());
109         }
110     }
111     
112     
113     public void createPart(PartRequest partRequest) {
114         try {
115             PartLocal part =
116                     partHome.create(partRequest.partNumber, partRequest.revision,
117                     partRequest.description, partRequest.revisionDate,
118                     partRequest.specification, partRequest.drawing);
119         } catch (Exception JavaDoc e) {
120             throw new EJBException(e.getMessage());
121         }
122     }
123     
124     public void addPartToBillOfMaterial(BomRequest bomRequest) {
125         try {
126             PartPK bomkey = new PartPK();
127             bomkey.partNumber = bomRequest.bomPartNumber;
128             bomkey.revision = new BigDecimal JavaDoc(bomRequest.bomRevision);
129             
130             PartLocal bom = partHome.findByPrimaryKey(bomkey);
131             
132             PartPK pkey = new PartPK();
133             pkey.partNumber = bomRequest.partNumber;
134             pkey.revision = new BigDecimal JavaDoc(bomRequest.revision);
135             
136             PartLocal part = partHome.findByPrimaryKey(pkey);
137             part.setBomPart(bom);
138         } catch (Exception JavaDoc e) {
139             throw new EJBException(e.getMessage());
140         }
141         
142     }
143     
144     public void createVendor(VendorRequest vendorRequest) {
145         try {
146             VendorLocal vendor =
147                     vendorHome.create(vendorRequest.vendorId, vendorRequest.name,
148                     vendorRequest.address, vendorRequest.contact,
149                     vendorRequest.phone);
150         } catch (Exception JavaDoc e) {
151             throw new EJBException(e.getMessage());
152         }
153         
154     }
155     
156     public void createVendorPart(VendorPartRequest vendorPartRequest) {
157         try {
158             PartPK pkey = new PartPK();
159             pkey.partNumber = vendorPartRequest.partNumber;
160             pkey.revision = new BigDecimal JavaDoc(vendorPartRequest.revision);
161             
162             PartLocal part = partHome.findByPrimaryKey(pkey);
163             VendorPartLocal vendorPart =
164                     vendorPartHome.create(vendorPartRequest.description,
165                     vendorPartRequest.price, part);
166             
167             VendorKey vkey = new VendorKey();
168             vkey.vendorId = vendorPartRequest.vendorId;
169             
170             VendorLocal vendor = vendorHome.findByPrimaryKey(vkey);
171             vendorPart.setVendor(vendor);
172         } catch (Exception JavaDoc e) {
173             throw new EJBException(e.getMessage());
174         }
175     }
176     
177     public void createOrder(OrderRequest orderRequest) {
178         try {
179             OrderLocal order =
180                     orderHome.create(orderRequest.orderId, String.valueOf(orderRequest.status),
181                     new BigDecimal JavaDoc(orderRequest.discount), orderRequest.shipmentInfo);
182         } catch (Exception JavaDoc e) {
183             throw new EJBException(e.getMessage());
184         }
185         
186     }
187     
188     public void addLineItem(LineItemRequest lineItemRequest) {
189         try {
190             OrderLocal order =
191                     orderHome.findByPrimaryKey(lineItemRequest.orderId);
192             
193             PartPK pkey = new PartPK();
194             pkey.partNumber = lineItemRequest.partNumber;
195             pkey.revision = new BigDecimal JavaDoc(lineItemRequest.revision);
196             
197             PartLocal part = partHome.findByPrimaryKey(pkey);
198             
199             LineItemLocal lineItem =
200                     lineItemHome.create(order, new BigDecimal JavaDoc(lineItemRequest.quantity),
201                     part.getVendorPartBean());
202         } catch (Exception JavaDoc e) {
203             throw new EJBException(e.getMessage());
204         }
205     }
206     
207     public double getBillOfMaterialPrice(BomRequest bomRequest) {
208         double price = 0.0;
209         
210         try {
211             PartPK bomkey = new PartPK();
212             bomkey.partNumber = bomRequest.bomPartNumber;
213             bomkey.revision = new BigDecimal JavaDoc(bomRequest.bomRevision);
214             
215             PartLocal bom = partHome.findByPrimaryKey(bomkey);
216             Collection JavaDoc parts = bom.getPartBean1();
217             
218             for (Iterator JavaDoc iterator = parts.iterator(); iterator.hasNext();) {
219                 PartLocal part = (PartLocal) iterator.next();
220                 VendorPartLocal vendorPart = part.getVendorPartBean();
221                 price += vendorPart.getPrice().doubleValue();
222             }
223         } catch (Exception JavaDoc e) {
224             throw new EJBException(e.getMessage());
225         }
226         
227         return price;
228     }
229     
230     public double getOrderPrice(Integer JavaDoc orderId) {
231         double price = 0.0;
232         try {
233             OrderLocal order = orderHome.findByPrimaryKey(orderId);
234             price = order.calculateAmmount();
235         } catch (Exception JavaDoc e) {
236             throw new EJBException(e.getMessage());
237         }
238         return price;
239     }
240     
241     public void adjustOrderDiscount(int adjustment) {
242         orderHome.adjustDiscount(adjustment);
243     }
244     
245     public Double JavaDoc getAvgPrice() {
246         Double JavaDoc avgPrice = new Double JavaDoc(0);
247         try{
248             avgPrice = vendorPartHome.getAvgPrice();
249         }catch(FinderException ex){
250             Logger.getLogger(getClass().getName()).log(Level.SEVERE,ex.getMessage());
251             throw new EJBException(ex.getMessage());
252         }
253         return avgPrice;
254     }
255     
256     public Double JavaDoc getTotalPricePerVendor(VendorRequest vendorRequest) {
257         return vendorPartHome.getTotalPricePerVendor(vendorRequest.vendorId);
258     }
259     
260     public Collection JavaDoc locateVendorsByPartialName(String JavaDoc name) {
261         Collection JavaDoc names = new ArrayList JavaDoc();
262         
263         try {
264             Collection JavaDoc vendors = vendorHome.findByPartialName(name);
265             for (Iterator JavaDoc iterator = vendors.iterator(); iterator.hasNext();) {
266                 VendorLocal vendor = (VendorLocal) iterator.next();
267                 names.add(vendor.getName());
268             }
269         } catch (FinderException e) {
270         }
271         
272         return names;
273     }
274     
275     public int countAllItems() {
276         int count = 0;
277         try {
278             count = lineItemHome.findAll().size();
279         } catch (Exception JavaDoc e) {
280             throw new EJBException(e.getMessage());
281         }
282         return count;
283     }
284     
285     public void removeOrder(Integer JavaDoc orderId) {
286         try {
287             orderHome.remove(orderId);
288         } catch (Exception JavaDoc e) {
289             throw new EJBException(e.getMessage());
290         }
291     }
292     
293     public String JavaDoc reportVendorsByOrder(Integer JavaDoc orderId) {
294         StringBuffer JavaDoc report = new StringBuffer JavaDoc();
295         try {
296             Collection JavaDoc vendors = vendorHome.findByOrder(orderId);
297     
298             for (Iterator JavaDoc iterator = vendors.iterator(); iterator.hasNext();) {
299                 VendorLocal vendor = (VendorLocal) iterator.next();
300                 report.append(vendor.getVendorId())
301                       .append(' ')
302                       .append(vendor.getName())
303                       .append(' ')
304                       .append(vendor.getContact())
305                       .append('\n');
306             }
307         } catch (FinderException e) {
308             throw new EJBException(e.getMessage());
309         }
310         return report.toString();
311         
312     }
313     
314     private LineItemLocalHome lookupLineitem() {
315         try {
316             Context JavaDoc c = new InitialContext JavaDoc();
317             LineItemLocalHome rv = (LineItemLocalHome) c.lookup("java:comp/env/ejb/Lineitem");
318             return rv;
319         } catch(NamingException JavaDoc ne) {
320             Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception caught" ,ne);
321             throw new RuntimeException JavaDoc(ne);
322         }
323     }
324     
325     private dataregistry.OrderLocalHome lookupOrder() {
326         try {
327             Context JavaDoc c = new InitialContext JavaDoc();
328             OrderLocalHome rv = (OrderLocalHome) c.lookup("java:comp/env/ejb/Order");
329             return rv;
330         } catch(NamingException JavaDoc ne) {
331             Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception caught" ,ne);
332             throw new RuntimeException JavaDoc(ne);
333         }
334     }
335     
336     private PartLocalHome lookupPart() {
337         try {
338             Context JavaDoc c = new InitialContext JavaDoc();
339             PartLocalHome rv = (PartLocalHome) c.lookup("java:comp/env/ejb/Part");
340             return rv;
341         } catch(NamingException JavaDoc ne) {
342             Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception caught" ,ne);
343             throw new RuntimeException JavaDoc(ne);
344         }
345     }
346     
347     private VendorLocalHome lookupVendor() {
348         try {
349             Context JavaDoc c = new InitialContext JavaDoc();
350             VendorLocalHome rv = (VendorLocalHome) c.lookup("java:comp/env/ejb/Vendor");
351             return rv;
352         } catch(NamingException JavaDoc ne) {
353             Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception caught" ,ne);
354             throw new RuntimeException JavaDoc(ne);
355         }
356     }
357     
358     private VendorPartLocalHome lookupVendorPart() {
359         try {
360             Context JavaDoc c = new InitialContext JavaDoc();
361             VendorPartLocalHome rv = (VendorPartLocalHome) c.lookup("java:comp/env/ejb/VendorPart");
362             return rv;
363         } catch(NamingException JavaDoc ne) {
364             Logger.getLogger(getClass().getName()).log(java.util.logging.Level.SEVERE,"exception caught" ,ne);
365             throw new RuntimeException JavaDoc(ne);
366         }
367     }
368     
369     
370 }
371
Popular Tags