diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageChannel.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageChannel.java index 8d5d3874dc43f5419659362a840073f6340e5526..f4ae055384167e014232663d7d9f4345e2f1edb7 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageChannel.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageChannel.java @@ -26,7 +26,7 @@ import java.util.List; * @since 1.9 * @author Bernd Rinn */ -public class ImageChannel implements Serializable +public class ImageChannel implements Serializable, Comparable<ImageChannel> { private static final long serialVersionUID = 1L; @@ -145,4 +145,9 @@ public class ImageChannel implements Serializable + ", wavelength=" + wavelength + ", transformations=" + transformations + "]"; } + public int compareTo(ImageChannel imageChannel) + { + return code.compareTo(imageChannel.code); + } + } diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageDatasetMetadata.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageDatasetMetadata.java index 8692a39847c536072ba156499d36925cfe95d7fd..ef0eb4e0036d364a2c79c7f30864c70322f02664 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageDatasetMetadata.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/shared/api/v1/dto/ImageDatasetMetadata.java @@ -4,6 +4,7 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.io.Serializable; import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -24,7 +25,7 @@ public class ImageDatasetMetadata implements Serializable private final List<String> channelCodes; private final List<String> channelLabels; - + private List<ImageChannel> channels; private final int tilesNumber; @@ -42,10 +43,11 @@ public class ImageDatasetMetadata implements Serializable private final int thumbnailHeight; public ImageDatasetMetadata(IImageDatasetIdentifier dataset, List<ImageChannel> channels, - int tilesRows, int tilesCols, int width, int height, - int thumbnailWidth, int thumbnailHeight) + int tilesRows, int tilesCols, int width, int height, int thumbnailWidth, + int thumbnailHeight) { this.imageDataset = dataset; + Collections.sort(channels); this.channels = channels; this.channelsNumber = channels.size(); this.channelNames = new ArrayList<String>(channelsNumber); @@ -216,9 +218,9 @@ public class ImageDatasetMetadata implements Serializable + tilesNumber + " tiles. Image resolution: " + width + "x" + height + thumbnailsDesc; } - + // Java de-serialization - + private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); @@ -233,5 +235,5 @@ public class ImageDatasetMetadata implements Serializable } } } - + } \ No newline at end of file