Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.03 KB | None | 0 0
  1. public Boolean verificadorFluxoCSV(String[] dadosCSV) {
  2.  
  3. if (!dadosCSV[TIPO_DO_INDICIO].isEmpty()) {
  4. tipoIndicio = new TipoIndicioEntity();
  5. tipoIndicio.setCodigo(Integer.parseInt(dadosCSV[TIPO_DO_INDICIO]));
  6. tipoIndicio = tipoDeIndicioService.getPorId(tipoIndicio.getCodigo());
  7. }
  8. if (!dadosCSV[CODIGO_UJ].isEmpty()) {
  9. uJ = new PessoaJuridicaPublicaEntity();
  10. uJ.setCodigo(Long.parseLong(dadosCSV[CODIGO_UJ]));
  11. try {
  12. uJ = pessoaJuridicaPublicaService.pesquisarPorId(uJ);
  13. } catch (NegocioException e) {
  14. // TODO Auto-generated catch block
  15. e.printStackTrace();
  16. } catch (PrincipalException e) {
  17. // TODO Auto-generated catch block
  18. e.printStackTrace();
  19. }
  20. }
  21.  
  22. final Pattern pattern = Pattern.compile("^-?\d*\,\d{2}$");
  23. final Matcher matcher = pattern.matcher(dadosCSV[VALOR]);
  24.  
  25. if (!dadosCSV[NATUREZA].isEmpty()) {
  26.  
  27. naturezaIndicio.setCodigo(Integer.parseInt(dadosCSV[NATUREZA]));
  28. naturezaIndicio = naturezaIndicioService.getPorId(naturezaIndicio.getCodigo());
  29. }
  30. if (!dadosCSV[CODIGO_DO_VINCULO].isEmpty()) {
  31. tipoVinculo = new TipoVinculoEntity();
  32. tipoVinculo.setCodigo(Integer.parseInt(dadosCSV[CODIGO_DO_VINCULO]));
  33. tipoVinculo = tipoVinculoService.getPorId(tipoVinculo.getCodigo());
  34. }
  35.  
  36. if (getNumberPositions() >= MATRICULA_PROPRIETARIO) {
  37. if (!dadosCSV[MATRICULA_PROPRIETARIO].isEmpty()) {
  38. usuarioCorporativo = new UsuarioCorporativoEntity();
  39. usuarioCorporativo.setCodigoUsuario(Integer.parseInt(dadosCSV[MATRICULA_PROPRIETARIO]));
  40. usuarioCorporativo = usuarioCorporativoService.getPorId(usuarioCorporativo.getCodigoUsuario());
  41. }
  42. }
  43.  
  44. expressaoInvalida = matcher.find() == false;
  45. final boolean cpfInvalido = !validadorCPF.isCPF(dadosCSV[CPF]);
  46. final boolean descricaoVazia = dadosCSV[DESCRICAO].isEmpty();
  47. final boolean naturezaInvalida = naturezaIndicio == null;
  48.  
  49. if (!dadosCSV[DATA_ADMISSAO].equals("")) {
  50.  
  51. final SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
  52.  
  53. format.setLenient(false);
  54. try {
  55.  
  56. if (dadosCSV[DATA_ADMISSAO] != null && !dadosCSV[DATA_ADMISSAO].isEmpty()) {
  57. final Date dataAdmissao = format.parse(dadosCSV[DATA_ADMISSAO]);
  58. }
  59.  
  60. } catch (final Exception e) {
  61. dataValidaEncontrada = true;
  62. }
  63.  
  64. }
  65. final int qtdData = dadosCSV[DATA_ADMISSAO].length();
  66. if (qtdData != 10) {
  67. dataValidaEncontrada = true;
  68. }
  69. qtdMatriculo = dadosCSV[MATRICULA_PROPRIETARIO].length();
  70.  
  71. final char letra_anterior = dadosCSV[MATRICULA_PROPRIETARIO].charAt(0);
  72. final int vezes = 1;
  73. int qtdCaracterMatriculaProprietario = 0;
  74. for (qtdCaracterMatriculaProprietario = 1; qtdCaracterMatriculaProprietario < qtdMatriculo; qtdCaracterMatriculaProprietario++) {
  75. final char letra_atual = dadosCSV[MATRICULA_PROPRIETARIO].charAt(qtdCaracterMatriculaProprietario);
  76.  
  77. }
  78.  
  79. if (qtdCaracterMatriculaProprietario != 4) {
  80. statusMatricula = true;
  81. }
  82.  
  83. if (tipoIndicio == null || dadosCSV[TIPO_DO_INDICIO].isEmpty() || uJ == null || dadosCSV[CODIGO_UJ].isEmpty()
  84. || cpfInvalido || dadosCSV[DESCRICAO].isEmpty() || dadosCSV[DESCRICAO] == null || descricaoVazia
  85. || expressaoInvalida || naturezaIndicio == null || dadosCSV[NATUREZA].isEmpty() || dataValidaEncontrada
  86. || tipoVinculo == null || usuarioCorporativo == null || statusMatricula) {
  87. return true;
  88. } else {
  89. return false;
  90. }
  91.  
  92. @RunWith(MockitoJUnitRunner.class)
  93. public class IndicioActionTest {
  94.  
  95. private static final String VIRGULA = ";";
  96. boolean statusMatricula = false;
  97. private Integer numberPositions;
  98.  
  99. @Mock
  100. private IndicioDAO indicioDao;
  101.  
  102. @InjectMocks
  103. private IndicioService service;
  104.  
  105. @InjectMocks
  106. private IndicioAction indicioAction;
  107.  
  108. @Mock
  109. private TipoIndicioService tipoIndicioService;
  110.  
  111.  
  112. public File getFile(String nomeArquivo) {
  113. String caminho = new File("").getAbsolutePath() + "\resources\csvs\teste.csv";
  114. return new File(caminho);
  115. }
  116.  
  117. @Test
  118. public void verificadorFluxoCSVTest() throws IOException {
  119. String caminho = new File("").getAbsolutePath() + "\resources\csvs\teste.csv";
  120.  
  121. final File arquivoLeitura = new File(caminho);
  122.  
  123. final LineNumberReader linhaLeitura = new LineNumberReader(new FileReader(arquivoLeitura));
  124.  
  125. linhaLeitura.skip(arquivoLeitura.length());
  126. final int qtdLinha = linhaLeitura.getLineNumber() + 1;
  127.  
  128. final BufferedReader leitor = new BufferedReader(new InputStreamReader(new FileInputStream(caminho)));
  129.  
  130. String linha = null;
  131.  
  132. leitor.readLine();
  133.  
  134. TipoIndicioEntity tipoIndicio = TipoIndicioBuilder.umTipoIndicio().retornandoTipoIndicio();
  135.  
  136. for (int indiceIndicio = 2; indiceIndicio <= qtdLinha; indiceIndicio++) {
  137.  
  138. statusMatricula = false;
  139. linha = leitor.readLine();
  140.  
  141. if (linha == null) {
  142. break;
  143. }
  144.  
  145. final String[] dadosCSV = linha.split(VIRGULA);
  146. final int numberPositions = dadosCSV.length;
  147.  
  148. setNumberPositions(numberPositions);
  149.  
  150. boolean resultValidation = false;
  151.  
  152. // Mockito.when(tipoIndicioService.getPorId(anyInt())).thenReturn(tipoIndicio);
  153.  
  154. resultValidation = indicioAction.verificadorFluxoCSV(dadosCSV);
  155.  
  156. }
  157.  
  158. }
  159.  
  160. /**
  161. * @return the numberPositions
  162. */
  163. public Integer getNumberPositions() {
  164. return numberPositions;
  165. }
  166.  
  167. /**
  168. * @param numberPositions the numberPositions to set
  169. */
  170. public void setNumberPositions(Integer numberPositions) {
  171. this.numberPositions = numberPositions;
  172. }
  173.  
  174. }
  175.  
  176. if (!dadosCSV[TIPO_DO_INDICIO].isEmpty()) {
  177. tipoIndicio = new TipoIndicioEntity();
  178. tipoIndicio.setCodigo(Integer.parseInt(dadosCSV[TIPO_DO_INDICIO]));
  179. tipoIndicio = tipoDeIndicioService.getPorId(tipoIndicio.getCodigo());
  180. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement