1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package net.sf.tapfx.components;
17
18 import java.text.DateFormat;
19 import java.text.NumberFormat;
20 import java.util.HashMap;
21 import java.util.Iterator;
22 import java.util.Map;
23 import java.util.Set;
24
25 import org.apache.commons.logging.Log;
26 import org.apache.commons.logging.LogFactory;
27 import org.apache.tapestry.BaseComponent;
28 import org.apache.tapestry.IAsset;
29 import org.apache.tapestry.IRequestCycle;
30
31 /***
32 * @author Joshua Long (josh@joshlong.com)
33 * <p/>
34 * A utility base class.
35 * <p/>
36 * Should this be a third class? Yes.
37 * But either way you'd be stuck
38 * with an extra dependency...
39 */
40 public class TapFXBaseComponent extends BaseComponent
41 {
42 private DateFormat timeFormatter = DateFormat.getDateTimeInstance();
43
44 public DateFormat getTimeFormatter()
45 {
46 return timeFormatter;
47 }
48
49 public void setTimeFormatter(DateFormat timeFormatter)
50 {
51 this.timeFormatter = timeFormatter;
52 }
53
54 private NumberFormat percentFormatter =
55 NumberFormat.getPercentInstance();
56 private NumberFormat numberFormatter =
57 NumberFormat.getNumberInstance();
58
59 public DateFormat getDateFormatter()
60 {
61 return dateFormatter;
62 }
63
64 public void setDateFormatter(DateFormat dateFormatter)
65 {
66 this.dateFormatter = dateFormatter;
67 }
68
69 private DateFormat dateFormatter =
70 DateFormat.getDateInstance(DateFormat.SHORT);
71
72
73 public NumberFormat getNumberFormatter()
74 {
75 return numberFormatter;
76 }
77
78 public void setNumberFormatter(NumberFormat numberFormatter)
79 {
80 this.numberFormatter = numberFormatter;
81 }
82
83 public NumberFormat getPercentFormatter()
84 {
85 return percentFormatter;
86 }
87
88 public void setPercentFormatter(NumberFormat percentFormatter)
89 {
90 this.percentFormatter = percentFormatter;
91 }
92
93
94 protected Map getSymbolsForAssets(Map assets, IRequestCycle cycle)
95 {
96 Map img_sys = new HashMap(assets.size());
97 Set keys = assets.keySet();
98 Iterator it = keys.iterator();
99 while (it.hasNext())
100 {
101 String key = (String) it.next();
102 IAsset ass = (IAsset) assets.get(key);
103 String URL = ass.buildURL(cycle);
104 img_sys.put(key, URL);
105 }
106 return img_sys;
107 }
108
109
110 protected void prepareForRender(IRequestCycle cycle)
111 {
112 super.prepareForRender(cycle);
113 setupComponent(cycle);
114 }
115
116 protected void setupComponent(IRequestCycle cycle)
117 {
118 }
119
120 private static final Log log =
121 LogFactory.getLog(TapFXBaseComponent.class);
122
123 protected void error(Throwable thr)
124 {
125
126
127
128
129
130
131 log.info(thr.getMessage());
132 thr.printStackTrace();
133 }
134 }