private ExternalIdentifiers getExternalIdentifiers(ProfileEntity profileEntity) { Set<ExternalIdentifierEntity> externalIdentifierEntities = profileEntity.getExternalIdentifiers(); ExternalIdentifiers externalIdentifiers = new ExternalIdentifiers(); Visibility mostRestrictive = Visibility.PUBLIC; if (externalIdentifierEntities != null) { for (ExternalIdentifierEntity externalIdentifierEntity : externalIdentifierEntities) { //will only be null if there's an issue with the data or you're using this layer directly Visibility vis = (externalIdentifierEntity.getVisibility() != null)?Visibility.valueOf(externalIdentifierEntity.getVisibility()):Visibility.PRIVATE; if (vis.isMoreRestrictiveThan(mostRestrictive)) mostRestrictive = vis; ExternalIdentifier externalIdentifier = new ExternalIdentifier(vis); externalIdentifier.setSource(getSource(externalIdentifierEntity)); externalIdentifier.setExternalIdReference(StringUtils.isNotBlank(externalIdentifierEntity.getExternalIdReference()) ? new ExternalIdReference( externalIdentifierEntity.getExternalIdReference()) : null); externalIdentifier.setExternalIdCommonName(StringUtils.isNotBlank(externalIdentifierEntity.getExternalIdCommonName()) ? new ExternalIdCommonName( externalIdentifierEntity.getExternalIdCommonName()) : null); externalIdentifier.setExternalIdUrl(StringUtils.isNotBlank(externalIdentifierEntity.getExternalIdUrl()) ? new ExternalIdUrl(externalIdentifierEntity .getExternalIdUrl()) : null); externalIdentifiers.getExternalIdentifier().add(externalIdentifier); } } externalIdentifiers.setVisibility(mostRestrictive); return externalIdentifiers; }
private void downgradeProfile(OrcidProfile orcidProfile) { if (orcidProfile != null) { orcidProfile.setAffiliations(null); OrcidBio orcidBio = orcidProfile.getOrcidBio(); if (orcidBio != null) { ContactDetails contactDetails = orcidBio.getContactDetails(); if (contactDetails != null) { for (Email email : contactDetails.getEmail()) { email.setSourceClientId(null); } } ExternalIdentifiers extIds = orcidBio.getExternalIdentifiers(); if (extIds != null) { for (ExternalIdentifier extId : extIds.getExternalIdentifier()) { extId.setSource(null); } } } if (orcidProfile.getOrcidActivities() != null) { if (orcidProfile.getOrcidActivities().getOrcidWorks() != null) { for (OrcidWork act : orcidProfile.getOrcidActivities().getOrcidWorks().getOrcidWork()) downGradeActivity(act); } } } }
private void upgradeProfile(OrcidProfile orcidProfile) { if (orcidProfile != null) { if (orcidProfile.getOrcidBio() != null) { if (orcidProfile.getOrcidBio().getExternalIdentifiers() != null) for (ExternalIdentifier externalIdentifier : orcidProfile.getOrcidBio().getExternalIdentifiers().getExternalIdentifier()) { ExternalIdSource eis = externalIdentifier.getExternalIdSource(); if (eis != null) { externalIdentifier.setSource(new Source(eis.getPath())); externalIdentifier.setExternalIdSource(null); } } } if (orcidProfile.getOrcidActivities() != null) { if (orcidProfile.getOrcidActivities().getOrcidWorks() != null) { for (OrcidWork act : orcidProfile.getOrcidActivities().getOrcidWorks().getOrcidWork()) upgradeActivity(act); } } } }
SourceOrcid sourceOrcid = source.getSourceOrcid(); if (sourceOrcid != null) { externalIdentifier.setSource(null); externalIdentifier.setExternalIdSource(new ExternalIdSource(sourceOrcid));
for (ExternalIdentifier extId : bio.getExternalIdentifiers().getExternalIdentifier()) { if (extId.getSource() == null || PojoUtil.isEmpty(extId.getSource().retrieveSourcePath())) { extId.setSource(source);