Skip to content
Snippets Groups Projects
Commit d408809a authored by buczekp's avatar buczekp
Browse files

[LMS-2177] fixed inconsistencies in showing db instance for samples (never show home instance)

SVN: 20638
parent 7d360e38
No related branches found
No related tags found
No related merge requests found
...@@ -53,10 +53,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample; ...@@ -53,10 +53,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.SampleType;
import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Space;
import ch.systemsx.cisd.openbis.generic.shared.dto.CodeConverter; import ch.systemsx.cisd.openbis.generic.shared.dto.CodeConverter;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.DatabaseInstanceIdentifier;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.GroupIdentifier;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.IdentifierHelper; import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.IdentifierHelper;
import ch.systemsx.cisd.openbis.generic.shared.dto.identifier.SampleIdentifier;
/** /**
* A business worker object for fast sample listing. It has only one interface method, which is * A business worker object for fast sample listing. It has only one interface method, which is
...@@ -626,17 +623,21 @@ final class SampleListingWorker extends AbstractLister ...@@ -626,17 +623,21 @@ final class SampleListingWorker extends AbstractLister
private void setSpace(final Sample sample, final Space space) private void setSpace(final Sample sample, final Space space)
{ {
sample.setSpace(space); sample.setSpace(space);
final GroupIdentifier groupId = // final DatabaseInstanceIdentifier dbId =
new GroupIdentifier(databaseInstance.getCode(), space.getCode()); // databaseInstance.isHomeDatabase() ? DatabaseInstanceIdentifier.HOME_INSTANCE
sample.setIdentifier(new SampleIdentifier(groupId, sample.getCode()).toString()); // : new DatabaseInstanceIdentifier(databaseInstance.getCode());
// final GroupIdentifier groupId = new GroupIdentifier(dbId, space.getCode());
sample.setIdentifier(IdentifierHelper.createSampleIdentifier(sample).toString());
} }
private void setDatabaseInstance(final Sample sample) private void setDatabaseInstance(final Sample sample)
{ {
sample.setDatabaseInstance(databaseInstance); sample.setDatabaseInstance(databaseInstance);
final DatabaseInstanceIdentifier dbId = // final DatabaseInstanceIdentifier dbId =
new DatabaseInstanceIdentifier(databaseInstance.getCode()); // databaseInstance.isHomeDatabase() ? DatabaseInstanceIdentifier.HOME_INSTANCE
sample.setIdentifier(new SampleIdentifier(dbId, sample.getCode()).toString()); // : new DatabaseInstanceIdentifier(databaseInstance.getCode());
sample.setIdentifier(IdentifierHelper.createSampleIdentifier(sample).toString());
// new SampleIdentifier(dbId, sample.getCode()).toString());
} }
private void addRelatedContainerSampleToRequested(long containerId) private void addRelatedContainerSampleToRequested(long containerId)
......
...@@ -29,6 +29,8 @@ public class DatabaseInstance extends Code<DatabaseInstance> ...@@ -29,6 +29,8 @@ public class DatabaseInstance extends Code<DatabaseInstance>
private String identifier; private String identifier;
private boolean isHomeDatabase;
public final String getUuid() public final String getUuid()
{ {
return uuid; return uuid;
...@@ -58,4 +60,14 @@ public class DatabaseInstance extends Code<DatabaseInstance> ...@@ -58,4 +60,14 @@ public class DatabaseInstance extends Code<DatabaseInstance>
{ {
this.id = id; this.id = id;
} }
public boolean isHomeDatabase()
{
return isHomeDatabase;
}
public void setHomeDatabase(boolean isHomeDatabase)
{
this.isHomeDatabase = isHomeDatabase;
}
} }
...@@ -108,13 +108,17 @@ public final class IdentifierHelper ...@@ -108,13 +108,17 @@ public final class IdentifierHelper
final Space space = sample.getSpace(); final Space space = sample.getSpace();
if (space != null) if (space != null)
{ {
DatabaseInstanceIdentifier instanceIdentifier =
space.getInstance().isHomeDatabase() ? DatabaseInstanceIdentifier.HOME_INSTANCE
: new DatabaseInstanceIdentifier(space.getInstance().getCode());
GroupIdentifier groupIdentifier = GroupIdentifier groupIdentifier =
new GroupIdentifier(space.getInstance().getCode(), space.getCode()); new GroupIdentifier(instanceIdentifier, space.getCode());
return new SampleIdentifier(groupIdentifier, sample.getCode()); return new SampleIdentifier(groupIdentifier, sample.getCode());
} else } else
{ {
DatabaseInstanceIdentifier instanceIdentifier = DatabaseInstanceIdentifier instanceIdentifier =
new DatabaseInstanceIdentifier(sample.getDatabaseInstance().getCode()); (sample.getDatabaseInstance().isHomeDatabase()) ? DatabaseInstanceIdentifier.HOME_INSTANCE
: new DatabaseInstanceIdentifier(sample.getDatabaseInstance().getCode());
return new SampleIdentifier(instanceIdentifier, sample.getCode()); return new SampleIdentifier(instanceIdentifier, sample.getCode());
} }
} }
......
...@@ -44,6 +44,7 @@ public final class DatabaseInstanceTranslator ...@@ -44,6 +44,7 @@ public final class DatabaseInstanceTranslator
result.setId(HibernateUtils.getId(databaseInstance)); result.setId(HibernateUtils.getId(databaseInstance));
result.setCode(databaseInstance.getCode()); result.setCode(databaseInstance.getCode());
result.setUuid(databaseInstance.getUuid()); result.setUuid(databaseInstance.getUuid());
result.setHomeDatabase(databaseInstance.isOriginalSource());
result.setIdentifier(IdentifierHelper.createDatabaseInstanceIdentifier(databaseInstance) result.setIdentifier(IdentifierHelper.createDatabaseInstanceIdentifier(databaseInstance)
.toString()); .toString());
return result; return result;
......
...@@ -110,7 +110,7 @@ public class GeneralInformationServiceTest extends SystemTestCase ...@@ -110,7 +110,7 @@ public class GeneralInformationServiceTest extends SystemTestCase
sc.addMatchClause(MatchClause.createAttributeMatch(MatchClauseAttribute.CODE, "*")); sc.addMatchClause(MatchClause.createAttributeMatch(MatchClauseAttribute.CODE, "*"));
List<Sample> result = generalInformationService.searchForSamples(sessionToken, sc); List<Sample> result = generalInformationService.searchForSamples(sessionToken, sc);
assertEquals(true, result.size() > 0); assertEquals(true, result.size() > 0);
String expectedSampleIdentifier = "CISD:/CISD/CL1"; String expectedSampleIdentifier = "/CISD/CL1";
for (Sample sample : result) for (Sample sample : result)
{ {
if (expectedSampleIdentifier.equals(sample.getIdentifier())) if (expectedSampleIdentifier.equals(sample.getIdentifier()))
......
...@@ -51,8 +51,6 @@ public class SampleBrowsingTest extends GenericSystemTestCase ...@@ -51,8 +51,6 @@ public class SampleBrowsingTest extends GenericSystemTestCase
{ {
private static final boolean DEBUG = false; private static final boolean DEBUG = false;
private static final String DEFAULT_INSTANCE = "CISD";
private static final String DEFAULT_GROUP = "CISD"; private static final String DEFAULT_GROUP = "CISD";
private static final String DEFAULT_PLATE_GEOMETRY_VALUE = "384_WELLS_16X24"; private static final String DEFAULT_PLATE_GEOMETRY_VALUE = "384_WELLS_16X24";
...@@ -94,10 +92,10 @@ public class SampleBrowsingTest extends GenericSystemTestCase ...@@ -94,10 +92,10 @@ public class SampleBrowsingTest extends GenericSystemTestCase
// test that 3 parents of a 'REINFECT_PLATE' are loaded // test that 3 parents of a 'REINFECT_PLATE' are loaded
Sample s3 = getSample(list, createSampleIdentifier("RP1-A2X")); Sample s3 = getSample(list, createSampleIdentifier("RP1-A2X"));
assertEquals("REINFECT_PLATE", s3.getSampleType().getCode()); assertEquals("REINFECT_PLATE", s3.getSampleType().getCode());
assertEquals("CISD:/CISD/CP1-A2", s3.getGeneratedFrom().getIdentifier()); assertEquals("/CISD/CP1-A2", s3.getGeneratedFrom().getIdentifier());
assertEquals("CISD:/CISD/DP1-A", s3.getGeneratedFrom().getGeneratedFrom().getIdentifier()); assertEquals("/CISD/DP1-A", s3.getGeneratedFrom().getGeneratedFrom().getIdentifier());
assertEquals("CISD:/CISD/MP1-MIXED", s3.getGeneratedFrom().getGeneratedFrom() assertEquals("/CISD/MP1-MIXED", s3.getGeneratedFrom().getGeneratedFrom().getGeneratedFrom()
.getGeneratedFrom().getIdentifier()); .getIdentifier());
} }
@Test @Test
...@@ -170,7 +168,7 @@ public class SampleBrowsingTest extends GenericSystemTestCase ...@@ -170,7 +168,7 @@ public class SampleBrowsingTest extends GenericSystemTestCase
Sample s = getSample(list, createSampleIdentifier("3VCP1")); Sample s = getSample(list, createSampleIdentifier("3VCP1"));
assertNotNull(s.getInvalidation()); assertNotNull(s.getInvalidation());
assertEquals("/CISD/NEMO/EXP1", s.getExperiment().getIdentifier()); assertEquals("/CISD/NEMO/EXP1", s.getExperiment().getIdentifier());
assertEquals("CISD:/CISD/3V-123", s.getGeneratedFrom().getIdentifier()); assertEquals("/CISD/3V-123", s.getGeneratedFrom().getIdentifier());
assertNull(s.getGeneratedFrom().getGeneratedFrom()); assertNull(s.getGeneratedFrom().getGeneratedFrom());
} }
...@@ -203,18 +201,17 @@ public class SampleBrowsingTest extends GenericSystemTestCase ...@@ -203,18 +201,17 @@ public class SampleBrowsingTest extends GenericSystemTestCase
private static String createSampleIdentifier(String sampleCode) private static String createSampleIdentifier(String sampleCode)
{ {
return createSampleIdentifier(DEFAULT_INSTANCE, DEFAULT_GROUP, sampleCode); return createSampleIdentifier(DEFAULT_GROUP, sampleCode);
} }
private static String createSharedSampleIdentifier(String sampleCode) private static String createSharedSampleIdentifier(String sampleCode)
{ {
return createSampleIdentifier(DEFAULT_INSTANCE, null, sampleCode); return createSampleIdentifier(null, sampleCode);
} }
private static String createSampleIdentifier(String instanceCode, String spaceCode, private static String createSampleIdentifier(String spaceCode, String sampleCode)
String sampleCode)
{ {
return instanceCode + ":/" + (spaceCode == null ? "" : spaceCode + "/") + sampleCode; return "/" + (spaceCode == null ? "" : spaceCode + "/") + sampleCode;
} }
private SampleType getAllSampleType() private SampleType getAllSampleType()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment