@Override public void copyUpdatedResearcherUrlPreservingVisbility(OrcidBio existing, OrcidBio updated) { if (updated.getResearcherUrls() == null) { return; } ResearcherUrls existingResearcherUrls = existing.getResearcherUrls(); ResearcherUrls updatedResearcherUrls = updated.getResearcherUrls(); Visibility existingVisibility = (existingResearcherUrls != null && existingResearcherUrls.getVisibility() != null) ? existingResearcherUrls.getVisibility() : OrcidVisibilityDefaults.RESEARCHER_URLS_DEFAULT.getVisibility(); Visibility updatedVisibility = (updatedResearcherUrls != null && updatedResearcherUrls.getVisibility() != null) ? updatedResearcherUrls.getVisibility() : existingVisibility; // now visibility has been preserved, overwrite the content updatedResearcherUrls.setVisibility(updatedVisibility); existing.setResearcherUrls(updatedResearcherUrls); }
private OrcidBio getOrcidBio(ProfileEntity profileEntity) { OrcidBio orcidBio = new OrcidBio(); orcidBio.setContactDetails(getContactDetails(profileEntity)); orcidBio.setExternalIdentifiers(getExternalIdentifiers(profileEntity)); orcidBio.setDelegation(getDelegation(profileEntity)); orcidBio.setPersonalDetails(getPersonalDetails(profileEntity)); orcidBio.setKeywords(getKeywords(profileEntity)); orcidBio.setBiography(getBiography(profileEntity)); orcidBio.setResearcherUrls(getResearcherUrls(profileEntity)); return orcidBio; }