Interface IJavaDataSetRegistrationDropboxV2

  • All Superinterfaces:
    ch.ethz.cisd.hotdeploy.Plugin
    All Known Implementing Classes:
    AbstractJavaDataSetRegistrationDropboxV2, JythonAsJavaDataSetRegistrationDropboxV2Wrapper

    public interface IJavaDataSetRegistrationDropboxV2
    extends ch.ethz.cisd.hotdeploy.Plugin
    The interface that V2 dropboxes must implement. Defines the process method, which is called to handle new data in the dropbox's incoming folder, and various event methods called as the registration process progresses.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean isRetryFunctionDefined()
      Is a function defined that can be used to check if a failed registration should be retried? Primarily for use implementations of this interface that dispatch to dynamic languages.
      void postMetadataRegistration​(ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext context)
      Invoked just after the metadata is registered with the openBIS AS.
      void postStorage​(ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext context)
      Invoked after the data has been stored in its final location on the file system and the storage has been confirmed with the AS.
      void preMetadataRegistration​(ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext context)
      Invoked just before the metadata is registered with the openBIS AS.
      void process​(IDataSetRegistrationTransactionV2 transaction)
      Invoked when new data is found in the incoming folder.
      void rollbackPreRegistration​(ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext context, java.lang.Throwable throwable)
      Invoked if the transaction is rolledback before the metadata is registered with the openBIS AS.
      boolean shouldRetryProcessing​(ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext context, java.lang.Exception problem)
      Given the problem with registration, should it be retried?
    • Method Detail

      • process

        void process​(IDataSetRegistrationTransactionV2 transaction)
        Invoked when new data is found in the incoming folder. Implements the logic of registering and modifying entities.
        Parameters:
        transaction - The transaction that offers methods for registering and modifying entities and performing operations on the file system.
      • preMetadataRegistration

        void preMetadataRegistration​(ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext context)
        Invoked just before the metadata is registered with the openBIS AS. Gives dropbox implementations an opportunity to perform additional operations. If an exception is thrown in this method, the transaction is rolledback.
        Parameters:
        context - Context of the registration. Offers access to the global state and persistent map.
      • rollbackPreRegistration

        void rollbackPreRegistration​(ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext context,
                                     java.lang.Throwable throwable)
        Invoked if the transaction is rolledback before the metadata is registered with the openBIS AS.
        Parameters:
        context - Context of the registration. Offers access to the global state and persistent map.
        throwable - The throwable that triggered rollback.
      • postMetadataRegistration

        void postMetadataRegistration​(ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext context)
        Invoked just after the metadata is registered with the openBIS AS. Gives dropbox implementations an opportunity to perform additional operations. If an exception is thrown in this method, it is logged but otherwise ignored.
        Parameters:
        context - Context of the registration. Offers access to the global state and persistent map.
      • postStorage

        void postStorage​(ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext context)
        Invoked after the data has been stored in its final location on the file system and the storage has been confirmed with the AS.
        Parameters:
        context - Context of the registration. Offers access to the global state and persistent map.
      • isRetryFunctionDefined

        boolean isRetryFunctionDefined()
        Is a function defined that can be used to check if a failed registration should be retried? Primarily for use implementations of this interface that dispatch to dynamic languages.
        Returns:
        true shouldRetryProcessing is defined, false otherwise.
      • shouldRetryProcessing

        boolean shouldRetryProcessing​(ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext context,
                                      java.lang.Exception problem)
                               throws ch.systemsx.cisd.common.exceptions.NotImplementedException
        Given the problem with registration, should it be retried?
        Parameters:
        context - Context of the registration. Offers access to the global state and persistent map.
        problem - The exception that caused the registration to fail.
        Returns:
        true if the registration should be retried.
        Throws:
        ch.systemsx.cisd.common.exceptions.NotImplementedException