Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Illegal start of expression - Argentum Web

$
0
0

@Pedrecal escreveu:

Estou fazendo o curso de Integração Continua da Alura e quando fui compilar no maven o código que foi dado encontro este erro na linha .filter(n -> n.getData().after(de) && n.getData().before(ate))

O código foi dado pelo professor e está no github no link Aqui
`package br.com.caelum.argentum.bean;

import java.io.Serializable;
import java.lang.reflect.Constructor;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import org.primefaces.model.chart.ChartModel;

import br.com.caelum.argentum.grafico.GeradorModeloGrafico;
import br.com.caelum.argentum.indicadores.Indicador;
import br.com.caelum.argentum.indicadores.IndicadorFechamento;
import br.com.caelum.argentum.indicadores.MediaMovelSimples;
import br.com.caelum.argentum.modelo.Candle;
import br.com.caelum.argentum.modelo.CandlestickFactory;
import br.com.caelum.argentum.modelo.Negociacao;
import br.com.caelum.argentum.modelo.SerieTemporal;
import br.com.caelum.argentum.ws.ClienteWebService;

@ViewScoped
@ManagedBean
public class ArgentumBean implements Serializable {

private static final long serialVersionUID = 1L;
private List<Negociacao> negociacoes;
private ChartModel modeloGrafico;
private String nomeMedia;
private String nomeIndicadorBase;

private Date filtroDataDe;
private Date filtroDataAte;

public ArgentumBean() {
	this.negociacoes = new ClienteWebService().getNegociacoes();
	geraGrafico();
}

public void geraGrafico() {
	List<Candle> candles = new CandlestickFactory().constroiCandles(negociacoes);
	SerieTemporal serie = new SerieTemporal(candles);
	GeradorModeloGrafico geradorGrafico = new GeradorModeloGrafico(serie, 2, serie.getUltimaPosicao());
	geradorGrafico.plotaMediaMovelSimples(defineIndicador());
	this.modeloGrafico = geradorGrafico.getModeloGrafico();
}

public void filtra() {
	aplicaFiltro();
	geraGrafico();
}

private void aplicaFiltro() {
	Calendar de = Calendar.getInstance();
	if (filtroDataDe != null) {
		de.setTime(filtroDataDe);
	} else {
		de.add(Calendar.MONTH, -12);
	}

	Calendar ate = Calendar.getInstance();
	if (filtroDataAte != null) {
		ate.setTime(filtroDataAte);
	} else {
		ate.add(Calendar.MONTH, 12);
	}

	negociacoes = new ClienteWebService().getNegociacoes();

	negociacoes = negociacoes
					.stream()
					.filter(n -> n.getData().after(de) && n.getData().before(ate))
					.collect(Collectors.toList());
}

private Indicador defineIndicador() {
	if (nomeIndicadorBase == null || nomeIndicadorBase.isEmpty() || nomeMedia == null || nomeMedia.isEmpty()) {
		return new MediaMovelSimples(new IndicadorFechamento());
	}

	String pacote = "br.com.caelum.argentum.indicadores.";
	try {
		Class<?> classeIndicadorBase = Class.forName(pacote + nomeIndicadorBase);
		Indicador indicadorBase = (Indicador) classeIndicadorBase.newInstance();

		Class<?> classeMedia = Class.forName(pacote + nomeMedia);
		Constructor<?> construtorMedia = classeMedia.getConstructor(Indicador.class);
		Indicador indicador = (Indicador) construtorMedia.newInstance(indicadorBase);
		return indicador;
	} catch (Exception e) {
		throw new RuntimeException();
	}
}

public ChartModel getModeloGrafico() {
	return modeloGrafico;
}

public List<Negociacao> getNegociacoes() {
	return negociacoes;
}

public String getNomeIndicadorBase() {
	return nomeIndicadorBase;
}

public String getNomeMedia() {
	return nomeMedia;
}

public void setNomeIndicadorBase(String nomeIndicadorBase) {
	this.nomeIndicadorBase = nomeIndicadorBase;
}

public void setNomeMedia(String nomeMedia) {
	this.nomeMedia = nomeMedia;
}

public Date getFiltroDataDe() {
	return filtroDataDe;
}

public void setFiltroDataDe(Date filtroDataDe) {
	this.filtroDataDe = filtroDataDe;
}

public Date getFiltroDataAte() {
	return filtroDataAte;
}

public void setFiltroDataAte(Date filtroDataAte) {
	this.filtroDataAte = filtroDataAte;
}

}
`

Mensagens: 2

Participantes: 1

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>