private Page<ProgramReturnResponse> populatingleadLiaisonsInResponse( Page<ProgramReturnResponse> pageProgramReturnResponse) { List<ProgramReturnResponse> programResponseList = pageProgramReturnResponse.getContent(); List<ProgramReturnResponse> updatedProgramResponseList = new ArrayList<>(); List<Long> programIdList = programResponseList.stream().map(ProgramReturnResponse::getProgramId) .collect(Collectors.toList()); // programIdList = [101,102] List<ProgramMember> programMemberList = programMemberRepository .findLeadLaisonMembersByProgramId(programIdList,10); //programMemberList = [e0909, e22, e3030] MultiValueMap multiValueMap = new MultiValueMap(); programMemberList.stream().forEach(programMember -> multiValueMap .put(programMember.getProgram().getProgramId(), programMember.getMemberEmployeeId())); // multiValueMap = [ {101, [e0909, e22] } , {102, [e3030]}] for (ProgramReturnResponse programReturnResponse : programResponseList) { List<String> memberEids = (List<String>) multiValueMap.get(programReturnResponse.getProgramId()); // [e0909, e22] // [e3030] programReturnResponse.setLeadLiaisons(memberEids); updatedProgramResponseList.add(programReturnResponse); } return new PageImpl<>(updatedProgramResponseList, pageProgramReturnResponse.getPageable(), pageProgramReturnResponse.getTotalElements()); }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter