Class ImpressionService


  • public class ImpressionService
    extends java.lang.Object
    This service is responsible to record/track, aggregate and send recommendations seen/printed to the users.
    • Field Detail

      • aggregationTimeWindow

        protected long aggregationTimeWindow
      • readBatchSize

        protected int readBatchSize
      • sendBatchSize

        protected int sendBatchSize
    • Constructor Detail

      • ImpressionService

        public ImpressionService()
    • Method Detail

      • aggregateImpressions

        public void aggregateImpressions()
        Aggregate individual impressions, save the aggregated impressions and delete the individual impressions. Exceptions must be handles by the caller.
      • aggregateImpressionsByScenario

        protected java.util.List<SAPRecoImpressionAggrModel> aggregateImpressionsByScenario​(java.util.List<SAPRecoImpressionModel> impressionsList)
        Aggregates impressions by scenario and aggregationTimeStamp
        Aggregation timestamp is the midpoint of the time window based on the current time
        e.g.
        Current time = 1:04:32.512
        Time window = 5 minutes
        AggregatedTimeStamp = 1:02:30 (midpoint between 1:00 and 1:05)
        Parameters:
        impressionsList - List of SAPRecoImpressionModel
        Returns:
        aggregatedImpressionsList
      • calcMidTimeStamp

        protected long calcMidTimeStamp​(long datetime)
      • saveImpression

        public void saveImpression​(ImpressionContext impressionContext)
        Save individual impressions when UI component is viewed
        Parameters:
        impressionContext - the impression data to save
      • sendAggregatedImpressions

        public void sendAggregatedImpressions()
        Get aggregated impressions for sending via oData.
        If successfully sent, delete it. If sending failed, keep it for next time
      • setAggregationTimeWindow

        public void setAggregationTimeWindow​(long aggregationTimeWindow)
      • setModelService

        public void setModelService​(ModelService modelService)
      • setODataService

        public void setODataService​(ODataService oDataService)
      • setReadBatchSize

        public void setReadBatchSize​(int readBatchSize)
      • setRecommendationBufferService

        public void setRecommendationBufferService​(RecommendationBufferService recommendationBufferService)
      • setSendBatchSize

        public void setSendBatchSize​(int sendBatchSize)