diff --git a/datastore_server/source/java/ch/systemsx/cisd/etlserver/path/PathInfoDatabaseFeedingTask.java b/datastore_server/source/java/ch/systemsx/cisd/etlserver/path/PathInfoDatabaseFeedingTask.java index b6db529239805e766b1b93078c868ebc43fa9557..a7f9dc01e05d6f05616de4e9c1ba609b4f003a2a 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/etlserver/path/PathInfoDatabaseFeedingTask.java +++ b/datastore_server/source/java/ch/systemsx/cisd/etlserver/path/PathInfoDatabaseFeedingTask.java @@ -17,6 +17,7 @@ package ch.systemsx.cisd.etlserver.path; import java.io.File; +import java.util.List; import java.util.Properties; import net.lemnik.eodsql.QueryTool; @@ -28,8 +29,9 @@ import ch.systemsx.cisd.common.io.HierarchicalContentFactory; import ch.systemsx.cisd.common.io.IHierarchicalContentFactory; import ch.systemsx.cisd.common.logging.LogCategory; import ch.systemsx.cisd.common.logging.LogFactory; -import ch.systemsx.cisd.etlserver.postregistration.AbstractPostRegistrationTask; +import ch.systemsx.cisd.common.maintenance.IMaintenanceTask; import ch.systemsx.cisd.etlserver.postregistration.ICleanupTask; +import ch.systemsx.cisd.etlserver.postregistration.IPostRegistrationTask; import ch.systemsx.cisd.etlserver.postregistration.IPostRegistrationTaskExecutor; import ch.systemsx.cisd.etlserver.postregistration.NoCleanupTask; import ch.systemsx.cisd.openbis.dss.generic.shared.IDataSetDirectoryProvider; @@ -38,37 +40,57 @@ import ch.systemsx.cisd.openbis.dss.generic.shared.IShareIdManager; import ch.systemsx.cisd.openbis.dss.generic.shared.ServiceProvider; import ch.systemsx.cisd.openbis.dss.generic.shared.utils.PathInfoDataSourceProvider; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IDatasetLocation; +import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO; /** - * Post registration task which feeds pathinfo database with all data set paths. + * Maintenance and post registration task which feeds pathinfo database with all data set paths. * * @author Franz-Josef Elmer */ -public class PathInfoDatabaseFeedingTask extends AbstractPostRegistrationTask +public class PathInfoDatabaseFeedingTask implements IMaintenanceTask, IPostRegistrationTask { private static final Logger operationLog = LogFactory.getLogger(LogCategory.OPERATION, PathInfoDatabaseFeedingTask.class); - private final IDataSetDirectoryProvider directoryProvider; + private static IPathsInfoDAO createDAO() + { + return QueryTool.getQuery(PathInfoDataSourceProvider.getDataSource(), IPathsInfoDAO.class); + } + + private static IDataSetDirectoryProvider getDirectoryProvider() + { + return ServiceProvider.getDataStoreService().getDataSetDirectoryProvider(); + } + + private static HierarchicalContentFactory createContentFactory() + { + return new HierarchicalContentFactory(); + } + + private IEncapsulatedOpenBISService service; + + private IDataSetDirectoryProvider directoryProvider; - private final IPathsInfoDAO dao; + private IPathsInfoDAO dao; - private final IHierarchicalContentFactory hierarchicalContentFactory; + private IHierarchicalContentFactory hierarchicalContentFactory; + + public PathInfoDatabaseFeedingTask() + { + } public PathInfoDatabaseFeedingTask(Properties properties, IEncapsulatedOpenBISService service) { - this(properties, service, ServiceProvider.getDataStoreService() - .getDataSetDirectoryProvider(), QueryTool.getQuery( - PathInfoDataSourceProvider.getDataSource(), IPathsInfoDAO.class), - new HierarchicalContentFactory()); + this(service, getDirectoryProvider(), createDAO(), createContentFactory()); } - + @Private - PathInfoDatabaseFeedingTask(Properties properties, IEncapsulatedOpenBISService service, + PathInfoDatabaseFeedingTask(IEncapsulatedOpenBISService service, IDataSetDirectoryProvider directoryProvider, IPathsInfoDAO dao, IHierarchicalContentFactory hierarchicalContentFactory) { - super(properties, service); + this.service = service; this.directoryProvider = directoryProvider; this.dao = dao; this.hierarchicalContentFactory = hierarchicalContentFactory; @@ -78,69 +100,83 @@ public class PathInfoDatabaseFeedingTask extends AbstractPostRegistrationTask { return false; } + - public IPostRegistrationTaskExecutor createExecutor(String dataSetCode) + public void setUp(String pluginName, Properties properties) { - return new Executor(dataSetCode); + service = ServiceProvider.getOpenBISService(); + directoryProvider = getDirectoryProvider(); + dao = createDAO(); + hierarchicalContentFactory = createContentFactory(); } - - private final class Executor implements IPostRegistrationTaskExecutor - { - private final String dataSetCode; - private Executor(String dataSetCode) + public void execute() + { + List<SimpleDataSetInformationDTO> dataSets = service.listDataSets(); + for (SimpleDataSetInformationDTO dataSet : dataSets) { - this.dataSetCode = dataSetCode; + feedPathInfoDatabase(dataSet); } + } + + public IPostRegistrationTaskExecutor createExecutor(final String dataSetCode) + { + return new IPostRegistrationTaskExecutor() + { + public ICleanupTask createCleanupTask() + { + return new NoCleanupTask(); + } + + public void execute() + { + ExternalData dataSet = service.tryGetDataSet(dataSetCode); + if (dataSet == null) + { + operationLog.error("Data set " + dataSetCode + " unknown by openBIS."); + return; + } + feedPathInfoDatabase(dataSet); + } + }; + } - public ICleanupTask createCleanupTask() + private void feedPathInfoDatabase(IDatasetLocation dataSet) + { + IShareIdManager shareIdManager = directoryProvider.getShareIdManager(); + String dataSetCode = dataSet.getDataSetCode(); + shareIdManager.lock(dataSetCode); + File dataSetRoot = directoryProvider.getDataSetDirectory(dataSet); + if (dataSetRoot.exists() == false) { - return new NoCleanupTask(); + operationLog.error("Root directory of data set " + dataSetCode + + " does not exists: " + dataSetRoot); + shareIdManager.releaseLocks(); + return; } - public void execute() + try { - ExternalData dataSet = service.tryGetDataSet(dataSetCode); - if (dataSet == null) - { - operationLog.error("Data set " + dataSetCode + " unknown by openBIS."); - return; - } - IShareIdManager shareIdManager = directoryProvider.getShareIdManager(); - shareIdManager.lock(dataSetCode); - File dataSetRoot = directoryProvider.getDataSetDirectory(dataSet); - if (dataSetRoot.exists() == false) - { - operationLog.error("Root directory of data set " + dataSetCode - + " does not exists: " + dataSetRoot); - shareIdManager.releaseLocks(); - return; - } - - try - { - DatabaseBasedDataSetPathsInfoFeeder feeder = - new DatabaseBasedDataSetPathsInfoFeeder(dao, hierarchicalContentFactory); - feeder.addPaths(dataSetCode, dataSet.getLocation(), dataSetRoot); - dao.commit(); - operationLog.info("Successfully added paths inside data set " + dataSetCode - + " to database."); - } catch (Exception ex) - { - handleException(ex); - } finally - { - shareIdManager.releaseLocks(); - } - } - - private void handleException(Exception ex) + DatabaseBasedDataSetPathsInfoFeeder feeder = + new DatabaseBasedDataSetPathsInfoFeeder(dao, hierarchicalContentFactory); + feeder.addPaths(dataSetCode, dataSet.getDataSetLocation(), dataSetRoot); + dao.commit(); + operationLog.info("Successfully added paths inside data set " + dataSetCode + + " to database."); + } catch (Exception ex) + { + handleException(ex, dataSetCode); + } finally { - operationLog.error("Couldn't feed database with path infos of data set " + dataSetCode, - ex); - dao.rollback(); + shareIdManager.releaseLocks(); } - } + private void handleException(Exception ex, String dataSet) + { + operationLog.error("Couldn't feed database with path infos of data set " + dataSet, + ex); + dao.rollback(); + } + } diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/AbstractDataSetDescriptionBasedCommand.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/AbstractDataSetDescriptionBasedCommand.java index df8a8aace9f9f5ff55efaa8d4daaad13ba0ffef4..3e5b649f1788870410d9eef638f04e3288659234 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/AbstractDataSetDescriptionBasedCommand.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/AbstractDataSetDescriptionBasedCommand.java @@ -43,7 +43,7 @@ abstract class AbstractDataSetDescriptionBasedCommand implements IDataSetCommand List<String> result = new ArrayList<String>(); for (DatasetDescription dataSet : dataSets) { - result.add(dataSet.getDatasetCode()); + result.add(dataSet.getDataSetCode()); } return result; } diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java index 963c4121ff21d359a7a8b34ffd3ec98f7d83478c..9368f532e9420e1d0ac374e08109e4ec390da60e 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DataStoreService.java @@ -237,7 +237,7 @@ public class DataStoreService extends AbstractServiceWithLogger<IDataStoreServic IShareIdManager manager = getShareIdManager(); for (DatasetDescription dataSet : dataSets) { - String datasetCode = dataSet.getDatasetCode(); + String datasetCode = dataSet.getDataSetCode(); String location = dataSet.getDataSetLocation(); manager.lock(datasetCode); try @@ -304,7 +304,7 @@ public class DataStoreService extends AbstractServiceWithLogger<IDataStoreServic IShareIdManager manager = getShareIdManager(); for (DatasetDescription dataSet : datasets) { - manager.lock(dataSet.getDatasetCode()); + manager.lock(dataSet.getDataSetCode()); } try { diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DeletionCommand.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DeletionCommand.java index 03c9caf25a20493533a8ed19804a5ab8a6720f06..5bd1ada59a8bfea89c337de73176a4dce01800db 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DeletionCommand.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/DeletionCommand.java @@ -69,7 +69,7 @@ class DeletionCommand extends AbstractDataSetDescriptionBasedCommand { File dataSetDirectory = dataSetDirectoryProvider.getDataSetDirectory(dataSet); - SegmentedStoreUtils.deleteDataSet(dataSet.getDatasetCode(), + SegmentedStoreUtils.deleteDataSet(dataSet.getDataSetCode(), dataSetDirectory, shareIdManager, logger); } catch (Throwable ex) { @@ -92,7 +92,7 @@ class DeletionCommand extends AbstractDataSetDescriptionBasedCommand b.append("Delete data sets: "); for (DatasetDescription dataset : dataSets) { - b.append(dataset.getDatasetCode()); + b.append(dataset.getDataSetCode()); b.append(','); } b.setLength(b.length() - 1); diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DatasetModificationReportingPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DatasetModificationReportingPlugin.java index 8117bb10f6237ed27382585567cbf835f9418e6c..535d78fd040874efe874d33746f2083aeb8142ef 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DatasetModificationReportingPlugin.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DatasetModificationReportingPlugin.java @@ -53,7 +53,7 @@ public class DatasetModificationReportingPlugin extends AbstractTableModelReport for (DatasetDescription dataset : datasets) { File file = getDataSubDir(context.getDirectoryProvider(), dataset); - String datasetCode = dataset.getDatasetCode(); + String datasetCode = dataset.getDataSetCode(); List<ISerializableComparable> row = Arrays.<ISerializableComparable> asList(new StringTableCell(datasetCode), new StringTableCell(new Date(file.lastModified()).toString())); diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoArchiver.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoArchiver.java index a523cf50e54786e421e6c8d9fb159e08a73c4710..696ee55bc6039aac157973e08f547bdb3d401200 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoArchiver.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoArchiver.java @@ -66,7 +66,7 @@ public class DemoArchiver extends AbstractArchiverProcessingPlugin public BooleanStatus isDataSetPresentInArchive(DatasetDescription dataset, ArchiverTaskContext context) { - boolean present = archiveContents.contains(dataset.getDatasetCode()); + boolean present = archiveContents.contains(dataset.getDataSetCode()); return BooleanStatus.createFromBoolean(present); } diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoReportingPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoReportingPlugin.java index 76d55a9869f941c7000ed3b80a004167fbd72a60..8484019c0d0e2fade14ee731e3b2a342b14764d1 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoReportingPlugin.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/demo/DemoReportingPlugin.java @@ -92,7 +92,7 @@ public class DemoReportingPlugin extends AbstractTableModelReportingPlugin private void describeUnknown(SimpleTableModelBuilder builder, DatasetDescription dataset, File file) { - String datasetCode = dataset.getDatasetCode(); + String datasetCode = dataset.getDataSetCode(); ISerializableComparable image = createImageCell(dataset, file); List<ISerializableComparable> row = Arrays.<ISerializableComparable> asList(new StringTableCell(datasetCode), image, @@ -105,7 +105,7 @@ public class DemoReportingPlugin extends AbstractTableModelReportingPlugin { if (ImageUtil.isImageFile(file)) { - String code = dataset.getDatasetCode(); + String code = dataset.getDataSetCode(); String location = dataset.getDataSetLocation(); return new ImageTableCell(code, location, file.getPath(), 100, 60); } @@ -118,7 +118,7 @@ public class DemoReportingPlugin extends AbstractTableModelReportingPlugin ISerializableComparable image = createImageCell(dataset, file); List<ISerializableComparable> row = Arrays.<ISerializableComparable> asList( - new StringTableCell(dataset.getDatasetCode()), image, new StringTableCell( + new StringTableCell(dataset.getDataSetCode()), image, new StringTableCell( file.getName()), new DateTableCell(new Date(file.lastModified())), new DoubleTableCell(getSize(file))); builder.addRow(row); diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractArchiverProcessingPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractArchiverProcessingPlugin.java index 2a2a7c43d4b1d8916f1f1b52dd488cdccbf6309e..470794d189cfc39c1419a81317974dd50e5ddc02 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractArchiverProcessingPlugin.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractArchiverProcessingPlugin.java @@ -149,7 +149,7 @@ public abstract class AbstractArchiverProcessingPlugin extends AbstractDatastore { if (dataset.getDataSetSize() == null) { - String dataSetCode = dataset.getDatasetCode(); + String dataSetCode = dataset.getDataSetCode(); String shareId = getShareIdManager().getShareId(dataSetCode); File shareFolder = new File(storeRoot, shareId); String dataSetLocation = dataset.getDataSetLocation(); @@ -222,13 +222,13 @@ public abstract class AbstractArchiverProcessingPlugin extends AbstractDatastore DatasetProcessingStatuses result = new DatasetProcessingStatuses(); for (DatasetDescription dataset : groupedDatasets.getPresentInArchive()) { - String dataSetCode = dataset.getDatasetCode(); + String dataSetCode = dataset.getDataSetCode(); Status status = getStatusForDataset(statuses, dataSetCode, Status.OK); result.addResult(dataSetCode, status, Operation.ARCHIVE); } for (DatasetDescription dataset : groupedDatasets.getNotPresentAsList()) { - String dataSetCode = dataset.getDatasetCode(); + String dataSetCode = dataset.getDataSetCode(); BooleanStatus booleanStatus = groupedDatasets.getNotPresentInArchiveStatus(dataset); String errorMessage = (booleanStatus.tryGetMessage() != null) ? booleanStatus.tryGetMessage() : ""; @@ -382,7 +382,7 @@ public abstract class AbstractArchiverProcessingPlugin extends AbstractDatastore { for (DatasetDescription dataset : datasets) { - addResult(dataset.getDatasetCode(), status, operation.getDescription()); + addResult(dataset.getDataSetCode(), status, operation.getDescription()); } } @@ -441,7 +441,7 @@ public abstract class AbstractArchiverProcessingPlugin extends AbstractDatastore DatasetProcessingStatuses statuses = new DatasetProcessingStatuses(); for (DatasetDescription dataset : datasets) { - statuses.addResult(dataset.getDatasetCode(), status, operationDescription); + statuses.addResult(dataset.getDataSetCode(), status, operationDescription); } return statuses; } @@ -581,7 +581,7 @@ public abstract class AbstractArchiverProcessingPlugin extends AbstractDatastore public void prepareForUnarchiving(DatasetDescription dataSet) { SimpleDataSetInformationDTO translatedDataSet = SimpleDataSetHelper.translate(dataSet); - String dataSetCode = dataSet.getDatasetCode(); + String dataSetCode = dataSet.getDataSetCode(); String shareId = shareIdManager.getShareId(dataSetCode); translatedDataSet.setDataSetShareId(shareId); Share share = shareFinder.tryToFindShare(translatedDataSet, shares); diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDataMergingReportingPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDataMergingReportingPlugin.java index 59fc5c810aab0be1c870602354001f10bee37da1..858b4553fe0bd703735b2aa7251fb1c68f9c9e33 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDataMergingReportingPlugin.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDataMergingReportingPlugin.java @@ -89,7 +89,7 @@ public abstract class AbstractDataMergingReportingPlugin extends AbstractFileTab protected static void addDataRows(SimpleTableModelBuilder builder, DatasetDescription dataset, DatasetFileLines lines, boolean addFileNameColumn) { - String datasetCode = dataset.getDatasetCode(); + String datasetCode = dataset.getDataSetCode(); String fileNameOrNull = addFileNameColumn ? lines.getFile().getName() : null; for (String[] dataTokens : lines.getDataLines()) { @@ -128,7 +128,7 @@ public abstract class AbstractDataMergingReportingPlugin extends AbstractFileTab throw UserFailureException .fromTemplate( "Directory with Data Set '%s' data ('%s') should contain exactly 1 file with data but %s files were found.", - dataset.getDatasetCode(), dir.getAbsolutePath(), datasetFilesToMerge + dataset.getDataSetCode(), dir.getAbsolutePath(), datasetFilesToMerge .size()); } else { diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDropboxProcessingPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDropboxProcessingPlugin.java index 852d2b1c138cf280856592eb18eba7cfe21580fd..deb4d749c6384cff89ff95eba5488ac5d2a4cdee 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDropboxProcessingPlugin.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDropboxProcessingPlugin.java @@ -107,7 +107,7 @@ abstract public class AbstractDropboxProcessingPlugin extends AbstractDatastoreP Status status, DataSetProcessingContext context) { String dataSet = - render(dataSetDescription.getDatasetCode(), dataSetDescription.getDatasetTypeCode()); + render(dataSetDescription.getDataSetCode(), dataSetDescription.getDatasetTypeCode()); String experiment = render(dataSetDescription.getExperimentIdentifier(), dataSetDescription.getExperimentTypeCode()); @@ -199,7 +199,7 @@ abstract public class AbstractDropboxProcessingPlugin extends AbstractDatastoreP datasetInfo.setDataSetType(new DataSetType(datasetTypeCode)); datasetInfo.setSampleCode(dataset.getSampleCode()); datasetInfo.setSpaceCode(dataset.getSpaceCode()); - datasetInfo.setDataSetCode(dataset.getDatasetCode()); + datasetInfo.setDataSetCode(dataset.getDataSetCode()); ExperimentIdentifier expIdent = new ExperimentIdentifier(null, dataset.getSpaceCode(), dataset.getProjectCode(), dataset.getExperimentCode()); diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDssLinkReportingPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDssLinkReportingPlugin.java index 8bbdfb0f0c0658cdccda3457c1569d0509d14748..bf0a4fd84e376df466f740f77162f8639a72a48f 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDssLinkReportingPlugin.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractDssLinkReportingPlugin.java @@ -63,7 +63,7 @@ public abstract class AbstractDssLinkReportingPlugin extends AbstractDatastorePl { IRowBuilder rowBuilder = builder.addRow(); LinkModel linkModel = createLink(dataSet); - String text = dataSet.getDatasetCode(); + String text = dataSet.getDataSetCode(); rowBuilder.setCell(DATA_SET_HEADER, new DssLinkTableCell(text, linkModel)); } diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractFileTableReportingPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractFileTableReportingPlugin.java index 61ba037bf401f7536208c0750e1073dd7f511ea6..dbb8d188d5dc9e1ae2cac0d45f3b664e2d4f3ae5 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractFileTableReportingPlugin.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/AbstractFileTableReportingPlugin.java @@ -148,7 +148,7 @@ abstract public class AbstractFileTableReportingPlugin extends AbstractTableMode { lines.add(reader.getValues()); } - return new DatasetFileLines(file, dataset.getDatasetCode(), lines, ignoreTrailingEmptyCells); + return new DatasetFileLines(file, dataset.getDataSetCode(), lines, ignoreTrailingEmptyCells); } protected TableModel createTableModel(DatasetFileLines lines) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java index dd7f8a67e4da5def0e5a62b7ca0af1511fd17484..f09611dc0f96b0280f38c8b75cb01be19221bca5 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManager.java @@ -147,12 +147,12 @@ public class DataSetFileOperationsManager implements IDataSetFileOperationsManag if (createFolderIfNotExists(destinationFolder.getParentFile()) || destinationExists(destinationFolder).isSuccess() == false) { - operationLog.info("Copy dataset '" + dataset.getDatasetCode() + "' from '" + operationLog.info("Copy dataset '" + dataset.getDataSetCode() + "' from '" + originalData.getPath() + "' to '" + destinationFolder.getParentFile()); executor.copyDataSetToDestination(originalData, destinationFolder.getParentFile()); } else { - operationLog.info("Update dataset '" + dataset.getDatasetCode() + "' from '" + operationLog.info("Update dataset '" + dataset.getDataSetCode() + "' from '" + originalData.getPath() + "' to '" + destinationFolder.getParentFile()); executor.syncDataSetWithDestination(originalData, destinationFolder.getParentFile()); } @@ -174,7 +174,7 @@ public class DataSetFileOperationsManager implements IDataSetFileOperationsManag File destinationFolder = new File(destination, dataset.getDataSetLocation()); checkDestinationExists(destinationFolder); File folder = originalData.getParentFile(); - operationLog.info("Retrieve data set '" + dataset.getDatasetCode() + "' from '" + operationLog.info("Retrieve data set '" + dataset.getDataSetCode() + "' from '" + destinationFolder.getPath() + "' to '" + folder); folder.mkdirs(); executor.retrieveDataSetFromDestination(folder, destinationFolder); @@ -200,7 +200,7 @@ public class DataSetFileOperationsManager implements IDataSetFileOperationsManag executor.deleteFolder(destinationFolder); } else { - operationLog.info("Data of data set '" + dataset.getDatasetCode() + operationLog.info("Data of data set '" + dataset.getDataSetCode() + "' don't exist in the destination '" + destinationFolder.getPath() + "'. There is nothing to delete."); } diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/GenericDssLinkReportingPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/GenericDssLinkReportingPlugin.java index 3b9b59ab8e8d72fd24fdc83e054e437e0838a9c1..37f10a985eb5087a99923db011f71826c6e89146 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/GenericDssLinkReportingPlugin.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/GenericDssLinkReportingPlugin.java @@ -83,7 +83,7 @@ public class GenericDssLinkReportingPlugin extends AbstractDssLinkReportingPlugi LinkModel linkModel = new LinkModel(); linkModel.setSchemeAndDomain(downloadUrl); linkModel.setPath(GenericSharedConstants.DATA_STORE_SERVER_WEB_APPLICATION_NAME + "/" - + dataSet.getDatasetCode()); + + dataSet.getDataSetCode()); ArrayList<LinkModel.LinkParameter> parameters = new ArrayList<LinkModel.LinkParameter>(); parameters.add(new LinkModel.LinkParameter(FORCE_AUTO_RESOLVE, Boolean.TRUE.toString())); diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/MergedRowDataReportingPlugin.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/MergedRowDataReportingPlugin.java index ea05c22694e49cee19e1438fcfad9da30fcb117f..033a3821b4a7e9daa716a51b082674dbb9a67a68 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/MergedRowDataReportingPlugin.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/MergedRowDataReportingPlugin.java @@ -71,8 +71,8 @@ public class MergedRowDataReportingPlugin extends AbstractDataMergingReportingPl "All Data Set files should have the same headers, " + "but file header of '%s': \n\t '%s' " + "is different than file header of '%s': \n\t '%s'.", - firstDataset.getDatasetCode(), StringUtils.join(titles, "\t"), dataset - .getDatasetCode(), StringUtils.join(lines.getHeaderLabels(), + firstDataset.getDataSetCode(), StringUtils.join(titles, "\t"), dataset + .getDataSetCode(), StringUtils.join(lines.getHeaderLabels(), "\t")); } addDataRows(builder, dataset, lines, false); diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/RsyncArchiver.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/RsyncArchiver.java index 8e446c49a484258c63bfc0bb866fbaf00a33d6df..2b5aa222599e958d2ed2c26737647fabb897ebb4 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/RsyncArchiver.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/RsyncArchiver.java @@ -69,7 +69,7 @@ public class RsyncArchiver extends AbstractArchiverProcessingPlugin { File originalData = getDatasetDirectory(context, dataset); Status status = doArchive(dataset, originalData); - statuses.addResult(dataset.getDatasetCode(), status, Operation.ARCHIVE); + statuses.addResult(dataset.getDataSetCode(), status, Operation.ARCHIVE); } return statuses; @@ -85,7 +85,7 @@ public class RsyncArchiver extends AbstractArchiverProcessingPlugin context.getUnarchivingPreparation().prepareForUnarchiving(dataset); File originalData = getDatasetDirectory(context, dataset); Status status = doUnarchive(dataset, originalData); - statuses.addResult(dataset.getDatasetCode(), status, Operation.UNARCHIVE); + statuses.addResult(dataset.getDataSetCode(), status, Operation.UNARCHIVE); } return statuses; @@ -98,7 +98,7 @@ public class RsyncArchiver extends AbstractArchiverProcessingPlugin for (DatasetLocation dataset : datasets) { Status status = doDeleteFromArchive(dataset); - statuses.addResult(dataset.getDatasetCode(), status, Operation.DELETE_FROM_ARCHIVE); + statuses.addResult(dataset.getDataSetCode(), status, Operation.DELETE_FROM_ARCHIVE); } return statuses; diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/DatasetFileLines.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/DatasetFileLines.java index 334fe69ccc71eff9af86d587ae03ecfc58db4dae..76d7bf25a83858428f800ec54b73a210eca8f19b 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/DatasetFileLines.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/tasks/DatasetFileLines.java @@ -43,7 +43,7 @@ public class DatasetFileLines implements ITabularData public DatasetFileLines(File file, DatasetDescription dataset, List<String[]> lines) { - this(file, dataset.getDatasetCode(), lines); + this(file, dataset.getDataSetCode(), lines); } public DatasetFileLines(File file, String datasetCode, List<String[]> lines) diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/DataSetDirectoryProvider.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/DataSetDirectoryProvider.java index 1cdeee63f293ec35a28ed3dcdcbf76fdaf4a8962..3b6d7af688a1b96f0f6c625da2b1a7fd4fa597db 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/DataSetDirectoryProvider.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/DataSetDirectoryProvider.java @@ -47,7 +47,7 @@ public class DataSetDirectoryProvider implements IDataSetDirectoryProvider { String location = dataSet.getDataSetLocation(); location = location.replace("\\", File.separator); - File share = new File(storeRoot, shareIdManager.getShareId(dataSet.getDatasetCode())); + File share = new File(storeRoot, shareIdManager.getShareId(dataSet.getDataSetCode())); return new File(share, location); } diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentProvider.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentProvider.java index df591f3ebb8bc9da9b11eff825b64390bec2559d..385ea2df265e73adf58b89d477ef86694a0f5d2b 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentProvider.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentProvider.java @@ -71,14 +71,14 @@ public class HierarchicalContentProvider implements IHierarchicalContentProvider { // this is temporary implementation - it should access DB instead of filesystem // IHierarchicalContent.close() should be called to unlock the dataset - directoryProvider.getShareIdManager().lock(datasetLocation.getDatasetCode()); + directoryProvider.getShareIdManager().lock(datasetLocation.getDataSetCode()); File dataSetDirectory = directoryProvider.getDataSetDirectory(datasetLocation); IDelegatedAction onCloseAction = new IDelegatedAction() { public void execute() { directoryProvider.getShareIdManager().releaseLock( - datasetLocation.getDatasetCode()); + datasetLocation.getDataSetCode()); } }; return asContent(dataSetDirectory, onCloseAction); diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedOpenBISService.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedOpenBISService.java index e77b74317024d1377fabd471fb4ec5f13548e866..5f95482ad4d4f0c9abf917e7ccefafe94472acc7 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedOpenBISService.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/IEncapsulatedOpenBISService.java @@ -271,7 +271,9 @@ public interface IEncapsulatedOpenBISService @ManagedAuthentication public List<DataSetShareId> listDataSetShareIds() throws UserFailureException; - /** See {@link IETLLIMSService#listDataSets(String, String)} */ + /** + * Returns informations about all data sets which belong to the calling data store server. + */ @ManagedAuthentication public List<SimpleDataSetInformationDTO> listDataSets() throws UserFailureException; diff --git a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ProcessingStatus.java b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ProcessingStatus.java index f07b043f2d0c7e2d30eac5fd0f843032caaa8add..42b22a844502876dbbd68686eb3dc469df9b0ef6 100644 --- a/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ProcessingStatus.java +++ b/datastore_server/source/java/ch/systemsx/cisd/openbis/dss/generic/shared/ProcessingStatus.java @@ -61,7 +61,7 @@ public class ProcessingStatus public void addDatasetStatus(DatasetDescription dataset, Status status) { - addDatasetStatus(dataset.getDatasetCode(), status); + addDatasetStatus(dataset.getDataSetCode(), status); } public Status tryGetStatusByDataset(String datasetCode) diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/path/PathInfoDatabaseFeedingTaskTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/path/PathInfoDatabaseFeedingTaskTest.java index 86caf4e68e646929c0de585e7cc66230f17e5aec..e8d28a08c10b81140bdb811f4bbebb2950f36481 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/path/PathInfoDatabaseFeedingTaskTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/etlserver/path/PathInfoDatabaseFeedingTaskTest.java @@ -20,7 +20,7 @@ import static ch.systemsx.cisd.common.utilities.IDelegatedAction.DO_NOTHING; import java.io.File; import java.lang.reflect.Method; -import java.util.Properties; +import java.util.Arrays; import org.jmock.Expectations; import org.jmock.Mockery; @@ -33,13 +33,13 @@ import ch.systemsx.cisd.base.tests.AbstractFileSystemTestCase; import ch.systemsx.cisd.common.io.IHierarchicalContent; import ch.systemsx.cisd.common.io.IHierarchicalContentFactory; import ch.systemsx.cisd.common.io.IHierarchicalContentNode; -import ch.systemsx.cisd.etlserver.path.IPathsInfoDAO; -import ch.systemsx.cisd.etlserver.path.PathInfoDatabaseFeedingTask; import ch.systemsx.cisd.openbis.dss.generic.shared.IDataSetDirectoryProvider; import ch.systemsx.cisd.openbis.dss.generic.shared.IEncapsulatedOpenBISService; import ch.systemsx.cisd.openbis.dss.generic.shared.IShareIdManager; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IDatasetLocation; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.builders.DataSetBuilder; +import ch.systemsx.cisd.openbis.generic.shared.dto.SimpleDataSetInformationDTO; /** @@ -73,7 +73,7 @@ public class PathInfoDatabaseFeedingTaskTest extends AbstractFileSystemTestCase context.checking(new Expectations() { { - one(directoryProvider).getShareIdManager(); + allowing(directoryProvider).getShareIdManager(); will(returnValue(shareIdManager)); } }); @@ -81,8 +81,7 @@ public class PathInfoDatabaseFeedingTaskTest extends AbstractFileSystemTestCase contentFactory = context.mock(IHierarchicalContentFactory.class); content = context.mock(IHierarchicalContent.class); node = context.mock(IHierarchicalContentNode.class); - Properties properties = new Properties(); - task = new PathInfoDatabaseFeedingTask(properties, service, directoryProvider, dao, contentFactory); + task = new PathInfoDatabaseFeedingTask(service, directoryProvider, dao, contentFactory); dataSetFolder = new File(workingDirectory, "ds1"); dataSetFolder.mkdirs(); } @@ -101,7 +100,64 @@ public class PathInfoDatabaseFeedingTaskTest extends AbstractFileSystemTestCase } @Test - public void testHappyCase() + public void testAsMaintenanceTask() + { + final SimpleDataSetInformationDTO ds1 = new SimpleDataSetInformationDTO(); + ds1.setDataSetCode("ds1"); + ds1.setDataSetLocation("abc1"); + final SimpleDataSetInformationDTO ds2 = new SimpleDataSetInformationDTO(); + ds2.setDataSetCode("ds2"); + ds2.setDataSetLocation("abc2"); + context.checking(new Expectations() + { + { + one(service).listDataSets(); + will(returnValue(Arrays.asList(ds1, ds2))); + } + }); + prepareHappyCase(ds1); + prepareFailing(ds2); + + task.execute(); + } + + @Test + public void testPostRegistrationHappyCase() + { + final ExternalData dataSet = + new DataSetBuilder().code(DATA_SET_CODE).location("abc").getDataSet(); + context.checking(new Expectations() + { + { + one(service).tryGetDataSet(DATA_SET_CODE); + will(returnValue(dataSet)); + + } + }); + prepareHappyCase(dataSet); + + task.createExecutor(DATA_SET_CODE).execute(); + } + + @Test + public void testPostRegistrationFailingCase() + { + final ExternalData dataSet = + new DataSetBuilder().code(DATA_SET_CODE).location("abc").getDataSet(); + context.checking(new Expectations() + { + { + one(service).tryGetDataSet(DATA_SET_CODE); + will(returnValue(dataSet)); + } + }); + prepareFailing(dataSet); + + task.createExecutor(DATA_SET_CODE).execute(); + } + + @Test + public void testNonExistingDataSetFolder() { context.checking(new Expectations() { @@ -113,10 +169,27 @@ public class PathInfoDatabaseFeedingTaskTest extends AbstractFileSystemTestCase one(shareIdManager).lock(DATA_SET_CODE); + one(directoryProvider).getDataSetDirectory(dataSet); + will(returnValue(new File(workingDirectory, "blabla"))); + + one(shareIdManager).releaseLocks(); + } + }); + + task.createExecutor(DATA_SET_CODE).execute(); + } + + private void prepareHappyCase(final IDatasetLocation dataSet) + { + context.checking(new Expectations() + { + { + one(shareIdManager).lock(dataSet.getDataSetCode()); + one(directoryProvider).getDataSetDirectory(dataSet); will(returnValue(dataSetFolder)); - one(dao).createDataSet(DATA_SET_CODE, "abc"); + one(dao).createDataSet(dataSet.getDataSetCode(), dataSet.getDataSetLocation()); will(returnValue(101L)); one(contentFactory).asHierarchicalContent(dataSetFolder, DO_NOTHING); @@ -144,27 +217,19 @@ public class PathInfoDatabaseFeedingTaskTest extends AbstractFileSystemTestCase one(shareIdManager).releaseLocks(); } }); - - task.createExecutor(DATA_SET_CODE).execute(); } - @Test - public void testFailingCase() + private void prepareFailing(final IDatasetLocation dataSet) { context.checking(new Expectations() { { - one(service).tryGetDataSet(DATA_SET_CODE); - ExternalData dataSet = - new DataSetBuilder().code(DATA_SET_CODE).location("abc").getDataSet(); - will(returnValue(dataSet)); - - one(shareIdManager).lock(DATA_SET_CODE); + one(shareIdManager).lock(dataSet.getDataSetCode()); one(directoryProvider).getDataSetDirectory(dataSet); will(returnValue(dataSetFolder)); - one(dao).createDataSet(DATA_SET_CODE, "abc"); + one(dao).createDataSet(dataSet.getDataSetCode(), dataSet.getDataSetLocation()); will(returnValue(101L)); one(contentFactory).asHierarchicalContent(dataSetFolder, DO_NOTHING); @@ -174,30 +239,5 @@ public class PathInfoDatabaseFeedingTaskTest extends AbstractFileSystemTestCase one(shareIdManager).releaseLocks(); } }); - - task.createExecutor(DATA_SET_CODE).execute(); - } - - @Test - public void testNonExistingDataSetFolder() - { - context.checking(new Expectations() - { - { - one(service).tryGetDataSet(DATA_SET_CODE); - ExternalData dataSet = - new DataSetBuilder().code(DATA_SET_CODE).location("abc").getDataSet(); - will(returnValue(dataSet)); - - one(shareIdManager).lock(DATA_SET_CODE); - - one(directoryProvider).getDataSetDirectory(dataSet); - will(returnValue(new File(workingDirectory, "blabla"))); - - one(shareIdManager).releaseLocks(); - } - }); - - task.createExecutor(DATA_SET_CODE).execute(); } } diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetCopierForUsersTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetCopierForUsersTest.java index 596f097eb7ec2af0950ad82a25a47d31d21c3b5c..869352d81a50624230d4c27a2fd0acf9b9706af1 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetCopierForUsersTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetCopierForUsersTest.java @@ -212,7 +212,7 @@ public class DataSetCopierForUsersTest extends AbstractFileSystemTestCase List<String> codes = new ArrayList<String>(); for (DatasetDescription dataset : datasets) { - codes.add(dataset.getDatasetCode()); + codes.add(dataset.getDataSetCode()); } return codes; } diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetCopierTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetCopierTest.java index 9d95ed99700ed8c24881ace2a9594f0b6a9cde36..b10368802cd8895bc029c78388b6ac079073f286 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetCopierTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetCopierTest.java @@ -715,7 +715,7 @@ public class DataSetCopierTest extends AbstractFileSystemTestCase List<String> codes = new ArrayList<String>(); for (DatasetDescription dataset : datasets) { - codes.add(dataset.getDatasetCode()); + codes.add(dataset.getDataSetCode()); } return codes; } diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManagerTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManagerTest.java index cc415571d19555c61a17701f159a3a95786bd4a1..94e18db86aba51aed121771081073d245802e930 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManagerTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/standard/DataSetFileOperationsManagerTest.java @@ -1053,7 +1053,7 @@ public class DataSetFileOperationsManagerTest extends AbstractFileSystemTestCase private DatasetLocation datasetLocation(DatasetDescription dsd) { DatasetLocation result = new DatasetLocation(); - result.setDatasetCode(dsd.getDatasetCode()); + result.setDatasetCode(dsd.getDataSetCode()); result.setDataSetLocation(dsd.getDataSetLocation()); return result; } diff --git a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentProviderTest.java b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentProviderTest.java index fd1d7435a4eefdcad1ff2af9975cfc5a0865c92a..79f78feafe76bab3e058b897fbd11429d8e6bc31 100644 --- a/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentProviderTest.java +++ b/datastore_server/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/shared/HierarchicalContentProviderTest.java @@ -152,7 +152,7 @@ public class HierarchicalContentProviderTest extends AssertJUnit final IDatasetLocation dataSetLocation = new IDatasetLocation() { - public String getDatasetCode() + public String getDataSetCode() { return code; } diff --git a/deep_sequencing_unit/source/java/ch/ethz/bsse/cisd/dsu/dss/plugins/DataSetToSOFT.java b/deep_sequencing_unit/source/java/ch/ethz/bsse/cisd/dsu/dss/plugins/DataSetToSOFT.java index fb7f9d048cd1c617ea1493e3691ca96ffb50af6a..f4ed2136950f33bc31907de57b1ae264a39fb8a0 100644 --- a/deep_sequencing_unit/source/java/ch/ethz/bsse/cisd/dsu/dss/plugins/DataSetToSOFT.java +++ b/deep_sequencing_unit/source/java/ch/ethz/bsse/cisd/dsu/dss/plugins/DataSetToSOFT.java @@ -169,7 +169,7 @@ public class DataSetToSOFT implements IProcessingPluginTask { try { - String dataSetCode = datasetDescription.getDatasetCode(); + String dataSetCode = datasetDescription.getDataSetCode(); if (operationLog.isInfoEnabled()) { operationLog.info("Create SOFT file for data set " + dataSetCode); diff --git a/deep_sequencing_unit/source/java/ch/ethz/bsse/cisd/dsu/dss/plugins/IlluminaSummaryReportingPlugin.java b/deep_sequencing_unit/source/java/ch/ethz/bsse/cisd/dsu/dss/plugins/IlluminaSummaryReportingPlugin.java index 416e436bfca30200acb4bf4246c918d8fe104c1f..dc9a17dbd405de179df76291c86cf8708f62e5e1 100644 --- a/deep_sequencing_unit/source/java/ch/ethz/bsse/cisd/dsu/dss/plugins/IlluminaSummaryReportingPlugin.java +++ b/deep_sequencing_unit/source/java/ch/ethz/bsse/cisd/dsu/dss/plugins/IlluminaSummaryReportingPlugin.java @@ -196,7 +196,7 @@ public class IlluminaSummaryReportingPlugin extends AbstractTableModelReportingP { throw new EnvironmentFailureException(String.format( "Couldn't get sample %s for dataset %s.", dataset.getSampleCode(), - dataset.getDatasetCode())); + dataset.getDataSetCode())); } return sampleOrNull; } diff --git a/eu_basysbio/source/java/eu/basysbio/cisd/dss/TimeSeriesPropertiesReportingPlugin.java b/eu_basysbio/source/java/eu/basysbio/cisd/dss/TimeSeriesPropertiesReportingPlugin.java index f0b10f232a0de21c387ca0c90b92858e12771465..6bb11112805976e89ab7706496b3c9f48c9be88f 100644 --- a/eu_basysbio/source/java/eu/basysbio/cisd/dss/TimeSeriesPropertiesReportingPlugin.java +++ b/eu_basysbio/source/java/eu/basysbio/cisd/dss/TimeSeriesPropertiesReportingPlugin.java @@ -60,7 +60,7 @@ public class TimeSeriesPropertiesReportingPlugin extends AbstractTableModelRepor { row.add(new StringTableCell("")); } - addTableCellValue(row, headers, "CODE", dataset.getDatasetCode()); + addTableCellValue(row, headers, "CODE", dataset.getDataSetCode()); File file = getDataSubDir(context.getDirectoryProvider(), dataset); List<NewProperty> properies = HeaderUtils.extractHeaderProps(file, true, false, true); for (NewProperty p : properies) diff --git a/eu_basysbio/source/java/eu/basysbio/cisd/dss/TimeSeriesPropertiesUpdateProcessingPlugin.java b/eu_basysbio/source/java/eu/basysbio/cisd/dss/TimeSeriesPropertiesUpdateProcessingPlugin.java index 2f366534aa1f814d7dc31234c92ccd65db75d15f..2abf27e86ea4d0408494e7bd3b07fe0478a0256a 100644 --- a/eu_basysbio/source/java/eu/basysbio/cisd/dss/TimeSeriesPropertiesUpdateProcessingPlugin.java +++ b/eu_basysbio/source/java/eu/basysbio/cisd/dss/TimeSeriesPropertiesUpdateProcessingPlugin.java @@ -69,7 +69,7 @@ public class TimeSeriesPropertiesUpdateProcessingPlugin extends AbstractDatastor List<NewProperty> newProperties = HeaderUtils.extractHeaderProperties(file, true); SpaceIdentifier space = new SpaceIdentifier(dataset.getDatabaseInstanceCode(), dataset.getSpaceCode()); - ServiceProvider.getOpenBISService().updateDataSet(dataset.getDatasetCode(), + ServiceProvider.getOpenBISService().updateDataSet(dataset.getDataSetCode(), newProperties, space); return Status.OK; } catch (UserFailureException ex) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatasetLocation.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatasetLocation.java index a9b225797fb09d9a195991b5fccf78ed658a49df..8e49bd28a54a89734604ed154cadfd3234343666 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatasetLocation.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DatasetLocation.java @@ -42,7 +42,7 @@ public class DatasetLocation implements IDatasetLocation, ISerializable, ICodeHo this.dataSetLocation = dataSetLocation; } - public String getDatasetCode() + public String getDataSetCode() { return datasetCode; } @@ -60,7 +60,7 @@ public class DatasetLocation implements IDatasetLocation, ISerializable, ICodeHo public String getCode() { - return getDatasetCode(); + return getDataSetCode(); } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalData.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalData.java index c9a40bdda466c62323270e610ef53387cdb07bde..7d01b7aa1e0db348d1574471fb1c3b5fc82b5210 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalData.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ExternalData.java @@ -349,7 +349,7 @@ public class ExternalData extends CodeWithRegistration<ExternalData> implements return getLocation(); } - public String getDatasetCode() + public String getDataSetCode() { return getCode(); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IDatasetLocation.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IDatasetLocation.java index d1cfa49bbcb1e08d831f05e7ceb6c5473224cf69..ef45ff5aad6c518fc971fa86f7e41722c6e7f588 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IDatasetLocation.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/IDatasetLocation.java @@ -25,5 +25,5 @@ public interface IDatasetLocation { String getDataSetLocation(); - String getDatasetCode(); + String getDataSetCode(); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DatasetDescription.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DatasetDescription.java index ef8eafea6ce1e007f9f5e4633add31ad7fe0ecfe..743cbdccab0f25989d2338263b71ca0832125b2b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DatasetDescription.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/DatasetDescription.java @@ -68,7 +68,7 @@ public class DatasetDescription implements Serializable, IDatasetLocation { for (DatasetDescription description : dataSets) { - result.add(description.getDatasetCode()); + result.add(description.getDataSetCode()); } } return result; @@ -109,7 +109,7 @@ public class DatasetDescription implements Serializable, IDatasetLocation return instanceCode; } - public String getDatasetCode() + public String getDataSetCode() { return datasetCode; } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SimpleDataSetInformationDTO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SimpleDataSetInformationDTO.java index 52966542ec2dfeaaabc22ecc1c486c2d4f07da0d..9532eb21432b2dba4dff5fb1409657ea1db91b2f 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SimpleDataSetInformationDTO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SimpleDataSetInformationDTO.java @@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.shared.dto; import java.io.Serializable; import java.util.Collection; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.IDatasetLocation; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder; /** @@ -26,7 +27,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ServiceVersionHolder; * * @author Izabela Adamczyk */ -public class SimpleDataSetInformationDTO implements Serializable +public class SimpleDataSetInformationDTO implements Serializable, IDatasetLocation { private static final long serialVersionUID = ServiceVersionHolder.VERSION; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/SimpleDataSetHelper.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/SimpleDataSetHelper.java index e9d7993e14269c257630589965478f7ea35e4b3d..9e9a51e9799531578eae5daf7a2a8e9efc708593 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/SimpleDataSetHelper.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/translator/SimpleDataSetHelper.java @@ -80,7 +80,7 @@ public class SimpleDataSetHelper { SimpleDataSetInformationDTO result = new SimpleDataSetInformationDTO(); result.setDatabaseInstanceCode(datasetDescription.getDatabaseInstanceCode()); - result.setDataSetCode(datasetDescription.getDatasetCode()); + result.setDataSetCode(datasetDescription.getDataSetCode()); result.setDataSetLocation(datasetDescription.getDataSetLocation()); result.setDataSetSize(datasetDescription.getDataSetSize()); result.setDataSetType(datasetDescription.getDatasetTypeCode()); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExternalDataTableTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExternalDataTableTest.java index d89bb3948499616a4cc5f72a93dda0111f752d08..1d528aeb340183aa5eaca13b6828feb4ab6116a9 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExternalDataTableTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/ExternalDataTableTest.java @@ -729,7 +729,7 @@ public final class ExternalDataTableTest extends AbstractBOTest assertEquals(dataSets.length, list.size()); for (int i = 0; i < list.size(); i++) { - assertEquals("data set " + i, dataSets[i].getCode(), list.get(i).getDatasetCode()); + assertEquals("data set " + i, dataSets[i].getCode(), list.get(i).getDataSetCode()); } return true; } diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/dss/phosphonetx/server/plugins/APMSReport.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/dss/phosphonetx/server/plugins/APMSReport.java index b341aa5411e5214b37289b53ee9a0a507cdc2057..fbb59eb100404d2d1740ed5279b5d13eb4280c57 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/dss/phosphonetx/server/plugins/APMSReport.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/dss/phosphonetx/server/plugins/APMSReport.java @@ -264,7 +264,7 @@ public class APMSReport extends AbstractTableModelReportingPlugin implements IPr + '/' + datasetDescription.getExperimentCode(); Template template = E_MAIL_CONTENT_TEMPLATE.createFreshCopy(); template.bind("experiment-identifier", experimentIdentifier); - template.bind("data-set", datasetDescription.getDatasetCode()); + template.bind("data-set", datasetDescription.getDataSetCode()); ByteArrayDataSource dataSource = new ByteArrayDataSource(writer.toString(), "text/plain"); context.getMailClient().sendEmailMessageWithAttachment("Protein APMS Report", diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternal.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternal.java index b45e44f7b723ec8eb25522c7eaa2fda6515a7aa3..dd7dce17b16f4dd5ac3f80529d314eb16767b6bb 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternal.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternal.java @@ -52,6 +52,7 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; import ch.systemsx.cisd.openbis.generic.shared.dto.Session; import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind; import ch.systemsx.cisd.openbis.generic.shared.translator.ExperimentTranslator; +import ch.systemsx.cisd.openbis.generic.shared.translator.ExternalDataTranslator; import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business.ExperimentLoader; import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business.IBusinessObjectFactory; import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business.ISampleLoader; @@ -168,6 +169,15 @@ public class ProteomicsDataServiceInternal extends AbstractServer<IProteomicsDat ExperimentTranslator.LoadableFields.PROPERTIES); } + public List<ExternalData> listDataSetsByExperiment(String sessionToken, TechId experimentID) + { + final Session session = getSession(sessionToken); + + IExternalDataTable dataSetTable = commonBoFactory.createExternalDataTable(session); + dataSetTable.loadByExperimentTechId(experimentID); + return ExternalDataTranslator.translate(dataSetTable.getExternalData(), "", ""); + } + public void processProteinResultDataSets(String sessionToken, String dataSetProcessingKey, String experimentType, long[] searchExperimentIDs) { diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternalLogger.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternalLogger.java index 74137fa1cf78210fac628e1bea55ec807105d483..0defb35f323b9ed08187874a74131d2bf2aafb6f 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternalLogger.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/ProteomicsDataServiceInternalLogger.java @@ -21,7 +21,9 @@ import java.util.List; import ch.systemsx.cisd.authentication.ISessionManager; import ch.systemsx.cisd.common.spring.IInvocationLoggerContext; import ch.systemsx.cisd.openbis.generic.shared.AbstractServerLogger; +import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.dto.Session; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.IProteomicsDataServiceInternal; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.MsInjectionSample; @@ -69,6 +71,12 @@ class ProteomicsDataServiceInternalLogger extends AbstractServerLogger implement return null; } + public List<ExternalData> listDataSetsByExperiment(String sessionToken, TechId experimentID) + { + logAccess(sessionToken, "list_data_sets_by_experiments", "EXPERIMENT_ID(%s)", experimentID); + return null; + } + public void processProteinResultDataSets(String sessionToken, String dataSetProcessingKey, String experimentTypeCode, long[] searchExperimentIDs) { diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataService.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataService.java index 124eb5db4934a9aed00d641101e854c90a10c8da..ac65d8d8802acd5af129f0b19f40cd336096ebc4 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataService.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataService.java @@ -36,6 +36,7 @@ import ch.systemsx.cisd.common.spring.IInvocationLoggerContext; import ch.systemsx.cisd.openbis.generic.server.AbstractServer; import ch.systemsx.cisd.openbis.generic.server.business.IPropertiesBatchManager; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; +import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataStoreServiceKind; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataTypeCode; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; @@ -278,6 +279,33 @@ public class ProteomicsDataService extends AbstractServer<IProteomicsDataService return e; } + public List<DataSet> listDataSetsByExperiment(String sessionToken, String userID, + long experimentID) + { + checkSession(sessionToken); + SessionContextDTO session = login(userID); + try + { + List<DataSet> result = new ArrayList<DataSet>(); + List<ExternalData> dataSets = + service.listDataSetsByExperiment(session.getSessionToken(), new TechId( + experimentID)); + for (ExternalData dataSet : dataSets) + { + DataSet ds = new DataSet(); + ds.setId(dataSet.getId()); + ds.setCode(dataSet.getCode()); + ds.setType(dataSet.getDataSetType().getCode()); + ds.setProperties(translate(dataSet.getProperties())); + result.add(ds); + } + return result; + } finally + { + service.logout(session.getSessionToken()); + } + } + public void processSearchData(String sessionToken, String userID, String dataSetProcessingKey, long[] searchExperimentIDs) { diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataServiceLogger.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataServiceLogger.java index 51a70117edf78c8d3db29b94cefccedf060f3856..7a2903c54c021a5551f72a6cc24c924ec494b8a4 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataServiceLogger.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/api/v1/ProteomicsDataServiceLogger.java @@ -23,6 +23,7 @@ import ch.systemsx.cisd.common.spring.IInvocationLoggerContext; import ch.systemsx.cisd.openbis.generic.shared.AbstractServerLogger; import ch.systemsx.cisd.openbis.generic.shared.dto.Session; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.IProteomicsDataService; +import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.DataSet; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.DataStoreServerProcessingPluginInfo; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.Experiment; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.MsInjectionDataInfo; @@ -86,6 +87,13 @@ class ProteomicsDataServiceLogger extends AbstractServerLogger implements IProte return null; } + public List<DataSet> listDataSetsByExperiment(String sessionToken, String userID, + long experimentID) + { + logAccess(sessionToken, "list_data_sets_by_experiment", "EXPERIMENT_ID(%s)", experimentID); + return null; + } + public void processSearchData(String sessionToken, String userID, String dataSetProcessingKey, long[] searchExperimentIDs) { diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/IProteomicsDataServiceInternal.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/IProteomicsDataServiceInternal.java index a2ac631dfcfe0ee8e0b000b576a7d056849a5c2f..c84f86213c595e2e315471c6150345ed08611a94 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/IProteomicsDataServiceInternal.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/IProteomicsDataServiceInternal.java @@ -24,9 +24,12 @@ import ch.systemsx.cisd.openbis.generic.shared.IServer; import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.AuthorizationGuard; import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.ReturnValueFilter; import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed; +import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.AbstractTechIdPredicate.ExperimentTechIdPredicate; import ch.systemsx.cisd.openbis.generic.shared.authorization.predicate.DataSetCodeCollectionPredicate; import ch.systemsx.cisd.openbis.generic.shared.authorization.validator.ExperimentValidator; +import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.authorization.validator.RawDataSampleValidator; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.MsInjectionSample; @@ -65,6 +68,11 @@ public interface IProteomicsDataServiceInternal extends IServer @ReturnValueFilter(validatorClass = ExperimentValidator.class) public List<Experiment> listExperiments(String sessionToken, String experimentTypeCode); + @Transactional(readOnly = true) + @RolesAllowed(RoleWithHierarchy.SPACE_USER) + public List<ExternalData> listDataSetsByExperiment(String sessionToken, + @AuthorizationGuard(guardClass = ExperimentTechIdPredicate.class) TechId experimentID); + @Transactional(readOnly = true) @RolesAllowed(RoleWithHierarchy.SPACE_USER) public void processProteinResultDataSets(String sessionToken, String dataSetProcessingKey, diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/api/v1/IProteomicsDataService.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/api/v1/IProteomicsDataService.java index c254a6bda06f151e6508a3d75d5d17feb9d8ff37..ebd10183d50cadacf8835443a9f93cdcf13b98ad 100644 --- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/api/v1/IProteomicsDataService.java +++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/api/v1/IProteomicsDataService.java @@ -24,6 +24,7 @@ import ch.systemsx.cisd.common.api.IRpcService; import ch.systemsx.cisd.openbis.generic.shared.authorization.annotation.RolesAllowed; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.RoleWithHierarchy; import ch.systemsx.cisd.openbis.plugin.phosphonetx.client.api.v1.IProteomicsDataApiFacade; +import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.DataSet; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.DataStoreServerProcessingPluginInfo; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.Experiment; import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.api.v1.dto.MsInjectionDataInfo; @@ -112,6 +113,13 @@ public interface IProteomicsDataService extends IRpcService @RolesAllowed(RoleWithHierarchy.INSTANCE_OBSERVER) public List<Experiment> listExperiments(String sessionToken, String userID, String experimentTypeCode); + /** + * Returns all data sets of specified experiment which the specified user is allowed to read. + */ + @Transactional(readOnly = true) + @RolesAllowed(RoleWithHierarchy.INSTANCE_OBSERVER) + public List<DataSet> listDataSetsByExperiment(String sessionToken, String userID, long experimentID); + /** * Processes the data sets of specified experiments of type <tt>MS_SEARCH</tt> by the DSS * processing plug-in of specified key for the specified user. It will be checked if the diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramImagesReporter.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramImagesReporter.java index 7b5a29d9cfcefdf619413692bf1f0b16315d6876..3068a62fae74f5a6c71961e12f6f481cc0e461e2 100644 --- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramImagesReporter.java +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramImagesReporter.java @@ -134,10 +134,10 @@ public class EICMLChromatogramImagesReporter extends AbstractEICMLDatastoreRepor List<DatasetRun> runs = new ArrayList<DatasetRun>(); for (DatasetDescription dataset : datasets) { - EICMSRunDTO run = query.getMSRunByDatasetPermId(dataset.getDatasetCode()); + EICMSRunDTO run = query.getMSRunByDatasetPermId(dataset.getDataSetCode()); if (run != null) { - runs.add(new DatasetRun(dataset.getDatasetCode(), run)); + runs.add(new DatasetRun(dataset.getDataSetCode(), run)); } } return runs; diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramsReporter.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramsReporter.java index 29b266a7b8bc8477c248f8e41de3c76b181541e8..311f921f447e5a1165e53154288f6c0173190e8a 100644 --- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramsReporter.java +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLChromatogramsReporter.java @@ -64,7 +64,7 @@ public class EICMLChromatogramsReporter extends AbstractEICMLDatastoreReportingP List<EICMSRunDTO> runs = new ArrayList<EICMSRunDTO>(); for (DatasetDescription dataset : datasets) { - EICMSRunDTO run = query.getMSRunByDatasetPermId(dataset.getDatasetCode()); + EICMSRunDTO run = query.getMSRunByDatasetPermId(dataset.getDataSetCode()); if (run != null) { runs.add(run); diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLRunsReporter.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLRunsReporter.java index fd6e9e8e5ca6ea8ca59ce533840751759cb7c366..036eaea98ecf5f5cb7bea502c0c92b5668ba63d8 100644 --- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLRunsReporter.java +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/eicml/EICMLRunsReporter.java @@ -51,7 +51,7 @@ public class EICMLRunsReporter extends AbstractEICMLDatastoreReportingPlugin addReportHeaders(builder); for (DatasetDescription dataset : datasets) { - EICMSRunDTO run = query.getMSRunByDatasetPermId(dataset.getDatasetCode()); + EICMSRunDTO run = query.getMSRunByDatasetPermId(dataset.getDataSetCode()); if (run != null) { builder.addRow(createRow(run, dataset)); @@ -64,7 +64,7 @@ public class EICMLRunsReporter extends AbstractEICMLDatastoreReportingPlugin DatasetDescription dataset) { List<ISerializableComparable> row = new ArrayList<ISerializableComparable>(); - row.add(asText(dataset.getDatasetCode())); + row.add(asText(dataset.getDataSetCode())); row.add(asText(run.getRawDataFilePath())); row.add(asText(run.getRawDataFileName())); row.add(asText(run.getInstrumentType())); diff --git a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/etl/MLArchiverTask.java b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/etl/MLArchiverTask.java index 1116925a5eeeeeb3a935f1fe5694b5eefb5e4db7..aef5e2f9d34418528a1c247227e1866ddef3dd0d 100644 --- a/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/etl/MLArchiverTask.java +++ b/rtd_yeastx/source/java/ch/systemsx/cisd/yeastx/etl/MLArchiverTask.java @@ -90,7 +90,7 @@ public class MLArchiverTask extends AbstractArchiverProcessingPlugin { try { - dao.deleteDataSet(dataset.getDatasetCode()); + dao.deleteDataSet(dataset.getDataSetCode()); dao.commit(); } catch (Exception ex) { @@ -120,7 +120,7 @@ public class MLArchiverTask extends AbstractArchiverProcessingPlugin } Experiment experiment = getOrFetchExperiment(dataset, sample); File dataFile = getDataFile(dataset, directoryProvider); - databaseUploader.upload(dataFile, sample, experiment, dataset.getDatasetCode()); + databaseUploader.upload(dataFile, sample, experiment, dataset.getDataSetCode()); databaseUploader.commit(); } catch (Exception ex) { @@ -202,7 +202,7 @@ public class MLArchiverTask extends AbstractArchiverProcessingPlugin for (DatasetDescription dataset : datasets) { Status status = uploadToYeastXDatabase(dataset, context.getDirectoryProvider(), databaseUploader); - statuses.addResult(dataset.getDatasetCode(), status, operationName); + statuses.addResult(dataset.getDataSetCode(), status, operationName); counter++; if (counter % 100 == 0) { @@ -253,7 +253,7 @@ public class MLArchiverTask extends AbstractArchiverProcessingPlugin DatasetProcessingStatuses statuses = new DatasetProcessingStatuses(); for (DatasetLocation dataset : datasets) { - statuses.addResult(dataset.getDatasetCode(), Status.OK, Operation.DELETE_FROM_ARCHIVE); + statuses.addResult(dataset.getDataSetCode(), Status.OK, Operation.DELETE_FROM_ARCHIVE); } return statuses; } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/AbstractSpotImagesTransformerProcessingPlugin.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/AbstractSpotImagesTransformerProcessingPlugin.java index f0d33bf686ade121793b1b1bbeb51a6431b4be53..8148e3721a7c03c5e1ce822f9b31fe24b53625a8 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/AbstractSpotImagesTransformerProcessingPlugin.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/AbstractSpotImagesTransformerProcessingPlugin.java @@ -133,7 +133,7 @@ abstract public class AbstractSpotImagesTransformerProcessingPlugin extends Abst private GroupByMap<Long, ImgImageEnrichedDTO> fetchImages(DatasetDescription dataset) { List<ImgImageEnrichedDTO> allImages = - query.listHCSImages(dataset.getDatasetCode(), channelCode); + query.listHCSImages(dataset.getDataSetCode(), channelCode); GroupByMap<Long, ImgImageEnrichedDTO> imagesBySpot = GroupByMap.create(allImages, new IKeyExtractor<Long, ImgImageEnrichedDTO>() { @@ -147,13 +147,13 @@ abstract public class AbstractSpotImagesTransformerProcessingPlugin extends Abst operationLog .warn(String .format("Dataset %s has no images for channel '%s' to process! Have you specified the correct channel code?", - dataset.getDatasetCode(), channelCode)); + dataset.getDataSetCode(), channelCode)); } else { operationLog .info(String .format("Dataset %s has %d images (devided between %d spots) for channel '%s' to process.", - dataset.getDatasetCode(), allImages.size(), imagesBySpot + dataset.getDataSetCode(), allImages.size(), imagesBySpot .getKeys().size(), channelCode)); } return imagesBySpot; diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/FileBasedImageAnalysisGraphReportingPlugin.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/FileBasedImageAnalysisGraphReportingPlugin.java index c80893c2089a4534ab5009098dcc4ae17e86089d..867ddb6ca805d295a981cb87f9fd9a420b526969 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/FileBasedImageAnalysisGraphReportingPlugin.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/FileBasedImageAnalysisGraphReportingPlugin.java @@ -88,7 +88,7 @@ public class FileBasedImageAnalysisGraphReportingPlugin extends AbstractDataMerg { throw UserFailureException.fromTemplate( "Found multiple candidate files in the dataset %s ", dataset - .getDatasetCode()); + .getDataSetCode()); } builder.addRow(createRow(dataset, matchingFiles.get(0))); } @@ -116,7 +116,7 @@ public class FileBasedImageAnalysisGraphReportingPlugin extends AbstractDataMerg List<ISerializableComparable> row = new ArrayList<ISerializableComparable>(); // The data set and sample code - row.add(SimpleTableModelBuilder.asText(dataset.getDatasetCode())); + row.add(SimpleTableModelBuilder.asText(dataset.getDataSetCode())); row.add(SimpleTableModelBuilder.asText(dataset.getSampleCode())); for (String graphTypeCode : getGraphTypeCodes()) @@ -126,7 +126,7 @@ public class FileBasedImageAnalysisGraphReportingPlugin extends AbstractDataMerg new GeneratedImageTableCell(graphServletPath, getImageWidth(), getImageHeight(), getThumbnailWidth(), getThumbnailHeight()); imageCell.addParameter(AbstractTabularDataGraphServlet.DATASET_CODE_PARAM, dataset - .getDatasetCode()); + .getDataSetCode()); imageCell.addParameter(AbstractTabularDataGraphServlet.FILE_PATH_PARAM, file .getAbsolutePath()); imageCell.addParameter(AbstractTabularDataGraphServlet.GRAPH_TYPE_CODE, graphTypeCode); diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisGraphReportingPlugin.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisGraphReportingPlugin.java index 28d8b278581a46cce0327a40f0fe0441302e2cb2..936d1f65bdca3284a95d325f4348573a2ec3639f 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisGraphReportingPlugin.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisGraphReportingPlugin.java @@ -107,7 +107,7 @@ public class ImageAnalysisGraphReportingPlugin extends AbstractDataMergingReport List<ISerializableComparable> row = new ArrayList<ISerializableComparable>(); // The data set and sample code - row.add(SimpleTableModelBuilder.asText(dataset.getDatasetCode())); + row.add(SimpleTableModelBuilder.asText(dataset.getDataSetCode())); row.add(SimpleTableModelBuilder.asText(dataset.getSampleCode())); for (String graphTypeCode : getGraphTypeCodes()) @@ -117,7 +117,7 @@ public class ImageAnalysisGraphReportingPlugin extends AbstractDataMergingReport new GeneratedImageTableCell(graphServletPath, getImageWidth(), getImageHeight(), getThumbnailWidth(), getThumbnailHeight()); imageCell.addParameter(AbstractTabularDataGraphServlet.DATASET_CODE_PARAM, dataset - .getDatasetCode()); + .getDataSetCode()); imageCell.addParameter(AbstractTabularDataGraphServlet.GRAPH_TYPE_CODE, graphTypeCode); row.add(imageCell); diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPlugin.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPlugin.java index e041840c42f71cc56badb5894b6f2eccdd11b311..d8f14d0d9f2e8ba5bdf84748445f88812adb9089 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPlugin.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPlugin.java @@ -155,7 +155,7 @@ public class ImageAnalysisMergedRowsReportingPlugin extends AbstractTableModelRe List<String> datasetCodes = new ArrayList<String>(); for (DatasetDescription datasetDescription : datasets) { - datasetCodes.add(datasetDescription.getDatasetCode()); + datasetCodes.add(datasetDescription.getDataSetCode()); } return datasetCodes; } diff --git a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPluginTest.java b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPluginTest.java index 4b60d41b665da3cbe9798909732ef410c553331d..059e326c53d076d617bab3ef57c97638234bd92f 100644 --- a/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPluginTest.java +++ b/screening/sourceTest/java/ch/systemsx/cisd/openbis/dss/generic/server/plugins/ImageAnalysisMergedRowsReportingPluginTest.java @@ -112,7 +112,7 @@ public class ImageAnalysisMergedRowsReportingPluginTest extends AssertJUnit context.checking(new Expectations() { { - one(dao).listDatasetsByPermId(ds1.getDatasetCode(), ds2.getDatasetCode()); + one(dao).listDatasetsByPermId(ds1.getDataSetCode(), ds2.getDataSetCode()); will(returnValue(Arrays.asList(createDataSet(1), createDataSet(2)))); one(dao).listFeatureDefsByDataSetIds(1, 2);