public TopSecondDegreeByCountResponse generateRecommendationFromNodeInfo()

in graphjet-core/src/main/java/com/twitter/graphjet/algorithms/counting/tweet/TopSecondDegreeByCountForTweet.java [152:197]


  public TopSecondDegreeByCountResponse generateRecommendationFromNodeInfo(
    TopSecondDegreeByCountRequestForTweet request) {
    int numTweetResults = 0;
    int numHashtagResults = 0;
    int numUrlResults = 0;

    List<RecommendationInfo> recommendations = new ArrayList<>();

    if (request.getRecommendationTypes().contains(RecommendationType.TWEET)) {
      List<RecommendationInfo> tweetRecommendations =
        TopSecondDegreeByCountTweetRecsGenerator.generateTweetRecs(
          request,
          super.nodeInfosAfterFiltering);
      numTweetResults = tweetRecommendations.size();
      recommendations.addAll(tweetRecommendations);
    }

    if (request.getRecommendationTypes().contains(RecommendationType.HASHTAG)) {
      List<RecommendationInfo> hashtagRecommendations =
        TopSecondDegreeByCountTweetMetadataRecsGenerator.generateTweetMetadataRecs(
          request,
          super.nodeInfosAfterFiltering,
          RecommendationType.HASHTAG);
      numHashtagResults = hashtagRecommendations.size();
      recommendations.addAll(hashtagRecommendations);
    }

    if (request.getRecommendationTypes().contains(RecommendationType.URL)) {
      List<RecommendationInfo> urlRecommendations =
        TopSecondDegreeByCountTweetMetadataRecsGenerator.generateTweetMetadataRecs(
          request,
          super.nodeInfosAfterFiltering,
          RecommendationType.URL);
      numUrlResults = urlRecommendations.size();
      recommendations.addAll(urlRecommendations);
    }

    LOG.info(getResultLogMessage(request)
      + ", numTweetResults = " + numTweetResults
      + ", numHashtagResults = " + numHashtagResults
      + ", numUrlResults = " + numUrlResults
      + ", totalResults = " + (numTweetResults + numHashtagResults + numUrlResults)
    );

    return new TopSecondDegreeByCountResponse(recommendations, topSecondDegreeByCountStats);
  }