Class DefaultNotificationListener

    • Field Detail

      • NOTIFICATION_INDEX_PROPERTY

        public static final java.lang.String NOTIFICATION_INDEX_PROPERTY
        Property referencing a notification index config section.
        See Also:
        Constant Field Values
      • INDEX_FILE_PROPERTY

        public static final java.lang.String INDEX_FILE_PROPERTY
        Property for listener index file
        See Also:
        Constant Field Values
      • CLEANUP_INTERVAL_PROPERTY

        public static final java.lang.String CLEANUP_INTERVAL_PROPERTY
        How long to wait until checking for expired notifications/products.
        See Also:
        Constant Field Values
      • DEFAULT_CLEANUP_INTERVAL

        public static final java.lang.String DEFAULT_CLEANUP_INTERVAL
        Default time to wait for cleanup. 1h
        See Also:
        Constant Field Values
      • CONCURRENT_PRODUCTS_PROPERTY

        public static final java.lang.String CONCURRENT_PRODUCTS_PROPERTY
        Property for concurrentProducts
        See Also:
        Constant Field Values
      • DEFAULT_CONCURRENT_PRODUCTS

        public static final java.lang.String DEFAULT_CONCURRENT_PRODUCTS
        How many products to process at a time.
        See Also:
        Constant Field Values
      • PROCESS_DUPLICATES

        public static final java.lang.String PROCESS_DUPLICATES
        Whether or not to process products more than once.
        See Also:
        Constant Field Values
      • DEFAULT_PROCESS_DUPLICATES

        public static final java.lang.String DEFAULT_PROCESS_DUPLICATES
        Default for process duplicates. False
        See Also:
        Constant Field Values
      • INCLUDE_PATHS_PROPERTY

        public static final java.lang.String INCLUDE_PATHS_PROPERTY
        Filter products based on content paths they contain.
        See Also:
        Constant Field Values
      • EXCLUDE_PATHS_PROPERTY

        public static final java.lang.String EXCLUDE_PATHS_PROPERTY
        Property for exludePaths
        See Also:
        Constant Field Values
    • Constructor Detail

      • DefaultNotificationListener

        public DefaultNotificationListener()
    • Method Detail

      • onProduct

        public void onProduct​(Product product)
                       throws java.lang.Exception
        Called by onNotification when a product is retrieved.
        Parameters:
        product - a product whose notification was accepted.
        Throws:
        java.lang.Exception - if error occurs
      • onBeforeProcessNotification

        protected boolean onBeforeProcessNotification​(Notification notification)
                                               throws java.lang.Exception
        Called just before this listener processes a notification.
        Parameters:
        notification - notification about to be processed.
        Returns:
        true to process the notification, false to skip
        Throws:
        java.lang.Exception - if error occurs
      • onBeforeProcessProduct

        protected boolean onBeforeProcessProduct​(Product product)
                                          throws java.lang.Exception
        Called after a product has been downloaded, but before onProduct is called. Sometimes a listener cannot tell whether it should process a product until its contents are available. This is where the "includePaths" and "excludePaths" are evaluated.
        Parameters:
        product - product about to be processed.
        Returns:
        true to process the product, false to skip
        Throws:
        java.lang.Exception - if error occurs
      • onAfterProcessNotification

        protected void onAfterProcessNotification​(Notification notification)
                                           throws java.lang.Exception
        Called when this listener has successfully processed a notification.
        Parameters:
        notification - notification that was processed.
        Throws:
        java.lang.Exception - if error occurs
      • onExpiredNotification

        public void onExpiredNotification​(Notification notification)
                                   throws java.lang.Exception
        Called when an expired notification is being removed from the index.
        Specified by:
        onExpiredNotification in interface NotificationIndexCleanup.Listener
        Parameters:
        notification - to be removed
        Throws:
        java.lang.Exception - if error occurs
      • cleanup

        public void cleanup()
                     throws java.lang.Exception
        Periodic cleanup task. Called every cleanupInterval milliseconds.
        Throws:
        java.lang.Exception
      • configure

        public void configure​(Config config)
                       throws java.lang.Exception
        Description copied from class: AbstractListener
        Read the include and exclude types from config.
        Specified by:
        configure in interface Configurable
        Overrides:
        configure in class AbstractListener
        Parameters:
        config - the Config object with settings.
        Throws:
        java.lang.Exception - if configuration exceptions occur.
      • getNotificationIndex

        public NotificationIndex getNotificationIndex()
        Returns:
        notificationIndex
      • setNotificationIndex

        public void setNotificationIndex​(NotificationIndex notificationIndex)
        Parameters:
        notificationIndex - to set
      • getCleanupInterval

        public java.lang.Long getCleanupInterval()
        Returns:
        cleanupInterval
      • setCleanupInterval

        public void setCleanupInterval​(java.lang.Long cleanupInterval)
        Parameters:
        cleanupInterval - long to set
      • getConcurrentProducts

        public int getConcurrentProducts()
        Returns:
        concurrentProducts
      • setConcurrentProducts

        public void setConcurrentProducts​(int concurrentProducts)
        Parameters:
        concurrentProducts - int to set
      • isProcessDuplicates

        public boolean isProcessDuplicates()
        Returns:
        processDuplicates
      • setProcessDuplicates

        public void setProcessDuplicates​(boolean processDuplicates)
        Parameters:
        processDuplicates - boolean to set
      • getIncludePaths

        public java.util.ArrayList<java.lang.String> getIncludePaths()
        Returns:
        the includePaths
      • getExcludePaths

        public java.util.ArrayList<java.lang.String> getExcludePaths()
        Returns:
        the excludePaths