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