author | František Kučera <franta-hg@frantovo.cz> |
Sat Feb 28 21:31:02 2009 +0100 (2009-02-28) | |
changeset 1 | 639991d0808a |
permissions | -rw-r--r-- |
franta-hg@1 | 1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
franta-hg@1 | 2 |
<html> |
franta-hg@1 | 3 |
<head> |
franta-hg@1 | 4 |
<title></title> |
franta-hg@1 | 5 |
<meta name="author" content="Guido Laures"> |
franta-hg@1 | 6 |
<link href="cewolf.css" rel="stylesheet" type="text/css"> |
franta-hg@1 | 7 |
</head> |
franta-hg@1 | 8 |
<body> |
franta-hg@1 | 9 |
<h1>Introduction</h1> |
franta-hg@1 | 10 |
<p class="Body"> Cewolf can be used inside a Servlet/JSP based web |
franta-hg@1 | 11 |
application to embed complex graphical charts of all kinds (e.g. line, |
franta-hg@1 | 12 |
pie, bar chart, plots, etc.) into a web page. Therefore it provides a |
franta-hg@1 | 13 |
full featured tag library to define all properties of the chart (colors, |
franta-hg@1 | 14 |
strokes, legend, etc.). Thus the JSP which embedds the chart is not |
franta-hg@1 | 15 |
polluted with any java code. Everything is described with XML conform |
franta-hg@1 | 16 |
tags. </p> |
franta-hg@1 | 17 |
<p> Cewolf is based on <a |
franta-hg@1 | 18 |
href="http://www.object-refinery.com/jfreechart/">JFreeChart</a> and |
franta-hg@1 | 19 |
uses it's rendering engine to render the final chart image into the |
franta-hg@1 | 20 |
clients response stream. No files are created on server side. Everything |
franta-hg@1 | 21 |
is based on lightweight session objects and dynamic data analysis. |
franta-hg@1 | 22 |
Cewolf consists of one servlet which handles the chart rendering and a |
franta-hg@1 | 23 |
taglibrary which translates the chart definition included in the JSP |
franta-hg@1 | 24 |
into an HTML img tag which consults the rendering servlet for retrieval |
franta-hg@1 | 25 |
of the appropriate chart. </p> |
franta-hg@1 | 26 |
<p> Simce the project has been funded in the middle of 2002 there have |
franta-hg@1 | 27 |
been <b>more then 150.000 page views and 16.000 downloads</b> |
franta-hg@1 | 28 |
(Sourceforge activity max: >99,7%). </p> |
franta-hg@1 | 29 |
<p> |
franta-hg@1 | 30 |
<table border="1" cellpadding="5"> |
franta-hg@1 | 31 |
<tbody> |
franta-hg@1 | 32 |
<tr> |
franta-hg@1 | 33 |
<th class="featureGroup">Fully free and open</th> |
franta-hg@1 | 34 |
<th class="featureGroup">100% Java compliant</th> |
franta-hg@1 | 35 |
</tr> |
franta-hg@1 | 36 |
<tr> |
franta-hg@1 | 37 |
<td valign="top"> |
franta-hg@1 | 38 |
<ul> |
franta-hg@1 | 39 |
<li>LGPL license</li> |
franta-hg@1 | 40 |
<li>no charges</li> |
franta-hg@1 | 41 |
<li>no restrictions</li> |
franta-hg@1 | 42 |
<li>Support on <a |
franta-hg@1 | 43 |
href="http://sourceforge.net/projects/cewolf">SourceForge Forums</a></li> |
franta-hg@1 | 44 |
<li>short development and upgrade circles</li> |
franta-hg@1 | 45 |
</ul> |
franta-hg@1 | 46 |
</td> |
franta-hg@1 | 47 |
<td valign="top"> |
franta-hg@1 | 48 |
<ul> |
franta-hg@1 | 49 |
<li>no usage of native libraries</li> |
franta-hg@1 | 50 |
<li>should run in every J2EE compliant server or servlet |
franta-hg@1 | 51 |
container</li> |
franta-hg@1 | 52 |
<li>extensive usage of available open source projects</li> |
franta-hg@1 | 53 |
</ul> |
franta-hg@1 | 54 |
</td> |
franta-hg@1 | 55 |
</tr> |
franta-hg@1 | 56 |
<tr> |
franta-hg@1 | 57 |
<th class="featureGroup">Full featured Chart Tag Library</th> |
franta-hg@1 | 58 |
<th class="featureGroup">Huge number of different Charts</th> |
franta-hg@1 | 59 |
</tr> |
franta-hg@1 | 60 |
<tr> |
franta-hg@1 | 61 |
<td valign="top"> |
franta-hg@1 | 62 |
<ul> |
franta-hg@1 | 63 |
<li>no java coding inside the JSP needed</li> |
franta-hg@1 | 64 |
<li>XML description of a chart</li> |
franta-hg@1 | 65 |
<li>design time validation of chart tags</li> |
franta-hg@1 | 66 |
<li>extensive <a href="taglib.html">tag documentation</a></li> |
franta-hg@1 | 67 |
</ul> |
franta-hg@1 | 68 |
</td> |
franta-hg@1 | 69 |
<td valign="top"> |
franta-hg@1 | 70 |
<ul> |
franta-hg@1 | 71 |
<li>Line [XY]</li> |
franta-hg@1 | 72 |
<li>[3D] Pie</li> |
franta-hg@1 | 73 |
<li>[3D] Horizonal Bar</li> |
franta-hg@1 | 74 |
<li>[3D] Vertical [XY] Bar</li> |
franta-hg@1 | 75 |
<li>[3D] Stacked Vertical Bar</li> |
franta-hg@1 | 76 |
<li>Area [XY]</li> |
franta-hg@1 | 77 |
<li>Scatter Plot</li> |
franta-hg@1 | 78 |
<li>Candlestick</li> |
franta-hg@1 | 79 |
<li>High Low</li> |
franta-hg@1 | 80 |
<li>Gantt</li> |
franta-hg@1 | 81 |
<li>Meter</li> |
franta-hg@1 | 82 |
<li>Overlaid</li> |
franta-hg@1 | 83 |
<li>Combined</li> |
franta-hg@1 | 84 |
</ul> |
franta-hg@1 | 85 |
</td> |
franta-hg@1 | 86 |
</tr> |
franta-hg@1 | 87 |
</tbody> |
franta-hg@1 | 88 |
</table> |
franta-hg@1 | 89 |
</p> |
franta-hg@1 | 90 |
<p> </p> |
franta-hg@1 | 91 |
<h1>Example</h1> |
franta-hg@1 | 92 |
<p> You can simply define a chart by including a chart tag into your JSP |
franta-hg@1 | 93 |
like this: </p> |
franta-hg@1 | 94 |
<pre><cewolf:chart <br> id="XYChart"<br> type="xy"<br> title="XYChart" <br> <cewolf:gradient><br> <cewolf:point x="0" y="0" color="#FFFFFF"/><br> <cewolf:point x="0" y="300" color="#C8C8C8"/><br> </cewolf:gradient><br> <cewolf:data><br> <cewolf:producer id="xyData"/><br> </cewolf:data><br></cewolf:chart><br><cewolf:img chartid="XYChart" renderer="cewolf" width="400" height="300"/><br></pre> |
franta-hg@1 | 95 |
<p> This results in a rendered chart like this: </p> |
franta-hg@1 | 96 |
<img alt="examplechart" src="img/examplexy.png"> |
franta-hg@1 | 97 |
<p> As you can see only the view is defined in the JSP page. The model |
franta-hg@1 | 98 |
is produced by a so called DataProducer which must be available in the |
franta-hg@1 | 99 |
pageContext of the JSP. </p> |
franta-hg@1 | 100 |
<a href="http://sourceforge.net" target="new" height="30"><img |
franta-hg@1 | 101 |
src="http://sourceforge.net/sflogo.php?group_id=57282&type=5" |
franta-hg@1 | 102 |
height="30" border="0" alt="SourceForge Logo"></a> |
franta-hg@1 | 103 |
</body> |
franta-hg@1 | 104 |
</html> |