Search in sources :

Example 61 with Biography

use of org.orcid.jaxb.model.record_rc4.Biography in project ORCID-Source by ORCID.

the class OrcidSecurityManager_generalTest method testPersonalDetails_When_AllPrivate_NoSource_ReadPublicToken.

@Test
public void testPersonalDetails_When_AllPrivate_NoSource_ReadPublicToken() {
    SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.READ_PUBLIC);
    Name name = createName(Visibility.PRIVATE);
    Biography bio = createBiography(Visibility.PRIVATE);
    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)));
    PersonalDetails p = new PersonalDetails();
    p.setBiography(bio);
    p.setName(name);
    p.setOtherNames(otherNames);
    orcidSecurityManager.checkAndFilter(ORCID_1, p);
    assertNotNull(p);
    assertNull(p.getName());
    assertNull(p.getBiography());
    assertNotNull(p.getOtherNames());
    assertNotNull(p.getOtherNames().getOtherNames());
    assertTrue(p.getOtherNames().getOtherNames().isEmpty());
}
Also used : OtherNames(org.orcid.jaxb.model.record_v2.OtherNames) Biography(org.orcid.jaxb.model.record_v2.Biography) OtherName(org.orcid.jaxb.model.record_v2.OtherName) PersonalDetails(org.orcid.jaxb.model.record_v2.PersonalDetails) OtherName(org.orcid.jaxb.model.record_v2.OtherName) Name(org.orcid.jaxb.model.record_v2.Name) Test(org.junit.Test)

Example 62 with Biography

use of org.orcid.jaxb.model.record_rc4.Biography in project ORCID-Source by ORCID.

the class OrcidSecurityManager_generalTest method testPersonalDetails_When_SomePrivate_NoSource_ReadLimitedToken.

@Test
public void testPersonalDetails_When_SomePrivate_NoSource_ReadLimitedToken() {
    SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.ORCID_BIO_READ_LIMITED);
    Name name = createName(Visibility.PRIVATE);
    Biography bio = createBiography(Visibility.PUBLIC);
    OtherName o1 = createOtherName(Visibility.PRIVATE, CLIENT_2);
    OtherName o2 = createOtherName(Visibility.PUBLIC, CLIENT_2);
    OtherName o3 = createOtherName(Visibility.PUBLIC, CLIENT_2);
    OtherNames otherNames = new OtherNames();
    otherNames.setOtherNames(new ArrayList<OtherName>(Arrays.asList(o1, o2, o3)));
    PersonalDetails p = new PersonalDetails();
    p.setBiography(bio);
    p.setName(name);
    p.setOtherNames(otherNames);
    orcidSecurityManager.checkAndFilter(ORCID_1, p);
    assertNotNull(p);
    assertNull(p.getName());
    assertEquals(bio, p.getBiography());
    assertNotNull(p.getOtherNames());
    assertNotNull(p.getOtherNames().getOtherNames());
    assertEquals(2, p.getOtherNames().getOtherNames().size());
    assertFalse(p.getOtherNames().getOtherNames().contains(o1));
    assertTrue(p.getOtherNames().getOtherNames().contains(o2));
    assertTrue(p.getOtherNames().getOtherNames().contains(o3));
}
Also used : OtherNames(org.orcid.jaxb.model.record_v2.OtherNames) Biography(org.orcid.jaxb.model.record_v2.Biography) OtherName(org.orcid.jaxb.model.record_v2.OtherName) PersonalDetails(org.orcid.jaxb.model.record_v2.PersonalDetails) OtherName(org.orcid.jaxb.model.record_v2.OtherName) Name(org.orcid.jaxb.model.record_v2.Name) Test(org.junit.Test)

Example 63 with Biography

use of org.orcid.jaxb.model.record_rc4.Biography in project ORCID-Source by ORCID.

the class OrcidSecurityManager_generalTest method testPersonalDetails_When_AllPrivate_Source_ReadPublicToken.

@Test
public void testPersonalDetails_When_AllPrivate_Source_ReadPublicToken() {
    SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.READ_PUBLIC);
    Name name = createName(Visibility.PRIVATE);
    Biography bio = createBiography(Visibility.PRIVATE);
    OtherName o1 = createOtherName(Visibility.PRIVATE, CLIENT_1);
    OtherName o2 = createOtherName(Visibility.PRIVATE, CLIENT_1);
    OtherName o3 = createOtherName(Visibility.PRIVATE, CLIENT_1);
    OtherNames otherNames = new OtherNames();
    otherNames.setOtherNames(new ArrayList<OtherName>(Arrays.asList(o1, o2, o3)));
    PersonalDetails p = new PersonalDetails();
    p.setBiography(bio);
    p.setName(name);
    p.setOtherNames(otherNames);
    orcidSecurityManager.checkAndFilter(ORCID_1, p);
    assertNotNull(p);
    assertNull(p.getName());
    assertNull(p.getBiography());
    assertNotNull(p.getOtherNames());
    assertNotNull(p.getOtherNames().getOtherNames());
    assertEquals(3, p.getOtherNames().getOtherNames().size());
    assertTrue(p.getOtherNames().getOtherNames().contains(o1));
    assertTrue(p.getOtherNames().getOtherNames().contains(o2));
    assertTrue(p.getOtherNames().getOtherNames().contains(o3));
}
Also used : OtherNames(org.orcid.jaxb.model.record_v2.OtherNames) Biography(org.orcid.jaxb.model.record_v2.Biography) OtherName(org.orcid.jaxb.model.record_v2.OtherName) PersonalDetails(org.orcid.jaxb.model.record_v2.PersonalDetails) OtherName(org.orcid.jaxb.model.record_v2.OtherName) Name(org.orcid.jaxb.model.record_v2.Name) Test(org.junit.Test)

Example 64 with Biography

use of org.orcid.jaxb.model.record_rc4.Biography in project ORCID-Source by ORCID.

the class OrcidSecurityManager_generalTest method testBio_CantRead_When_ReadPublicToken_IsPrivate.

@Test(expected = OrcidAccessControlException.class)
public void testBio_CantRead_When_ReadPublicToken_IsPrivate() {
    SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.READ_PUBLIC);
    Biography bio = createBiography(Visibility.PRIVATE);
    orcidSecurityManager.checkAndFilter(ORCID_1, bio, ScopePathType.ORCID_BIO_READ_LIMITED);
    fail();
}
Also used : Biography(org.orcid.jaxb.model.record_v2.Biography) Test(org.junit.Test)

Example 65 with Biography

use of org.orcid.jaxb.model.record_rc4.Biography in project ORCID-Source by ORCID.

the class PublicAPISecurityManagerV2Impl method filter.

@Override
public void filter(Person person) {
    if (person == null) {
        return;
    }
    if (person.getAddresses() != null) {
        filter(person.getAddresses());
    }
    if (person.getEmails() != null) {
        filter(person.getEmails());
    }
    if (person.getExternalIdentifiers() != null) {
        filter(person.getExternalIdentifiers());
    }
    if (person.getKeywords() != null) {
        filter(person.getKeywords());
    }
    if (person.getOtherNames() != null) {
        filter(person.getOtherNames());
    }
    if (person.getResearcherUrls() != null) {
        filter(person.getResearcherUrls());
    }
    Name name = person.getName();
    if (name != null) {
        try {
            checkIsPublic(name);
        } catch (OrcidNonPublicElementException ex) {
            person.setName(null);
        }
    }
    Biography bio = person.getBiography();
    if (bio != null) {
        try {
            checkIsPublic(bio);
        } catch (OrcidNonPublicElementException ex) {
            person.setBiography(null);
        }
    }
}
Also used : OrcidNonPublicElementException(org.orcid.core.exception.OrcidNonPublicElementException) Biography(org.orcid.jaxb.model.record_v2.Biography) Name(org.orcid.jaxb.model.record_v2.Name)

Aggregations

Biography (org.orcid.jaxb.model.record_v2.Biography)79 Test (org.junit.Test)74 OtherNames (org.orcid.jaxb.model.record_v2.OtherNames)48 Name (org.orcid.jaxb.model.record_v2.Name)46 OtherName (org.orcid.jaxb.model.record_v2.OtherName)46 Address (org.orcid.jaxb.model.record_v2.Address)34 Addresses (org.orcid.jaxb.model.record_v2.Addresses)34 ResearcherUrls (org.orcid.jaxb.model.record_v2.ResearcherUrls)34 Email (org.orcid.jaxb.model.record_v2.Email)33 Keywords (org.orcid.jaxb.model.record_v2.Keywords)33 PersonExternalIdentifiers (org.orcid.jaxb.model.record_v2.PersonExternalIdentifiers)33 ResearcherUrl (org.orcid.jaxb.model.record_v2.ResearcherUrl)33 Emails (org.orcid.jaxb.model.record_v2.Emails)32 Keyword (org.orcid.jaxb.model.record_v2.Keyword)32 PersonExternalIdentifier (org.orcid.jaxb.model.record_v2.PersonExternalIdentifier)32 Person (org.orcid.jaxb.model.record_v2.Person)26 Record (org.orcid.jaxb.model.record_v2.Record)16 EducationSummary (org.orcid.jaxb.model.record.summary_v2.EducationSummary)15 EmploymentSummary (org.orcid.jaxb.model.record.summary_v2.EmploymentSummary)15 FundingSummary (org.orcid.jaxb.model.record.summary_v2.FundingSummary)15