Rolled back changes
This commit is contained in:
parent
8670f107b5
commit
1e41621eca
|
@ -67,13 +67,4 @@ public interface IMdmLinkDao extends JpaRepository<MdmLink, Long> {
|
||||||
"AND ml.myMatchResult=:matchResult")
|
"AND ml.myMatchResult=:matchResult")
|
||||||
List<MdmPidTuple> expandPidsBySourcePidAndMatchResult(@Param("sourcePid") Long theSourcePid, @Param("matchResult") MdmMatchResultEnum theMdmMatchResultEnum);
|
List<MdmPidTuple> expandPidsBySourcePidAndMatchResult(@Param("sourcePid") Long theSourcePid, @Param("matchResult") MdmMatchResultEnum theMdmMatchResultEnum);
|
||||||
|
|
||||||
@Query("SELECT DISTINCT ml.myGoldenResourcePid as goldenPid, ml.mySourcePid as sourcePid " +
|
|
||||||
"FROM MdmLink ml " +
|
|
||||||
"INNER JOIN MdmLink ml2 " +
|
|
||||||
"ON ml.myGoldenResourcePid = ml2.myGoldenResourcePid " +
|
|
||||||
"WHERE (ml2.mySourcePid = :sourceOrGoldenPid OR ml2.myGoldenResourcePid = :sourceOrGoldenPid) " +
|
|
||||||
"AND ml2.myMatchResult=:matchResult " +
|
|
||||||
"AND ml.myMatchResult=:matchResult")
|
|
||||||
List<MdmPidTuple> expandPidsBySourceOrGoldenResourcePidAndMatchResult(@Param("sourceOrGoldenPid") Long theSourceOrGoldenPid, @Param("matchResult") MdmMatchResultEnum theMdmMatchResultEnum);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,19 +72,6 @@ public class MdmLinkExpandSvc {
|
||||||
return expandMdmBySourceResourcePid(pidOrThrowException);
|
return expandMdmBySourceResourcePid(pidOrThrowException);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Given a resource ID of a source resource or golden resource, perform MDM expansion and return all the resource
|
|
||||||
* IDs of all resources that are MDM-Matched to this resource.
|
|
||||||
*
|
|
||||||
* @param theId The Resource ID of the resource to MDM-Expand
|
|
||||||
* @return A set of strings representing the FHIR ids of the expanded resources.
|
|
||||||
*/
|
|
||||||
public Set<String> expandMdmBySourceOrGoldenResourceId(IIdType theId) {
|
|
||||||
ourLog.debug("About to expand source resource with resource id {}", theId);
|
|
||||||
Long pidOrThrowException = myIdHelperService.getPidOrThrowException(theId);
|
|
||||||
return flatten(myMdmLinkDao.expandPidsBySourceOrGoldenResourcePidAndMatchResult(pidOrThrowException, MdmMatchResultEnum.MATCH));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Given a PID of a source resource, perform MDM expansion and return all the resource IDs of all resources that are
|
* Given a PID of a source resource, perform MDM expansion and return all the resource IDs of all resources that are
|
||||||
* MDM-Matched to this resource.
|
* MDM-Matched to this resource.
|
||||||
|
@ -94,17 +81,14 @@ public class MdmLinkExpandSvc {
|
||||||
*/
|
*/
|
||||||
public Set<String> expandMdmBySourceResourcePid(Long theSourceResourcePid) {
|
public Set<String> expandMdmBySourceResourcePid(Long theSourceResourcePid) {
|
||||||
ourLog.debug("About to expand source resource with PID {}", theSourceResourcePid);
|
ourLog.debug("About to expand source resource with PID {}", theSourceResourcePid);
|
||||||
return flatten(myMdmLinkDao.expandPidsBySourcePidAndMatchResult(theSourceResourcePid, MdmMatchResultEnum.MATCH));
|
List<IMdmLinkDao.MdmPidTuple> goldenPidSourcePidTuples = myMdmLinkDao.expandPidsBySourcePidAndMatchResult(theSourceResourcePid, MdmMatchResultEnum.MATCH);
|
||||||
}
|
|
||||||
|
|
||||||
protected Set<String> flatten(List<IMdmLinkDao.MdmPidTuple> thePidTuples) {
|
|
||||||
Set<Long> flattenedPids = new HashSet<>();
|
Set<Long> flattenedPids = new HashSet<>();
|
||||||
thePidTuples.forEach(tuple -> {
|
goldenPidSourcePidTuples.forEach(tuple -> {
|
||||||
flattenedPids.add(tuple.getSourcePid());
|
flattenedPids.add(tuple.getSourcePid());
|
||||||
flattenedPids.add(tuple.getGoldenPid());
|
flattenedPids.add(tuple.getGoldenPid());
|
||||||
});
|
});
|
||||||
Set<String> resourceIds = myIdHelperService.translatePidsToFhirResourceIds(flattenedPids);
|
Set<String> resourceIds = myIdHelperService.translatePidsToFhirResourceIds(flattenedPids);
|
||||||
ourLog.debug("Expanded pids are [{}]", String.join(",", resourceIds));
|
ourLog.debug("Pid {} has been expanded to [{}]", theSourceResourcePid, String.join(",", resourceIds));
|
||||||
return resourceIds;
|
return resourceIds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -83,15 +83,6 @@ public class MdmLinkDaoSvcTest extends BaseMdmR4Test {
|
||||||
|
|
||||||
assertThat(lists, hasSize(10));
|
assertThat(lists, hasSize(10));
|
||||||
|
|
||||||
lists.stream()
|
|
||||||
.forEach(tuple -> {
|
|
||||||
assertThat(tuple.getGoldenPid(), is(equalTo(golden.getIdElement().getIdPartAsLong())));
|
|
||||||
assertThat(tuple.getSourcePid(), is(in(expectedExpandedPids)));
|
|
||||||
});
|
|
||||||
|
|
||||||
lists = myMdmLinkDao.expandPidsBySourceOrGoldenResourcePidAndMatchResult(mdmLinks.get(0).getGoldenResourcePid(), MdmMatchResultEnum.MATCH);
|
|
||||||
assertThat(lists, hasSize(10));
|
|
||||||
|
|
||||||
lists.stream()
|
lists.stream()
|
||||||
.forEach(tuple -> {
|
.forEach(tuple -> {
|
||||||
assertThat(tuple.getGoldenPid(), is(equalTo(golden.getIdElement().getIdPartAsLong())));
|
assertThat(tuple.getGoldenPid(), is(equalTo(golden.getIdElement().getIdPartAsLong())));
|
||||||
|
|
Loading…
Reference in New Issue