use of org.orcid.jaxb.model.v3.dev1.record.Emails in project ORCID-Source by ORCID.
the class PublicAPISecurityManagerV3Test method checkIsPublicPersonTest.
@Test
public void checkIsPublicPersonTest() {
Person p = getPersonElement();
publicAPISecurityManagerV3.filter(p);
// Nothing is filtered yet
assertEquals(3, p.getAddresses().getAddress().size());
p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
assertEquals(3, p.getEmails().getEmails().size());
p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getKeywords().getKeywords().size());
p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
assertEquals(3, p.getOtherNames().getOtherNames().size());
p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
// Addresses filtered
p = getPersonElement();
setVisibility(p.getAddresses().getAddress(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
publicAPISecurityManagerV3.filter(p);
// --- filtered ---
assertNotNull(p.getAddresses());
assertTrue(p.getAddresses().getAddress().isEmpty());
assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
assertEquals(3, p.getEmails().getEmails().size());
p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getKeywords().getKeywords().size());
p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
assertEquals(3, p.getOtherNames().getOtherNames().size());
p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
// Bio filtered
p = getPersonElement();
p.getBiography().setVisibility(Visibility.LIMITED);
publicAPISecurityManagerV3.filter(p);
assertEquals(3, p.getAddresses().getAddress().size());
p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
// --- filtered ---
assertNull(p.getBiography());
assertEquals(3, p.getEmails().getEmails().size());
p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getKeywords().getKeywords().size());
p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
assertEquals(3, p.getOtherNames().getOtherNames().size());
p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
// Emails filtered
p = getPersonElement();
setVisibility(p.getEmails().getEmails(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
publicAPISecurityManagerV3.filter(p);
assertEquals(3, p.getAddresses().getAddress().size());
p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
// --- filtered ---
assertNotNull(p.getEmails());
assertTrue(p.getEmails().getEmails().isEmpty());
assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getKeywords().getKeywords().size());
p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
assertEquals(3, p.getOtherNames().getOtherNames().size());
p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
// External ids filtered
p = getPersonElement();
setVisibility(p.getExternalIdentifiers().getExternalIdentifiers(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
publicAPISecurityManagerV3.filter(p);
assertEquals(3, p.getAddresses().getAddress().size());
p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
assertEquals(3, p.getEmails().getEmails().size());
p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
// --- filtered ---
assertNotNull(p.getExternalIdentifiers());
assertTrue(p.getExternalIdentifiers().getExternalIdentifiers().isEmpty());
assertEquals(3, p.getKeywords().getKeywords().size());
p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
assertEquals(3, p.getOtherNames().getOtherNames().size());
p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
// Keywords filtered
p = getPersonElement();
setVisibility(p.getKeywords().getKeywords(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
publicAPISecurityManagerV3.filter(p);
assertEquals(3, p.getAddresses().getAddress().size());
p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
assertEquals(3, p.getEmails().getEmails().size());
p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
// --- filtered ---
assertNotNull(p.getKeywords());
assertTrue(p.getKeywords().getKeywords().isEmpty());
assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
assertEquals(3, p.getOtherNames().getOtherNames().size());
p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
// Name filtered
p = getPersonElement();
p.getName().setVisibility(Visibility.LIMITED);
publicAPISecurityManagerV3.filter(p);
assertEquals(3, p.getAddresses().getAddress().size());
p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
assertEquals(3, p.getEmails().getEmails().size());
p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getKeywords().getKeywords().size());
p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
// --- filtered ---
assertNull(p.getName());
assertEquals(3, p.getOtherNames().getOtherNames().size());
p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
// Other names filtered
p = getPersonElement();
setVisibility(p.getOtherNames().getOtherNames(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
publicAPISecurityManagerV3.filter(p);
assertEquals(3, p.getAddresses().getAddress().size());
p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
assertEquals(3, p.getEmails().getEmails().size());
p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getKeywords().getKeywords().size());
p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
// --- filtered ---
assertNotNull(p.getOtherNames());
assertTrue(p.getOtherNames().getOtherNames().isEmpty());
assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
p.getResearcherUrls().getResearcherUrls().forEach(e -> assertIsPublic(e));
// Researcher urls filtered
p = getPersonElement();
setVisibility(p.getResearcherUrls().getResearcherUrls(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
publicAPISecurityManagerV3.filter(p);
assertEquals(3, p.getAddresses().getAddress().size());
p.getAddresses().getAddress().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getBiography().getVisibility());
assertEquals(3, p.getEmails().getEmails().size());
p.getEmails().getEmails().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
p.getExternalIdentifiers().getExternalIdentifiers().forEach(e -> assertIsPublic(e));
assertEquals(3, p.getKeywords().getKeywords().size());
p.getKeywords().getKeywords().forEach(e -> assertIsPublic(e));
assertEquals(Visibility.PUBLIC, p.getName().getVisibility());
assertEquals(3, p.getOtherNames().getOtherNames().size());
p.getOtherNames().getOtherNames().forEach(e -> assertIsPublic(e));
// --- filtered ---
assertNotNull(p.getResearcherUrls());
assertTrue(p.getResearcherUrls().getResearcherUrls().isEmpty());
}
use of org.orcid.jaxb.model.v3.dev1.record.Emails in project ORCID-Source by ORCID.
the class PublicAPISecurityManagerV3Test method filterEmailsTest.
@Test
public void filterEmailsTest() {
Emails x = getEmailsElement(Visibility.PUBLIC, Visibility.PUBLIC, Visibility.PUBLIC);
assertEquals(3, x.getEmails().size());
publicAPISecurityManagerV3.filter(x);
assertEquals(3, x.getEmails().size());
assertAllArePublic(x.getEmails());
x = getEmailsElement(Visibility.PUBLIC, Visibility.PUBLIC, Visibility.LIMITED);
assertEquals(3, x.getEmails().size());
publicAPISecurityManagerV3.filter(x);
assertEquals(2, x.getEmails().size());
assertAllArePublic(x.getEmails());
x = getEmailsElement(Visibility.PUBLIC, Visibility.LIMITED, Visibility.PRIVATE);
assertEquals(3, x.getEmails().size());
publicAPISecurityManagerV3.filter(x);
assertEquals(1, x.getEmails().size());
assertAllArePublic(x.getEmails());
x = getEmailsElement(Visibility.PRIVATE, Visibility.LIMITED, Visibility.PRIVATE);
assertEquals(3, x.getEmails().size());
publicAPISecurityManagerV3.filter(x);
assertTrue(x.getEmails().isEmpty());
}
use of org.orcid.jaxb.model.v3.dev1.record.Emails in project ORCID-Source by ORCID.
the class PersonDetailsManagerReadOnlyImpl method getPublicPersonDetails.
@Override
public Person getPublicPersonDetails(String orcid) {
long lastModifiedTime = getLastModified(orcid);
Person person = new Person();
Name name = recordNameManager.getRecordName(orcid);
if (Visibility.PUBLIC.equals(name.getVisibility())) {
person.setName(name);
}
Biography bio = biographyManager.getPublicBiography(orcid);
if (bio != null) {
person.setBiography(bio);
}
Addresses addresses = addressManager.getPublicAddresses(orcid);
if (addresses.getAddress() != null) {
Addresses filteredAddresses = new Addresses();
filteredAddresses.setAddress(new ArrayList<Address>(addresses.getAddress()));
person.setAddresses(filteredAddresses);
}
PersonExternalIdentifiers extIds = externalIdentifierManager.getPublicExternalIdentifiers(orcid);
if (extIds.getExternalIdentifiers() != null) {
PersonExternalIdentifiers filteredExtIds = new PersonExternalIdentifiers();
filteredExtIds.setExternalIdentifiers(new ArrayList<PersonExternalIdentifier>(extIds.getExternalIdentifiers()));
person.setExternalIdentifiers(filteredExtIds);
}
Keywords keywords = profileKeywordManager.getPublicKeywords(orcid);
if (keywords.getKeywords() != null) {
Keywords filteredKeywords = new Keywords();
filteredKeywords.setKeywords(new ArrayList<Keyword>(keywords.getKeywords()));
person.setKeywords(filteredKeywords);
}
OtherNames otherNames = otherNameManager.getPublicOtherNames(orcid);
if (otherNames.getOtherNames() != null) {
OtherNames filteredOtherNames = new OtherNames();
filteredOtherNames.setOtherNames(new ArrayList<OtherName>(otherNames.getOtherNames()));
person.setOtherNames(filteredOtherNames);
}
ResearcherUrls rUrls = researcherUrlManager.getPublicResearcherUrls(orcid);
if (rUrls.getResearcherUrls() != null) {
ResearcherUrls filteredRUrls = new ResearcherUrls();
filteredRUrls.setResearcherUrls(new ArrayList<ResearcherUrl>(rUrls.getResearcherUrls()));
person.setResearcherUrls(filteredRUrls);
}
Emails emails = emailManager.getPublicEmails(orcid);
if (emails.getEmails() != null) {
Emails filteredEmails = new Emails();
filteredEmails.setEmails(new ArrayList<Email>(emails.getEmails()));
person.setEmails(filteredEmails);
}
return person;
}
use of org.orcid.jaxb.model.v3.dev1.record.Emails in project ORCID-Source by ORCID.
the class RecordManagerReadOnlyImpl method getHistory.
private History getHistory(String orcid) {
History history = new History();
ProfileEntity profile = profileEntityCacheManager.retrieve(orcid);
history.setClaimed(profile.getClaimed());
if (profile.getCompletedDate() != null) {
history.setCompletionDate(new CompletionDate(DateUtils.convertToXMLGregorianCalendar(profile.getCompletedDate())));
}
if (!PojoUtil.isEmpty(profile.getCreationMethod())) {
history.setCreationMethod(CreationMethod.fromValue(profile.getCreationMethod()));
}
if (profile.getDeactivationDate() != null) {
history.setDeactivationDate(new DeactivationDate(DateUtils.convertToXMLGregorianCalendar(profile.getDeactivationDate())));
}
if (profile.getLastModified() != null) {
history.setLastModifiedDate(new LastModifiedDate(DateUtils.convertToXMLGregorianCalendar(profile.getLastModified())));
}
if (profile.getSubmissionDate() != null) {
history.setSubmissionDate(new SubmissionDate(DateUtils.convertToXMLGregorianCalendar(profile.getSubmissionDate())));
}
if (profile.getSource() != null) {
history.setSource(new Source(profile.getSource().getSourceId()));
}
boolean verfiedEmail = false;
boolean verfiedPrimaryEmail = false;
Emails emails = emailManager.getEmails(orcid);
if (emails != null) {
for (Email email : emails.getEmails()) {
if (email.isVerified()) {
verfiedEmail = true;
if (email.isPrimary()) {
verfiedPrimaryEmail = true;
break;
}
}
}
}
history.setVerifiedEmail(verfiedEmail);
history.setVerifiedPrimaryEmail(verfiedPrimaryEmail);
return history;
}
use of org.orcid.jaxb.model.v3.dev1.record.Emails in project ORCID-Source by ORCID.
the class RecordTest method testViewRecordFromMemberAPI.
@Test
public void testViewRecordFromMemberAPI() throws InterruptedException, JSONException {
String accessToken = getAccessToken();
assertNotNull(accessToken);
ClientResponse response = memberV3Dev1ApiClient.viewRecord(getUser1OrcidId(), accessToken);
assertNotNull(response);
assertEquals("invalid " + response, 200, response.getStatus());
Record record = response.getEntity(Record.class);
assertNotNull(record);
assertNotNull(record.getOrcidIdentifier());
assertEquals(getUser1OrcidId(), record.getOrcidIdentifier().getPath());
// Check the visibility of every activity that exists
if (record.getActivitiesSummary() != null) {
// Distinctions
if (record.getActivitiesSummary().getDistinctions() != null) {
Distinctions e = record.getActivitiesSummary().getDistinctions();
if (e.getSummaries() != null) {
for (DistinctionSummary s : e.getSummaries()) {
assertNotNull(s.getSource());
assertNotNull(s.getVisibility());
Visibility v = s.getVisibility();
// owner
if (Visibility.PRIVATE.equals(v)) {
assertEquals(getClient1ClientId(), s.getSource().retrieveSourcePath());
}
}
}
}
// Educations
if (record.getActivitiesSummary().getEducations() != null) {
Educations e = record.getActivitiesSummary().getEducations();
if (e.getSummaries() != null) {
for (EducationSummary s : e.getSummaries()) {
assertNotNull(s.getSource());
assertNotNull(s.getVisibility());
Visibility v = s.getVisibility();
// owner
if (Visibility.PRIVATE.equals(v)) {
assertEquals(getClient1ClientId(), s.getSource().retrieveSourcePath());
}
}
}
}
// Employments
if (record.getActivitiesSummary().getEmployments() != null) {
Employments e = record.getActivitiesSummary().getEmployments();
if (e.getSummaries() != null) {
for (EmploymentSummary s : e.getSummaries()) {
assertNotNull(s.getSource());
assertNotNull(s.getVisibility());
Visibility v = s.getVisibility();
// owner
if (Visibility.PRIVATE.equals(v)) {
assertEquals(getClient1ClientId(), s.getSource().retrieveSourcePath());
}
}
}
}
// InvitedPositions
if (record.getActivitiesSummary().getInvitedPositions() != null) {
InvitedPositions e = record.getActivitiesSummary().getInvitedPositions();
if (e.getSummaries() != null) {
for (InvitedPositionSummary s : e.getSummaries()) {
assertNotNull(s.getSource());
assertNotNull(s.getVisibility());
Visibility v = s.getVisibility();
// owner
if (Visibility.PRIVATE.equals(v)) {
assertEquals(getClient1ClientId(), s.getSource().retrieveSourcePath());
}
}
}
}
// Memberships
if (record.getActivitiesSummary().getMemberships() != null) {
Memberships e = record.getActivitiesSummary().getMemberships();
if (e.getSummaries() != null) {
for (MembershipSummary s : e.getSummaries()) {
assertNotNull(s.getSource());
assertNotNull(s.getVisibility());
Visibility v = s.getVisibility();
// owner
if (Visibility.PRIVATE.equals(v)) {
assertEquals(getClient1ClientId(), s.getSource().retrieveSourcePath());
}
}
}
}
// Qualifications
if (record.getActivitiesSummary().getQualifications() != null) {
Qualifications e = record.getActivitiesSummary().getQualifications();
if (e.getSummaries() != null) {
for (QualificationSummary s : e.getSummaries()) {
assertNotNull(s.getSource());
assertNotNull(s.getVisibility());
Visibility v = s.getVisibility();
// owner
if (Visibility.PRIVATE.equals(v)) {
assertEquals(getClient1ClientId(), s.getSource().retrieveSourcePath());
}
}
}
}
// Services
if (record.getActivitiesSummary().getServices() != null) {
Services e = record.getActivitiesSummary().getServices();
if (e.getSummaries() != null) {
for (ServiceSummary s : e.getSummaries()) {
assertNotNull(s.getSource());
assertNotNull(s.getVisibility());
Visibility v = s.getVisibility();
// owner
if (Visibility.PRIVATE.equals(v)) {
assertEquals(getClient1ClientId(), s.getSource().retrieveSourcePath());
}
}
}
}
// Fundings
if (record.getActivitiesSummary().getFundings() != null) {
Fundings f = record.getActivitiesSummary().getFundings();
List<FundingGroup> groups = f.getFundingGroup();
if (groups != null) {
for (FundingGroup fGroup : groups) {
List<FundingSummary> summaries = fGroup.getFundingSummary();
if (summaries != null) {
for (FundingSummary s : summaries) {
assertNotNull(s.getSource());
assertNotNull(s.getVisibility());
Visibility v = s.getVisibility();
// If the visibility is PRIVATE the client should be the owner
if (Visibility.PRIVATE.equals(v)) {
assertEquals(getClient1ClientId(), s.getSource().retrieveSourcePath());
}
}
}
}
}
}
// PeerReviews
if (record.getActivitiesSummary().getPeerReviews() != null) {
PeerReviews p = record.getActivitiesSummary().getPeerReviews();
List<PeerReviewGroup> groups = p.getPeerReviewGroup();
if (groups != null) {
for (PeerReviewGroup pGroup : groups) {
List<PeerReviewSummary> summaries = pGroup.getPeerReviewSummary();
if (summaries != null) {
for (PeerReviewSummary s : summaries) {
assertNotNull(s.getSource());
assertNotNull(s.getVisibility());
Visibility v = s.getVisibility();
// If the visibility is PRIVATE the client should be the owner
if (Visibility.PRIVATE.equals(v)) {
assertEquals(getClient1ClientId(), s.getSource().retrieveSourcePath());
}
}
}
}
}
}
// Works
if (record.getActivitiesSummary().getWorks() != null) {
Works w = record.getActivitiesSummary().getWorks();
List<WorkGroup> groups = w.getWorkGroup();
if (groups != null) {
for (WorkGroup wGroup : groups) {
List<WorkSummary> summaries = wGroup.getWorkSummary();
if (summaries != null) {
for (WorkSummary s : summaries) {
assertNotNull(s.getSource());
assertNotNull(s.getVisibility());
Visibility v = s.getVisibility();
// If the visibility is PRIVATE the client should be the owner
if (Visibility.PRIVATE.equals(v)) {
assertEquals(getClient1ClientId(), s.getSource().retrieveSourcePath());
}
}
}
}
}
}
}
// Check the visibility of every biography elements that exists
if (record.getPerson() != null) {
// Address
if (record.getPerson().getAddresses() != null) {
Addresses addresses = record.getPerson().getAddresses();
List<Address> list = addresses.getAddress();
if (list != null) {
for (Address o : list) {
assertNotNull(o.getSource());
assertNotNull(o.getVisibility());
Visibility v = o.getVisibility();
// If the visibility is PRIVATE the client should be the owner
if (Visibility.PRIVATE.equals(v)) {
assertEquals(getClient1ClientId(), o.getSource().retrieveSourcePath());
}
}
}
}
// Biography
if (record.getPerson().getBiography() != null) {
Biography b = record.getPerson().getBiography();
if (b != null) {
assertNotNull(b.getVisibility());
if (Visibility.PRIVATE.equals(b.getVisibility())) {
fail("Visibility is private");
}
}
}
// Emails
if (record.getPerson().getEmails() != null) {
Emails emails = record.getPerson().getEmails();
List<Email> list = emails.getEmails();
if (list != null) {
for (Email e : list) {
assertNotNull(e.getVisibility());
if (Visibility.PRIVATE.equals(e.getVisibility())) {
fail("Email " + e.getEmail() + " is private");
}
}
}
}
// External identifiers
if (record.getPerson().getExternalIdentifiers() != null) {
PersonExternalIdentifiers extIds = record.getPerson().getExternalIdentifiers();
List<PersonExternalIdentifier> list = extIds.getExternalIdentifiers();
if (list != null) {
for (PersonExternalIdentifier e : list) {
assertNotNull(e.getVisibility());
if (Visibility.PRIVATE.equals(e.getVisibility())) {
assertEquals(getClient1ClientId(), e.getSource().retrieveSourcePath());
}
}
}
}
// Keywords
if (record.getPerson().getKeywords() != null) {
Keywords keywords = record.getPerson().getKeywords();
List<Keyword> list = keywords.getKeywords();
if (list != null) {
for (Keyword e : list) {
assertNotNull(e.getVisibility());
if (Visibility.PRIVATE.equals(e.getVisibility())) {
assertEquals(getClient1ClientId(), e.getSource().retrieveSourcePath());
}
}
}
}
// Name
if (record.getPerson().getName() != null) {
Name name = record.getPerson().getName();
if (Visibility.PRIVATE.equals(name.getVisibility())) {
fail("Name is private");
}
}
// Other names
if (record.getPerson().getOtherNames() != null) {
OtherNames otherNames = record.getPerson().getOtherNames();
List<OtherName> list = otherNames.getOtherNames();
if (list != null) {
for (OtherName e : list) {
assertNotNull(e.getVisibility());
if (Visibility.PRIVATE.equals(e.getVisibility())) {
assertEquals(getClient1ClientId(), e.getSource().retrieveSourcePath());
}
}
}
}
// Researcher urls
if (record.getPerson().getResearcherUrls() != null) {
ResearcherUrls rUrls = record.getPerson().getResearcherUrls();
List<ResearcherUrl> list = rUrls.getResearcherUrls();
if (list != null) {
for (ResearcherUrl e : list) {
assertNotNull(e.getVisibility());
if (Visibility.PRIVATE.equals(e.getVisibility())) {
assertEquals(getClient1ClientId(), e.getSource().retrieveSourcePath());
}
}
}
}
}
}
Aggregations