Search in sources :

Example 56 with Addresses

use of org.orcid.jaxb.model.v3.dev1.record.Addresses in project ORCID-Source by ORCID.

the class OrcidSecurityManager_PersonTest method testPerson_When_AllPrivate_NoSource_ReadPublicToken.

@Test
public void testPerson_When_AllPrivate_NoSource_ReadPublicToken() {
    SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.READ_PUBLIC);
    Name name = createName(Visibility.PRIVATE);
    Biography bio = createBiography(Visibility.PRIVATE);
    Address a1 = createAddress(Visibility.PRIVATE, CLIENT_2);
    Address a2 = createAddress(Visibility.PRIVATE, CLIENT_2);
    Address a3 = createAddress(Visibility.PRIVATE, CLIENT_2);
    Addresses addresses = new Addresses();
    addresses.setAddress(new ArrayList<Address>(Arrays.asList(a1, a2, a3)));
    Email e1 = createEmail(Visibility.PRIVATE, CLIENT_2);
    Email e2 = createEmail(Visibility.PRIVATE, CLIENT_2);
    Email e3 = createEmail(Visibility.PRIVATE, CLIENT_2);
    Emails emails = new Emails();
    emails.setEmails(new ArrayList<Email>(Arrays.asList(e1, e2, e3)));
    Keyword k1 = createKeyword(Visibility.PRIVATE, CLIENT_2);
    Keyword k2 = createKeyword(Visibility.PRIVATE, CLIENT_2);
    Keyword k3 = createKeyword(Visibility.PRIVATE, CLIENT_2);
    Keywords keywords = new Keywords();
    keywords.setKeywords(new ArrayList<Keyword>(Arrays.asList(k1, k2, k3)));
    OtherName o1 = createOtherName(Visibility.PRIVATE, CLIENT_2);
    OtherName o2 = createOtherName(Visibility.PRIVATE, CLIENT_2);
    OtherName o3 = createOtherName(Visibility.PRIVATE, CLIENT_2);
    OtherNames otherNames = new OtherNames();
    otherNames.setOtherNames(new ArrayList<OtherName>(Arrays.asList(o1, o2, o3)));
    PersonExternalIdentifier ext1 = createPersonExternalIdentifier(Visibility.PRIVATE, CLIENT_2);
    PersonExternalIdentifier ext2 = createPersonExternalIdentifier(Visibility.PRIVATE, CLIENT_2);
    PersonExternalIdentifier ext3 = createPersonExternalIdentifier(Visibility.PRIVATE, CLIENT_2);
    PersonExternalIdentifiers extIds = new PersonExternalIdentifiers();
    extIds.setExternalIdentifiers(new ArrayList<PersonExternalIdentifier>(Arrays.asList(ext1, ext2, ext3)));
    ResearcherUrl r1 = createResearcherUrl(Visibility.PRIVATE, CLIENT_2);
    ResearcherUrl r2 = createResearcherUrl(Visibility.PRIVATE, CLIENT_2);
    ResearcherUrl r3 = createResearcherUrl(Visibility.PRIVATE, CLIENT_2);
    ResearcherUrls researcherUrls = new ResearcherUrls();
    researcherUrls.setResearcherUrls(new ArrayList<ResearcherUrl>(Arrays.asList(r1, r2, r3)));
    Person p = new Person();
    p.setBiography(bio);
    p.setName(name);
    p.setAddresses(addresses);
    p.setEmails(emails);
    p.setExternalIdentifiers(extIds);
    p.setKeywords(keywords);
    p.setOtherNames(otherNames);
    p.setResearcherUrls(researcherUrls);
    orcidSecurityManager.checkAndFilter(ORCID_1, p);
    assertNotNull(p);
    assertNull(p.getName());
    assertNull(p.getBiography());
    // Check addresses
    assertEquals(0, p.getAddresses().getAddress().size());
    // Check emails
    assertEquals(0, p.getEmails().getEmails().size());
    // Check ext ids
    assertEquals(0, p.getExternalIdentifiers().getExternalIdentifiers().size());
    // Check keywords
    assertEquals(0, p.getKeywords().getKeywords().size());
    // Check other names
    assertEquals(0, p.getOtherNames().getOtherNames().size());
    // Check researcher urls
    assertEquals(0, p.getResearcherUrls().getResearcherUrls().size());
}
Also used : Email(org.orcid.jaxb.model.v3.dev1.record.Email) Keywords(org.orcid.jaxb.model.v3.dev1.record.Keywords) Address(org.orcid.jaxb.model.v3.dev1.record.Address) Keyword(org.orcid.jaxb.model.v3.dev1.record.Keyword) OtherNames(org.orcid.jaxb.model.v3.dev1.record.OtherNames) OtherName(org.orcid.jaxb.model.v3.dev1.record.OtherName) PersonExternalIdentifier(org.orcid.jaxb.model.v3.dev1.record.PersonExternalIdentifier) OtherName(org.orcid.jaxb.model.v3.dev1.record.OtherName) Name(org.orcid.jaxb.model.v3.dev1.record.Name) Addresses(org.orcid.jaxb.model.v3.dev1.record.Addresses) PersonExternalIdentifiers(org.orcid.jaxb.model.v3.dev1.record.PersonExternalIdentifiers) Biography(org.orcid.jaxb.model.v3.dev1.record.Biography) ResearcherUrls(org.orcid.jaxb.model.v3.dev1.record.ResearcherUrls) ResearcherUrl(org.orcid.jaxb.model.v3.dev1.record.ResearcherUrl) Emails(org.orcid.jaxb.model.v3.dev1.record.Emails) Person(org.orcid.jaxb.model.v3.dev1.record.Person) Test(org.junit.Test)

Example 57 with Addresses

use of org.orcid.jaxb.model.v3.dev1.record.Addresses in project ORCID-Source by ORCID.

the class MemberV3ApiServiceDelegatorImpl method viewAddresses.

@Override
public Response viewAddresses(String orcid) {
    Addresses addresses = addressManagerReadOnly.getAddresses(orcid);
    // Lets copy the list so we don't modify the cached collection
    if (addresses.getAddress() != null) {
        List<Address> filteredAddresses = new ArrayList<Address>(addresses.getAddress());
        addresses = new Addresses();
        addresses.setAddress(filteredAddresses);
    }
    orcidSecurityManager.checkAndFilter(orcid, addresses.getAddress(), ScopePathType.ORCID_BIO_READ_LIMITED);
    ElementUtils.setPathToAddresses(addresses, orcid);
    // Set the latest last modified
    Api3_0_Dev1LastModifiedDatesHelper.calculateLastModified(addresses);
    sourceUtils.setSourceName(addresses);
    return Response.ok(addresses).build();
}
Also used : Addresses(org.orcid.jaxb.model.v3.dev1.record.Addresses) Address(org.orcid.jaxb.model.v3.dev1.record.Address) ArrayList(java.util.ArrayList)

Example 58 with Addresses

use of org.orcid.jaxb.model.v3.dev1.record.Addresses in project ORCID-Source by ORCID.

the class RecordTest method testViewRecordFromPublicAPI.

@Test
public void testViewRecordFromPublicAPI() {
    ClientResponse response = publicV3Dev1ApiClient.viewRecordXML(getUser1OrcidId());
    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) {
        if (record.getActivitiesSummary() != null) {
            // Distinctions
            if (record.getActivitiesSummary().getDistinctions() != null) {
                Distinctions d = record.getActivitiesSummary().getDistinctions();
                if (d.getSummaries() != null) {
                    for (DistinctionSummary s : d.getSummaries()) {
                        assertNotNull(s.getSource());
                        assertEquals(Visibility.PUBLIC, s.getVisibility());
                    }
                }
            }
            // Educations
            if (record.getActivitiesSummary().getEducations() != null) {
                Educations e = record.getActivitiesSummary().getEducations();
                if (e.getSummaries() != null) {
                    for (EducationSummary s : e.getSummaries()) {
                        assertNotNull(s.getSource());
                        assertEquals(Visibility.PUBLIC, s.getVisibility());
                    }
                }
            }
            // Employments
            if (record.getActivitiesSummary().getEmployments() != null) {
                Employments e = record.getActivitiesSummary().getEmployments();
                if (e.getSummaries() != null) {
                    for (EmploymentSummary s : e.getSummaries()) {
                        assertNotNull(s.getSource());
                        assertEquals(Visibility.PUBLIC, s.getVisibility());
                    }
                }
            }
            // InvitedPositions
            if (record.getActivitiesSummary().getInvitedPositions() != null) {
                InvitedPositions i = record.getActivitiesSummary().getInvitedPositions();
                if (i.getSummaries() != null) {
                    for (InvitedPositionSummary s : i.getSummaries()) {
                        assertNotNull(s.getSource());
                        assertEquals(Visibility.PUBLIC, s.getVisibility());
                    }
                }
            }
            // Memberships
            if (record.getActivitiesSummary().getMemberships() != null) {
                Memberships m = record.getActivitiesSummary().getMemberships();
                if (m.getSummaries() != null) {
                    for (MembershipSummary s : m.getSummaries()) {
                        assertNotNull(s.getSource());
                        assertEquals(Visibility.PUBLIC, s.getVisibility());
                    }
                }
            }
            // Qualifications
            if (record.getActivitiesSummary().getQualifications() != null) {
                Qualifications q = record.getActivitiesSummary().getQualifications();
                if (q.getSummaries() != null) {
                    for (QualificationSummary s : q.getSummaries()) {
                        assertNotNull(s.getSource());
                        assertEquals(Visibility.PUBLIC, s.getVisibility());
                    }
                }
            }
            // Services
            if (record.getActivitiesSummary().getServices() != null) {
                Services sv = record.getActivitiesSummary().getServices();
                if (sv.getSummaries() != null) {
                    for (ServiceSummary s : sv.getSummaries()) {
                        assertNotNull(s.getSource());
                        assertEquals(Visibility.PUBLIC, s.getVisibility());
                    }
                }
            }
            // 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());
                                assertEquals(Visibility.PUBLIC, s.getVisibility());
                            }
                        }
                    }
                }
            }
            // 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());
                                assertEquals(Visibility.PUBLIC, s.getVisibility());
                            }
                        }
                    }
                }
            }
            // 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());
                                assertEquals(Visibility.PUBLIC, s.getVisibility());
                            }
                        }
                    }
                }
            }
        }
    }
    // 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());
                    assertEquals(Visibility.PUBLIC, o.getVisibility());
                }
            }
        }
        // Biography
        if (record.getPerson().getBiography() != null) {
            Biography b = record.getPerson().getBiography();
            if (b != null) {
                assertNotNull(b.getVisibility());
                assertEquals(Visibility.PUBLIC, b.getVisibility());
            }
        }
        // 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());
                    assertEquals(Visibility.PUBLIC, e.getVisibility());
                }
            }
        }
        // External identifiers
        if (record.getPerson().getExternalIdentifiers() != null) {
            PersonExternalIdentifiers extIds = record.getPerson().getExternalIdentifiers();
            List<PersonExternalIdentifier> list = extIds.getExternalIdentifiers();
            if (list != null) {
                for (PersonExternalIdentifier e : list) {
                    assertEquals(Visibility.PUBLIC, e.getVisibility());
                }
            }
        }
        // Keywords
        if (record.getPerson().getKeywords() != null) {
            Keywords keywords = record.getPerson().getKeywords();
            List<Keyword> list = keywords.getKeywords();
            if (list != null) {
                for (Keyword e : list) {
                    assertEquals(Visibility.PUBLIC, e.getVisibility());
                }
            }
        }
        // Name
        if (record.getPerson().getName() != null) {
            Name name = record.getPerson().getName();
            assertEquals(Visibility.PUBLIC, name.getVisibility());
        }
        // Other names
        if (record.getPerson().getOtherNames() != null) {
            OtherNames otherNames = record.getPerson().getOtherNames();
            List<OtherName> list = otherNames.getOtherNames();
            if (list != null) {
                for (OtherName e : list) {
                    assertEquals(Visibility.PUBLIC, e.getVisibility());
                }
            }
        }
        // Researcher urls
        if (record.getPerson().getResearcherUrls() != null) {
            ResearcherUrls rUrls = record.getPerson().getResearcherUrls();
            List<ResearcherUrl> list = rUrls.getResearcherUrls();
            if (list != null) {
                for (ResearcherUrl e : list) {
                    assertEquals(Visibility.PUBLIC, e.getVisibility());
                }
            }
        }
    }
}
Also used : Email(org.orcid.jaxb.model.v3.dev1.record.Email) Address(org.orcid.jaxb.model.v3.dev1.record.Address) Fundings(org.orcid.jaxb.model.v3.dev1.record.summary.Fundings) OtherName(org.orcid.jaxb.model.v3.dev1.record.OtherName) Name(org.orcid.jaxb.model.v3.dev1.record.Name) Addresses(org.orcid.jaxb.model.v3.dev1.record.Addresses) WorkSummary(org.orcid.jaxb.model.v3.dev1.record.summary.WorkSummary) DistinctionSummary(org.orcid.jaxb.model.v3.dev1.record.summary.DistinctionSummary) ResearcherUrl(org.orcid.jaxb.model.v3.dev1.record.ResearcherUrl) Emails(org.orcid.jaxb.model.v3.dev1.record.Emails) Works(org.orcid.jaxb.model.v3.dev1.record.summary.Works) PeerReviewGroup(org.orcid.jaxb.model.v3.dev1.record.summary.PeerReviewGroup) PersonExternalIdentifier(org.orcid.jaxb.model.v3.dev1.record.PersonExternalIdentifier) FundingGroup(org.orcid.jaxb.model.v3.dev1.record.summary.FundingGroup) Employments(org.orcid.jaxb.model.v3.dev1.record.summary.Employments) QualificationSummary(org.orcid.jaxb.model.v3.dev1.record.summary.QualificationSummary) InvitedPositions(org.orcid.jaxb.model.v3.dev1.record.summary.InvitedPositions) MembershipSummary(org.orcid.jaxb.model.v3.dev1.record.summary.MembershipSummary) Qualifications(org.orcid.jaxb.model.v3.dev1.record.summary.Qualifications) ClientResponse(com.sun.jersey.api.client.ClientResponse) Memberships(org.orcid.jaxb.model.v3.dev1.record.summary.Memberships) Keywords(org.orcid.jaxb.model.v3.dev1.record.Keywords) OtherNames(org.orcid.jaxb.model.v3.dev1.record.OtherNames) PeerReviews(org.orcid.jaxb.model.v3.dev1.record.summary.PeerReviews) Distinctions(org.orcid.jaxb.model.v3.dev1.record.summary.Distinctions) WorkGroup(org.orcid.jaxb.model.v3.dev1.record.summary.WorkGroup) FundingSummary(org.orcid.jaxb.model.v3.dev1.record.summary.FundingSummary) Biography(org.orcid.jaxb.model.v3.dev1.record.Biography) ResearcherUrls(org.orcid.jaxb.model.v3.dev1.record.ResearcherUrls) Record(org.orcid.jaxb.model.v3.dev1.record.Record) ServiceSummary(org.orcid.jaxb.model.v3.dev1.record.summary.ServiceSummary) Keyword(org.orcid.jaxb.model.v3.dev1.record.Keyword) OtherName(org.orcid.jaxb.model.v3.dev1.record.OtherName) Services(org.orcid.jaxb.model.v3.dev1.record.summary.Services) InvitedPositionSummary(org.orcid.jaxb.model.v3.dev1.record.summary.InvitedPositionSummary) PersonExternalIdentifiers(org.orcid.jaxb.model.v3.dev1.record.PersonExternalIdentifiers) EducationSummary(org.orcid.jaxb.model.v3.dev1.record.summary.EducationSummary) PeerReviewSummary(org.orcid.jaxb.model.v3.dev1.record.summary.PeerReviewSummary) Educations(org.orcid.jaxb.model.v3.dev1.record.summary.Educations) EmploymentSummary(org.orcid.jaxb.model.v3.dev1.record.summary.EmploymentSummary) Test(org.junit.Test)

Example 59 with Addresses

use of org.orcid.jaxb.model.v3.dev1.record.Addresses in project ORCID-Source by ORCID.

the class AddressTest method testCreateGetUpdateAndDeleteAddress.

/**
 * --------- -- -- -- V2.1 -- -- -- ---------
 */
@SuppressWarnings({ "rawtypes", "deprecation" })
@Test
public void testCreateGetUpdateAndDeleteAddress() throws InterruptedException, JSONException {
    changeDefaultUserVisibility(org.orcid.jaxb.model.v3.dev1.common.Visibility.LIMITED);
    String accessToken = getAccessToken();
    assertNotNull(accessToken);
    org.orcid.jaxb.model.v3.dev1.record.Address address = new org.orcid.jaxb.model.v3.dev1.record.Address();
    address.setCountry(new org.orcid.jaxb.model.v3.dev1.common.Country(org.orcid.jaxb.model.v3.dev1.common.Iso3166Country.CR));
    // Create
    ClientResponse response = memberV3Dev1ApiClient.createAddress(getUser1OrcidId(), address, accessToken);
    assertNotNull(response);
    assertEquals(ClientResponse.Status.CREATED.getStatusCode(), response.getStatus());
    Map map = response.getMetadata();
    assertNotNull(map);
    assertTrue(map.containsKey("Location"));
    List resultWithPutCode = (List) map.get("Location");
    String location = resultWithPutCode.get(0).toString();
    Long putCode = Long.valueOf(location.substring(location.lastIndexOf('/') + 1));
    // Get all and verify
    response = memberV3Dev1ApiClient.viewAddresses(getUser1OrcidId(), accessToken);
    assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
    org.orcid.jaxb.model.v3.dev1.record.Addresses addresses = response.getEntity(org.orcid.jaxb.model.v3.dev1.record.Addresses.class);
    assertNotNull(addresses);
    assertNotNull(addresses.getAddress());
    boolean foundCR = false;
    boolean foundUS = false;
    for (org.orcid.jaxb.model.v3.dev1.record.Address add : addresses.getAddress()) {
        if (add.getCountry().getValue().equals(org.orcid.jaxb.model.v3.dev1.common.Iso3166Country.CR)) {
            assertEquals(org.orcid.jaxb.model.v3.dev1.common.Visibility.LIMITED, add.getVisibility());
            foundCR = true;
        } else if (add.getCountry().getValue().equals(org.orcid.jaxb.model.v3.dev1.common.Iso3166Country.US)) {
            assertEquals(org.orcid.jaxb.model.v3.dev1.common.Visibility.PUBLIC, add.getVisibility());
            foundUS = true;
        }
    }
    assertTrue(foundCR);
    assertTrue(foundUS);
    // Get it
    response = memberV3Dev1ApiClient.viewAddress(getUser1OrcidId(), putCode, accessToken);
    assertNotNull(response);
    address = response.getEntity(org.orcid.jaxb.model.v3.dev1.record.Address.class);
    assertNotNull(address);
    assertNotNull(address.getSource());
    assertEquals(getClient1ClientId(), address.getSource().retrieveSourcePath());
    assertNotNull(address.getCountry());
    assertNotNull(address.getCountry().getValue());
    assertEquals(org.orcid.jaxb.model.v3.dev1.common.Iso3166Country.CR, address.getCountry().getValue());
    assertEquals(org.orcid.jaxb.model.v3.dev1.common.Visibility.LIMITED, address.getVisibility());
    assertNotNull(address.getDisplayIndex());
    Long originalDisplayIndex = address.getDisplayIndex();
    // Save the original visibility
    org.orcid.jaxb.model.v3.dev1.common.Visibility originalVisibility = address.getVisibility();
    org.orcid.jaxb.model.v3.dev1.common.Visibility updatedVisibility = org.orcid.jaxb.model.v3.dev1.common.Visibility.PRIVATE;
    // Verify you can't update the visibility
    address.setVisibility(updatedVisibility);
    ClientResponse putResponse = memberV3Dev1ApiClient.updateAddress(getUser1OrcidId(), address, accessToken);
    assertEquals(Response.Status.FORBIDDEN.getStatusCode(), putResponse.getStatus());
    org.orcid.jaxb.model.v3.dev1.error.OrcidError error = putResponse.getEntity(org.orcid.jaxb.model.v3.dev1.error.OrcidError.class);
    assertNotNull(error);
    assertEquals(Integer.valueOf(9035), error.getErrorCode());
    // Set the visibility again to the initial one
    address.setVisibility(originalVisibility);
    // Update
    address.getCountry().setValue(org.orcid.jaxb.model.v3.dev1.common.Iso3166Country.PA);
    response = memberV3Dev1ApiClient.updateAddress(getUser1OrcidId(), address, accessToken);
    assertNotNull(response);
    assertEquals(ClientResponse.Status.OK.getStatusCode(), response.getStatus());
    response = memberV3Dev1ApiClient.viewAddress(getUser1OrcidId(), putCode, accessToken);
    assertNotNull(response);
    org.orcid.jaxb.model.v3.dev1.record.Address updatedAddress = response.getEntity(org.orcid.jaxb.model.v3.dev1.record.Address.class);
    assertNotNull(updatedAddress);
    assertNotNull(updatedAddress.getCountry());
    assertEquals(org.orcid.jaxb.model.v3.dev1.common.Iso3166Country.PA, updatedAddress.getCountry().getValue());
    assertEquals(address.getPutCode(), updatedAddress.getPutCode());
    assertEquals(originalDisplayIndex, updatedAddress.getDisplayIndex());
    // Delete
    response = memberV3Dev1ApiClient.deleteAddress(getUser1OrcidId(), putCode, accessToken);
    assertNotNull(response);
    assertEquals(ClientResponse.Status.NO_CONTENT.getStatusCode(), response.getStatus());
}
Also used : ClientResponse(com.sun.jersey.api.client.ClientResponse) BlackBoxBaseV3_0_dev1(org.orcid.integration.blackbox.api.v3.dev1.BlackBoxBaseV3_0_dev1) List(java.util.List) Map(java.util.Map) Test(org.junit.Test)

Aggregations

Addresses (org.orcid.jaxb.model.v3.dev1.record.Addresses)50 Address (org.orcid.jaxb.model.v3.dev1.record.Address)44 Test (org.junit.Test)38 OtherNames (org.orcid.jaxb.model.v3.dev1.record.OtherNames)34 Biography (org.orcid.jaxb.model.v3.dev1.record.Biography)33 Keywords (org.orcid.jaxb.model.v3.dev1.record.Keywords)33 PersonExternalIdentifiers (org.orcid.jaxb.model.v3.dev1.record.PersonExternalIdentifiers)33 ResearcherUrls (org.orcid.jaxb.model.v3.dev1.record.ResearcherUrls)33 Emails (org.orcid.jaxb.model.v3.dev1.record.Emails)31 Email (org.orcid.jaxb.model.v3.dev1.record.Email)30 Keyword (org.orcid.jaxb.model.v3.dev1.record.Keyword)30 OtherName (org.orcid.jaxb.model.v3.dev1.record.OtherName)30 PersonExternalIdentifier (org.orcid.jaxb.model.v3.dev1.record.PersonExternalIdentifier)30 ResearcherUrl (org.orcid.jaxb.model.v3.dev1.record.ResearcherUrl)30 Name (org.orcid.jaxb.model.v3.dev1.record.Name)27 Person (org.orcid.jaxb.model.v3.dev1.record.Person)26 Record (org.orcid.jaxb.model.v3.dev1.record.Record)13 DistinctionSummary (org.orcid.jaxb.model.v3.dev1.record.summary.DistinctionSummary)13 EducationSummary (org.orcid.jaxb.model.v3.dev1.record.summary.EducationSummary)13 EmploymentSummary (org.orcid.jaxb.model.v3.dev1.record.summary.EmploymentSummary)13