From 5172b31f7a8858f63489d40bde8efcb18df1439f Mon Sep 17 00:00:00 2001 From: juanf <juanf@ethz.ch> Date: Fri, 27 Jan 2023 11:42:12 +0100 Subject: [PATCH] SSDM-13195 : Hibernate fixes, modifying PE layer to use DAO for parents/children --- .../generic/server/dataaccess/IRelationshipTypeDAO.java | 2 ++ .../generic/server/dataaccess/db/RelationshipTypeDAO.java | 2 +- .../server/dataaccess/db/SampleRelationshipDAO.java | 8 ++++---- .../cisd/openbis/generic/shared/dto/SamplePE.java | 5 +++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IRelationshipTypeDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IRelationshipTypeDAO.java index df2b38365ef..3269ee56b6e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IRelationshipTypeDAO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/IRelationshipTypeDAO.java @@ -29,4 +29,6 @@ public interface IRelationshipTypeDAO extends IGenericDAO<RelationshipTypePE> */ public RelationshipTypePE tryFindRelationshipTypeByCode(String code); + public Long getRelationshipTypeId(String code); + } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/RelationshipTypeDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/RelationshipTypeDAO.java index 86ff093d4cb..65b32059c12 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/RelationshipTypeDAO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/RelationshipTypeDAO.java @@ -69,7 +69,7 @@ public class RelationshipTypeDAO extends AbstractGenericEntityDAO<RelationshipTy return type; } - private synchronized Long getRelationshipTypeId(String code) + public synchronized Long getRelationshipTypeId(String code) { if (relationshipTypeIdsMap == null) { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleRelationshipDAO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleRelationshipDAO.java index 58803d51c76..2f9df6bf8b9 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleRelationshipDAO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/SampleRelationshipDAO.java @@ -36,17 +36,17 @@ public class SampleRelationshipDAO extends AbstractGenericEntityDAO<SampleRelati } public List<SampleRelationshipPE> listSampleParents(List<Long> childrenTechIds) { - RelationshipTypePE relationshipType = relationshipTypeDAO.tryFindRelationshipTypeByCode(BasicConstant.PARENT_CHILD_INTERNAL_RELATIONSHIP); + Long typeId = relationshipTypeDAO.getRelationshipTypeId(BasicConstant.PARENT_CHILD_INTERNAL_RELATIONSHIP); final DetachedCriteria criteria = DetachedCriteria.forClass(SampleRelationshipPE.class); - criteria.add(Restrictions.eq("relationship.id", relationshipType.getId())); + criteria.add(Restrictions.eq("relationship.id", typeId)); criteria.add(Restrictions.in("childSample.id", childrenTechIds)); return cast(getHibernateTemplate().findByCriteria(criteria)); } public List<SampleRelationshipPE> listSampleChildren(List<Long> parentTechIds) { - RelationshipTypePE relationshipType = relationshipTypeDAO.tryFindRelationshipTypeByCode(BasicConstant.PARENT_CHILD_INTERNAL_RELATIONSHIP); + Long typeId = relationshipTypeDAO.getRelationshipTypeId(BasicConstant.PARENT_CHILD_INTERNAL_RELATIONSHIP); final DetachedCriteria criteria = DetachedCriteria.forClass(SampleRelationshipPE.class); - criteria.add(Restrictions.eq("relationship.id", relationshipType.getId())); + criteria.add(Restrictions.eq("relationship.id", typeId)); criteria.add(Restrictions.in("parentSample.id", parentTechIds)); return cast(getHibernateTemplate().findByCriteria(criteria)); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java index 13d3991caec..5e8a2400139 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/dto/SamplePE.java @@ -43,9 +43,10 @@ import javax.persistence.Version; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; -import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.relationship.IGetRelationshipIdExecutor; import ch.systemsx.cisd.openbis.generic.server.CommonServiceProvider; -import ch.systemsx.cisd.openbis.generic.shared.basic.*; +import ch.systemsx.cisd.openbis.generic.shared.basic.BasicConstant; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder; +import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentityHolder; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; -- GitLab