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

    Modifier and Type
    Method
    Description
    boolean
    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
    Invoked when new data is found in the incoming folder.
    void
    rollbackPreRegistration(ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext context, 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, Exception problem)
    Given the problem with registration, should it be retried?
  • Method Details

    • 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, 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, 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