/*
  * (non-Javadoc)
  * @see org.encuestame.core.service.imp.IStatisticsService#getTotalSocialLinksbyHashTagUsageAndDateRangeListGraph(java.lang.String, org.encuestame.utils.enums.SearchPeriods, javax.servlet.http.HttpServletRequest)
  */
 @Override
 public List<HashTagListGraphData> getTotalSocialLinksbyHashTagUsageAndDateRangeListGraph(
     String tagName, SearchPeriods period, HttpServletRequest request)
     throws EnMeSearchException, EnMeNoResultsFoundException {
   List<HashTagListGraphData> tagDetailStatsBySocial = new ArrayList<HashTagListGraphData>();
   List<ItemStatDetail> tpSocialSavePublishedDetail = new ArrayList<ItemStatDetail>();
   List<TweetPollSavedPublishedStatus> tpSavedPublished =
       new ArrayList<TweetPollSavedPublishedStatus>();
   if (period == null) {
     throw new EnMeSearchException("search params required.");
   } else {
     final List<TweetPoll> tpolls =
         getTweetPollsByHashTag(tagName, null, null, TypeSearchResult.HASHTAG, period);
     for (TweetPoll tweetPoll : tpolls) {
       final ItemStatDetail statDetail = new ItemStatDetail();
       tpSavedPublished =
           getTweetPollDao()
               .getSocialLinksByTypeAndDateRange(
                   tweetPoll, null, null, TypeSearchResult.TWEETPOLL);
       statDetail.setDate(tweetPoll.getCreateDate());
       statDetail.setItemId(Long.valueOf(tpSavedPublished.size()));
       // FIXME: itemId should be the id of something, now store a "total" value.
       // tpSocialSavePublishedDetail.addAll(ConvertDomainBean.convertTweetPollSavedPublishedStatusListToItemDetailBean(tpSavedPublished));
       tpSocialSavePublishedDetail.add(statDetail);
     }
     this.removeDuplicatleItemOutOfRange(tpSocialSavePublishedDetail, period.toDays());
     tagDetailStatsBySocial.addAll(
         this.groupListItemStatDetail(tpSocialSavePublishedDetail, period, request));
     return tagDetailStatsBySocial;
   }
 }
 /**
  * @param itemList
  * @param period
  * @param request
  * @return
  * @throws EnMeNoResultsFoundException
  * @throws EnMeSearchException
  */
 private List<HashTagListGraphData> groupListItemStatDetail(
     final List<ItemStatDetail> itemList,
     final SearchPeriods period,
     final HttpServletRequest request)
     throws EnMeNoResultsFoundException, EnMeSearchException {
   final List<HashTagListGraphData> tagDetailStatsCompare = new ArrayList<HashTagListGraphData>();
   for (ItemStatDetail item : itemList) {
     int month = DateUtil.getValueCurrentMonthOfTheYear(item.getDate());
     int year = DateUtil.getValueCurrentYear(item.getDate());
     int day = DateUtil.getValueCurrentDateOfTheMonths(item.getDate());
     Long value = item.getItemId();
     tagDetailStatsCompare.add(this.createHastagItemDetailGraph(year, value, month, day));
   }
   return this.groupHashTagListGraphData(tagDetailStatsCompare);
 }