/*
   * (non-Javadoc)
   * @see uni.edu.pe.analisisSentimental.service.TweetManagerService#recuperarTweets()
   */
  public void recuperarYPersistirTweets() {
    logger.debug("<==== Inicio Method recuperarTweets a las " + new Date() + " ====>");
    List<String> lstfuerteNegativa = new ArrayList<String>();
    List<String> lstFuertePositiva = new ArrayList<String>();
    List<PistaSubjetividad> lstPistaTotales =
        (ArrayList<PistaSubjetividad>) obtenerPistasFuertementeSubjetivas();
    Utilitario.obtenerPistaSubjetividadFuertementeSubjetivas(
        lstPistaTotales, lstfuerteNegativa, lstFuertePositiva);

    List<Status> tweets = null;
    List<String> lstSQueryNegativa = new ArrayList<String>();
    List<String> lstSQueryPositiva = new ArrayList<String>();
    Set<String> setQueryNegativa = new HashSet<String>();
    Set<String> setQueryPositiva = new HashSet<String>();
    String query = null;
    for (String s : lstfuerteNegativa) {
      query = SIMBOLO_TAG + s + CARACTER_VACIO + QUERY_EXPRESIONES_NEGATIVAS;
      lstSQueryNegativa.add(query);
    }

    for (String s : lstFuertePositiva) {
      query = SIMBOLO_TAG + s + CARACTER_VACIO + QUERY_EXPRESIONES_POSITIVAS;
      lstSQueryPositiva.add(query);
    }

    for (int i = 0; i < NRO_LLAMADAS; i++) {
      int pos = (int) Math.floor((Math.random() * lstfuerteNegativa.size()));
      setQueryNegativa.add(lstSQueryNegativa.get(pos));
      pos = (int) Math.floor((Math.random() * lstSQueryPositiva.size()));
      setQueryPositiva.add(lstSQueryPositiva.get(pos));
    }
    if (logger.isDebugEnabled()) {
      logger.debug(
          "setQueryNegativa: size: " + setQueryNegativa.size() + " data: " + setQueryNegativa);
      logger.debug(
          "setQueryPositiva: size: " + setQueryPositiva.size() + " data: " + setQueryPositiva);
    }

    for (String s : setQueryNegativa) {
      tweets = ejecutarQueyEnBaseAConsulta(s);
      persistirTweets(tweets, s, COD_OPINION_NEGATIVA, COD_FINALIDAD_DATA_ENTRENAMIENTO);
    }
    tweets = null;
    for (String s : setQueryPositiva) {
      tweets = ejecutarQueyEnBaseAConsulta(s);
      persistirTweets(tweets, s, COD_OPINION_POSITIVA, COD_FINALIDAD_DATA_ENTRENAMIENTO);
    }
    tweets = null;
  }