private void markAllTransientLinkedResourcesToUpdate(Set<Long> updatedIds, Set<Long> transientProcessedIds, Collection<Long> ids) { updatedIds.addAll(ids); for (Long id : ids) { if (!transientProcessedIds.add(id)) { continue; } Set<Long> linkedIds = ipResourceService.linkFindAllRelatedByResource(id).stream().map(link -> { if (link.getA().getInternalId() != id) { return link.getA().getInternalId(); } else { return link.getC().getInternalId(); } }).collect(Collectors.toSet()); markAllTransientLinkedResourcesToUpdate(updatedIds, transientProcessedIds, linkedIds); } }
applyChangesContext.getUpdatedDirectCheck().remove(id); applyChangesContext.getUpdatedFarCheck().remove(id); deletedResourcePreviousLinks.addAll(ipResourceService.linkFindAllRelatedByResource(id)); Set<Long> idsToUpdate = deletedResourcePreviousLinks.stream().map(link -> { if (link.getA().getInternalId() != id) { Set<Long> idsToUpdate = ipResourceService.linkFindAllRelatedByResource(resource).stream().map(link -> { if (link.getA().getInternalId() != resource.getInternalId()) { return link.getA().getInternalId(); Set<Long> idsToUpdate = ipResourceService.linkFindAllRelatedByResource(updatedResource).stream().map(link -> { if (link.getA().getInternalId() != updatedResource.getInternalId()) { return link.getA().getInternalId();