Estou com erros nos pacotes Alurator e estoque-api
ALURATOR
package br.com.alura.alurator;
public class Alurator {
private String pacoteBase;
public Alurator(String pacoteBase) {
this.pacoteBase = pacoteBase;
}
public Object executa(String url) {
String[] partesUrl = url.replaceFirst("/", "")
.split("/");
String nomeControle = partesUrl[0] + "Controller";
try {
Class<?> classeControle = Class.forName(pacoteBase + nomeControle);
Object instanciaControle = classeControle.newInstance();
System.out.println(instanciaControle);
return null;
}catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}
MAIN
package br.com.alura.estoque;
import java.util.Scanner;
import br.com.alura.alurator.Alurator;
public class Main {
/**
* Simula o navegador.
*
*/
public static void main(String[] args) throws Exception {
/*
* Casos possiveis:
* /controlador/metodo
* /controlador/metodo?param1=valor1¶m2=valor2
*/
try (Scanner s = new Scanner(System.in)) {
String url = s.nextLine();
Alurator alurator = new Alurator("br.com.alura.estoque.controle.");
while (!url.equals("exit")) {
Object response = alurator.executa(url);
System.out.println("Response: " + response);
url = s.nextLine();
}
}
}
}
PRODUTO CONTROLLER
package br.com.alura.estoque.controle;
import java.util.List;
import java.util.stream.Collectors;
import br.com.alura.estoque.dao.ProdutoDaoMock;
import br.com.alura.estoque.modelo.Produto;
public class ProdutoController {
private ProdutoDaoMock produtoDao;
public ProdutoController() {
produtoDao = new ProdutoDaoMock();
}
public List<Produto> lista() {
return produtoDao.lista();
}
public List<Produto> filtra(String nome) {
return produtoDao.lista().stream()
.filter(produto -> produto.getNome().toLowerCase().startsWith(nome.toLowerCase()))
.collect(Collectors.toList());
}
public List<Produto> filtra(String nome, String marca) {
return produtoDao.lista().stream()
.filter(produto ->
produto.getNome().toLowerCase().startsWith(nome.toLowerCase())
&& produto.getMarca().equalsIgnoreCase(marca)
)
.collect(Collectors.toList());
}
}