Grafico Não Aparece [CeWolf]

Opa pessoal resolvi testar o CeWolf 1.0 e tõ tendo uns probleminhas…
Instalei tudo aqui blz, libs e dependencias, aparentemente sem erros.
Meu web.xml é :

[code]
<?xml version=“1.0” encoding=“ISO-8859-1”?>
<!DOCTYPE web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN” “http://java.sun.com/dtd/web-app_2_3.dtd”>

<web-app>
<display-name>Graphs</display-name>
<description>Teste de aplicação usando Cewolf</description>
<servlet>
<servlet-name>CewolfServlet</servlet-name>
<servlet-class>de.laures.cewolf.CewolfRenderer</servlet-class>
<init-param>
<param-name>storage</param-name>
<param-value>de.laures.cewolf.storage.TransientSessionStorage</param-value>
</init-param>
<init-param>
<param-name>overliburl</param-name>
<param-value>overlib.js</param-value>
</init-param>
<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>
</web-app>[/code]
E sempre quando eu tento acessar a minha página com o gráfico, aparece:
Cewolf servlet up and running.
Requests served so far: 0

Mas nada do gráfico.Pq isso ocorre?

De uma olhada nesse tutorial, aqui tem um exemplo bem facil de fazer:

Eu já tô usando esse tutorial Pedrosa!!! :lol:
O chato é que não diz nada o pq do erro…e nenhum chart aparece!

Eu tava tendo problemas também, sua query está correta? veja o que ela tah te retornando e post o código ai.

Justamente para não ter problemas de BD, eu populei para testes com dados falsos:

[code]
public class EmpresasListadas implements DatasetProducer {
private static final long serialVersionUID = 1L;
PreparedStatement ps = null;
Logger log = Logger.getLogger(EmpresasListadas.class);
private final String[] empresas = {"ITAIPU","CEPEL","ELETROBRÁS","CESPE","BOA VISTA","COCEL","GE","CNEE","ELETRONORTE","CHESP","CELB"};
private final String[] seriesNames ={"Faturamento(Em R$ milhões)"};
String query="";

public String getProducerId() {
	return &quot;ListaDeEmpresasEletricas&quot;;
}

// O dados deste dataset é invalidado imediatamente. O tempo de retorno influencia no cache do cewolf
public boolean hasExpired(Map arg0, Date arg1) {
return (System.currentTimeMillis() - arg1.getTime()) > 5000;
//return true;
}

public Object produceDataset(Map arg0) throws DatasetProduceException {
	log.debug(&quot;producing data.&quot;);
   //Criando um Dataset para o gráfico
	DefaultCategoryDataset ds = new DefaultCategoryDataset(){
	protected void finalize() throws Throwable {
		super.finalize();
		log.debug(this +&quot; finalized.&quot;);
	  }
   };

   for (int series = 0; series &lt; seriesNames.length; series ++) {
       int lastY = (int)(Math.random() * 1000 + 1000);
       for (int i = 0; i &lt; empresas.length; i++) {
           final int y = lastY + (int)(Math.random() * 200 - 100);
           lastY = y;
           ds.addValue(y, seriesNames[series], empresas[i]);
       }
   }
   return ds;		
}

}[/code]
Não tenho muita idéia do que pode ser…

a saida HTML ta mais ou menos assim

<IMG BORDER="0" HEIGHT="300" WIDTH="300" ALT="" src="/cewolfexample-1.0/cewolf;jsessionid=CED8CCB70C8648FAB7203D56A63D0781?img=997480597&amp;width=300&amp;height=300&amp;iehack=.png">

No browser aparece o icone de erro qdo a imagem não é carregada?

Nop.Só aparece isso:
Cewolf servlet up and running.
Requests served so far: 0

Meu cód html é esse:

[code]
<%@ page contentType=“text/html; charset=iso-8859-1” errorPage="" %>
<%@ taglib uri="/WEB-INF/cewolf-1.1.tld" prefix=“cewolf”%>

Lista De Empresas

GRÁFICOS DE LINHAS DAS EMPRESAS

	<br/><br/>
[/code] Aliás, parabéns pelo seu Tutorial Furutani.Mto bom mesmo! Aliás, é uma pena vc não ter espaço para comentários no seu site.Vira e mexe eu dou uma passada lá!

Muito estranho mesmo. Eu nunca vi esse erro.
E procurando no google, só tem apenas uma e tão somente uma referencia para o erro. :frowning:
No site do Cewolf tem uma app exemplo verifica se ela roda normalmente.

OMFG! :shock:
Acontece a mesma coisa com esse exemplo… :evil:
Não acredito q corro o risco de ter q fazer uns 100 relatórios com gráficos para exibir na web “na mão”… :cry:

Acho bom ir fazendo um estoque de comida, e de guias sobre JFreeChart, não vou sair de casa tão cedo(trabalho em casa)… :roll:

OMFG! :shock:
Acontece a mesma coisa com esse exemplo… :evil: [/quote]
Mas não é possivel.
Começa a apelar, troca o conteiner. No meu teste eu usei o JBoss4 com tomcat.

[quote=Ironlynx]
Não acredito q corro o risco de ter q fazer uns 100 relatórios com gráficos para exibir na web “na mão”… :cry: [/quote]
Nem sei o q dizer…

[quote=Ironlynx]
Acho bom ir fazendo um estoque de comida, e de guias sobre JFreeChart, não vou sair de casa tão cedo(trabalho em casa)… :roll: [/quote]
O q vc está pensando em fazer? salvar os graficos em disco? criar custom tags próprias?

Bons códigos!

[size=9]PS. Deve ser legal trabalhar em casa.[/size]

Vou testar com o jetty… eu uso o tomcat 5.5.16…

É coisa pra caramba… mas talvez eu não feche o serviço por isso… com o cewolf o trabalho cairia bem…(diminuiria) tendo que fazer na mão eu vou ter q pedir mais pelo tempo que eu vou levar…

Eu não posso nem dizer ainda “o que eu quero fazer” pq até segunda eu nem tinha usado o JFreeChart nem tinha tido a necessidade de fazer algo parecido… idéias serão apreciadas(bem-vindas)!

Sim e Não.

Vc pode pegar um BufferedImage do JFreeChart e depois usar-lo no ImageEncode para por no response de um servlet.

[quote]Vc pode pegar um BufferedImage do JFreeChart e depois usar-lo no ImageEncode para por no response de um servlet.
[/quote]
O negócio é eu descobrir como fazer isso de uma forma automatizada.
Vc tem um exemplo de JFreeChart na web???No Developers Guide tem um, pena q ele é pago(mas no caso eu acho q vou comprar se fechar negócio).

e brigadão pela ajuda!Continue fazendo aqueles tutorias no seu site q são punks!Muito bons mesmo! :thumbup:

[quote=Ironlynx][quote]Vc pode pegar um BufferedImage do JFreeChart e depois usar-lo no ImageEncode para por no response de um servlet.
[/quote]
O negócio é eu descobrir como fazer isso de uma forma automatizada.
Vc tem um exemplo de JFreeChart na web???No Developers Guide tem um, pena q ele é pago(mas no caso eu acho q vou comprar se fechar negócio).
[/quote]
Essa eu vou ficar devendo, deve ser dificil achar algo desse tipo pois o cewolf tem exatamente esse proposito, por o JFreeChart pra funcionar na web. Pena q não funcione com vc. :cry:

[quote=Ironlynx]
e brigadão pela ajuda!Continue fazendo aqueles tutorias no seu site q são punks!Muito bons mesmo! :thumbup: [/quote]
Valew!

Até que por para funcionar na Web é fácil.O problema são os detalhes.(como isolar as jsp´s por exemplo).Olha um exemplo simples de JFreeChart na web:

import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

public class ServletGrafico extends HttpServlet {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public void doGet(HttpServletRequest request, HttpServletResponse response)
	throws ServletException, IOException {
                   OutputStream out = response.getOutputStream();
  try{
	DefaultCategoryDataset dataset = new DefaultCategoryDataset();
	dataset.addValue(10.8, &quot;Sun&quot;, &quot;Quadrimestre 1&quot;);
	dataset.addValue(7.0, &quot;Sun&quot;, &quot;Quadrimestre 2&quot;);
	dataset.addValue(15.0, &quot;Sun&quot;, &quot;Quadrimestre 3&quot;);
	
	dataset.addValue(-5.0, &quot;Apple&quot;, &quot;Quadrimestre 1&quot;);
	dataset.addValue(-7.2, &quot;Apple&quot;, &quot;Quadrimestre 2&quot;);
	dataset.addValue(14.0, &quot;Apple&quot;, &quot;Quadrimestre 3&quot;);
	
	dataset.addValue(6.4, &quot;IBM&quot;, &quot;Quadrimestre 1&quot;);
	dataset.addValue(17.9, &quot;IBM&quot;, &quot;Quadrimestre 2&quot;);
	dataset.addValue(-12.3, &quot;IBM&quot;, &quot;Quadrimestre 3&quot;);
	
	dataset.addValue(7.1, &quot;EDS&quot;, &quot;Quadrimestre 1&quot;);
	dataset.addValue(15.6, &quot;EDS&quot;, &quot;Quadrimestre 2&quot;);
	dataset.addValue(13.5, &quot;EDS&quot;, &quot;Quadrimestre 3&quot;);
	
	dataset.addValue(-8.1, &quot;Micosoft&quot;, &quot;Quadrimestre 1&quot;);
	dataset.addValue(-6.3, &quot;Micosoft&quot;, &quot;Quadrimestre 2&quot;);
	dataset.addValue(10.8, &quot;Micosoft&quot;, &quot;Quadrimestre 3&quot;);
	
	JFreeChart chart = ChartFactory.createBarChart3D(&quot;Faturamento no ano (em R$ Milhões)&quot;,
			&quot;Empresas:&quot;, &quot;Valor Faturado(Em relação ao ano anterior)&quot;, dataset, PlotOrientation.VERTICAL,
			true, true, false);
	      response.setContentType(&quot;image/jpeg&quot;);
	      ChartUtilities.writeChartAsJPEG(out, chart, 640, 480);
  }catch (Exception e) {
	System.err.println(e.toString());
  }finally {
	out.close();
  }
}
}

Depois é só fazer um web.xml:

[code]
<?xml version=“1.0” encoding=“ISO-8859-1”?>
<!DOCTYPE web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN” “http://java.sun.com/dtd/web-app_2_3.dtd”>

<web-app>
<servlet><servlet-name>ServletGrafico</servlet-name>
<servlet-class>ServletGrafico</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletGrafico</servlet-name>
<url-pattern>/ServletGrafico</url-pattern>
</servlet-mapping>
</web-app>[/code]
E roda 100%! :slight_smile:

Bom dia Furutani, blz?

Cara, me tira uma dúvida, estou usando o cewolf e tudo está funcionando legalzinho, mas aí, gostaria de sabercomo eu faço pra setar as cores da legenda com as mesmas cores que eu seto no chart.

O chart abre com as cores default, que é muito legal, mas se eu seto o chart para as barras ficarem azuis, por exemplo, a legenda não assume essa configuração. Já fiz algumas tentativas, mas não consegui descobrir como fazer as cores ficarem iguais, tanto em um qto no outro.

Pra esclarecer mais:

Tenho 4 barras, carros, caminhões, motos e picapes. Logo, a legenda vai plotar os mesmos itens, certo? Sendo assim, as cores default seriam para ambos vermelho, azul, verde e amarelo.

Eu consido setar as barras para ficarem todas azuis ou qq outra cor que eu queira, mas não estou conseguindo fazer o mesmo com a legenda. Poderia me mostrar um exemplo de como fazê-lo?

Desde já agradeço sua atenção.

1 abc