/*
   * (non-Javadoc)
   * @see uni.edu.pe.analisisSentimental.service.TweetManagerService#tratarLenguajeTwitter()
   */
  public void tratarLenguajeTwitter(String codFinData) {
    List<TweetProcesadoDto> ltpDto = obtenerTweetsParaTratamientoLenguaje(codFinData);
    List<TweetProcesadoDto> ltpExitosoDto = null;
    List<Long> lstNs = new ArrayList<Long>();
    if (CollectionUtils.isNotEmpty(ltpDto)) {
      ltpExitosoDto = new ArrayList<TweetProcesadoDto>();
      for (TweetProcesadoDto tpdto : ltpDto) {
        String mensaje = tpdto.getTextoInicial();

        Set<String> setStr = Utilitario.generaSetFromString(mensaje);

        if (COD_FINALIDAD_DATA_ENTRENAMIENTO.equals(codFinData)) {
          // Eliminando los RT
          boolean isRt = Utilitario.isRetweet(setStr);
          if (isRt) {
            lstNs.add(tpdto.getIdTweet());
            continue;
          }

          // Eliminando los positivos y negativos a la vez
          boolean isPosNeg = Utilitario.contieneEmoticonosPositivosNegativosEnSubString(mensaje);
          if (isPosNeg) {
            lstNs.add(tpdto.getIdTweet());
            continue;
          }

          // Eliminando los ambiguos
          boolean isEmAmbiguo = Utilitario.contieneEmoticonoAmbiguoEnSubstring(mensaje);
          if (isEmAmbiguo) {
            lstNs.add(tpdto.getIdTweet());
            continue;
          }
        }

        // Eliminando los emoticonos
        mensaje = Utilitario.removerMarcasDeTexto(mensaje, Utilitario.obtenerEmoticonosTotales());

        // Convirtiendo a minuscula
        mensaje = mensaje.toLowerCase();

        // Eliminando @marcas de usuario, #HashTags y Url
        String txtSinMarcas = Utilitario.removerMarcasDeTexto(mensaje, tpdto.getMarcasMensaje());
        tpdto.setTextoProcesado(txtSinMarcas);
        ltpExitosoDto.add(tpdto);
      }
      guardarTextoProcesadoTratamientoTwitter(ltpExitosoDto);
      tweetProcesadoDAO.descartarTweetsNSBatch(lstNs);
    }
  }