Search in sources :

Example 91 with Address

use of org.orcid.jaxb.model.v3.dev1.record.Address 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 92 with Address

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

the class MemberV3ApiServiceDelegatorImpl method viewAddress.

@Override
public Response viewAddress(String orcid, Long putCode) {
    Address address = addressManagerReadOnly.getAddress(orcid, putCode);
    orcidSecurityManager.checkAndFilter(orcid, address, ScopePathType.ORCID_BIO_READ_LIMITED);
    ElementUtils.setPathToAddress(address, orcid);
    sourceUtils.setSourceName(address);
    return Response.ok(address).build();
}
Also used : Address(org.orcid.jaxb.model.v3.dev1.record.Address)

Example 93 with Address

use of org.orcid.jaxb.model.v3.dev1.record.Address 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 94 with Address

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

the class AddressTest method testInvalidPutCodeReturns404.

@Test
public void testInvalidPutCodeReturns404() throws InterruptedException, JSONException {
    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.MX));
    address.setPutCode(1234567890L);
    ClientResponse response = memberV3Dev1ApiClient.updateAddress(getUser1OrcidId(), address, accessToken);
    assertNotNull(response);
    assertEquals(ClientResponse.Status.NOT_FOUND.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) Test(org.junit.Test)

Example 95 with Address

use of org.orcid.jaxb.model.v3.dev1.record.Address 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

Address (org.orcid.jaxb.model.v3.dev1.record.Address)77 Test (org.junit.Test)59 Addresses (org.orcid.jaxb.model.v3.dev1.record.Addresses)44 OtherName (org.orcid.jaxb.model.v3.dev1.record.OtherName)39 ResearcherUrl (org.orcid.jaxb.model.v3.dev1.record.ResearcherUrl)39 Keyword (org.orcid.jaxb.model.v3.dev1.record.Keyword)38 PersonExternalIdentifier (org.orcid.jaxb.model.v3.dev1.record.PersonExternalIdentifier)38 Email (org.orcid.jaxb.model.v3.dev1.record.Email)37 Biography (org.orcid.jaxb.model.v3.dev1.record.Biography)33 OtherNames (org.orcid.jaxb.model.v3.dev1.record.OtherNames)33 Keywords (org.orcid.jaxb.model.v3.dev1.record.Keywords)32 PersonExternalIdentifiers (org.orcid.jaxb.model.v3.dev1.record.PersonExternalIdentifiers)32 ResearcherUrls (org.orcid.jaxb.model.v3.dev1.record.ResearcherUrls)32 Emails (org.orcid.jaxb.model.v3.dev1.record.Emails)30 Person (org.orcid.jaxb.model.v3.dev1.record.Person)28 Name (org.orcid.jaxb.model.v3.dev1.record.Name)27 DBUnitTest (org.orcid.test.DBUnitTest)21 Response (javax.ws.rs.core.Response)19 FundingSummary (org.orcid.jaxb.model.v3.dev1.record.summary.FundingSummary)16 Record (org.orcid.jaxb.model.v3.dev1.record.Record)15