From fd4541544f49b4447fc81c478a922e5149a3b43f Mon Sep 17 00:00:00 2001 From: cramakri <cramakri> Date: Wed, 21 Dec 2011 14:23:59 +0000 Subject: [PATCH] LMS-2700 Added new API calls to facade SVN: 24075 --- .../v1/IScreeningOpenbisServiceFacade.java | 14 ++++++++--- .../api/v1/ScreeningOpenbisServiceFacade.java | 25 ++++++++++++++++--- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/IScreeningOpenbisServiceFacade.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/IScreeningOpenbisServiceFacade.java index c37fcf08774..98aa555ea67 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/IScreeningOpenbisServiceFacade.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/IScreeningOpenbisServiceFacade.java @@ -28,13 +28,12 @@ import ch.systemsx.cisd.common.exceptions.EnvironmentFailureException; import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.dss.client.api.v1.DataSet; import ch.systemsx.cisd.openbis.dss.client.api.v1.IDataSetDss; -import ch.systemsx.cisd.openbis.dss.generic.shared.api.internal.authorization.AuthorizationGuard; import ch.systemsx.cisd.openbis.dss.generic.shared.api.v1.NewDataSetMetadataDTO; -import ch.systemsx.cisd.openbis.dss.screening.shared.api.internal.authorization.DatasetIdentifierPredicate; import ch.systemsx.cisd.openbis.dss.screening.shared.api.v1.LoadImageConfiguration; import ch.systemsx.cisd.openbis.generic.shared.api.v1.filter.IDataSetFilter; import ch.systemsx.cisd.openbis.generic.shared.api.v1.filter.TypeBasedDataSetFilter; import ch.systemsx.cisd.openbis.plugin.screening.client.api.v1.ScreeningOpenbisServiceFacade.IImageOutputStreamProvider; +import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.DatasetImageRepresentationFormats; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.ExperimentIdentifier; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.ExperimentImageMetadata; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.FeatureInformation; @@ -768,7 +767,7 @@ public interface IScreeningOpenbisServiceFacade public void loadImages(List<PlateImageReference> imageReferences, LoadImageConfiguration configuration, IPlateImageHandler plateImageHandler) throws IOException; - + /** * Provides images for the specified list of image references (specified by data set code, well * position, channel and tile) and image selection criteria. These criteria are applied to the @@ -852,7 +851,7 @@ public interface IScreeningOpenbisServiceFacade @Retry public List<ImageDatasetMetadata> listImageMetadata( List<? extends IImageDatasetIdentifier> imageDatasets); - + /** * Returns for each of the specified image data sets the meta data of available image sets. */ @@ -888,4 +887,11 @@ public interface IScreeningOpenbisServiceFacade public ExperimentImageMetadata getExperimentImageMetadata( ExperimentIdentifier experimentIdentifier); + /** + * @return Information about the image representations available for the sepecified data sets. + */ + @Retry + public List<DatasetImageRepresentationFormats> listAvailableImageRepresentationFormats( + List<? extends IDatasetIdentifier> dataSetIdentifiers); + } \ No newline at end of file diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningOpenbisServiceFacade.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningOpenbisServiceFacade.java index 4b53abfaf02..dc796a8cd0d 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningOpenbisServiceFacade.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningOpenbisServiceFacade.java @@ -57,6 +57,7 @@ import ch.systemsx.cisd.openbis.generic.shared.api.v1.filter.TypeBasedDataSetFil import ch.systemsx.cisd.openbis.plugin.screening.client.api.v1.WellImageCache.CachedImage; import ch.systemsx.cisd.openbis.plugin.screening.client.api.v1.WellImageCache.WellImages; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.IScreeningApiServer; +import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.DatasetImageRepresentationFormats; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.DatasetReference; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.ExperimentIdentifier; import ch.systemsx.cisd.openbis.plugin.screening.shared.api.v1.dto.ExperimentImageMetadata; @@ -1831,11 +1832,10 @@ public class ScreeningOpenbisServiceFacade implements IScreeningOpenbisServiceFa } }); } - public void loadImages(List<PlateImageReference> imageReferences, - final IPlateImageHandler plateImageHandler, final IImageSetSelectionCriterion... criteria) - throws IOException + final IPlateImageHandler plateImageHandler, + final IImageSetSelectionCriterion... criteria) throws IOException { plateImageReferencesMultiplexer.process(imageReferences, new IReferenceHandler<PlateImageReference>() @@ -1903,4 +1903,23 @@ public class ScreeningOpenbisServiceFacade implements IScreeningOpenbisServiceFa .getExperimentImageMetadata(sessionToken, experimentIdentifier); } + public List<DatasetImageRepresentationFormats> listAvailableImageRepresentationFormats( + List<? extends IDatasetIdentifier> dataSetIdentifiers) + { + List<IDatasetIdentifier> simplerList = + new ArrayList<IDatasetIdentifier>(dataSetIdentifiers.size()); + simplerList.addAll(dataSetIdentifiers); + Map<String, List<IDatasetIdentifier>> map = getReferencesPerDss(simplerList); + Set<Entry<String, List<IDatasetIdentifier>>> entrySet = map.entrySet(); + if (entrySet.size() != 1) + { + throw new IllegalArgumentException("Only one data store expected instead of " + + map.keySet()); + } + Entry<String, List<IDatasetIdentifier>> entry = entrySet.iterator().next(); + IDssServiceRpcScreening service = + dssServiceCache.createDssService(entry.getKey()).getService(); + return service.listAvailableImageRepresentationFormats(sessionToken, dataSetIdentifiers); + } + } -- GitLab