diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningClientApiTest.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningClientApiTest.java index 16f38316857323aebda44003d6d32c8484b6a929..65a96f455d308620cd9276d86bb56b1138824830 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningClientApiTest.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/api/v1/ScreeningClientApiTest.java @@ -80,25 +80,45 @@ public class ScreeningClientApiTest facade.listFeatureVectorDatasets(plates); System.out.println("Feature vector datasets: " + featureVectorDatasets); - // test for feature vector dataset - String featureVectorDatasetCode = featureVectorDatasets.get(0).getDatasetCode(); // feature - // vector - IDatasetIdentifier datasetIdentifier = + if (featureVectorDatasets.isEmpty() == false) + { + // test for feature vector dataset + String featureVectorDatasetCode = featureVectorDatasets.get(0).getDatasetCode(); // feature + // vector + IDatasetIdentifier datasetIdentifier = getDatasetIdentifier(facade, featureVectorDatasetCode); - loadImages(facade, datasetIdentifier); - - String imageDatasetCode = imageDatasets.get(0).getDatasetCode(); // image - datasetIdentifier = getDatasetIdentifier(facade, imageDatasetCode); - loadImages(facade, datasetIdentifier); - + loadImages(facade, datasetIdentifier); + + String imageDatasetCode = imageDatasets.get(0).getDatasetCode(); // image + datasetIdentifier = getDatasetIdentifier(facade, imageDatasetCode); + loadImages(facade, datasetIdentifier); + + } List<String> featureNames = facade.listAvailableFeatureNames(featureVectorDatasets); System.out.println("Feature names: " + featureNames); List<FeatureVectorDataset> features = facade.loadFeatures(featureVectorDatasets, featureNames); System.out.println("Features: " + features); - List<ImageDatasetMetadata> imageMetadata = facade.listImageMetadata(imageDatasets); - System.out.println("Image metadata: " + imageMetadata); + Map<String, List<ImageDatasetReference>> imageDataSetReferencesPerDss = + new HashMap<String, List<ImageDatasetReference>>(); + for (ImageDatasetReference imageDataset : imageDatasets) + { + String url = imageDataset.getDatastoreServerUrl(); + List<ImageDatasetReference> list = imageDataSetReferencesPerDss.get(url); + if (list == null) + { + list = new ArrayList<ImageDatasetReference>(); + imageDataSetReferencesPerDss.put(url, list); + } + list.add(imageDataset); + } + Collection<List<ImageDatasetReference>> bundle = imageDataSetReferencesPerDss.values(); + for (List<ImageDatasetReference> imageDataSets : bundle) + { + List<ImageDatasetMetadata> imageMetadata = facade.listImageMetadata(imageDataSets); + System.out.println("Image metadata: " + imageMetadata); + } facade.logout(); }