diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ImageTableCell.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ImageTableCell.java index 187fa068246a3e269b3ee14852d20dd9325b689d..6378660cb7a12f1108f277ba4e5e39b238ade648 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ImageTableCell.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/ImageTableCell.java @@ -16,6 +16,7 @@ package ch.systemsx.cisd.openbis.generic.shared.basic.dto; +import org.apache.commons.lang.StringUtils; /** * @@ -34,9 +35,20 @@ public class ImageTableCell implements ISerializableComparable throw new IllegalArgumentException("Data set location '" + dataSetLocation + "' inconsistent with original path: " + originalPath); } - return dataSetCode + originalPath.substring(indexOfLocation + dataSetLocation.length()); + String relativePath = originalPath.substring(indexOfLocation + dataSetLocation.length()); + return getPath(dataSetCode, relativePath); } + private static String getPath(String dataSetCode, String relativePath) + { + String delimiter = StringUtils.EMPTY; + if (false == relativePath.startsWith("/")) + { + delimiter = "/"; + } + return dataSetCode + delimiter + relativePath; + } + private String path; private int maxThumbnailWidth; @@ -57,7 +69,8 @@ public class ImageTableCell implements ISerializableComparable int maxThumbnailWidth, int maxThumbnailHeight) { - this(dataSetCode + relativePathFromDataSetRoot, maxThumbnailWidth, maxThumbnailHeight); + this(getPath(dataSetCode, relativePathFromDataSetRoot), maxThumbnailWidth, + maxThumbnailHeight); } public ImageTableCell(String path, int maxThumbnailWidth, int maxThumbnailHeight)