/** * Metodo que se encarga de registrar los tweets en la base de datos. Dado que la llave primaria * es el id del tweet, va a haber circunstancias en que se quiera registrar un tweet registrado * con anterioridad, en cuyo caso solo se ignorara la excepcion, esto para evitar hacer el chequeo * de existencia de twwets en cada oportunidad. * * @param tweetBean */ public void persistirTweet(StatusTweet tweetBean) { logger.debug("<==== Inicio Method persistirTweets ====>"); try { if (logger.isDebugEnabled()) { // ToStringBuilder.reflectionToString(tweetBean, ToStringStyle.MULTI_LINE_STYLE); logger.debug("tweet completo: {}", ToStringBuilder.reflectionToString(tweetBean)); } int count = 0; count = statusTweetDAO.obtenerContadorEntradasDelTweetEnBD(tweetBean.getId()); if (count == 0) { statusTweetDAO.save(tweetBean); userMentionDAO.saveAll(tweetBean.getUsuariosMencionados()); urlDAO.saveAll(tweetBean.getUrls()); hashTagDAO.saveAll(tweetBean.getHashTags()); mediaDAO.saveAll(tweetBean.getMedias()); } else { logger.warn("El tweet con id: {}, ya se encontraba registrado: ", tweetBean.getId()); } } catch (Exception e) { logger.error("Error al grabar el tweet: ", e); } }
/* * (non-Javadoc) * @see uni.edu.pe.analisisSentimental.service.TweetManagerService#pasarTweetsProceso(java.util.List) */ public void pasarTweetsProceso(List<StatusTweet> lst) { logger.debug("<==== Inicio Method pasarTweetsProceso ====>"); List<TweetProcesado> ltp = null; if (CollectionUtils.isNotEmpty(lst)) { TweetProcesado tp = null; ltp = new ArrayList<TweetProcesado>(); for (StatusTweet st : lst) { tp = new TweetProcesado(); tp.setIdTweet(st.getId()); tp.setTextoActual(st.getMensaje()); tp.setFechaHoraInicio(new Date()); tp.setFechaHoraFin(null); tp.setCodOpinionWeb(null); tp.setCodOpinionMensaje(null); tp.setCodOpinionTwitter(null); tp.setCodFaseTwitter(COD_FASE_INICIO_PROCESO); tp.setCodFaseWeb(COD_FASE_PROCESO_NO_INICIADO_WEB); tp.setFlagHabilitado(FLAG_HABILITADO); ltp.add(tp); } statusTweetDAO.updatePasadosProcesoBatch(lst); tweetProcesadoDAO.saveAllBatch(ltp); } }
/* * (non-Javadoc) * @see uni.edu.pe.analisisSentimental.service.TweetManagerService#obtenerTweetsPorProcesar() */ public List<StatusTweet> obtenerTweetsPorProcesar(String codFinData) { logger.debug("<==== Inicio Method obtenerTweetsPorProcesar ====>"); return statusTweetDAO.obtenerTweetsPorProcesar(codFinData); }