franta-hg@1
|
1 |
/* ================================================================
|
franta-hg@1
|
2 |
* Cewolf : Chart enabling Web Objects Framework
|
franta-hg@1
|
3 |
* ================================================================
|
franta-hg@1
|
4 |
*
|
franta-hg@1
|
5 |
* Project Info: http://cewolf.sourceforge.net
|
franta-hg@1
|
6 |
* Project Lead: Guido Laures (guido@laures.de);
|
franta-hg@1
|
7 |
*
|
franta-hg@1
|
8 |
* (C) Copyright 2002, by Guido Laures
|
franta-hg@1
|
9 |
*
|
franta-hg@1
|
10 |
* This library is free software; you can redistribute it and/or modify it under the terms
|
franta-hg@1
|
11 |
* of the GNU Lesser General Public License as published by the Free Software Foundation;
|
franta-hg@1
|
12 |
* either version 2.1 of
|
franta-hg@1
|
13 |
* the License, or (at your option) any later version.
|
franta-hg@1
|
14 |
*
|
franta-hg@1
|
15 |
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
franta-hg@1
|
16 |
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
franta-hg@1
|
17 |
* See the GNU Lesser General Public License for more details.
|
franta-hg@1
|
18 |
*
|
franta-hg@1
|
19 |
* You should have received a copy of the GNU Lesser General Public License along with this
|
franta-hg@1
|
20 |
* library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
franta-hg@1
|
21 |
* Boston, MA 02111-1307, USA.
|
franta-hg@1
|
22 |
*/
|
franta-hg@1
|
23 |
|
franta-hg@1
|
24 |
package de.laures.cewolf.taglib.tags;
|
franta-hg@1
|
25 |
|
franta-hg@1
|
26 |
import java.awt.Paint;
|
franta-hg@1
|
27 |
import java.util.Map;
|
franta-hg@1
|
28 |
|
franta-hg@1
|
29 |
import javax.servlet.jsp.JspException;
|
franta-hg@1
|
30 |
import javax.servlet.jsp.PageContext;
|
franta-hg@1
|
31 |
|
franta-hg@1
|
32 |
import de.laures.cewolf.ChartPostProcessor;
|
franta-hg@1
|
33 |
import de.laures.cewolf.taglib.AbstractChartDefinition;
|
franta-hg@1
|
34 |
import de.laures.cewolf.taglib.TaglibConstants;
|
franta-hg@1
|
35 |
|
franta-hg@1
|
36 |
/**
|
franta-hg@1
|
37 |
* Root tag <chart> of a chart definition. Defines all values for the
|
franta-hg@1
|
38 |
* page scope variable of type ChartDefinition which is used by the img
|
franta-hg@1
|
39 |
* tag to render the appropriate chart.
|
franta-hg@1
|
40 |
* @author Guido Laures
|
franta-hg@1
|
41 |
*/
|
franta-hg@1
|
42 |
public abstract class AbstractChartTag extends CewolfTag implements CewolfRootTag, TaglibConstants, Painted {
|
franta-hg@1
|
43 |
|
franta-hg@1
|
44 |
protected AbstractChartDefinition chartDefinition = createChartDefinition();
|
franta-hg@1
|
45 |
|
franta-hg@1
|
46 |
protected abstract AbstractChartDefinition createChartDefinition();
|
franta-hg@1
|
47 |
|
franta-hg@1
|
48 |
public int doStartTag(){
|
franta-hg@1
|
49 |
return EVAL_BODY_INCLUDE;
|
franta-hg@1
|
50 |
}
|
franta-hg@1
|
51 |
|
franta-hg@1
|
52 |
public int doEndTag() throws JspException {
|
franta-hg@1
|
53 |
pageContext.setAttribute(getId(), chartDefinition, PageContext.PAGE_SCOPE);
|
franta-hg@1
|
54 |
return doAfterEndTag(EVAL_PAGE);
|
franta-hg@1
|
55 |
}
|
franta-hg@1
|
56 |
|
franta-hg@1
|
57 |
|
franta-hg@1
|
58 |
public void reset() {
|
franta-hg@1
|
59 |
chartDefinition = createChartDefinition();
|
franta-hg@1
|
60 |
}
|
franta-hg@1
|
61 |
|
franta-hg@1
|
62 |
public String getChartId() {
|
franta-hg@1
|
63 |
return getId();
|
franta-hg@1
|
64 |
}
|
franta-hg@1
|
65 |
|
franta-hg@1
|
66 |
/**
|
franta-hg@1
|
67 |
* Setter for property title.
|
franta-hg@1
|
68 |
* @param title New value of property title.
|
franta-hg@1
|
69 |
*/
|
franta-hg@1
|
70 |
public void setTitle(String title) {
|
franta-hg@1
|
71 |
chartDefinition.setTitle(title);
|
franta-hg@1
|
72 |
}
|
franta-hg@1
|
73 |
|
franta-hg@1
|
74 |
/**
|
franta-hg@1
|
75 |
* Setter for property xAxisLabel.
|
franta-hg@1
|
76 |
* @param xAxisLabel New value of property xAxisLabel.
|
franta-hg@1
|
77 |
*/
|
franta-hg@1
|
78 |
public void setXaxislabel(String xAxisLabel) {
|
franta-hg@1
|
79 |
chartDefinition.setXAxisLabel(xAxisLabel);
|
franta-hg@1
|
80 |
}
|
franta-hg@1
|
81 |
|
franta-hg@1
|
82 |
/**
|
franta-hg@1
|
83 |
* Setter for property xAxisLabel.
|
franta-hg@1
|
84 |
* @param xAxisLabel New value of property xAxisLabel.
|
franta-hg@1
|
85 |
*/
|
franta-hg@1
|
86 |
public void setYaxislabel(String yAxisLabel) {
|
franta-hg@1
|
87 |
chartDefinition.setYAxisLabel(yAxisLabel);
|
franta-hg@1
|
88 |
}
|
franta-hg@1
|
89 |
|
franta-hg@1
|
90 |
public void setBackground(String src) {
|
franta-hg@1
|
91 |
String srcFile = pageContext.getServletContext().getRealPath(src);
|
franta-hg@1
|
92 |
chartDefinition.setBackground(srcFile);
|
franta-hg@1
|
93 |
}
|
franta-hg@1
|
94 |
|
franta-hg@1
|
95 |
public void setBackgroundimagealpha(Float alpha) {
|
franta-hg@1
|
96 |
chartDefinition.setBackgroundImageAlpha(alpha.floatValue());
|
franta-hg@1
|
97 |
}
|
franta-hg@1
|
98 |
|
franta-hg@1
|
99 |
public void setAntialias(boolean anti) {
|
franta-hg@1
|
100 |
chartDefinition.setAntialias(anti);
|
franta-hg@1
|
101 |
}
|
franta-hg@1
|
102 |
|
franta-hg@1
|
103 |
/**
|
franta-hg@1
|
104 |
* Setter for property legend.
|
franta-hg@1
|
105 |
* @param legend New value of property legend.
|
franta-hg@1
|
106 |
*/
|
franta-hg@1
|
107 |
public void setShowlegend(boolean legend) {
|
franta-hg@1
|
108 |
chartDefinition.setShowLegend(legend);
|
franta-hg@1
|
109 |
}
|
franta-hg@1
|
110 |
|
franta-hg@1
|
111 |
/**
|
franta-hg@1
|
112 |
* Setter for property legend.
|
franta-hg@1
|
113 |
* @param legend New value of property legend.
|
franta-hg@1
|
114 |
*/
|
franta-hg@1
|
115 |
public void setLegendanchor(String anchor) {
|
franta-hg@1
|
116 |
if ("north".equalsIgnoreCase(anchor)) {
|
franta-hg@1
|
117 |
chartDefinition.setLegendAnchor(ANCHOR_NORTH);
|
franta-hg@1
|
118 |
} else if ("south".equalsIgnoreCase(anchor)) {
|
franta-hg@1
|
119 |
chartDefinition.setLegendAnchor(ANCHOR_SOUTH);
|
franta-hg@1
|
120 |
} else if ("west".equalsIgnoreCase(anchor)) {
|
franta-hg@1
|
121 |
chartDefinition.setLegendAnchor(ANCHOR_WEST);
|
franta-hg@1
|
122 |
} else if ("east".equalsIgnoreCase(anchor)) {
|
franta-hg@1
|
123 |
chartDefinition.setLegendAnchor(ANCHOR_EAST);
|
franta-hg@1
|
124 |
}
|
franta-hg@1
|
125 |
}
|
franta-hg@1
|
126 |
|
franta-hg@1
|
127 |
public void addChartPostProcessor(ChartPostProcessor pp, Map params) {
|
franta-hg@1
|
128 |
chartDefinition.addPostProcessor(pp);
|
franta-hg@1
|
129 |
chartDefinition.addPostProcessorParams(params);
|
franta-hg@1
|
130 |
}
|
franta-hg@1
|
131 |
|
franta-hg@1
|
132 |
public void setPaint(Paint paint){
|
franta-hg@1
|
133 |
chartDefinition.setPaint(paint);
|
franta-hg@1
|
134 |
}
|
franta-hg@1
|
135 |
|
franta-hg@1
|
136 |
/**
|
franta-hg@1
|
137 |
* Setter for property type.
|
franta-hg@1
|
138 |
* @param type New value of property type.
|
franta-hg@1
|
139 |
*/
|
franta-hg@1
|
140 |
public void setType(String type) {
|
franta-hg@1
|
141 |
chartDefinition.setType(type);
|
franta-hg@1
|
142 |
}
|
franta-hg@1
|
143 |
|
franta-hg@1
|
144 |
}
|