From a96c6b94e237c6dfa5e0256835fe0b7737bd5f6f Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Tue, 11 Apr 2017 08:09:02 +0000 Subject: [PATCH] SSDM-4187: Creating correct identifier of project samples in SampleLister. This is a bug fix for GeneralInformationService. SVN: 38038 --- .../fetchoptions/samplelister/ISampleListingQuery.java | 3 ++- .../bo/fetchoptions/samplelister/SampleLister.java | 10 ++++++++-- .../bo/fetchoptions/samplelister/SampleRecord.java | 4 +++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/fetchoptions/samplelister/ISampleListingQuery.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/fetchoptions/samplelister/ISampleListingQuery.java index 9e2631aa756..29dff6598ee 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/fetchoptions/samplelister/ISampleListingQuery.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/fetchoptions/samplelister/ISampleListingQuery.java @@ -44,12 +44,13 @@ public interface ISampleListingQuery extends BaseQuery + "s.modification_timestamp as s_modification_timestamp, sp.code as sp_code, " + "st.id as st_id, st.code as st_code, pe.first_name as pe_first_name, " + "pe.last_name as pe_last_name, pe.user_id as pe_user_id, pe.email as pe_email, " - + "e.code as exp_code, p.code as proj_code, ps.code as proj_space_code, " + + "e.code as exp_code, p.code as proj_code, ps.code as proj_space_code, sap.code as samp_proj_code, " + "mod.first_name as mod_first_name, mod.last_name as mod_last_name, " + "mod.user_id as mod_user_id, mod.email as mod_email " + "from samples as s join sample_types as st on s.saty_id = st.id " + "left join samples as cs on s.samp_id_part_of = cs.id " + "left join spaces as sp on s.space_id = sp.id " + + "left join projects as sap on s.proj_id = sap.id " + "left join experiments as e on s.expe_id = e.id " + "left join projects as p on e.proj_id = p.id " + "left join spaces as ps on p.space_id = ps.id " diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/fetchoptions/samplelister/SampleLister.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/fetchoptions/samplelister/SampleLister.java index 7a0d6b1c735..8048450ace1 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/fetchoptions/samplelister/SampleLister.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/fetchoptions/samplelister/SampleLister.java @@ -368,8 +368,14 @@ public class SampleLister implements ISampleLister sampleCode = containerCode + ":" + sampleCode; } initializer.setCode(sampleCode); - initializer.setIdentifier(spaceCode == null ? "/" + sampleCode : "/" + spaceCode + "/" - + sampleCode); + if (sampleRecord.samp_proj_code != null) + { + initializer.setIdentifier("/" + spaceCode + "/" + sampleRecord.samp_proj_code + "/" + sampleCode); + } else + { + initializer.setIdentifier(spaceCode == null ? "/" + sampleCode : "/" + spaceCode + "/" + + sampleCode); + } initializer.setPermId(sampleRecord.s_perm_id); EntityRegistrationDetailsInitializer detailsInitializer = new EntityRegistrationDetailsInitializer(); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/fetchoptions/samplelister/SampleRecord.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/fetchoptions/samplelister/SampleRecord.java index daf6fdfc28b..ce5cb37886d 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/fetchoptions/samplelister/SampleRecord.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/fetchoptions/samplelister/SampleRecord.java @@ -69,7 +69,9 @@ public class SampleRecord public String proj_code; public String proj_space_code; - + + public String samp_proj_code; + public List<SampleRecord> children; public List<SampleRecord> parents; -- GitLab