Search in sources :

Example 11 with Works

use of org.orcid.jaxb.model.record.summary_rc4.Works in project ORCID-Source by ORCID.

the class PublicAPISecurityManagerV2Test method filterWorksTest.

@Test
public void filterWorksTest() {
    Works w = getWorks(Visibility.PUBLIC, Visibility.PUBLIC, Visibility.PUBLIC);
    assertEquals(3, w.getWorkGroup().size());
    publicAPISecurityManagerV2.filter(w);
    assertEquals(3, w.getWorkGroup().size());
    assertGroupContainsOnlyPublicElements(w);
    w = getWorks(Visibility.PUBLIC, Visibility.PUBLIC, Visibility.LIMITED);
    assertEquals(3, w.getWorkGroup().size());
    publicAPISecurityManagerV2.filter(w);
    assertEquals(2, w.getWorkGroup().size());
    assertGroupContainsOnlyPublicElements(w);
    w = getWorks(Visibility.PUBLIC, Visibility.LIMITED, Visibility.PRIVATE);
    assertEquals(3, w.getWorkGroup().size());
    publicAPISecurityManagerV2.filter(w);
    assertEquals(1, w.getWorkGroup().size());
    assertGroupContainsOnlyPublicElements(w);
    w = getWorks(Visibility.PRIVATE, Visibility.LIMITED, Visibility.PRIVATE);
    assertEquals(3, w.getWorkGroup().size());
    publicAPISecurityManagerV2.filter(w);
    assertTrue(w.getWorkGroup().isEmpty());
}
Also used : Works(org.orcid.jaxb.model.record.summary_v2.Works) Test(org.junit.Test)

Example 12 with Works

use of org.orcid.jaxb.model.record.summary_rc4.Works in project ORCID-Source by ORCID.

the class PublicAPISecurityManagerV2Test method getWorks.

private Works getWorks(Visibility... vs) {
    Works works = new Works();
    for (Visibility v : vs) {
        WorkGroup g = new WorkGroup();
        WorkSummary s = new WorkSummary();
        s.setVisibility(v);
        g.getWorkSummary().add(s);
        works.getWorkGroup().add(g);
    }
    return works;
}
Also used : WorkGroup(org.orcid.jaxb.model.record.summary_v2.WorkGroup) WorkSummary(org.orcid.jaxb.model.record.summary_v2.WorkSummary) Visibility(org.orcid.jaxb.model.common_v2.Visibility) Works(org.orcid.jaxb.model.record.summary_v2.Works)

Example 13 with Works

use of org.orcid.jaxb.model.record.summary_rc4.Works in project ORCID-Source by ORCID.

the class WorkManagerTest method testGroupWorks_groupOnlyPublicWorks1.

@Test
public void testGroupWorks_groupOnlyPublicWorks1() {
    WorkSummary s1 = getWorkSummary("Public 1", "ext-id-1", Visibility.PUBLIC);
    WorkSummary s2 = getWorkSummary("Limited 1", "ext-id-2", Visibility.LIMITED);
    WorkSummary s3 = getWorkSummary("Private 1", "ext-id-3", Visibility.PRIVATE);
    WorkSummary s4 = getWorkSummary("Public 2", "ext-id-4", Visibility.PUBLIC);
    WorkSummary s5 = getWorkSummary("Limited 2", "ext-id-5", Visibility.LIMITED);
    WorkSummary s6 = getWorkSummary("Private 2", "ext-id-6", Visibility.PRIVATE);
    WorkSummary s7 = getWorkSummary("Public 3", "ext-id-7", Visibility.PUBLIC);
    WorkSummary s8 = getWorkSummary("Limited 3", "ext-id-8", Visibility.LIMITED);
    WorkSummary s9 = getWorkSummary("Private 3", "ext-id-9", Visibility.PRIVATE);
    List<WorkSummary> workList = Arrays.asList(s1, s2, s3, s4, s5, s6, s7, s8, s9);
    /**
         * They should be grouped as
         * 
         * Group 1: Public 1
         * Group 2: Public 2
         * Group 3: Public 3
         * */
    Works works = workManager.groupWorks(workList, true);
    assertNotNull(works);
    assertEquals(3, works.getWorkGroup().size());
    assertEquals(1, works.getWorkGroup().get(0).getIdentifiers().getExternalIdentifier().size());
    assertEquals(1, works.getWorkGroup().get(0).getWorkSummary().size());
    assertEquals("ext-id-1", works.getWorkGroup().get(0).getIdentifiers().getExternalIdentifier().get(0).getValue());
    assertEquals("Public 1", works.getWorkGroup().get(0).getWorkSummary().get(0).getTitle().getTitle().getContent());
    assertEquals(1, works.getWorkGroup().get(1).getIdentifiers().getExternalIdentifier().size());
    assertEquals(1, works.getWorkGroup().get(1).getWorkSummary().size());
    assertEquals("ext-id-4", works.getWorkGroup().get(1).getIdentifiers().getExternalIdentifier().get(0).getValue());
    assertEquals("Public 2", works.getWorkGroup().get(1).getWorkSummary().get(0).getTitle().getTitle().getContent());
    assertEquals(1, works.getWorkGroup().get(2).getIdentifiers().getExternalIdentifier().size());
    assertEquals(1, works.getWorkGroup().get(2).getWorkSummary().size());
    assertEquals("ext-id-7", works.getWorkGroup().get(2).getIdentifiers().getExternalIdentifier().get(0).getValue());
    assertEquals("Public 3", works.getWorkGroup().get(2).getWorkSummary().get(0).getTitle().getTitle().getContent());
}
Also used : WorkSummary(org.orcid.jaxb.model.record.summary_v2.WorkSummary) Works(org.orcid.jaxb.model.record.summary_v2.Works) Test(org.junit.Test) BaseTest(org.orcid.core.BaseTest)

Example 14 with Works

use of org.orcid.jaxb.model.record.summary_rc4.Works in project ORCID-Source by ORCID.

the class WorkManagerTest method testGroupWorks_groupOnlyPublicWorks2.

@Test
public void testGroupWorks_groupOnlyPublicWorks2() {
    WorkSummary s1 = getWorkSummary("Public 1", "ext-id-1", Visibility.PUBLIC);
    WorkSummary s2 = getWorkSummary("Limited 1", "ext-id-1", Visibility.LIMITED);
    WorkSummary s3 = getWorkSummary("Private 1", "ext-id-1", Visibility.PRIVATE);
    WorkSummary s4 = getWorkSummary("Public 2", "ext-id-1", Visibility.PUBLIC);
    WorkSummary s5 = getWorkSummary("Limited 2", "ext-id-1", Visibility.LIMITED);
    WorkSummary s6 = getWorkSummary("Private 2", "ext-id-1", Visibility.PRIVATE);
    WorkSummary s7 = getWorkSummary("Public 3", "ext-id-2", Visibility.PUBLIC);
    WorkSummary s8 = getWorkSummary("Limited 3", "ext-id-2", Visibility.LIMITED);
    WorkSummary s9 = getWorkSummary("Private 3", "ext-id-2", Visibility.PRIVATE);
    List<WorkSummary> workList = Arrays.asList(s1, s2, s3, s4, s5, s6, s7, s8, s9);
    /**
         * They should be grouped as
         * 
         * Group 1: Public 1 + Public 2
         * Group 2: Public 3
         * */
    Works works = workManager.groupWorks(workList, true);
    assertNotNull(works);
    assertEquals(2, works.getWorkGroup().size());
    assertEquals(1, works.getWorkGroup().get(0).getIdentifiers().getExternalIdentifier().size());
    assertEquals("ext-id-1", works.getWorkGroup().get(0).getIdentifiers().getExternalIdentifier().get(0).getValue());
    assertEquals(2, works.getWorkGroup().get(0).getWorkSummary().size());
    assertThat(works.getWorkGroup().get(0).getWorkSummary().get(0).getTitle().getTitle().getContent(), anyOf(is("Public 1"), is("Public 2")));
    assertThat(works.getWorkGroup().get(0).getWorkSummary().get(1).getTitle().getTitle().getContent(), anyOf(is("Public 1"), is("Public 2")));
    assertEquals(1, works.getWorkGroup().get(1).getIdentifiers().getExternalIdentifier().size());
    assertEquals("ext-id-2", works.getWorkGroup().get(1).getIdentifiers().getExternalIdentifier().get(0).getValue());
    assertEquals(1, works.getWorkGroup().get(1).getWorkSummary().size());
    assertEquals("Public 3", works.getWorkGroup().get(1).getWorkSummary().get(0).getTitle().getTitle().getContent());
}
Also used : WorkSummary(org.orcid.jaxb.model.record.summary_v2.WorkSummary) Works(org.orcid.jaxb.model.record.summary_v2.Works) Test(org.junit.Test) BaseTest(org.orcid.core.BaseTest)

Example 15 with Works

use of org.orcid.jaxb.model.record.summary_rc4.Works in project ORCID-Source by ORCID.

the class ConvertVrc4ToV2Test method upgradeWorksToVrc3Test.

@Test
public void upgradeWorksToVrc3Test() throws JAXBException {
    JAXBContext jaxbContext1 = JAXBContext.newInstance(Works.class);
    JAXBContext jaxbContext2 = JAXBContext.newInstance(org.orcid.jaxb.model.record.summary_v2.Works.class);
    Unmarshaller jaxbUnmarshaller = jaxbContext1.createUnmarshaller();
    InputStream rc3Stream = ConvertVrc4ToV2Test.class.getClassLoader().getResourceAsStream("test-works-2.0_rc4.xml");
    InputStream rc4Stream = ConvertVrc4ToV2Test.class.getClassLoader().getResourceAsStream("test-works-2.0.xml");
    Works rc4Works = (Works) jaxbUnmarshaller.unmarshal(rc3Stream);
    jaxbUnmarshaller = jaxbContext2.createUnmarshaller();
    org.orcid.jaxb.model.record.summary_v2.Works rc4Works1 = (org.orcid.jaxb.model.record.summary_v2.Works) jaxbUnmarshaller.unmarshal(rc4Stream);
    V2Convertible result = versionConverterV2_0_rc4ToV2_0.upgrade(new V2Convertible(rc4Works, "v2_rc4"));
    org.orcid.jaxb.model.record.summary_v2.Works rc4Works2 = (org.orcid.jaxb.model.record.summary_v2.Works) result.getObjectToConvert();
    assertEquals(rc4Works1, rc4Works2);
}
Also used : V2Convertible(org.orcid.core.version.V2Convertible) InputStream(java.io.InputStream) JAXBContext(javax.xml.bind.JAXBContext) Unmarshaller(javax.xml.bind.Unmarshaller) Works(org.orcid.jaxb.model.record.summary_rc4.Works) Test(org.junit.Test) BaseTest(org.orcid.core.BaseTest)

Aggregations

Test (org.junit.Test)35 Works (org.orcid.jaxb.model.record.summary_v2.Works)26 WorkSummary (org.orcid.jaxb.model.record.summary_v2.WorkSummary)22 ClientResponse (com.sun.jersey.api.client.ClientResponse)12 WorkGroup (org.orcid.jaxb.model.record.summary_v2.WorkGroup)12 BaseTest (org.orcid.core.BaseTest)10 EducationSummary (org.orcid.jaxb.model.record.summary_v2.EducationSummary)8 Educations (org.orcid.jaxb.model.record.summary_v2.Educations)8 EmploymentSummary (org.orcid.jaxb.model.record.summary_v2.EmploymentSummary)8 Employments (org.orcid.jaxb.model.record.summary_v2.Employments)8 FundingSummary (org.orcid.jaxb.model.record.summary_v2.FundingSummary)8 Fundings (org.orcid.jaxb.model.record.summary_v2.Fundings)8 InputStream (java.io.InputStream)4 JAXBContext (javax.xml.bind.JAXBContext)4 Unmarshaller (javax.xml.bind.Unmarshaller)4 V2Convertible (org.orcid.core.version.V2Convertible)4 PeerReviewSummary (org.orcid.jaxb.model.record.summary_v2.PeerReviewSummary)4 PeerReviews (org.orcid.jaxb.model.record.summary_v2.PeerReviews)4 Address (org.orcid.jaxb.model.record_v2.Address)4 Email (org.orcid.jaxb.model.record_v2.Email)4