Subversion Repositories Integrator Subversion

Rev

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
}