Class MockUnclusteredNoopIngestionHistory

  • All Implemented Interfaces:
    IngestionHistoryApi, java.io.Closeable, java.lang.AutoCloseable

    public class MockUnclusteredNoopIngestionHistory
    extends java.lang.Object
    implements IngestionHistoryApi, java.io.Closeable
    Noop ingestion history for test scanners with incrementalModeActivated set to false.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void childCreated​(java.lang.String namespace, java.lang.String key, java.lang.String childKey)
      Marks the childKey as one created by the record associated with key.
      void clear​(java.lang.String namespace)
      Removes all historical information associated with the namespace.
      void close()  
      java.lang.Iterable<java.lang.String> getChildren​(java.lang.String namespace, java.lang.String key)
      Returns an Iterable of the children that were marked as created via the IngestionHistoryApi.childCreated(String, String, String) method.
      java.util.Date getPreviousStartTime​(java.lang.String namespace)
      Returns the start time for the last session for this namespace.
      byte[] getSignature​(java.lang.String namespace, java.lang.String key)
      Returns the last signature associated with the key or null if no signature is present.
      java.util.Date getStartTime​(java.lang.String namespace)
      Returns the start time of the current session for this namespace.
      java.lang.Iterable<java.lang.String> getUnvisited​(java.lang.String namespace)
      Returns an Iterable of the keys that have not been visited in the current session.
      java.lang.Iterable<java.lang.String> getUnvisited​(java.lang.String namespace, java.util.Date since)
      Returns an Iterable of the keys that have not been visited since the time since.
      void removeDocumentByKey​(java.lang.String namespace, java.lang.String key)
      Removes a document using the key
      java.util.Date startSession​(java.lang.String namespace)
      Starts a new session for the namespace.
      void visit​(java.lang.String namespace, java.lang.String key, byte[] signature)
      Records the key as having been visited updates its associated signature.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MockUnclusteredNoopIngestionHistory

        public MockUnclusteredNoopIngestionHistory()
    • Method Detail

      • getStartTime

        public java.util.Date getStartTime​(java.lang.String namespace)
                                    throws AttivioException
        Description copied from interface: IngestionHistoryApi
        Returns the start time of the current session for this namespace. The return value is the same as the value returned by the last IngestionHistoryApi.startSession(String) call for this namespace. If no session has ever been started, returns null.
        Specified by:
        getStartTime in interface IngestionHistoryApi
        Parameters:
        namespace - a namespace to use (e.g., connector or source name)
        Returns:
        the start time for this namespace
        Throws:
        AttivioException
      • getPreviousStartTime

        public java.util.Date getPreviousStartTime​(java.lang.String namespace)
                                            throws AttivioException
        Description copied from interface: IngestionHistoryApi
        Returns the start time for the last session for this namespace. If no previous session exists, returns null.
        Specified by:
        getPreviousStartTime in interface IngestionHistoryApi
        Parameters:
        namespace - a namespace to use (e.g., connector or source name)
        Returns:
        previous start time
        Throws:
        AttivioException
      • visit

        public void visit​(java.lang.String namespace,
                          java.lang.String key,
                          byte[] signature)
                   throws AttivioException
        Description copied from interface: IngestionHistoryApi
        Records the key as having been visited updates its associated signature. The signature is commonly used to detect whether an object has changed since the last ingestion (by storing a checksum or message digest of the content). The visit time is also recorded.
        Specified by:
        visit in interface IngestionHistoryApi
        Parameters:
        namespace - a namespace to use (e.g., connector or source name)
        key - a record key or document ID.
        signature - an arbitrary value indicating a signature to associate with the key, may be null.
        Throws:
        AttivioException
      • getSignature

        public byte[] getSignature​(java.lang.String namespace,
                                   java.lang.String key)
                            throws AttivioException
        Description copied from interface: IngestionHistoryApi
        Returns the last signature associated with the key or null if no signature is present.
        Specified by:
        getSignature in interface IngestionHistoryApi
        Parameters:
        namespace - a namespace to use (e.g., connector or source name)
        key - a record key or document ID.
        Returns:
        the signature associated with the key
        Throws:
        AttivioException
      • getUnvisited

        public java.lang.Iterable<java.lang.String> getUnvisited​(java.lang.String namespace)
                                                          throws AttivioException
        Description copied from interface: IngestionHistoryApi
        Returns an Iterable of the keys that have not been visited in the current session. The unvisited keys are those for which there has been a IngestionHistoryApi.visit(String, String, byte[]) call at some point, but not one since the last IngestionHistoryApi.startSession(String) call. This allows a connector to record visits each time it runs and get a list of documents that are not present on subsequent runs. Since these documents have been removed from the source system, the connector may decide to remove them from the Attivio system.

        A call to remove() on the returned iterator will remove the visit and signature information from the history for the associated key. All child associations (see IngestionHistoryApi.childCreated(String, String, String) of removed keys are also removed.

        Specified by:
        getUnvisited in interface IngestionHistoryApi
        Parameters:
        namespace - a namespace to use (e.g., connector or source name)
        Returns:
        a Iterable of unvisited keys
        Throws:
        AttivioException
      • getUnvisited

        public java.lang.Iterable<java.lang.String> getUnvisited​(java.lang.String namespace,
                                                                 java.util.Date since)
                                                          throws AttivioException
        Description copied from interface: IngestionHistoryApi
        Returns an Iterable of the keys that have not been visited since the time since. The unvisited keys are those for which there has been a IngestionHistoryApi.visit(String, String, byte[]) call at some point, but not one since the time since. This allows a connector to record visits each time it runs and get a list of documents that are not present on subsequent runs. Since these documents have been removed from the source system, the connector may decide to remove them from the Attivio system.

        A call to remove() on the returned iterator will remove the visit and signature information from the history for the associated key. All child associations (see IngestionHistoryApi.childCreated(String, String, String) of removed keys are also removed.

        Specified by:
        getUnvisited in interface IngestionHistoryApi
        Parameters:
        namespace - a namespace to use (e.g., connector or source name)
        since - the mininum visit date to consider a record as visited.
        Returns:
        an Iterable of unvisited keys
        Throws:
        AttivioException
      • childCreated

        public void childCreated​(java.lang.String namespace,
                                 java.lang.String key,
                                 java.lang.String childKey)
                          throws AttivioException
        Description copied from interface: IngestionHistoryApi
        Marks the childKey as one created by the record associated with key. All children associated with key are returned by the Iterable returned by a subsequent call to IngestionHistoryApi.getChildren(String, String). The expectation is that the child document has not previously been created. If the signature of the parent document id has changed remove the children documents and add the ones found in the new version of the parent document. Adding a child that already existed will have undefined consequences.

        This does not support children of children, only supports parent document and it's children. Children of children will have undefined consequences.

        Specified by:
        childCreated in interface IngestionHistoryApi
        Parameters:
        namespace - a namespace to use (e.g., connector or source name)
        key - a record key or document ID.
        childKey - a record key or document ID.
        Throws:
        AttivioException
      • getChildren

        public java.lang.Iterable<java.lang.String> getChildren​(java.lang.String namespace,
                                                                java.lang.String key)
                                                         throws AttivioException
        Description copied from interface: IngestionHistoryApi
        Returns an Iterable of the children that were marked as created via the IngestionHistoryApi.childCreated(String, String, String) method. When using the returned Iterable and removing children then the expectation is that all the children are removed.
        Specified by:
        getChildren in interface IngestionHistoryApi
        Parameters:
        namespace - a namespace to use (e.g., connector or source name)
        key - a record key or document ID.
        Returns:
        an Iterable of childKeys for the key
        Throws:
        AttivioException
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException