Olá pessoal.
Estou montando uma aplicação bem simples para testar e somente ver o CeWolf funcionar com o JFreeChart. O JFree, eu já consegui fazer funcionar, uma beleza, mas o CeWolf…
É o seguinte. Montei um projetinho no Eclipse, adicionei todas as bibliotecas no classpath do projeto em suas últimas versões.
Então, montei o web.xml dentro da pasta WEB-INF e usei o exemplo do próprio site do CeWolf:
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
<servlet-name>CewolfServlet</servlet-name>
<servlet-class>de.laures.cewolf.CewolfRenderer</servlet-class>
<!-- sets storage implementation -->
<init-param>
<param-name>storage</param-name>
<param-value>de.laures.cewolf.storage.TransientSessionStorage</param-value>
</init-param>
<!-- sets overlib.js location relative to webapp -->
<init-param>
<param-name>overliburl</param-name>
<param-value>javascript/overlib.js</param-value>
</init-param>
<!-- turn on or off debugging logging -->
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CewolfServlet</servlet-name>
<url-pattern>/cewolf/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>1</session-timeout>
</session-config>
</web-app>
Depois, criei uma classe de teste para montar os dados a serem plotados no gráfico. A classe ficou assim:
import java.util.Date;
import java.util.Map;
import org.jfree.data.general.DefaultPieDataset;
import de.laures.cewolf.DatasetProduceException;
import de.laures.cewolf.DatasetProducer;
public class CeWolf implements DatasetProducer {
private static final long serialVersionUID = 1L;
public Object produceDataset(Map arg0) throws DatasetProduceException
{
DefaultPieDataset ds = new DefaultPieDataset();
ds.setValue("UM", 1);
ds.setValue("DOIS", 2);
ds.setValue("CINCO", 5);
return ds;
}
public boolean hasExpired(Map arg0, Date arg1) {
return true;
}
public String getProducerId() {
return "Ind001";
}
}
Nenhum erro de compilação na classe. Aparentemente tudo certo. Então parti para a criação do JSP que vai exibir o meu gráfico.
Criei um arquivo chamado teste.jsp com o seguinte conteúdo (também baseado no site oficial do CeWolf):
<%@page contentType="text/html"%>
<%@taglib uri='WEB-INF/cewolf.tld' prefix='cewolf' %>
<html>
<body>
<h1>Page View Statistics</h1>
<hr>
<jsp:useBean id="pageViews" class="br.com.cpqd.chart.CeWolf"/>
<cewolf:chart id="line" title="Page View Statistics" type="pie" xaxislabel="Page" yaxislabel="Views">
<cewolf:data>
<cewolf:producer id="pageViews"/>
</cewolf:data>
</cewolf:chart>
<p>
<cewolf:img chartid="line" renderer="cewolf" width="400" height="300"/>
</p>
</body>
</html>
Cheguei ao final, mandei pro Tomcat e fui testar. Aí esse troço meu gerou esse erro:
org.apache.jasper.JasperException: Failed to load or instantiate TagExtraInfo class: de.laures.cewolf.taglib.tags.ChartImgURLTagEI
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:281)
org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:423)
org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:249)
O erro é bem maior. Aí está só o começo dele.
Não faço idéia de qual seja o problema. Se vocês puderem me ajudar, agradeço!