KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > icesoft > faces > component > outputchart > OutputChartRenderer


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.faces.component.outputchart;
35
36 import com.icesoft.faces.component.ext.renderkit.FormRenderer;
37 import com.icesoft.faces.context.DOMContext;
38 import com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer;
39 import com.icesoft.faces.renderkit.dom_html_basic.HTML;
40 import org.w3c.dom.Element JavaDoc;
41
42 import javax.faces.component.UIComponent;
43 import javax.faces.context.FacesContext;
44 import java.io.IOException JavaDoc;
45
46 public class OutputChartRenderer extends DomBasicRenderer {
47
48     public void encodeBegin(FacesContext facesContext, UIComponent uiComponent)
49             throws IOException JavaDoc {
50
51         OutputChart outputChart = (OutputChart) uiComponent;
52         String JavaDoc clientId = outputChart.getClientId(facesContext);
53         DOMContext domContext =
54                 DOMContext.attachDOMContext(facesContext, uiComponent);
55         if (!domContext.isInitialized()) {
56             Element JavaDoc table = domContext.createElement(HTML.TABLE_ELEM);
57             domContext.setRootNode(table);
58             setRootElementId(facesContext, table, uiComponent);
59             Element JavaDoc tr = (Element JavaDoc) domContext.createElement(HTML.TR_ELEM);
60             Element JavaDoc td = (Element JavaDoc) domContext.createElement(HTML.TD_ELEM);
61             table.setAttribute(HTML.CLASS_ATTR, outputChart.getStyleClass());
62             String JavaDoc style = outputChart.getStyle();
63             if(style != null && style.length() > 0)
64                 table.setAttribute(HTML.STYLE_ATTR, style);
65             else
66                 table.removeAttribute(HTML.STYLE_ATTR);
67             table.appendChild(tr);
68             tr.appendChild(td);
69         }
70         FormRenderer.addHiddenField(facesContext, "iceChartComponent");
71         Element JavaDoc td = (Element JavaDoc) domContext.getRootNode(). //table
72
getFirstChild().//tr
73
getFirstChild();//td
74
DOMContext.removeChildren(td);
75         td.setAttribute(HTML.WIDTH_ATTR, outputChart.getWidth());
76         td.setAttribute(HTML.HEIGHT_ATTR, outputChart.getHeight());
77         Element JavaDoc image = (Element JavaDoc) domContext.createElement(HTML.IMG_ELEM);
78
79         image.setAttribute(HTML.SRC_ATTR, getResourceURL(facesContext,
80                 "/"+ outputChart.getFolder().getName()+ "/" +
81                 outputChart.getFileName()));
82 // image.setAttribute(HTML.WIDTH_ATTR, outputChart.getWidth());
83
// image.setAttribute(HTML.HEIGHT_ATTR, outputChart.getHeight());
84

85         td.appendChild(image);
86         if (outputChart.isClientSideImageMap()) {
87             Element JavaDoc map = (Element JavaDoc) domContext.createElement(HTML.MAP_ELEM);
88             map.setAttribute(HTML.NAME_ATTR, "map" + clientId);
89             image.setAttribute(HTML.USEMAP_ATTR, "#map" + clientId);
90             image.setAttribute(HTML.BORDER_ATTR, "0");
91             //render the clientSideImageMap if the component has an actionListener registered
92
outputChart.generateClientSideImageMap(domContext, map);
93             td.appendChild(map);
94         }
95         domContext.streamWrite(facesContext, uiComponent);
96         domContext.stepOver();
97     }
98 }
99
Popular Tags