Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 1 | espaco | 1 | package br.gov.al.saude.test.builder; |
| 2 | |||
| 3 | import static br.gov.al.saude.test.util.ConversorDeTipo.FORMAT_DATE_DD_MM_YYYY_HH_MM_SS; |
||
| 4 | import static br.gov.al.saude.test.util.ConversorDeTipo.converterStringParaDate; |
||
| 5 | import static br.gov.al.saude.test.util.ConversorDeTipo.converterStringParaLong; |
||
| 6 | |||
| 7 | import java.util.HashSet; |
||
| 8 | import java.util.Set; |
||
| 9 | |||
| 10 | import br.gov.al.saude.framework.core.util.VerificadorUtil; |
||
| 11 | import br.gov.al.saude.scs.model.Frequencia; |
||
| 12 | import br.gov.al.saude.scs.model.Presenca; |
||
| 13 | import br.gov.al.saude.scs.model.Turma; |
||
| 14 | import br.gov.al.saude.test.unidade.generic.builder.AbstractEntidadeBuilder; |
||
| 15 | |||
| 16 | public class FrequenciaBuilder extends AbstractEntidadeBuilder<Frequencia> { |
||
| 17 | |||
| 18 | @Override |
||
| 19 | protected void inicializarDadosDefault() { |
||
| 20 | entidade = new Frequencia(); |
||
| 21 | entidade.setPresencas(new HashSet<Presenca>()); |
||
| 22 | |||
| 23 | } |
||
| 24 | |||
| 25 | public FrequenciaBuilder comSequencial(String sequencialFrequencia) { |
||
| 26 | entidade.setSequencial(converterStringParaLong(sequencialFrequencia)); |
||
| 27 | return this; |
||
| 28 | } |
||
| 29 | |||
| 30 | public FrequenciaBuilder comTurma(Turma turma) { |
||
| 31 | entidade.setTurma(turma); |
||
| 32 | return this; |
||
| 33 | } |
||
| 34 | |||
| 35 | public FrequenciaBuilder comTurma(String sequencialTurma) { |
||
| 36 | Turma turma = null; |
||
| 37 | if(VerificadorUtil.naoEstaNuloOuVazio(sequencialTurma)){ |
||
| 38 | turma = new TurmaBuilder().comSequencial(sequencialTurma).build(); |
||
| 39 | } |
||
| 40 | entidade.setTurma(turma); |
||
| 41 | return this; |
||
| 42 | } |
||
| 43 | |||
| 44 | public FrequenciaBuilder comData(String data) { |
||
| 45 | entidade.setData(converterStringParaDate(data, FORMAT_DATE_DD_MM_YYYY_HH_MM_SS)); |
||
| 46 | return this; |
||
| 47 | } |
||
| 48 | |||
| 49 | public FrequenciaBuilder comPresencas(String listaPresencas) { |
||
| 50 | Set<Presenca> setPresencas = new HashSet<Presenca>(); |
||
| 51 | if(VerificadorUtil.naoEstaNuloOuVazio(listaPresencas)){ |
||
| 52 | String[] arrayPresenca = listaPresencas.split(";"); |
||
| 53 | for (String stringPresenca : arrayPresenca) { |
||
| 54 | String[] presencaSplit = stringPresenca.split(","); |
||
| 55 | Presenca presenca = new PresencaBuilder() |
||
| 56 | .comFrequencia(entidade) |
||
| 57 | .comSequencialTurmaParticipante(getValor(presencaSplit, 1)) |
||
| 58 | .comIndicadorPresenca(getValor(presencaSplit, 2)) |
||
| 59 | .comJustificativa(getValor(presencaSplit, 3)) |
||
| 60 | .build(); |
||
| 61 | setPresencas.add(presenca); |
||
| 62 | } |
||
| 63 | } |
||
| 64 | entidade.setPresencas(setPresencas); |
||
| 65 | return this; |
||
| 66 | } |
||
| 67 | |||
| 68 | private String getValor(String[] presencaSplit, int posicao) { |
||
| 69 | try { |
||
| 70 | return presencaSplit[posicao]; |
||
| 71 | } catch (IndexOutOfBoundsException e) { |
||
| 72 | return null; |
||
| 73 | } |
||
| 74 | } |
||
| 75 | |||
| 76 | } |