Map<String, Object> getAuditLogItem(Object current) { DynaBean currentDynaBean = new WrapDynaBean(current); return propertiesToTrack .stream() .map( name -> { return CollectionUtils.entry(name, currentDynaBean.get(name)); }) .collect(CollectionUtils.nullSafeEntriesToMap()); }
private List<ProposalLog> cleanSearchResultsForNegotiationLookup( List<ProposalLog> searchResults) { List<ProposalLog> newResults = CollectionUtils.createCorrectImplementationForCollection(searchResults); newResults.addAll( searchResults .stream() .filter(pl -> StringUtils.isBlank(pl.getInstProposalNumber())) .collect(Collectors.toList())); return newResults; }
protected <T extends CoiDisclosureAttachment> boolean deleteExistingAttachment( final int index, final List<T> attachments) { if (!CollectionUtils.validIndexForList(index, attachments)) { return false; } CoiDisclosureAttachment attachment = attachments.get(index); attachments.remove(attachment); return true; }
protected List<ProposalLog> filterForPermissions(List<ProposalLog> results) { List<ProposalLog> proposalLogs = CollectionUtils.createCorrectImplementationForCollection(results); ProposalLogDocumentAuthorizer authorizer = new ProposalLogDocumentAuthorizer(); Person user = GlobalVariables.getUserSession().getPerson(); proposalLogs.addAll( results .stream() .filter(proposalLog -> proposalLog.getProposalNumber() != null) .filter(proposalLog -> authorizer.canOpen(proposalLog, user)) .collect(Collectors.toList())); return proposalLogs; }
protected List<ProtocolOnlineReviewBase> filterResults(List<ProtocolOnlineReviewBase> results) { List<ProtocolOnlineReviewBase> onlineReviews = CollectionUtils.createCorrectImplementationForCollection(results); // ensure that only pending submission statuses are shown for online reviews, i.e. do not show // reviews assigned but not completed for approved protocols. onlineReviews.addAll( results .stream() .filter(review -> review.getProtocolOnlineReviewDocument() != null) .filter( review -> !(review .getProtocolSubmission() .getSubmissionStatusCode() .equalsIgnoreCase(getProtocolSubmissionApprovedStatusCodeHook()) || review .getProtocolSubmission() .getSubmissionStatusCode() .equalsIgnoreCase(getProtocolSubmissionAdminApprovedStatusCodeHook()))) .collect(Collectors.toList())); return onlineReviews; }
Map<String, Object> getUpdatedAuditLogItem(Object current, Object updated) { DynaBean currentDynaBean = new WrapDynaBean(current); DynaBean updatedDynaBean = new WrapDynaBean(updated); return propertiesToTrack .stream() .map( name -> { Object currentValue = currentDynaBean.get(name); Object newValue = updatedDynaBean.get(name); if (areValuesEqual(currentValue, newValue)) { return CollectionUtils.entry(name, currentValue); } else { Map<String, Object> diffs = Stream.of( CollectionUtils.entry("old", currentValue), CollectionUtils.entry("new", newValue)) .collect(CollectionUtils.nullSafeEntriesToMap()); return CollectionUtils.entry(name, (Object) diffs); } }) .collect(CollectionUtils.nullSafeEntriesToMap()); }
private static <T extends CoiDisclosureAttachment> T retrieveExistingAttachment( final int index, final List<T> attachments) { return CollectionUtils.getFromList(index, attachments); }