Search in sources :

Example 61 with Person

use of test1.Person in project ORCID-Source by ORCID.

the class PublicAPISecurityManagerV2Test method getPersonElement.

private Person getPersonElement() {
    Visibility[] vs = { Visibility.PUBLIC, Visibility.PUBLIC, Visibility.PUBLIC };
    Person p = new Person();
    p.setAddresses(getAddressesElement(vs));
    p.setEmails(getEmailsElement(vs));
    p.setExternalIdentifiers(getPersonExternalIdentifiersElement(vs));
    p.setKeywords(getKeywordsElement(vs));
    p.setOtherNames(getOtherNamesElement(vs));
    p.setResearcherUrls(getResearcherUrlsElement(vs));
    Name name = new Name();
    name.setVisibility(Visibility.PUBLIC);
    p.setName(name);
    Biography b = new Biography();
    b.setVisibility(Visibility.PUBLIC);
    b.setContent("Biography test");
    p.setBiography(b);
    return p;
}
Also used : Biography(org.orcid.jaxb.model.record_v2.Biography) Visibility(org.orcid.jaxb.model.common_v2.Visibility) Person(org.orcid.jaxb.model.record_v2.Person) OtherName(org.orcid.jaxb.model.record_v2.OtherName) Name(org.orcid.jaxb.model.record_v2.Name)

Example 62 with Person

use of test1.Person in project ORCID-Source by ORCID.

the class PublicAPISecurityManagerV2Test method checkIsPublicPersonTest.

@Test
public void checkIsPublicPersonTest() {
    Person p = getPersonElement();
    publicAPISecurityManagerV2.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);
    publicAPISecurityManagerV2.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);
    publicAPISecurityManagerV2.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);
    publicAPISecurityManagerV2.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);
    publicAPISecurityManagerV2.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);
    publicAPISecurityManagerV2.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);
    publicAPISecurityManagerV2.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);
    publicAPISecurityManagerV2.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);
    publicAPISecurityManagerV2.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());
}
Also used : Person(org.orcid.jaxb.model.record_v2.Person) Test(org.junit.Test)

Example 63 with Person

use of test1.Person in project ORCID-Source by ORCID.

the class PublicAPISecurityManagerV2Test method checkIsPublicRecordTest.

@Test
public void checkIsPublicRecordTest() {
    Record r = getRecordElement();
    publicAPISecurityManagerV2.filter(r);
    // Verify activities - nothing filtered
    ActivitiesSummary as = r.getActivitiesSummary();
    assertEquals(3, as.getEducations().getSummaries().size());
    assertContainerContainsOnlyPublicElements(as.getEducations());
    assertEquals(3, as.getEmployments().getSummaries().size());
    assertContainerContainsOnlyPublicElements(as.getEmployments());
    assertEquals(3, as.getFundings().getFundingGroup().size());
    assertGroupContainsOnlyPublicElements(as.getFundings());
    assertEquals(3, as.getPeerReviews().getPeerReviewGroup().size());
    assertGroupContainsOnlyPublicElements(as.getPeerReviews());
    assertEquals(3, as.getWorks().getWorkGroup().size());
    assertGroupContainsOnlyPublicElements(as.getWorks());
    // Verify bio sections - nothing filtered
    Person p = r.getPerson();
    assertEquals(3, p.getAddresses().getAddress().size());
    assertAllArePublic(p.getAddresses().getAddress());
    assertEquals(3, p.getEmails().getEmails().size());
    assertAllArePublic(p.getEmails().getEmails());
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    assertAllArePublic(p.getExternalIdentifiers().getExternalIdentifiers());
    assertEquals(3, p.getKeywords().getKeywords().size());
    assertAllArePublic(p.getKeywords().getKeywords());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    assertAllArePublic(p.getOtherNames().getOtherNames());
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    assertAllArePublic(p.getResearcherUrls().getResearcherUrls());
    assertNotNull(p.getBiography());
    assertNotNull(p.getName());
    // Filter biography, name, educations and funding
    r = getRecordElement();
    r.getPerson().getBiography().setVisibility(Visibility.LIMITED);
    r.getPerson().getName().setVisibility(Visibility.LIMITED);
    setVisibility(r.getActivitiesSummary().getEducations().getSummaries(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    setVisibility(r.getActivitiesSummary().getFundings(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(r);
    // Verify activities - educations and funding filtered
    as = r.getActivitiesSummary();
    assertNotNull(as.getEducations());
    assertTrue(as.getEducations().getSummaries().isEmpty());
    assertEquals(3, as.getEmployments().getSummaries().size());
    assertTrue(as.getFundings().getFundingGroup().isEmpty());
    assertEquals(3, as.getPeerReviews().getPeerReviewGroup().size());
    assertEquals(3, as.getWorks().getWorkGroup().size());
    // Verify bio sections - bio and name filtered
    p = r.getPerson();
    assertEquals(3, p.getAddresses().getAddress().size());
    assertEquals(3, p.getEmails().getEmails().size());
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    assertEquals(3, p.getKeywords().getKeywords().size());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    assertNull(p.getBiography());
    assertNull(p.getName());
    // Filter emails, external identifiers, peer reviews and works
    r = getRecordElement();
    setVisibility(r.getPerson().getEmails().getEmails(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    setVisibility(r.getPerson().getExternalIdentifiers().getExternalIdentifiers(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    setVisibility(r.getActivitiesSummary().getPeerReviews(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    setVisibility(r.getActivitiesSummary().getWorks(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(r);
    // Verify activities - peer reviews and works filtered
    as = r.getActivitiesSummary();
    assertEquals(3, as.getEducations().getSummaries().size());
    assertEquals(3, as.getEmployments().getSummaries().size());
    assertEquals(3, as.getFundings().getFundingGroup().size());
    assertTrue(as.getPeerReviews().getPeerReviewGroup().isEmpty());
    assertTrue(as.getWorks().getWorkGroup().isEmpty());
    // Verify bio sections - emails, external identifiers filtered
    p = r.getPerson();
    assertEquals(3, p.getAddresses().getAddress().size());
    assertNotNull(p.getEmails());
    assertTrue(p.getEmails().getEmails().isEmpty());
    assertNotNull(p.getExternalIdentifiers());
    assertTrue(p.getExternalIdentifiers().getExternalIdentifiers().isEmpty());
    assertEquals(3, p.getKeywords().getKeywords().size());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    assertNotNull(p.getBiography());
    assertNotNull(p.getName());
    // Filter keywords and other names
    r = getRecordElement();
    setVisibility(r.getPerson().getOtherNames().getOtherNames(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    setVisibility(r.getPerson().getKeywords().getKeywords(), Visibility.LIMITED, Visibility.PRIVATE, Visibility.LIMITED);
    publicAPISecurityManagerV2.filter(r);
    // Verify activities - nothing filtered
    as = r.getActivitiesSummary();
    assertEquals(3, as.getEducations().getSummaries().size());
    assertEquals(3, as.getEmployments().getSummaries().size());
    assertEquals(3, as.getFundings().getFundingGroup().size());
    assertEquals(3, as.getPeerReviews().getPeerReviewGroup().size());
    assertEquals(3, as.getWorks().getWorkGroup().size());
    // Verify bio sections - keywords and other names filtered
    p = r.getPerson();
    assertEquals(3, p.getAddresses().getAddress().size());
    assertEquals(3, p.getEmails().getEmails().size());
    assertEquals(3, p.getExternalIdentifiers().getExternalIdentifiers().size());
    assertNotNull(p.getKeywords());
    assertTrue(p.getKeywords().getKeywords().isEmpty());
    assertNotNull(p.getOtherNames());
    assertTrue(p.getOtherNames().getOtherNames().isEmpty());
    assertEquals(3, p.getResearcherUrls().getResearcherUrls().size());
    assertNotNull(p.getBiography());
    assertNotNull(p.getName());
}
Also used : Record(org.orcid.jaxb.model.record_v2.Record) Person(org.orcid.jaxb.model.record_v2.Person) ActivitiesSummary(org.orcid.jaxb.model.record.summary_v2.ActivitiesSummary) Test(org.junit.Test)

Example 64 with Person

use of test1.Person in project ORCID-Source by ORCID.

the class PublicV2ApiServiceDelegatorImpl method viewPerson.

@Override
public Response viewPerson(String orcid) {
    Person person = personDetailsManagerReadOnly.getPublicPersonDetails(orcid);
    publicAPISecurityManagerV2.filter(person);
    ElementUtils.setPathToPerson(person, orcid);
    Api2_0_LastModifiedDatesHelper.calculateLastModified(person);
    sourceUtilsReadOnly.setSourceName(person);
    return Response.ok(person).build();
}
Also used : Person(org.orcid.jaxb.model.record_v2.Person)

Example 65 with Person

use of test1.Person in project ORCID-Source by ORCID.

the class PersonDetailsManagerReadOnlyImpl method getPublicPersonDetails.

@Override
public Person getPublicPersonDetails(String 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;
}
Also used : Keywords(org.orcid.jaxb.model.record_v2.Keywords) Email(org.orcid.jaxb.model.record_v2.Email) Address(org.orcid.jaxb.model.record_v2.Address) Keyword(org.orcid.jaxb.model.record_v2.Keyword) OtherNames(org.orcid.jaxb.model.record_v2.OtherNames) OtherName(org.orcid.jaxb.model.record_v2.OtherName) PersonExternalIdentifier(org.orcid.jaxb.model.record_v2.PersonExternalIdentifier) OtherName(org.orcid.jaxb.model.record_v2.OtherName) Name(org.orcid.jaxb.model.record_v2.Name) Addresses(org.orcid.jaxb.model.record_v2.Addresses) PersonExternalIdentifiers(org.orcid.jaxb.model.record_v2.PersonExternalIdentifiers) Biography(org.orcid.jaxb.model.record_v2.Biography) ResearcherUrls(org.orcid.jaxb.model.record_v2.ResearcherUrls) ResearcherUrl(org.orcid.jaxb.model.record_v2.ResearcherUrl) Emails(org.orcid.jaxb.model.record_v2.Emails) Person(org.orcid.jaxb.model.record_v2.Person)

Aggregations

Test (org.junit.Test)66 Person (org.orcid.jaxb.model.record_v2.Person)60 Email (org.orcid.jaxb.model.record_v2.Email)36 OtherName (org.orcid.jaxb.model.record_v2.OtherName)32 PersonExternalIdentifier (org.orcid.jaxb.model.record_v2.PersonExternalIdentifier)32 Address (org.orcid.jaxb.model.record_v2.Address)31 Emails (org.orcid.jaxb.model.record_v2.Emails)31 ResearcherUrl (org.orcid.jaxb.model.record_v2.ResearcherUrl)31 Keyword (org.orcid.jaxb.model.record_v2.Keyword)30 Name (org.orcid.jaxb.model.record_v2.Name)28 Addresses (org.orcid.jaxb.model.record_v2.Addresses)26 Biography (org.orcid.jaxb.model.record_v2.Biography)26 OtherNames (org.orcid.jaxb.model.record_v2.OtherNames)26 ResearcherUrls (org.orcid.jaxb.model.record_v2.ResearcherUrls)26 Keywords (org.orcid.jaxb.model.record_v2.Keywords)25 PersonExternalIdentifiers (org.orcid.jaxb.model.record_v2.PersonExternalIdentifiers)25 Record (org.orcid.jaxb.model.record_v2.Record)22 ActivitiesSummary (org.orcid.jaxb.model.record.summary_v2.ActivitiesSummary)20 WorkSummary (org.orcid.jaxb.model.record.summary_v2.WorkSummary)15 EducationSummary (org.orcid.jaxb.model.record.summary_v2.EducationSummary)14