Skip to content

Commit

Permalink
#9755 S2S_Revision of the 'share requests' directory_ Part 1 - fxed m…
Browse files Browse the repository at this point in the history
…erge issues and sorting bug
  • Loading branch information
Levente Gal committed Aug 24, 2022
1 parent b5fc01c commit 638e2d1
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 60 deletions.
Expand Up @@ -8,9 +8,6 @@
import javax.ejb.Singleton;
import javax.inject.Inject;

import de.symeda.sormas.backend.sormastosormas.share.shareinfo.ShareRequestInfoService;
import de.symeda.sormas.backend.sormastosormas.share.shareinfo.SormasToSormasShareInfoService;
import de.symeda.sormas.backend.sormastosormas.share.sharerequest.SormasToSormasShareRequestService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand All @@ -23,6 +20,9 @@
import de.symeda.sormas.backend.event.EventParticipantFacadeEjb;
import de.symeda.sormas.backend.immunization.ImmunizationFacadeEjb;
import de.symeda.sormas.backend.person.PersonService;
import de.symeda.sormas.backend.sormastosormas.share.incoming.SormasToSormasShareRequestService;
import de.symeda.sormas.backend.sormastosormas.share.outgoing.ShareRequestInfoService;
import de.symeda.sormas.backend.sormastosormas.share.outgoing.SormasToSormasShareInfoService;
import de.symeda.sormas.backend.travelentry.TravelEntryFacadeEjb;
import de.symeda.sormas.backend.util.IterableHelper;

Expand Down Expand Up @@ -106,7 +106,7 @@ public void executeAutomaticDeletion() {
List<String> nonReferencedShareRequestInfoUuids = shareRequestInfoService.getAllNonReferencedShareRequestInfo();
logger.debug("executeAutomaticDeletion(): Detected non referenced ShareRequestInfo: n={}", nonReferencedShareRequestInfoUuids.size());
IterableHelper.executeBatched(
nonReferencedShareRequestInfoUuids,
nonReferencedShareRequestInfoUuids,
DELETE_BATCH_SIZE,
batchedUuids -> shareRequestInfoService.deletePermanentByUuids(nonReferencedShareRequestInfoUuids));

Expand Down
Expand Up @@ -110,32 +110,6 @@ public static SormasToSormasShareRequestDto toDto(SormasToSormasShareRequest sou
return target;
}

@Override
@RightsAllowed({
UserRight._SORMAS_TO_SORMAS_SHARE })
public List<SormasToSormasShareRequestIndexDto> getIndexList(
ShareRequestCriteria criteria,
Integer first,
Integer max,
List<SortProperty> sortProperties) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Long> cq = cb.createQuery(Long.class);
Root<SormasToSormasShareRequest> requestRoot = cq.from(SormasToSormasShareRequest.class);

Predicate filter = null;
if (criteria != null) {
filter = shareRequestService.buildCriteriaFilter(criteria, cb, requestRoot);
}

if (filter != null) {
cq.where(filter);
}

cq.select(cb.count(requestRoot));

return em.createQuery(cq).getSingleResult();
}

public static ShareRequestDetailsDto toDetailsDto(SormasToSormasShareRequest source) {
if (source == null) {
return null;
Expand All @@ -154,14 +128,8 @@ public static ShareRequestDetailsDto toDetailsDto(SormasToSormasShareRequest sou
}

@Override
public List<SormasToSormasShareRequestDto> getShareRequestsForCase(CaseReferenceDto caze) {
return shareRequestService.getShareRequestsForCase(caze)
.stream()
.map(SormasToSormasShareRequestFacadeEJB::toDto)
.collect(Collectors.toList());
}

@Override
@RightsAllowed({
UserRight._SORMAS_TO_SORMAS_SHARE })
public List<ShareRequestIndexDto> getIndexList(ShareRequestCriteria criteria, Integer first, Integer max, List<SortProperty> sortProperties) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<ShareRequestIndexDto> cq = cb.createQuery(ShareRequestIndexDto.class);
Expand Down Expand Up @@ -236,7 +204,7 @@ public List<ShareRequestIndexDto> getIndexList(ShareRequestCriteria criteria, In

@Override
@RightsAllowed({
UserRight._SORMAS_TO_SORMAS_SHARE })
UserRight._SORMAS_TO_SORMAS_SHARE })
public long count(ShareRequestCriteria criteria) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Long> cq = cb.createQuery(Long.class);
Expand Down Expand Up @@ -264,12 +232,12 @@ public Page<ShareRequestIndexDto> getIndexPage(ShareRequestCriteria criteria, In

@Override
@RightsAllowed({
UserRight._SORMAS_TO_SORMAS_SHARE })
UserRight._SORMAS_TO_SORMAS_SHARE })
public List<SormasToSormasShareRequestDto> getShareRequestsForCase(CaseReferenceDto caze) {
return shareRequestService.getShareRequestsForCase(caze)
.stream()
.map(SormasToSormasShareRequestFacadeEJB::toDto)
.collect(Collectors.toList());
.stream()
.map(SormasToSormasShareRequestFacadeEJB::toDto)
.collect(Collectors.toList());
}

@Override
Expand All @@ -279,16 +247,6 @@ public ShareRequestDetailsDto getShareRequestDetails(String uuid) {
return toDetailsDto(request);
}

public static SormasToSormasShareRequestDto toDto(SormasToSormasShareRequest source) {
if (source == null) {
return null;
}
SormasToSormasShareRequestDto target = new SormasToSormasShareRequestDto();
DtoHelper.fillDto(target, source);

return toDetailsDto(request);
}

private SormasToSormasShareRequest fromDto(@NotNull SormasToSormasShareRequestDto source, boolean checkChangeDate) {

SormasToSormasShareRequest target =
Expand Down
Expand Up @@ -89,13 +89,14 @@ public List<ShareRequestIndexDto> getIndexList(ShareRequestCriteria criteria, In
Path<SormasToSormasShareInfo> sharesJoin = requestRoot.join(ShareRequestInfo.SHARES);
Join<ShareRequestInfo, User> senderJoin = requestRoot.join(ShareRequestInfo.SENDER, JoinType.LEFT);

Expression<String> senderName = cb.concat(cb.concat(senderJoin.get(User.FIRST_NAME), " "), senderJoin.get(User.LAST_NAME));
cq.multiselect(
requestRoot.get(ShareRequestInfo.UUID),
requestRoot.get(ShareRequestInfo.CREATION_DATE),
requestRoot.get(ShareRequestInfo.DATA_TYPE),
requestRoot.get(ShareRequestInfo.REQUEST_STATUS),
sharesJoin.get(SormasToSormasShareInfo.ORGANIZATION_ID),
cb.concat(cb.concat(senderJoin.get(User.FIRST_NAME), " "), senderJoin.get(User.LAST_NAME)),
senderName,
sharesJoin.get(SormasToSormasShareInfo.OWNERSHIP_HANDED_OVER),
requestRoot.get(ShareRequestInfo.COMMENT));

Expand Down Expand Up @@ -130,7 +131,7 @@ public List<ShareRequestIndexDto> getIndexList(ShareRequestCriteria criteria, In
expression = requestRoot.get(ShareRequestInfo.REQUEST_STATUS);
break;
case ShareRequestIndexDto.SENDER_NAME:
expression = cb.concat(senderJoin.get(User.FIRST_NAME), senderJoin.get(User.LAST_NAME));
expression = senderName;
break;
case ShareRequestIndexDto.ORGANIZATION_ID:
case ShareRequestIndexDto.OWNERSHIP_HANDED_OVER:
Expand Down
Expand Up @@ -62,8 +62,8 @@
import de.symeda.sormas.backend.sormastosormas.entities.event.SormasToSormasEventFacadeEjb;
import de.symeda.sormas.backend.sormastosormas.entities.externalmessage.SormasToSormasExternalMessageFacadeEjb;
import de.symeda.sormas.backend.sormastosormas.origin.SormasToSormasOriginInfoFacadeEjb;
import de.symeda.sormas.backend.sormastosormas.share.shareinfo.SormasToSormasShareInfoFacadeEjb;
import de.symeda.sormas.backend.sormastosormas.share.sharerequest.SormasToSormasShareRequestFacadeEJB;
import de.symeda.sormas.backend.sormastosormas.share.incoming.SormasToSormasShareRequestFacadeEJB;
import de.symeda.sormas.backend.sormastosormas.share.outgoing.SormasToSormasShareInfoFacadeEjb;
import de.symeda.sormas.backend.task.TaskFacadeEjb;
import de.symeda.sormas.backend.therapy.PrescriptionFacadeEjb;
import de.symeda.sormas.backend.therapy.TreatmentFacadeEjb;
Expand Down
Expand Up @@ -35,8 +35,8 @@
import de.symeda.sormas.api.person.PersonDto;
import de.symeda.sormas.api.sample.SampleDto;
import de.symeda.sormas.api.sormastosormas.SormasToSormasOriginInfoDto;
import de.symeda.sormas.api.sormastosormas.sharerequest.ShareRequestDataType;
import de.symeda.sormas.api.sormastosormas.sharerequest.SormasToSormasShareRequestDto;
import de.symeda.sormas.api.sormastosormas.share.incoming.ShareRequestDataType;
import de.symeda.sormas.api.sormastosormas.share.incoming.SormasToSormasShareRequestDto;
import de.symeda.sormas.api.symptoms.SymptomState;
import de.symeda.sormas.api.task.TaskContext;
import de.symeda.sormas.api.task.TaskDto;
Expand All @@ -58,7 +58,7 @@
import de.symeda.sormas.backend.immunization.entity.Immunization;
import de.symeda.sormas.backend.sample.Sample;
import de.symeda.sormas.backend.sormastosormas.SormasToSormasTest;
import de.symeda.sormas.backend.sormastosormas.share.shareinfo.ShareRequestInfo;
import de.symeda.sormas.backend.sormastosormas.share.outgoing.ShareRequestInfo;
import de.symeda.sormas.backend.travelentry.TravelEntry;
import de.symeda.sormas.backend.user.User;

Expand Down

0 comments on commit 638e2d1

Please sign in to comment.