diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/SampleListingWorker.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/SampleListingWorker.java index fbd01b48441ecd012126f19f211651448c099650..4c2e72266618feef2bbcdf111e1ecb9f77e43b03 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/SampleListingWorker.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/SampleListingWorker.java @@ -326,7 +326,6 @@ final class SampleListingWorker sampleTypes.put(type.getId(), type); if (singleSampleTypeMode == false) { - // TODO 2009-09-24, Piotr Buczek: use to display all parents maxSampleContainerResolutionDepth = Math.max(maxSampleContainerResolutionDepth, type .getContainerHierarchyDepth()); @@ -629,6 +628,24 @@ final class SampleListingWorker record.sample.setContainer(container); record.sample.setCode(IdentifierHelper.convertCode(record.sample.getSubCode(), container.getCode())); + updateSampleIdentifier(record.sample); } } + + private void updateSampleIdentifier(Sample sample) + { + SampleIdentifier identifier; + if (sample.getDatabaseInstance() != null) + { + final DatabaseInstanceIdentifier dbId = + new DatabaseInstanceIdentifier(databaseInstance.getCode()); + identifier = new SampleIdentifier(dbId, sample.getCode()); + } else + { + final GroupIdentifier groupId = + new GroupIdentifier(databaseInstance.getCode(), sample.getGroup().getCode()); + identifier = new SampleIdentifier(groupId, sample.getCode()); + } + sample.setIdentifier(identifier.toString()); + } }