diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/ISampleListingQuery.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/ISampleListingQuery.java index 76aa3c01b90a42b1a223b2e3b39fdf2684da9214..026e926d78a60c2f66761e7a54da310863b16dad 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/ISampleListingQuery.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/ISampleListingQuery.java @@ -25,6 +25,7 @@ import net.lemnik.eodsql.DataIterator; import net.lemnik.eodsql.EoDException; import net.lemnik.eodsql.Select; import net.lemnik.eodsql.TransactionQuery; +import net.lemnik.eodsql.TypeMapper; import net.lemnik.eodsql.spi.util.NonUpdateCapableDataObjectBinding; import org.apache.commons.lang.StringEscapeUtils; @@ -225,9 +226,9 @@ public interface ISampleListingQuery extends TransactionQuery, IPropertyListingQ @Select(sql = "select s.id, s.perm_id, s.code, s.expe_id, s.grou_id, " + " s.registration_timestamp, s.pers_id_registerer, " + " s.samp_id_generated_from, s.samp_id_part_of, s.saty_id, s.inva_id " - + " from samples s where s.id = any(?{1})", parameterBindings = - { LongSetMapper.class }, fetchSize = FETCH_SIZE) - public DataIterator<SampleRecord> getSamples(LongSet sampleIds); + + " from samples s where dbin_id=?{1} and s.id = any(?{2})", parameterBindings = + { TypeMapper.class, LongSetMapper.class }, fetchSize = FETCH_SIZE) + public DataIterator<SampleRecord> getSamples(long dbInstanceId, LongSet sampleIds); // // Sample Properties 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 df836798727163d9994e9b52fd1523193445c487..da4fb61621a87888582e4c5fe9134dc9a65a3bb7 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 @@ -315,7 +315,7 @@ final class SampleListingWorker { return null; } - return query.getSamples(new LongOpenHashSet(ids)); + return query.getSamples(databaseInstanceId, new LongOpenHashSet(ids)); } private Iterable<SampleRecord> tryGetIteratorForGroupSamples() @@ -542,7 +542,8 @@ final class SampleListingWorker return; } requestedSamples.keySet().removeAll(sampleMap.keySet()); - retrieveDependentBasicSamples(query.getSamples(requestedSamples.keySet())); + retrieveDependentBasicSamples(query.getSamples(databaseInstanceId, requestedSamples + .keySet())); retrieveDependentSamplesRecursively(); } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/SampleSetListingQueryTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/SampleSetListingQueryTest.java index 23e1358f83c51e52d94c5da009eb3f84c72ad32d..8f72b9df4af51d67103dddbacee32e31da054470 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/SampleSetListingQueryTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/business/bo/samplelister/SampleSetListingQueryTest.java @@ -113,7 +113,7 @@ public class SampleSetListingQueryTest extends AbstractDAOTest public void testQuerySamples() { LongSet ids = createSet(CELL_PLATE_ID_CP_TEST_1, CELL_PLATE_ID_CP_TEST_2); - List<SampleRecord> samples = asList(query.getSamples(ids)); + List<SampleRecord> samples = asList(query.getSamples(dbInstanceId, ids)); assertEquals(ids.size(), samples.size()); for (SampleRecord sampleRowVO : samples) {