Skip to content

Instantly share code, notes, and snippets.

@alexandreaquiles
Last active August 29, 2015 13:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexandreaquiles/10760975 to your computer and use it in GitHub Desktop.
Save alexandreaquiles/10760975 to your computer and use it in GitHub Desktop.
Colocando um gráfico de Candlesticks na página principal do Argentum, o projeto do FJ-22: http://www.caelum.com.br/apostila-java-testes-jsf-web-services-design-patterns/
package br.com.caelum.argentum.bean;
//outros imports continuam...
import br.com.caelum.argentum.grafico.GeradorModeloGraficoCandle;
import org.primefaces.model.chart.OhlcChartModel;
@ManagedBean
@ViewScoped
public class ArgentumBean implements Serializable {
//outros atributos continuam
private OhlcChartModel modeloGraficoCandle;
//construtor fica igual
public void geraGrafico() {
//demais linhas permanecem
GeradorModeloGraficoCandle geradorGraficoCandle = new GeradorModeloGraficoCandle(serie);
this.modeloGraficoCandle = geradorGraficoCandle.plota();
}
//demais getters e setters continuam
public OhlcChartModel getModeloGraficoCandle() {
return modeloGraficoCandle;
}
public void setModeloGraficoCandle(OhlcChartModel modeloGraficoCandle) {
this.modeloGraficoCandle = modeloGraficoCandle;
}
}
package br.com.caelum.argentum.grafico;
import java.util.ArrayList;
import java.util.List;
import org.primefaces.model.chart.OhlcChartModel;
import org.primefaces.model.chart.OhlcChartSeries;
import br.com.caelum.argentum.modelo.Candle;
import br.com.caelum.argentum.modelo.SerieTemporal;
public class GeradorModeloGraficoCandle {
private SerieTemporal serie;
public GeradorModeloGraficoCandle(SerieTemporal serie) {
this.serie = serie;
}
public OhlcChartModel plota() {
List<OhlcChartSeries> todasAsCandleSeries = new ArrayList<OhlcChartSeries>();
for(int i=0; i <= serie.getUltimaPosicao();i++){
Candle candle = serie.getCandle(i);
OhlcChartSeries candleSeries = new OhlcChartSeries(i, candle.getAbertura(), candle.getMaximo(), candle.getMinimo(), candle.getFechamento());
todasAsCandleSeries.add(candleSeries);
}
return new OhlcChartModel(todasAsCandleSeries);
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<!-- linhas antes continuam as mesmas... -->
<p:chart type="ohlc" id="graficoCandles" value="#{argentumBean.modeloGraficoCandle}" title="Candles" candleStick="true" datatipFormat="%2$d" />
<!-- demais linhas continuam iguais... -->
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment