KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > icesoft > applications > faces > auctionMonitor > AuctionMonitorItemDetailer


1 /*
2  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3  *
4  * "The contents of this file are subject to the Mozilla Public License
5  * Version 1.1 (the "License"); you may not use this file except in
6  * compliance with the License. You may obtain a copy of the License at
7  * http://www.mozilla.org/MPL/
8  *
9  * Software distributed under the License is distributed on an "AS IS"
10  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
11  * License for the specific language governing rights and limitations under
12  * the License.
13  *
14  * The Original Code is ICEfaces 1.5 open source software code, released
15  * November 5, 2006. The Initial Developer of the Original Code is ICEsoft
16  * Technologies Canada, Corp. Portions created by ICEsoft are Copyright (C)
17  * 2004-2006 ICEsoft Technologies Canada, Corp. All Rights Reserved.
18  *
19  * Contributor(s): _____________________.
20  *
21  * Alternatively, the contents of this file may be used under the terms of
22  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"
23  * License), in which case the provisions of the LGPL License are
24  * applicable instead of those above. If you wish to allow use of your
25  * version of this file only under the terms of the LGPL License and not to
26  * allow others to use your version of this file under the MPL, indicate
27  * your decision by deleting the provisions above and replace them with
28  * the notice and other provisions required by the LGPL License. If you do
29  * not delete the provisions above, a recipient may use your version of
30  * this file under either the MPL or the LGPL License."
31  *
32  */

33
34 package com.icesoft.applications.faces.auctionMonitor;
35
36 import com.icesoft.applications.faces.auctionMonitor.beans.AuctionBean;
37 import com.icesoft.applications.faces.auctionMonitor.beans.AuctionMonitorItemBean;
38 import com.icesoft.applications.faces.auctionMonitor.stubs.ItemType;
39 import org.apache.commons.logging.Log;
40 import org.apache.commons.logging.LogFactory;
41
42 /**
43  * Class used to populate auction items with information on urls, descriptions,
44  * etc. All item detailing is done in a seperate thread so user interaction is
45  * not blocked
46  */

47 public class AuctionMonitorItemDetailer implements Runnable JavaDoc {
48     private static Log log =
49             LogFactory.getLog(AuctionMonitorItemDetailer.class);
50     private AuctionMonitorItemBean[] searchItemBeans;
51     private AuctionBean auctionBean;
52
53     public AuctionMonitorItemDetailer(AuctionBean auctionBean,
54                                       AuctionMonitorItemBean[] searchItemBeans) {
55         this.auctionBean = auctionBean;
56         this.searchItemBeans =
57                 (AuctionMonitorItemBean[]) searchItemBeans.clone();
58     }
59
60     public void run() {
61         AuctionMonitorItemBean itemBean;
62         for (int i = 0, max = searchItemBeans.length; i < max; i++) {
63             try {
64                 itemBean = searchItemBeans[i];
65                 ItemType item = auctionBean.getItem(itemBean.getItemID());
66                 itemBean.setDescription(item.getDescription());
67                 itemBean.setSeller(item.getSeller());
68                 itemBean.setLocation(item.getLocation());
69             } catch (NullPointerException JavaDoc npe) {
70                 // intentionally left blank
71
} catch (Exception JavaDoc e) {
72                 if (log.isWarnEnabled()) {
73                     log.warn("A threaded item detailer failed because of " + e);
74                 }
75             }
76         }
77     }
78 }
Popular Tags