diff --git a/modules/apps/segments/segments-service/src/main/java/com/liferay/segments/service/impl/SegmentsExperimentLocalServiceImpl.java b/modules/apps/segments/segments-service/src/main/java/com/liferay/segments/service/impl/SegmentsExperimentLocalServiceImpl.java index 0a51d5de8bf1aa..efda0b46f04451 100644 --- a/modules/apps/segments/segments-service/src/main/java/com/liferay/segments/service/impl/SegmentsExperimentLocalServiceImpl.java +++ b/modules/apps/segments/segments-service/src/main/java/com/liferay/segments/service/impl/SegmentsExperimentLocalServiceImpl.java @@ -5,7 +5,6 @@ package com.liferay.segments.service.impl; -import com.liferay.petra.sql.dsl.DSLQueryFactoryUtil; import com.liferay.petra.string.StringBundler; import com.liferay.portal.aop.AopService; import com.liferay.portal.kernel.dao.orm.DynamicQuery; @@ -50,12 +49,11 @@ import com.liferay.segments.model.SegmentsExperience; import com.liferay.segments.model.SegmentsExperiment; import com.liferay.segments.model.SegmentsExperimentRel; -import com.liferay.segments.model.SegmentsExperimentRelTable; -import com.liferay.segments.model.SegmentsExperimentTable; import com.liferay.segments.service.SegmentsExperienceLocalService; import com.liferay.segments.service.SegmentsExperimentRelLocalService; import com.liferay.segments.service.base.SegmentsExperimentLocalServiceBaseImpl; import com.liferay.segments.service.persistence.SegmentsExperiencePersistence; +import com.liferay.segments.service.persistence.SegmentsExperimentRelPersistence; import java.math.RoundingMode; @@ -209,31 +207,22 @@ public SegmentsExperiment deleteSegmentsExperiment( public SegmentsExperiment fetchSegmentsExperiment( long groupId, long segmentsExperienceId, long plid) { - List segmentsExperiments = - segmentsExperimentPersistence.dslQuery( - DSLQueryFactoryUtil.select( - SegmentsExperimentTable.INSTANCE - ).from( - SegmentsExperimentTable.INSTANCE - ).innerJoinON( - SegmentsExperimentRelTable.INSTANCE, - SegmentsExperimentRelTable.INSTANCE.segmentsExperimentId.eq( - SegmentsExperimentTable.INSTANCE.segmentsExperimentId) - ).where( - SegmentsExperimentRelTable.INSTANCE.segmentsExperienceId.eq( - segmentsExperienceId - ).and( - SegmentsExperimentTable.INSTANCE.groupId.eq(groupId) - ).and( - SegmentsExperimentTable.INSTANCE.plid.eq(plid) - ) - )); - - if (segmentsExperiments.isEmpty()) { - return null; + for (SegmentsExperimentRel segmentsExperimentRel : + _segmentsExperimentRelPersistence.findBySegmentsExperienceId( + segmentsExperienceId)) { + + SegmentsExperiment segmentsExperiment = + segmentsExperimentPersistence.fetchByPrimaryKey( + segmentsExperimentRel.getSegmentsExperimentId()); + + if ((segmentsExperiment.getGroupId() == groupId) && + (segmentsExperiment.getPlid() == plid)) { + + return segmentsExperiment; + } } - return segmentsExperiments.get(0); + return null; } @Override @@ -722,6 +711,9 @@ private void _validateType(String type) throws PortalException { private SegmentsExperimentRelLocalService _segmentsExperimentRelLocalService; + @Reference + private SegmentsExperimentRelPersistence _segmentsExperimentRelPersistence; + @Reference private UserLocalService _userLocalService;