Class DataSetRegistrationTransaction<T extends ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation>
- java.lang.Object
-
- ch.systemsx.cisd.etlserver.registrator.api.v2.impl.DataSetRegistrationTransaction<T>
-
- All Implemented Interfaces:
IDataSetRegistrationTransactionV2,ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext.IHolder,ch.systemsx.cisd.etlserver.registrator.v2.DataSetStorageAlgorithmRunner.IDataSetInApplicationServerRegistrator<T>,ch.systemsx.cisd.etlserver.registrator.v2.DataSetStorageAlgorithmRunner.IRollbackDelegate<T>
public class DataSetRegistrationTransaction<T extends ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation> extends java.lang.Object implements IDataSetRegistrationTransactionV2, ch.systemsx.cisd.etlserver.registrator.v2.DataSetStorageAlgorithmRunner.IRollbackDelegate<T>, ch.systemsx.cisd.etlserver.registrator.v2.DataSetStorageAlgorithmRunner.IDataSetInApplicationServerRegistrator<T>, ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext.IHolder
The implementation of a transaction. This class is designed to be used in one thread.A transaction tracks commands that are invoked on it so they can be reverted (rolledback) if necessary.
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.apache.log4j.LoggeroperationLogstatic java.lang.StringSUCCESS_MESSAGE
-
Constructor Summary
Constructors Constructor Description DataSetRegistrationTransaction(java.io.File rollBackStackParentFolder, java.io.File workingDirectory, java.io.File stagingDirectory, ch.systemsx.cisd.etlserver.registrator.v2.DataSetRegistrationService<T> registrationService, ch.systemsx.cisd.etlserver.registrator.v2.IDataSetRegistrationDetailsFactory<T> registrationDetailsFactory, java.lang.String userSessionToken)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidassignRoleToSpace(ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleCode role, ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISpaceImmutable space, java.util.List<java.lang.String> userIds, java.util.List<java.lang.String> groupCodes)Give users and/or groups access privileges to a space.voidclose()booleancommit()Commit the transaction.IDataSetcreateNewDataSet()Create a new data set for registration in openBIS.IDataSetcreateNewDataSet(ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationDetails<T> registrationDetails)IDataSetcreateNewDataSet(ch.systemsx.cisd.etlserver.registrator.v2.IDataSetRegistrationDetailsFactory<T> factory, java.lang.String dataSetType)IDataSetcreateNewDataSet(java.lang.String dataSetType)Create a new data set with the specified code.IDataSetcreateNewDataSet(java.lang.String dataSetType, ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetKind datasetKindOrNull)IDataSetcreateNewDataSet(java.lang.String dataSetType, java.lang.String dataSetCode)Create a new data set with the specified type and code.IDataSetcreateNewDataSet(java.lang.String dataSetType, java.lang.String dataSetCode, ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetKind datasetKindOrNull)java.lang.StringcreateNewDirectory(IDataSet dst, java.lang.String dirName)Create a new directory and return the path.IExperimentcreateNewExperiment(java.lang.String experimentIdentifierString, java.lang.String experimentTypeCode)Create a new experiment to register with the openBIS AS.java.lang.StringcreateNewFile(IDataSet dst, java.lang.String fileName)Create a new empty file and return the path.java.lang.StringcreateNewFile(IDataSet dst, java.lang.String dstInDataset, java.lang.String fileName)Create a new empty file and return the path.java.lang.StringcreateNewLink(IDataSet dst, java.lang.String dstInDataset, java.lang.String linkName, java.lang.String linkTarget)Create a new symbolic link and return the path.IMaterialcreateNewMaterial(java.lang.String materialCode, java.lang.String materialType)Create a new material to register with the openBIS AS.IMetaprojectcreateNewMetaproject(java.lang.String name, java.lang.String description)Creates the new metaproject for the current user.IMetaprojectcreateNewMetaproject(java.lang.String name, java.lang.String description, java.lang.String ownerId)Creates the new metaproject for the specified user.IProjectcreateNewProject(java.lang.String projectIdentifier)Create a new project to register with the openBIS AS.ISamplecreateNewProjectSampleWithGeneratedCode(java.lang.String projectIdentifier, java.lang.String sampleTypeCode)Create a new project sample to register with the openBIS AS.ISamplecreateNewSample(java.lang.String sampleIdentifierString, java.lang.String sampleTypeCode)Create a new sample to register with the openBIS AS.ISamplecreateNewSampleWithGeneratedCode(java.lang.String spaceCode, java.lang.String sampleTypeCode)Create a new sample to register with the openBIS AS.ISpacecreateNewSpace(java.lang.String spaceCode, java.lang.String spaceAdminUserIdOrNull)Create a new space to register with the openBIS AS.IVocabularyTermcreateNewVocabularyTerm()Creates a new vocabulary term, which has to be assigned to aIVocabulary.voiddeleteFile(java.lang.String src)ch.systemsx.cisd.openbis.generic.shared.basic.EntityOperationsStatedidEntityOperationsSucceeded(ch.systemsx.cisd.openbis.generic.shared.basic.TechId registrationId)voiddidRollbackStorageAlgorithmRunner(ch.systemsx.cisd.etlserver.registrator.v2.DataSetStorageAlgorithmRunner<T> algorithm, java.lang.Throwable ex, ch.systemsx.cisd.etlserver.registrator.v2.IDataSetOnErrorActionDecision.ErrorType errorType)Delegate method called by theDataSetStorageAlgorithmRunner.static ch.systemsx.cisd.etlserver.registrator.api.impl.RollbackStack[]findRollbackStacks(java.io.File rollBackStackParentFolder)java.io.InputStreamgetAttachmentContent(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IExperimentImmutable experiment, java.lang.String fileName, java.lang.Integer versionOrNull)Returns an experiment attachment content.java.io.InputStreamgetAttachmentContent(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IProjectImmutable project, java.lang.String fileName, java.lang.Integer versionOrNull)Returns a project attachment content.java.io.InputStreamgetAttachmentContent(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISampleImmutable sample, java.lang.String fileName, java.lang.Integer versionOrNull)Returns a sample attachment content.ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.authorization.IAuthorizationServicegetAuthorizationService()net.lemnik.eodsql.DynamicTransactionQuerygetDatabaseQuery(java.lang.String dataSourceName)Gets a database query object for the data source with the specified name.ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IDataSetImmutablegetDataSet(java.lang.String dataSetCode)Get a data set from the openBIS AS.IDataSetUpdatablegetDataSetForUpdate(java.lang.String dataSetCode)Get a data set from the openBIS AS for the purpose of modifying it.ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IExperimentImmutablegetExperiment(java.lang.String experimentIdentifierString)Get an experiment from the openBIS AS.IExperimentUpdatablegetExperimentForUpdate(java.lang.String experimentIdentifierString)Get an experiment from the openBIS AS for the purpose of modifying it.ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IExternalDataManagementSystemImmutablegetExternalDataManagementSystem(java.lang.String externalDataManagementSystemCode)Get an external data management system from the openBIS AS.ch.systemsx.cisd.etlserver.TopLevelDataSetRegistratorGlobalStategetGlobalState()java.io.FilegetIncoming()Returns the file representing the logical incoming file.ch.systemsx.cisd.etlserver.registrator.DataSetFilegetIncomingDataSetFile()IDSSRegistrationLoggergetLogger()Returns the logger object that logs messages to openbis operation log and data store server registration logs.ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IMaterialImmutablegetMaterial(java.lang.String identifier)Get a material from the openBIS AS.ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IMaterialImmutablegetMaterial(java.lang.String materialCode, java.lang.String materialType)Get a material from the openBIS AS.IMaterialgetMaterialForUpdate(java.lang.String identifier)Get a material from the openBIS AS for the purpose of modifying it.IMaterialgetMaterialForUpdate(java.lang.String materialCode, java.lang.String materialType)Get a material from the openBIS AS for the purpose of modifying it.IMetaprojectgetMetaproject(java.lang.String name)Only allowed when the user is available.IMetaprojectgetMetaproject(java.lang.String name, java.lang.String ownerId)Only allowed when the user is not available.java.lang.StringgetOpenBisServiceSessionToken()Returns the currently used session token by the openBIS servicech.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IProjectImmutablegetProject(java.lang.String projectIdentifier)Get a project from the openBIS AS.IProjectgetProjectForUpdate(java.lang.String projectIdentifier)Get an project from the openBIS AS for the purpose of modifying it.ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContextgetRegistrationContext()Return a registration context object which can be used to store information that needs to be accessed through the registration process.ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISampleImmutablegetSample(java.lang.String sampleIdentifierString)Get a sample from the openBIS AS.ISamplegetSampleForUpdate(java.lang.String sampleIdentifierString)Get a sample from the openBIS AS for the purpose of modifying it.ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISearchServicegetSearchService()Retrieve the search service for this transaction.ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISearchServicegetSearchServiceFilteredForUser(java.lang.String userId)Retrieve the search service for this transaction.ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISearchServicegetSearchServiceUnfiltered()Retrieve the search service for this transaction.java.util.Map<java.lang.String,java.lang.String>getServerInformation()Returns information about the openBIS server.ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISpaceImmutablegetSpace(java.lang.String spaceCode)Get a space from the openBIS AS.ch.systemsx.cisd.etlserver.registrator.recovery.IDataSetStorageRecoveryManagergetStorageRecoveryManager()java.lang.StringgetUserId()Get the id of the user on whose behalf this registration transaction is performed.ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IVocabularyImmutablegetVocabulary(java.lang.String code)Get the read-only vocabulary with given codeIVocabularygetVocabularyForUpdate(java.lang.String code)Get the vocabulary with given codebooleanisCommitted()booleanisCommittedOrRolledback()booleanisRecoveryPending()booleanisRolledback()java.util.List<ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IAttachmentImmutable>listAttachments(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IExperimentImmutable experiment)Returns a list of experiment attachments with all versions.java.util.List<ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IAttachmentImmutable>listAttachments(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IProjectImmutable project)Returns a list of project attachments with all versions.java.util.List<ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IAttachmentImmutable>listAttachments(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISampleImmutable sample)Returns a list of sample attachments with all versions.voidlogInfo(java.lang.Object message)Write something to the operation log.IDataSetUpdatablemakeDataSetMutable(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IDataSetImmutable dataSet)Given an immutable data set, make it mutable.IExperimentUpdatablemakeExperimentMutable(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IExperimentImmutable experiment)Given an immutable experiment, make it mutable.IMaterialmakeMaterialMutable(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IMaterialImmutable material)Given an immutable material, make it mutable.IProjectmakeProjectMutable(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IProjectImmutable project)Given an immutable project, make it mutable.ISamplemakeSampleMutable(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISampleImmutable sample)Given an immutable sample, make it mutable.voidmarkReadyForRecovery(ch.systemsx.cisd.etlserver.registrator.v2.DataSetStorageAlgorithmRunner<T> algorithm, java.lang.Throwable ex)java.lang.StringmoveFile(java.lang.String src, IDataSet dst)Move a file from into the root of a data set.java.lang.StringmoveFile(java.lang.String src, IDataSet dst, java.lang.String dstInDataset)Move a file to a specified location in a data set.ch.systemsx.cisd.openbis.generic.shared.dto.AtomicEntityOperationResultregisterDataSetsInApplicationServer(ch.systemsx.cisd.openbis.generic.shared.basic.TechId registrationId, java.util.List<ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetRegistrationInformation<T>> dataSetRegistrations)Delegate method called by theDataSetStorageAlgorithmRunner.voidrevokeRoleFromSpace(ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleCode role, ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISpaceImmutable space, java.util.List<java.lang.String> userIds, java.util.List<java.lang.String> groupCodes)Take away users and/or groups access privileges to a space.voidrollback()Rollback any commands that have been executed.static voidrollbackDeadTransactions(java.io.File rollBackStackParentFolder)Check if there are any uncompleted transactions and roll them back.voidsetUserId(java.lang.String userIdOrNull)Set the id of the user on whose behalf this registration transaction is performed.
-
-
-
Field Detail
-
SUCCESS_MESSAGE
public static final java.lang.String SUCCESS_MESSAGE
- See Also:
- Constant Field Values
-
operationLog
protected static final org.apache.log4j.Logger operationLog
-
-
Constructor Detail
-
DataSetRegistrationTransaction
public DataSetRegistrationTransaction(java.io.File rollBackStackParentFolder, java.io.File workingDirectory, java.io.File stagingDirectory, ch.systemsx.cisd.etlserver.registrator.v2.DataSetRegistrationService<T> registrationService, ch.systemsx.cisd.etlserver.registrator.v2.IDataSetRegistrationDetailsFactory<T> registrationDetailsFactory, java.lang.String userSessionToken)
-
-
Method Detail
-
findRollbackStacks
public static ch.systemsx.cisd.etlserver.registrator.api.impl.RollbackStack[] findRollbackStacks(java.io.File rollBackStackParentFolder)
-
rollbackDeadTransactions
public static void rollbackDeadTransactions(java.io.File rollBackStackParentFolder)
Check if there are any uncompleted transactions and roll them back. To be called during startup of a thread.
-
getOpenBisServiceSessionToken
public java.lang.String getOpenBisServiceSessionToken()
Description copied from interface:IDataSetRegistrationTransactionV2Returns the currently used session token by the openBIS service- Specified by:
getOpenBisServiceSessionTokenin interfaceIDataSetRegistrationTransactionV2
-
getLogger
public IDSSRegistrationLogger getLogger()
Description copied from interface:IDataSetRegistrationTransactionV2Returns the logger object that logs messages to openbis operation log and data store server registration logs.- Specified by:
getLoggerin interfaceIDataSetRegistrationTransactionV2
-
getUserId
public java.lang.String getUserId()
Description copied from interface:IDataSetRegistrationTransactionV2Get the id of the user on whose behalf this registration transaction is performed.- Specified by:
getUserIdin interfaceIDataSetRegistrationTransactionV2- Returns:
- A userId or null, if there is none.
-
setUserId
public void setUserId(java.lang.String userIdOrNull)
Description copied from interface:IDataSetRegistrationTransactionV2Set the id of the user on whose behalf this registration transaction is performed.- Specified by:
setUserIdin interfaceIDataSetRegistrationTransactionV2- Parameters:
userIdOrNull- The id of a user or null if this transaction should be performed as the system (etlserver).
-
createNewDataSet
public IDataSet createNewDataSet()
Description copied from interface:IDataSetRegistrationTransactionV2Create a new data set for registration in openBIS.- Specified by:
createNewDataSetin interfaceIDataSetRegistrationTransactionV2
-
createNewDataSet
public IDataSet createNewDataSet(java.lang.String dataSetType)
Description copied from interface:IDataSetRegistrationTransactionV2Create a new data set with the specified code.- Specified by:
createNewDataSetin interfaceIDataSetRegistrationTransactionV2
-
createNewDataSet
public IDataSet createNewDataSet(java.lang.String dataSetType, ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetKind datasetKindOrNull)
- Specified by:
createNewDataSetin interfaceIDataSetRegistrationTransactionV2
-
createNewDataSet
public IDataSet createNewDataSet(java.lang.String dataSetType, java.lang.String dataSetCode)
Description copied from interface:IDataSetRegistrationTransactionV2Create a new data set with the specified type and code.- Specified by:
createNewDataSetin interfaceIDataSetRegistrationTransactionV2
-
createNewDataSet
public IDataSet createNewDataSet(java.lang.String dataSetType, java.lang.String dataSetCode, ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetKind datasetKindOrNull)
- Specified by:
createNewDataSetin interfaceIDataSetRegistrationTransactionV2
-
createNewDataSet
public IDataSet createNewDataSet(ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationDetails<T> registrationDetails)
-
createNewDataSet
public IDataSet createNewDataSet(ch.systemsx.cisd.etlserver.registrator.v2.IDataSetRegistrationDetailsFactory<T> factory, java.lang.String dataSetType)
-
getDataSet
public ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IDataSetImmutable getDataSet(java.lang.String dataSetCode)
Description copied from interface:IDataSetRegistrationTransactionV2Get a data set from the openBIS AS. Returns null if the data set does not exist.- Specified by:
getDataSetin interfaceIDataSetRegistrationTransactionV2- Returns:
- A data set or null
-
getDataSetForUpdate
public IDataSetUpdatable getDataSetForUpdate(java.lang.String dataSetCode)
Description copied from interface:IDataSetRegistrationTransactionV2Get a data set from the openBIS AS for the purpose of modifying it. Returns null if the data set does not exist.- Specified by:
getDataSetForUpdatein interfaceIDataSetRegistrationTransactionV2- Returns:
- A data set or null
-
makeDataSetMutable
public IDataSetUpdatable makeDataSetMutable(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IDataSetImmutable dataSet)
Description copied from interface:IDataSetRegistrationTransactionV2Given an immutable data set, make it mutable.- Specified by:
makeDataSetMutablein interfaceIDataSetRegistrationTransactionV2- Returns:
- A data set
-
getSample
public ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISampleImmutable getSample(java.lang.String sampleIdentifierString)
Description copied from interface:IDataSetRegistrationTransactionV2Get a sample from the openBIS AS. Returns null if the sample does not exist.- Specified by:
getSamplein interfaceIDataSetRegistrationTransactionV2- Returns:
- A sample or null
-
getSampleForUpdate
public ISample getSampleForUpdate(java.lang.String sampleIdentifierString)
Description copied from interface:IDataSetRegistrationTransactionV2Get a sample from the openBIS AS for the purpose of modifying it. Returns null if the sample does not exist.- Specified by:
getSampleForUpdatein interfaceIDataSetRegistrationTransactionV2- Returns:
- A sample or null
-
makeSampleMutable
public ISample makeSampleMutable(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISampleImmutable sample)
Description copied from interface:IDataSetRegistrationTransactionV2Given an immutable sample, make it mutable.- Specified by:
makeSampleMutablein interfaceIDataSetRegistrationTransactionV2- Returns:
- A sample
-
getExperimentForUpdate
public IExperimentUpdatable getExperimentForUpdate(java.lang.String experimentIdentifierString)
Description copied from interface:IDataSetRegistrationTransactionV2Get an experiment from the openBIS AS for the purpose of modifying it.- Specified by:
getExperimentForUpdatein interfaceIDataSetRegistrationTransactionV2
-
makeExperimentMutable
public IExperimentUpdatable makeExperimentMutable(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IExperimentImmutable experiment)
Description copied from interface:IDataSetRegistrationTransactionV2Given an immutable experiment, make it mutable.- Specified by:
makeExperimentMutablein interfaceIDataSetRegistrationTransactionV2- Returns:
- An experiment
-
createNewSample
public ISample createNewSample(java.lang.String sampleIdentifierString, java.lang.String sampleTypeCode)
Description copied from interface:IDataSetRegistrationTransactionV2Create a new sample to register with the openBIS AS. The sample will have a permId.- Specified by:
createNewSamplein interfaceIDataSetRegistrationTransactionV2- Parameters:
sampleIdentifierString- The identifier for the new samplesampleTypeCode- The code of the type for the new sample
-
createNewSampleWithGeneratedCode
public ISample createNewSampleWithGeneratedCode(java.lang.String spaceCode, java.lang.String sampleTypeCode)
Description copied from interface:IDataSetRegistrationTransactionV2Create a new sample to register with the openBIS AS. The sample will have a permId and automatically created identifier.- Specified by:
createNewSampleWithGeneratedCodein interfaceIDataSetRegistrationTransactionV2- Parameters:
spaceCode- The space in which to create the sample identifier for the new samplesampleTypeCode- The code of the type for the new sample
-
createNewProjectSampleWithGeneratedCode
public ISample createNewProjectSampleWithGeneratedCode(java.lang.String projectIdentifier, java.lang.String sampleTypeCode)
Description copied from interface:IDataSetRegistrationTransactionV2Create a new project sample to register with the openBIS AS. The sample will have a permId and automatically created identifier.- Specified by:
createNewProjectSampleWithGeneratedCodein interfaceIDataSetRegistrationTransactionV2- Parameters:
projectIdentifier- The project in which to create the sample identifier for the new samplesampleTypeCode- The code of the type for the new sample
-
getExperiment
public ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IExperimentImmutable getExperiment(java.lang.String experimentIdentifierString)
Description copied from interface:IDataSetRegistrationTransactionV2Get an experiment from the openBIS AS.- Specified by:
getExperimentin interfaceIDataSetRegistrationTransactionV2
-
createNewExperiment
public IExperiment createNewExperiment(java.lang.String experimentIdentifierString, java.lang.String experimentTypeCode)
Description copied from interface:IDataSetRegistrationTransactionV2Create a new experiment to register with the openBIS AS. The experiment will have a permId.- Specified by:
createNewExperimentin interfaceIDataSetRegistrationTransactionV2- Parameters:
experimentIdentifierString- The identifier for the new experimentexperimentTypeCode- The code of the type for the new experiment
-
createNewProject
public IProject createNewProject(java.lang.String projectIdentifier)
Description copied from interface:IDataSetRegistrationTransactionV2Create a new project to register with the openBIS AS.- Specified by:
createNewProjectin interfaceIDataSetRegistrationTransactionV2- Parameters:
projectIdentifier- .
-
getProject
public ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IProjectImmutable getProject(java.lang.String projectIdentifier)
Description copied from interface:IDataSetRegistrationTransactionV2Get a project from the openBIS AS. Returns null if the project does not exist.- Specified by:
getProjectin interfaceIDataSetRegistrationTransactionV2- Returns:
- A project or null
-
getProjectForUpdate
public IProject getProjectForUpdate(java.lang.String projectIdentifier)
Description copied from interface:IDataSetRegistrationTransactionV2Get an project from the openBIS AS for the purpose of modifying it.- Specified by:
getProjectForUpdatein interfaceIDataSetRegistrationTransactionV2
-
makeProjectMutable
public IProject makeProjectMutable(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IProjectImmutable project)
Description copied from interface:IDataSetRegistrationTransactionV2Given an immutable project, make it mutable.- Specified by:
makeProjectMutablein interfaceIDataSetRegistrationTransactionV2- Returns:
- A mutable project.
-
createNewSpace
public ISpace createNewSpace(java.lang.String spaceCode, java.lang.String spaceAdminUserIdOrNull)
Description copied from interface:IDataSetRegistrationTransactionV2Create a new space to register with the openBIS AS.- Specified by:
createNewSpacein interfaceIDataSetRegistrationTransactionV2- Parameters:
spaceCode- the code of the spacespaceAdminUserIdOrNull- the user id of the person, who will receive space admin priviliges.
-
getSpace
public ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISpaceImmutable getSpace(java.lang.String spaceCode)
Description copied from interface:IDataSetRegistrationTransactionV2Get a space from the openBIS AS. Returns null if the space does not exist.- Specified by:
getSpacein interfaceIDataSetRegistrationTransactionV2- Returns:
- A space or null
-
getMaterial
public ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IMaterialImmutable getMaterial(java.lang.String materialCode, java.lang.String materialType)Description copied from interface:IDataSetRegistrationTransactionV2Get a material from the openBIS AS. Returns null if the material does not exist.- Specified by:
getMaterialin interfaceIDataSetRegistrationTransactionV2- Returns:
- A material or null
-
getMaterial
public ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IMaterialImmutable getMaterial(java.lang.String identifier)
Description copied from interface:IDataSetRegistrationTransactionV2Get a material from the openBIS AS. Returns null if the material does not exist.- Specified by:
getMaterialin interfaceIDataSetRegistrationTransactionV2- Returns:
- A material or null
-
getMaterialForUpdate
public IMaterial getMaterialForUpdate(java.lang.String materialCode, java.lang.String materialType)
Description copied from interface:IDataSetRegistrationTransactionV2Get a material from the openBIS AS for the purpose of modifying it. Returns null if the material does not exist.- Specified by:
getMaterialForUpdatein interfaceIDataSetRegistrationTransactionV2- Returns:
- A material or null
-
getMaterialForUpdate
public IMaterial getMaterialForUpdate(java.lang.String identifier)
Description copied from interface:IDataSetRegistrationTransactionV2Get a material from the openBIS AS for the purpose of modifying it. Returns null if the material does not exist.- Specified by:
getMaterialForUpdatein interfaceIDataSetRegistrationTransactionV2- Returns:
- A material or null
-
makeMaterialMutable
public IMaterial makeMaterialMutable(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IMaterialImmutable material)
Description copied from interface:IDataSetRegistrationTransactionV2Given an immutable material, make it mutable.- Specified by:
makeMaterialMutablein interfaceIDataSetRegistrationTransactionV2- Returns:
- A material
-
createNewMaterial
public IMaterial createNewMaterial(java.lang.String materialCode, java.lang.String materialType)
Description copied from interface:IDataSetRegistrationTransactionV2Create a new material to register with the openBIS AS.- Specified by:
createNewMaterialin interfaceIDataSetRegistrationTransactionV2- Parameters:
materialCode- the code of the materialmaterialType- the type of the material
-
getExternalDataManagementSystem
public ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IExternalDataManagementSystemImmutable getExternalDataManagementSystem(java.lang.String externalDataManagementSystemCode)
Description copied from interface:IDataSetRegistrationTransactionV2Get an external data management system from the openBIS AS. Returns null if the object does not exist.- Specified by:
getExternalDataManagementSystemin interfaceIDataSetRegistrationTransactionV2- Returns:
- external data management system or null
-
createNewMetaproject
public IMetaproject createNewMetaproject(java.lang.String name, java.lang.String description)
Description copied from interface:IDataSetRegistrationTransactionV2Creates the new metaproject for the current user. Only allowed when there is a user available.- Specified by:
createNewMetaprojectin interfaceIDataSetRegistrationTransactionV2
-
createNewMetaproject
public IMetaproject createNewMetaproject(java.lang.String name, java.lang.String description, java.lang.String ownerId)
Description copied from interface:IDataSetRegistrationTransactionV2Creates the new metaproject for the specified user. Only allowed when there is no user available.- Specified by:
createNewMetaprojectin interfaceIDataSetRegistrationTransactionV2
-
getMetaproject
public IMetaproject getMetaproject(java.lang.String name)
Description copied from interface:IDataSetRegistrationTransactionV2Only allowed when the user is available.- Specified by:
getMetaprojectin interfaceIDataSetRegistrationTransactionV2- Returns:
- metaproject with given name for current user.
-
getMetaproject
public IMetaproject getMetaproject(java.lang.String name, java.lang.String ownerId)
Description copied from interface:IDataSetRegistrationTransactionV2Only allowed when the user is not available.- Specified by:
getMetaprojectin interfaceIDataSetRegistrationTransactionV2- Returns:
- metaproject with given name for specified user.
-
getVocabulary
public ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IVocabularyImmutable getVocabulary(java.lang.String code)
Description copied from interface:IDataSetRegistrationTransactionV2Get the read-only vocabulary with given code- Specified by:
getVocabularyin interfaceIDataSetRegistrationTransactionV2
-
getVocabularyForUpdate
public IVocabulary getVocabularyForUpdate(java.lang.String code)
Description copied from interface:IDataSetRegistrationTransactionV2Get the vocabulary with given code- Specified by:
getVocabularyForUpdatein interfaceIDataSetRegistrationTransactionV2
-
createNewVocabularyTerm
public IVocabularyTerm createNewVocabularyTerm()
Description copied from interface:IDataSetRegistrationTransactionV2Creates a new vocabulary term, which has to be assigned to aIVocabulary.- Specified by:
createNewVocabularyTermin interfaceIDataSetRegistrationTransactionV2
-
moveFile
public java.lang.String moveFile(java.lang.String src, IDataSet dst)Description copied from interface:IDataSetRegistrationTransactionV2Move a file from into the root of a data set.- Specified by:
moveFilein interfaceIDataSetRegistrationTransactionV2- Parameters:
src- The path of the file to move.dst- The data set to add the file to.- Returns:
- The absolute path after the move.
-
moveFile
public java.lang.String moveFile(java.lang.String src, IDataSet dst, java.lang.String dstInDataset)Description copied from interface:IDataSetRegistrationTransactionV2Move a file to a specified location in a data set. Any necessary intermediate folders are automatically created.- Specified by:
moveFilein interfaceIDataSetRegistrationTransactionV2- Parameters:
src- The path of the file to move.dst- The data set to add the file to.dstInDataset- The path of the file in the data set- Returns:
- The absolute path after the move.
-
createNewDirectory
public java.lang.String createNewDirectory(IDataSet dst, java.lang.String dirName)
Description copied from interface:IDataSetRegistrationTransactionV2Create a new directory and return the path.- Specified by:
createNewDirectoryin interfaceIDataSetRegistrationTransactionV2- Parameters:
dst- The data set to add the file to.dirName- The name of the new file to create. (Can be a simple file or directory.)- Returns:
- The absolute path of the new file.
-
createNewFile
public java.lang.String createNewFile(IDataSet dst, java.lang.String fileName)
Description copied from interface:IDataSetRegistrationTransactionV2Create a new empty file and return the path.- Specified by:
createNewFilein interfaceIDataSetRegistrationTransactionV2- Parameters:
dst- The data set to add the file to.fileName- The name of the new file to create. (Can be a simple file or directory.)- Returns:
- The absolute path of the new file.
-
createNewFile
public java.lang.String createNewFile(IDataSet dst, java.lang.String dstInDataset, java.lang.String fileName)
Description copied from interface:IDataSetRegistrationTransactionV2Create a new empty file and return the path.- Specified by:
createNewFilein interfaceIDataSetRegistrationTransactionV2- Parameters:
dst- The data set to add the file to.dstInDataset- The path of the file in the data setfileName- The name of the new file to create. (Can be a simple file or directory.)- Returns:
- The absolute path of the new file.
-
createNewLink
public java.lang.String createNewLink(IDataSet dst, java.lang.String dstInDataset, java.lang.String linkName, java.lang.String linkTarget)
Description copied from interface:IDataSetRegistrationTransactionV2Create a new symbolic link and return the path.- Specified by:
createNewLinkin interfaceIDataSetRegistrationTransactionV2- Parameters:
dst- The data set to add the file to.dstInDataset- The path of the file in the data setlinkName- The name of the new link to createlinkTarget- The path of file/directory the new link should point to- Returns:
- The absolute path of the new link.
-
deleteFile
public void deleteFile(java.lang.String src)
-
getRegistrationContext
public ch.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext getRegistrationContext()
Description copied from interface:IDataSetRegistrationTransactionV2Return a registration context object which can be used to store information that needs to be accessed through the registration process.It is important to use this registration context, and not global variables, for communication between code in different parts of the registration process. This is because the registration process is not guaranteed to run in a single process.
- Specified by:
getRegistrationContextin interfacech.systemsx.cisd.etlserver.registrator.DataSetRegistrationContext.IHolder- Specified by:
getRegistrationContextin interfaceIDataSetRegistrationTransactionV2- Returns:
- The context, a hash-map-like object.
-
commit
public boolean commit()
Commit the transaction. Does not throw exceptions if the commit fails on some datasets!- Returns:
- true if any datasets have been commited, false otherwise.
-
rollback
public void rollback()
Rollback any commands that have been executed. Rollback is done in the reverse order of execution.
-
didRollbackStorageAlgorithmRunner
public void didRollbackStorageAlgorithmRunner(ch.systemsx.cisd.etlserver.registrator.v2.DataSetStorageAlgorithmRunner<T> algorithm, java.lang.Throwable ex, ch.systemsx.cisd.etlserver.registrator.v2.IDataSetOnErrorActionDecision.ErrorType errorType)
Delegate method called by theDataSetStorageAlgorithmRunner.- Specified by:
didRollbackStorageAlgorithmRunnerin interfacech.systemsx.cisd.etlserver.registrator.v2.DataSetStorageAlgorithmRunner.IRollbackDelegate<T extends ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation>
-
markReadyForRecovery
public void markReadyForRecovery(ch.systemsx.cisd.etlserver.registrator.v2.DataSetStorageAlgorithmRunner<T> algorithm, java.lang.Throwable ex)
- Specified by:
markReadyForRecoveryin interfacech.systemsx.cisd.etlserver.registrator.v2.DataSetStorageAlgorithmRunner.IRollbackDelegate<T extends ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation>
-
registerDataSetsInApplicationServer
public ch.systemsx.cisd.openbis.generic.shared.dto.AtomicEntityOperationResult registerDataSetsInApplicationServer(ch.systemsx.cisd.openbis.generic.shared.basic.TechId registrationId, java.util.List<ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetRegistrationInformation<T>> dataSetRegistrations) throws java.lang.ThrowableDelegate method called by theDataSetStorageAlgorithmRunner. This implementation asks the DataSetRegistrationService to register not just the data sets, but perform any creation or updates of Experiments and Samples as well.- Specified by:
registerDataSetsInApplicationServerin interfacech.systemsx.cisd.etlserver.registrator.v2.DataSetStorageAlgorithmRunner.IDataSetInApplicationServerRegistrator<T extends ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation>- Throws:
java.lang.Throwable
-
didEntityOperationsSucceeded
public ch.systemsx.cisd.openbis.generic.shared.basic.EntityOperationsState didEntityOperationsSucceeded(ch.systemsx.cisd.openbis.generic.shared.basic.TechId registrationId)
- Specified by:
didEntityOperationsSucceededin interfacech.systemsx.cisd.etlserver.registrator.v2.DataSetStorageAlgorithmRunner.IDataSetInApplicationServerRegistrator<T extends ch.systemsx.cisd.openbis.dss.generic.shared.dto.DataSetInformation>
-
isCommittedOrRolledback
public boolean isCommittedOrRolledback()
-
isCommitted
public boolean isCommitted()
-
isRolledback
public boolean isRolledback()
-
isRecoveryPending
public boolean isRecoveryPending()
-
logInfo
public void logInfo(java.lang.Object message)
Write something to the operation log.
-
getSearchService
public ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISearchService getSearchService()
Description copied from interface:IDataSetRegistrationTransactionV2Retrieve the search service for this transaction. If the user is available for this transaction, then the search service results will be filtered for this user.- Specified by:
getSearchServicein interfaceIDataSetRegistrationTransactionV2- Returns:
- The search service for this transaction.
-
getSearchServiceUnfiltered
public ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISearchService getSearchServiceUnfiltered()
Description copied from interface:IDataSetRegistrationTransactionV2Retrieve the search service for this transaction. It returns the results unfiltered by the user, even if the user is available.- Specified by:
getSearchServiceUnfilteredin interfaceIDataSetRegistrationTransactionV2- Returns:
- The search service for this transaction.
-
getSearchServiceFilteredForUser
public ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISearchService getSearchServiceFilteredForUser(java.lang.String userId)
Description copied from interface:IDataSetRegistrationTransactionV2Retrieve the search service for this transaction. The search service results will be filtered for the specified user.- Specified by:
getSearchServiceFilteredForUserin interfaceIDataSetRegistrationTransactionV2- Returns:
- The search service for this transaction.
-
getAuthorizationService
public ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.authorization.IAuthorizationService getAuthorizationService()
- Specified by:
getAuthorizationServicein interfaceIDataSetRegistrationTransactionV2- Returns:
- A service which can be used to get authorization information about a user.
-
getDatabaseQuery
public net.lemnik.eodsql.DynamicTransactionQuery getDatabaseQuery(java.lang.String dataSourceName) throws java.lang.IllegalArgumentExceptionDescription copied from interface:IDataSetRegistrationTransactionV2Gets a database query object for the data source with the specified name.After the rest of the transaction is committed, the queries are committed. Failures in these secondary queries are not fatal, but they are caught and the clients of the transaction are notified.
- Specified by:
getDatabaseQueryin interfaceIDataSetRegistrationTransactionV2- Parameters:
dataSourceName- The name of the data source to query against, as declared in the service.properties file.- Returns:
- The query.
- Throws:
java.lang.IllegalArgumentException
-
getStorageRecoveryManager
public ch.systemsx.cisd.etlserver.registrator.recovery.IDataSetStorageRecoveryManager getStorageRecoveryManager()
-
getIncomingDataSetFile
public ch.systemsx.cisd.etlserver.registrator.DataSetFile getIncomingDataSetFile()
-
getIncoming
public java.io.File getIncoming()
Description copied from interface:IDataSetRegistrationTransactionV2Returns the file representing the logical incoming file.- Specified by:
getIncomingin interfaceIDataSetRegistrationTransactionV2
-
getGlobalState
public ch.systemsx.cisd.etlserver.TopLevelDataSetRegistratorGlobalState getGlobalState()
- Specified by:
getGlobalStatein interfaceIDataSetRegistrationTransactionV2- Returns:
- Global state for this dropbox, including configuration properties specified by the user.
-
getServerInformation
public java.util.Map<java.lang.String,java.lang.String> getServerInformation()
Description copied from interface:IDataSetRegistrationTransactionV2Returns information about the openBIS server.- Specified by:
getServerInformationin interfaceIDataSetRegistrationTransactionV2
-
assignRoleToSpace
public void assignRoleToSpace(ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleCode role, ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISpaceImmutable space, java.util.List<java.lang.String> userIds, java.util.List<java.lang.String> groupCodes)Description copied from interface:IDataSetRegistrationTransactionV2Give users and/or groups access privileges to a space.- Specified by:
assignRoleToSpacein interfaceIDataSetRegistrationTransactionV2
-
revokeRoleFromSpace
public void revokeRoleFromSpace(ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy.RoleCode role, ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISpaceImmutable space, java.util.List<java.lang.String> userIds, java.util.List<java.lang.String> groupCodes)Description copied from interface:IDataSetRegistrationTransactionV2Take away users and/or groups access privileges to a space.- Specified by:
revokeRoleFromSpacein interfaceIDataSetRegistrationTransactionV2
-
listAttachments
public java.util.List<ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IAttachmentImmutable> listAttachments(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IProjectImmutable project)
Description copied from interface:IDataSetRegistrationTransactionV2Returns a list of project attachments with all versions. Returns null if the project does not have any attachments.- Specified by:
listAttachmentsin interfaceIDataSetRegistrationTransactionV2
-
listAttachments
public java.util.List<ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IAttachmentImmutable> listAttachments(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IExperimentImmutable experiment)
Description copied from interface:IDataSetRegistrationTransactionV2Returns a list of experiment attachments with all versions. Returns null if the experiment does not have any attachments.- Specified by:
listAttachmentsin interfaceIDataSetRegistrationTransactionV2
-
listAttachments
public java.util.List<ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IAttachmentImmutable> listAttachments(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISampleImmutable sample)
Description copied from interface:IDataSetRegistrationTransactionV2Returns a list of sample attachments with all versions. Returns null if the sample does not have any attachments.- Specified by:
listAttachmentsin interfaceIDataSetRegistrationTransactionV2
-
getAttachmentContent
public java.io.InputStream getAttachmentContent(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IProjectImmutable project, java.lang.String fileName, java.lang.Integer versionOrNull)Description copied from interface:IDataSetRegistrationTransactionV2Returns a project attachment content. If the version is not specified then the latest version of the attachment is returned. Returns null if the attachment does not exist.- Specified by:
getAttachmentContentin interfaceIDataSetRegistrationTransactionV2
-
getAttachmentContent
public java.io.InputStream getAttachmentContent(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.IExperimentImmutable experiment, java.lang.String fileName, java.lang.Integer versionOrNull)Description copied from interface:IDataSetRegistrationTransactionV2Returns an experiment attachment content. If the version is not specified then the latest version of the attachment is returned. Returns null if the attachment does not exist.- Specified by:
getAttachmentContentin interfaceIDataSetRegistrationTransactionV2
-
getAttachmentContent
public java.io.InputStream getAttachmentContent(ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.v2.ISampleImmutable sample, java.lang.String fileName, java.lang.Integer versionOrNull)Description copied from interface:IDataSetRegistrationTransactionV2Returns a sample attachment content. If the version is not specified then the latest version of the attachment is returned. Returns null if the attachment does not exist.- Specified by:
getAttachmentContentin interfaceIDataSetRegistrationTransactionV2
-
close
public void close()
-
-