Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resolução dos casos de testes #10

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions src/main/java/br/com/segware/controller/Controller.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package br.com.segware.controller;

import java.util.Set;

public interface Controller<T> {

void loadCsv();

Set<T> findAll();

}
59 changes: 59 additions & 0 deletions src/main/java/br/com/segware/controller/EventoController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
package br.com.segware.controller;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import br.com.segware.enums.Tipo;
import br.com.segware.model.Evento;
import br.com.segware.service.EventoService;
import br.com.segware.service.Service;
import br.com.segware.util.Constants;
import br.com.segware.util.Message;
import br.com.segware.util.Reader;

public class EventoController implements Controller<Evento> {

private final Service<Evento> service = new EventoService();
private Map<String, List<String[]>> fileContent;
private String csvFileName;

public EventoController(final String csvFileName) {
this.csvFileName = csvFileName;
}

@Override
public void loadCsv() {
fileContent = Reader.readCsv(this.csvFileName, Constants.CSV_SEPARATOR);
final List<String[]> records = fileContent.get(Constants.CONTENT);
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

final Set<Evento> eventos = new HashSet<>();
for (String[] column : records) {
final Evento evento = new Evento();
evento.setCodigoSequencial(Long.parseLong(column[0]));
evento.setCodigoCliente(column[1]);
evento.setCodigoEvento(column[2]);
evento.setTipo(Tipo.valueOf(column[3]));
evento.setCodigoAtendente(column[6]);

try {
evento.setDataInicio(sdf.parse(column[4]));
evento.setDataFim(sdf.parse(column[5]));
} catch (ParseException e) {
Message.printError(e.getMessage());
}
eventos.add(evento);
}
service.insertAll(eventos);
}

@Override
public Set<Evento> findAll() {
return service.findAll();
}

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package br.com.segware;
package br.com.segware.enums;

public enum Tipo {

Expand Down
73 changes: 73 additions & 0 deletions src/main/java/br/com/segware/model/Evento.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
package br.com.segware.model;

import java.util.Date;

import br.com.segware.enums.Tipo;

public class Evento {

private Long codigoSequencial;
private String codigoCliente;
private String codigoEvento;
private Tipo tipo;
private Date dataInicio;
private Date dataFim;
private String codigoAtendente;

public Long getCodigoSequencial() {
return codigoSequencial;
}

public void setCodigoSequencial(final Long codigoSequencial) {
this.codigoSequencial = codigoSequencial;
}

public String getCodigoCliente() {
return codigoCliente;
}

public void setCodigoCliente(final String codigoCliente) {
this.codigoCliente = codigoCliente;
}

public String getCodigoEvento() {
return codigoEvento;
}

public void setCodigoEvento(final String codigoEvento) {
this.codigoEvento = codigoEvento;
}

public Tipo getTipo() {
return tipo;
}

public void setTipo(final Tipo tipo) {
this.tipo = tipo;
}

public Date getDataInicio() {
return dataInicio;
}

public void setDataInicio(final Date dataInicio) {
this.dataInicio = dataInicio;
}

public Date getDataFim() {
return dataFim;
}

public void setDataFim(final Date dataFim) {
this.dataFim = dataFim;
}

public String getCodigoAtendente() {
return codigoAtendente;
}

public void setCodigoAtendente(final String codigoAtendente) {
this.codigoAtendente = codigoAtendente;
}

}
26 changes: 26 additions & 0 deletions src/main/java/br/com/segware/model/TotalTipoEvento.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package br.com.segware.model;

import br.com.segware.enums.Tipo;

public class TotalTipoEvento {

private Tipo tipo;
private Long quantidade;

public Tipo getTipo() {
return tipo;
}

public void setTipo(final Tipo tipo) {
this.tipo = tipo;
}

public Long getQuantidade() {
return quantidade;
}

public void setQuantidade(final Long quantidade) {
this.quantidade = quantidade;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package br.com.segware.repository;

import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

public abstract class AbstractInMemoryRepository<T> {

private Set<T> entities = new HashSet<>();

public void insertAll(final Set<T> entities) {
this.entities.addAll(entities);
}

public Set<T> findAll() {
return Collections.unmodifiableSet(entities);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package br.com.segware.repository;

import br.com.segware.model.Evento;

public class EventoInMemoryRepository extends AbstractInMemoryRepository<Evento> implements Repository<Evento>{

}
11 changes: 11 additions & 0 deletions src/main/java/br/com/segware/repository/Repository.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package br.com.segware.repository;

import java.util.Set;

public interface Repository<T> {

void insertAll(final Set<T> entities);

Set<T> findAll();

}
Loading