KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > ejtools > management > browser > frame > ResourceRenderer


1 /*
2  * EJTools, the Enterprise Java Tools
3  *
4  * Distributable under LGPL license.
5  * See terms of license at www.gnu.org.
6  */

7 package org.ejtools.management.browser.frame;
8
9 import java.awt.Image JavaDoc;
10 import java.io.IOException JavaDoc;
11 import java.io.InputStream JavaDoc;
12 import java.util.Hashtable JavaDoc;
13 import java.util.Iterator JavaDoc;
14 import java.util.Properties JavaDoc;
15
16 import javax.swing.Icon JavaDoc;
17 import javax.swing.ImageIcon JavaDoc;
18
19 import org.apache.log4j.Logger;
20 import org.ejtools.adwt.util.DefaultObjectRenderer;
21 import org.ejtools.management.browser.model.ManagedObject;
22
23 /**
24  * @author Laurent Etiemble
25  * @version $Revision: 1.1 $
26  */

27 public class ResourceRenderer extends DefaultObjectRenderer
28 {
29    /** Description of the Field */
30    private static Hashtable JavaDoc icons = new Hashtable JavaDoc();
31    /** Description of the Field */
32    private static Logger logger = Logger.getLogger(ResourceRenderer.class);
33
34
35    /**
36     * Gets the icon attribute of the ResourceRenderer object
37     *
38     * @param o Description of the Parameter
39     * @return The icon value
40     */

41    public Icon JavaDoc getIcon(Object JavaDoc o)
42    {
43       if (o instanceof ManagedObject)
44       {
45          ManagedObject resource = (ManagedObject) o;
46          String JavaDoc type = resource.getJ2EEType();
47          Icon JavaDoc icon = (Icon JavaDoc) icons.get(type);
48          if (icon == null)
49          {
50             if (type.endsWith("Module"))
51             {
52                icon = (Icon JavaDoc) icons.get("J2EEModule");
53             }
54             else
55             {
56                icon = (Icon JavaDoc) icons.get("J2EEDeployedObject");
57             }
58          }
59          return icon;
60       }
61
62       return super.getIcon(o);
63    }
64
65    /** Static block to load the icons */
66    static
67    {
68       try
69       {
70          InputStream JavaDoc in = ResourceRenderer.class.getResourceAsStream("/org/ejtools/management/browser/Icons.properties");
71          Properties JavaDoc props = new Properties JavaDoc();
72          props.load(in);
73          in.close();
74
75          for (Iterator JavaDoc iterator = props.keySet().iterator(); iterator.hasNext(); )
76          {
77             String JavaDoc type = (String JavaDoc) iterator.next();
78             String JavaDoc resource = props.getProperty(type);
79             Image JavaDoc image = loadImage(resource);
80             if (image != null)
81             {
82                icons.put(type, new ImageIcon JavaDoc(image));
83             }
84          }
85       }
86       catch (IOException JavaDoc ioe)
87       {
88          logger.error("Error while loading Icons.properties", ioe);
89       }
90       catch (Exception JavaDoc e)
91       {
92          logger.error("Error while loading Icons.properties", e);
93       }
94    }
95 }
96
Popular Tags