From 824138ad921c659bb4a3a64f0693bb18e5f9e583 Mon Sep 17 00:00:00 2001 From: pkupczyk <pkupczyk> Date: Thu, 7 Mar 2013 14:49:52 +0000 Subject: [PATCH] SP-529 / BIS-151 : Provide only one version of openbis.js file - all screening methods covered except for those returning thumbnails SVN: 28556 --- .../openbis-screening-test.js | 176 +++++++++++++++++- .../server/DssServiceRpcScreening.java | 4 +- 2 files changed, 174 insertions(+), 6 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/openbis-screening-test/openbis-screening-test.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/openbis-screening-test/openbis-screening-test.js index 22be369879d..3aab437640c 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/openbis-screening-test/openbis-screening-test.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/applications/openbis-screening-test/openbis-screening-test.js @@ -122,7 +122,7 @@ var listImageReferencesAndFormatForPlateIdentifierAndWellPositionAndChannel = fu facade.listAvailableImageRepresentationFormats(imageDataSets, function(formatResponse){ action({ imageReferences : imageReferencesResponse.result, - formats : formatResponse.result[0].imageRepresentationFormats[0] + format : formatResponse.result[0].imageRepresentationFormats[0] }); }); }); @@ -428,18 +428,23 @@ test("loadImagesBase64ForImageReferencesAndImageConversion()", function(){ }); }); +/* + +TODO generate thumbnails + test("loadThumbnailImagesBase64ForImageReferences()", function(){ createFacadeAndLogin(function(facade){ listImageReferencesForPlateIdentifierAndWellPositionAndChannel(facade, "/PLATONIC/PLATE-1", 1, 1, "DAPI", function(imageReferences){ facade.loadThumbnailImagesBase64ForImageReferences(imageReferences, function(response){ - // TODO generate some thumbnails at screening sprint server - assertObjectsCount(response.result, 0); + assertObjectsCount(response.result, 9); facade.close(); }); }); }); }); +*/ + test("loadImagesBase64ForImageReferencesAndImageSize()", function(){ createFacadeAndLogin(function(facade){ listImageReferencesForPlateIdentifierAndWellPositionAndChannel(facade, "/PLATONIC/PLATE-1", 1, 1, "DAPI", function(imageReferences){ @@ -499,4 +504,167 @@ test("loadImagesBase64ForImageReferencesAndImageRepresentationFormatCriteria()", }); }); }); -}); \ No newline at end of file +}); + +test("listImageMetadata()", function(){ + createFacadeAndLogin(function(facade){ + listImageDatasetReferencesForPlateIdentifier(facade, "/PLATONIC/PLATE-1", function(imageDataSets){ + facade.listImageMetadata(imageDataSets, function(response){ + assertObjectsCount(response.result, 3); + assertObjectsWithValuesFunction(response.result, "datasetCode", function(result){ + return result.imageDataset.datasetCode; + }, ["20110913111517610-82996", "20110913112525450-83000", "20110913113026096-83001"]); + facade.close(); + }); + }); + }); +}); + +test("listAvailableImageRepresentationFormats()", function(){ + createFacadeAndLogin(function(facade){ + listImageDatasetReferencesForPlateIdentifier(facade, "/PLATONIC/PLATE-1", function(imageDataSets){ + facade.listAvailableImageRepresentationFormats(imageDataSets, function(response){ + assertObjectsCount(response.result, 3); + assertObjectsWithValuesFunction(response.result, "datasetCode", function(result){ + return result.dataset.datasetCode; + }, ["20110913111517610-82996", "20110913112525450-83000", "20110913113026096-83001"]); + facade.close(); + }); + }); + }); +}); + +/* + +TODO generate thumbnails + +test("loadPhysicalThumbnailsBase64ForImageReferencesAndImageRepresentationFormat()", function(){ + createFacadeAndLogin(function(facade){ + listImageReferencesAndFormatForPlateIdentifierAndWellPositionAndChannel(facade, "/PLATONIC/PLATE-1", 1, 1, "DAPI", function(results){ + facade.loadPhysicalThumbnailsBase64ForImageReferencesAndImageRepresentationFormat(results.imageReferences, results.format, function(response){ + assertObjectsCount(response.result, 9); + facade.close(); + }); + }); + }); +}); + +*/ + +test("loadImagesBase64ForDataSetIdentifierAndWellPositionsAndChannelAndImageSize()", function(){ + createFacadeAndLogin(function(facade){ + listImageDatasetReferencesForPlateIdentifier(facade, "/PLATONIC/PLATE-1", function(imageDataSets){ + var dataSetIdentifier = imageDataSets[0]; + var wellPositions = [ createWellPosition(1, 1) ]; + var channel = "DAPI"; + var thumbnailSizeOrNull = createImageSize(100, 100); + + facade.loadImagesBase64ForDataSetIdentifierAndWellPositionsAndChannelAndImageSize(dataSetIdentifier, wellPositions , channel, thumbnailSizeOrNull, function(response){ + assertObjectsCount(response.result, 9); + facade.close(); + }); + }); + }); +}); + +test("loadImagesBase64ForDataSetIdentifierAndChannelAndImageSize()", function(){ + createFacadeAndLogin(function(facade){ + var datasetCodes = ["20110913114645299-83009"]; + + facade.getDatasetIdentifiers(datasetCodes, function(response){ + var datasetIdentifier = response.result[0]; + var channel = "RGB"; + var thumbnailSizeOrNull = createImageSize(100, 100); + + facade.loadImagesBase64ForDataSetIdentifierAndChannelAndImageSize(datasetIdentifier, channel, thumbnailSizeOrNull, function(response){ + assertObjectsCount(response.result, 1); + facade.close(); + }); + }); + }); +}); + +/* + +TODO generate thumbnails + +test("loadThumbnailImagesBase64ForDataSetIdentifierAndChannels()", function(){ + createFacadeAndLogin(function(facade){ + var datasetCodes = ["20110913114645299-83009"]; + + facade.getDatasetIdentifiers(datasetCodes, function(response){ + var datasetIdentifier = response.result[0]; + var channels = ["RGB"]; + + facade.loadThumbnailImagesBase64ForDataSetIdentifierAndChannels(datasetIdentifier, channels, function(response){ + assertObjectsCount(response.result, 1); + facade.close(); + }); + }); + }); +}); + +*/ + +test("listPlateImageReferencesForDataSetIdentifierAndWellPositionsAndChannel()", function(){ + createFacadeAndLogin(function(facade){ + listImageDatasetReferencesForPlateIdentifier(facade, "/PLATONIC/PLATE-1", function(imageDataSets){ + var dataSetIdentifier = imageDataSets[0]; + var wellPositions = [ createWellPosition(1, 1) ]; + var channel = "DAPI"; + + facade.listPlateImageReferencesForDataSetIdentifierAndWellPositionsAndChannel(dataSetIdentifier, wellPositions , channel, function(response){ + assertObjectsCount(response.result, 9); + facade.close(); + }); + }); + }); +}); + +test("listPlateImageReferencesForDataSetIdentifierAndWellPositionsAndChannels()", function(){ + createFacadeAndLogin(function(facade){ + listImageDatasetReferencesForPlateIdentifier(facade, "/PLATONIC/PLATE-1", function(imageDataSets){ + var dataSetIdentifier = imageDataSets[0]; + var wellPositions = [ createWellPosition(1, 1) ]; + var channels = ["DAPI"]; + + facade.listPlateImageReferencesForDataSetIdentifierAndWellPositionsAndChannels(dataSetIdentifier, wellPositions , channels, function(response){ + assertObjectsCount(response.result, 9); + facade.close(); + }); + }); + }); +}); + +test("listImageReferencesForDataSetIdentifierAndChannel()", function(){ + createFacadeAndLogin(function(facade){ + var datasetCodes = ["20110913114645299-83009"]; + + facade.getDatasetIdentifiers(datasetCodes, function(response){ + var datasetIdentifier = response.result[0]; + var channel = "RGB"; + + facade.listImageReferencesForDataSetIdentifierAndChannel(datasetIdentifier, channel, function(response){ + assertObjectsCount(response.result, 1); + facade.close(); + }); + }); + }); +}); + +test("listImageReferencesForDataSetIdentifierAndChannels()", function(){ + createFacadeAndLogin(function(facade){ + var datasetCodes = ["20110913114645299-83009"]; + + facade.getDatasetIdentifiers(datasetCodes, function(response){ + var datasetIdentifier = response.result[0]; + var channels = ["RGB"]; + + facade.listImageReferencesForDataSetIdentifierAndChannels(datasetIdentifier, channels, function(response){ + assertObjectsCount(response.result, 1); + facade.close(); + }); + }); + }); +}); + diff --git a/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java b/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java index 437e03276c6..062a0c6e2db 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/dss/screening/server/DssServiceRpcScreening.java @@ -1022,12 +1022,12 @@ public class DssServiceRpcScreening extends AbstractDssServiceRpc<IDssServiceRpc loader.tryGetThumbnail(imageReference.getChannel(), channelStackRef, new RequestedImageSize(size, false, false), transformation); - IHierarchicalContentNode content = imr.tryGetRawContent(); + IHierarchicalContentNode content = imr != null ? imr.tryGetRawContent() : null; if (content == null) { throw new UserFailureException( - "Couldn't fetch the image as row content, as it is only a partial content of an image"); + "Couldn't fetch the image as raw content, as it is only a partial content of an image"); } imageContents.add(content); } -- GitLab