Parametros para gerar gráficos em Cewolf

1 resposta
C

Estou tentando gerar um grafico em Cewolf, aonde eu
informo uma data inicial e uma localidade.
http://www.myjavaserver.com/~jceleste/ParamGraf.html

Não estou conseguindo passar os parametros de datas inicial e final,
para gerar um grafico que seria igual a este ( http://www.myjavaserver.com/~jceleste/FIG.png )

Estou listando o codigo, e comentando " aonde " nao consigo visualizar
a variavel para filtrar os dados

<%@page import="java.util.*"%>
<%@page import="de.laures.cewolf.*"%>
<%@page import="de.laures.cewolf.tooltips.*"%>
<%@page import="de.laures.cewolf.links.*"%>
<%@page import="org.jfree.data.*"%>
<%@page import="org.jfree.data.time.*"%>
<%@page import="org.jfree.data.gantt.*"%>
<%@page import="org.jfree.chart.*"%>
<%@page import="org.jfree.chart.plot.*"%>
<%@page import="org.jfree.data.category.*"%>
<%@page import="org.jfree.data.general.*"%>
<%@page import="org.jfree.data.xy.*"%>
<%@page import="java.awt.*" %>
<%@page contentType="text/html"%>
<%@taglib uri='/WEB-INF/cewolf.tld' prefix='cewolf' %>

<%@ page import="java.sql.DriverManager"%>
<%@ page import="java.sql.SQLException"%>
<%@ page import="oracle.jdbc.*"%>
<jsp:useBean id="ElapsedTime" class="de.laures.cewolf.example.ElapsedTime" scope="page"  />


<%! 
public void jspInit()
{ 
  try
  {
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
  }
  catch (SQLException e) {}  
}
%>  



<%

// ***  ESTAS VARIAVIES VIERAM DA TELA DO PARAMETRO  ***
String DT_INI = request.getParameter("DT_INI");
String DT_FIM = request.getParameter("DT_FIM");
String NomeLocalidade = request.getParameter("NomeLocal");
// ***                                               ***  


if (pageContext.getAttribute("initFlag") == null) {
	DatasetProducer categoryData = new DatasetProducer() {		
  
		public Object produceDataset(Map params) {

		   // ***  Não consigo visualizar as variavel do parametro dentro de produceDatase 
		   //                   TENTEI USAR ISSO 
		   //  String DT_INI = request.getParameter("DT_INI");  ou
		   //   Properties parameters = new Properties();              
		   //   String value = parameters.getProperty("DT_INI");
		   //  E NAO CONSIGO APANHAR OS VALORES DAS VARIAVEIS DOS PARAMETROS

		    final String[] categories = { "1","2", "3", "4", "5","6","12/12"  };
			final String[] seriesNames = { "EMPRESA 1", " EMPRESA 2 ", " EMPRESA 3 " };
			final Integer[][] startValues = new Integer[seriesNames.length][categories.length];
			final Integer[][] endValues = new Integer[seriesNames.length][categories.length];
			for (int series = 0; series < seriesNames.length; series++) {
				for (int i = 0; i < categories.length; i++) {
					int y = (int) (Math.random() * 10 + 1);
					startValues[series][i] = new Integer(y);
					endValues[series][i] = new Integer(y + (int) (Math.random() * 10));
				}
			}
			DefaultIntervalCategoryDataset ds =
				new DefaultIntervalCategoryDataset(seriesNames, categories, startValues, endValues);
			return ds;
		}


		public String getProducerId() {
			return "CategoryDataProducer";
		}
		public boolean hasExpired(Map params, Date since) {
			return false;
		}
	};
	pageContext.setAttribute("categoryData", categoryData);
}
%>

<table border=1>
<tr><td>
<cewolf:chart id="horizontalBarChart3D" title='<%=NomeLocalidade%>' type="horizontalBar3D" xaxislabel="Dias" yaxislabel="Em milhares">
    <cewolf:data>
     <cewolf:producer id="categoryData" />      
    </cewolf:data>
</cewolf:chart>
<cewolf:img chartid="horizontalBarChart3D" renderer="/cewolf" width="500" height="500"/></TD>
</TR>
<TR>
</table>

[size=“11”]
[color=“red”]

  • Editado: Aumente as chances de alguém responder o seu tópico. Use BBCode em seus códigos para mantê-los identados e mais legíveis para outros usuários. - Matheus[/color][/size] :joia:

1 Resposta

J

Obrigado pela ajuda no tópico “Acessando plot do JFreechart com cewolf”
vou tentar usar sua sugestão.

Enquanto a dúvida dos parâmetros, eu não entendi muito bem o seu código.

Eu passo parâmetros da seguinte maneira:

1- Crio uma classe que implementa a interface de.laures.cewolf.DatasetProducer e a interface Serializable com um atributo do tipo Map e um método get para ele.

2- Na jsp eu crio um bean dessa classe e chamo
o método get que fiz para setar o valor do atributo do tipo
Map.

Espero q isso seja útil.

Criado 20 de julho de 2005
Ultima resposta 21 de jul. de 2005
Respostas 1
Participantes 2