@Override public void copyUpdatedExternalIdentifiersToExistingPreservingVisibility(OrcidBio existing, OrcidBio updated) { if (updated.getExternalIdentifiers() == null) { return; } ExternalIdentifiers existingExternalIdentifiers = existing.getExternalIdentifiers(); ExternalIdentifiers updatedExternalIdentifiers = updated.getExternalIdentifiers(); Visibility existingExternalIdentifiersVisibility = existingExternalIdentifiers != null ? existingExternalIdentifiers.getVisibility() : null; Visibility updatedExternalIdentifiersVisibility = updatedExternalIdentifiers.getVisibility(); if (updatedExternalIdentifiersVisibility == null && existingExternalIdentifiersVisibility == null) { updatedExternalIdentifiers.setVisibility(OrcidVisibilityDefaults.EXTERNAL_IDENTIFIER_DEFAULT.getVisibility()); } else if (updatedExternalIdentifiersVisibility == null && existingExternalIdentifiersVisibility != null) { updatedExternalIdentifiers.setVisibility(existingExternalIdentifiersVisibility); } existing.setExternalIdentifiers(updatedExternalIdentifiers); }
String listVisibilityValue = externalIdentifiers.getVisibility() == null ? null : externalIdentifiers.getVisibility().name(); if (listVisibilityValue != null && !Objects.equals(existingVisibilityValue, listVisibilityValue)) { existingEntity.setVisibility(listVisibilityValue); newEntity.setVisibility(getDefaultVisibility(profileEntity, externalIdentifiers.getVisibility(), OrcidVisibilityDefaults.EXTERNAL_IDENTIFIER_DEFAULT)); newEntity.setDisplayIndex(0L); for (ExternalIdentifierEntity tempEntity:existingExternalIdentifierEntities)
Visibility listVisibility = orcidProfile.getOrcidBio().getExternalIdentifiers().getVisibility(); for (ExternalIdentifier x : orcidProfile.getOrcidBio().getExternalIdentifiers().getExternalIdentifier()) { if (isClaimed) {