Search in sources :

Example 16 with Works

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

the class WorksPaginatorTest method testTitleSortCaseInsensitive.

@Test
public void testTitleSortCaseInsensitive() {
    Works works = get1000PublicWorkGroups();
    for (WorkGroup workGroup : works.getWorkGroup()) {
        if (new Random().nextBoolean()) {
            for (WorkSummary summary : workGroup.getWorkSummary()) {
                summary.getTitle().setTitle(new Title(summary.getTitle().getTitle().getContent().toUpperCase()));
            }
        }
    }
    Mockito.when(worksCacheManager.getGroupedWorks(Mockito.anyString())).thenReturn(works);
    WorksPage page = worksPaginator.getWorksPage("orcid", 0, false, WorksPaginator.TITLE_SORT_KEY, true);
    org.orcid.pojo.WorkGroup previous = page.getWorkGroups().remove(0);
    while (!page.getWorkGroups().isEmpty()) {
        org.orcid.pojo.WorkGroup next = page.getWorkGroups().remove(0);
        String previousTitle = previous.getWorks().get(0).getTitle().getValue();
        String nextTitle = next.getWorks().get(0).getTitle().getValue();
        assertTrue(previousTitle.toLowerCase().compareTo(nextTitle.toLowerCase()) <= 0);
        previous = next;
    }
}
Also used : WorkGroup(org.orcid.jaxb.model.v3.dev1.record.summary.WorkGroup) WorkSummary(org.orcid.jaxb.model.v3.dev1.record.summary.WorkSummary) Random(java.util.Random) Title(org.orcid.jaxb.model.v3.dev1.common.Title) WorkTitle(org.orcid.jaxb.model.v3.dev1.record.WorkTitle) Works(org.orcid.jaxb.model.v3.dev1.record.summary.Works) Test(org.junit.Test)

Example 17 with Works

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

the class WorksPaginatorTest method get1000PublicWorkGroups.

private Works get1000PublicWorkGroups() {
    Works works = new Works();
    works.setLastModifiedDate(new LastModifiedDate(DateUtils.convertToXMLGregorianCalendar(System.currentTimeMillis())));
    works.setPath("some path");
    for (int i = 0; i < 1000; i++) {
        works.getWorkGroup().add(getPublicWorkGroup(i));
    }
    return works;
}
Also used : LastModifiedDate(org.orcid.jaxb.model.v3.dev1.common.LastModifiedDate) Works(org.orcid.jaxb.model.v3.dev1.record.summary.Works)

Example 18 with Works

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

the class WorksPaginatorTest method testGetWorkWithNulltitle.

/**
 * Check null titles don't cause errors
 */
@Test
public void testGetWorkWithNulltitle() {
    WorkGroup workGroup = getPublicWorkGroup(0);
    for (WorkSummary workSummary : workGroup.getWorkSummary()) {
        workSummary.setTitle(null);
    }
    Works works = new Works();
    works.getWorkGroup().add(workGroup);
    Mockito.when(worksCacheManager.getGroupedWorks(Mockito.anyString())).thenReturn(works);
    WorksPage page = worksPaginator.getAllWorks("orcid", WorksPaginator.TITLE_SORT_KEY, true);
    for (org.orcid.pojo.WorkGroup group : page.getWorkGroups()) {
        for (WorkForm work : group.getWorks()) {
            assertEquals("", work.getTitle().getValue());
        }
    }
}
Also used : WorkGroup(org.orcid.jaxb.model.v3.dev1.record.summary.WorkGroup) WorkSummary(org.orcid.jaxb.model.v3.dev1.record.summary.WorkSummary) WorkForm(org.orcid.pojo.ajaxForm.WorkForm) Works(org.orcid.jaxb.model.v3.dev1.record.summary.Works) Test(org.junit.Test)

Example 19 with Works

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

the class WorksPaginatorTest method testReverseSecondaryTitleSortForNullDates.

@Test
public void testReverseSecondaryTitleSortForNullDates() {
    Works works = getWorkGroupsWithNullDates();
    Mockito.when(worksCacheManager.getGroupedWorks(Mockito.anyString())).thenReturn(works);
    WorksPage page = worksPaginator.getWorksPage("orcid", 0, false, WorksPaginator.DATE_SORT_KEY, true);
    org.orcid.pojo.WorkGroup previous = page.getWorkGroups().remove(0);
    while (!page.getWorkGroups().isEmpty()) {
        org.orcid.pojo.WorkGroup next = page.getWorkGroups().remove(0);
        String previousTitle = previous.getWorks().get(0).getTitle().getValue();
        String nextTitle = next.getWorks().get(0).getTitle().getValue();
        assertTrue(previousTitle.toLowerCase().compareTo(nextTitle.toLowerCase()) >= 0);
        previous = next;
    }
}
Also used : Works(org.orcid.jaxb.model.v3.dev1.record.summary.Works) Test(org.junit.Test)

Example 20 with Works

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

the class WorksPaginator method refreshWorks.

public WorksPage refreshWorks(String orcid, int limit, String sort, boolean sortAsc) {
    Works works = worksCacheManager.getGroupedWorks(orcid);
    List<org.orcid.jaxb.model.v3.dev1.record.summary.WorkGroup> sortedGroups = sort(works.getWorkGroup(), sort, sortAsc);
    WorksPage worksPage = new WorksPage();
    worksPage.setTotalGroups(sortedGroups.size());
    List<WorkGroup> workGroups = new ArrayList<>();
    for (int i = 0; i < limit && i < sortedGroups.size(); i++) {
        org.orcid.jaxb.model.v3.dev1.record.summary.WorkGroup group = sortedGroups.get(i);
        workGroups.add(WorkGroup.valueOf(group, i, orcid));
    }
    worksPage.setWorkGroups(workGroups);
    worksPage.setNextOffset(limit);
    return worksPage;
}
Also used : ArrayList(java.util.ArrayList) WorkGroup(org.orcid.pojo.WorkGroup) Works(org.orcid.jaxb.model.v3.dev1.record.summary.Works)

Aggregations

Test (org.junit.Test)83 WorkSummary (org.orcid.jaxb.model.v3.dev1.record.summary.WorkSummary)65 ActivitiesSummary (org.orcid.jaxb.model.v3.dev1.record.summary.ActivitiesSummary)46 FundingSummary (org.orcid.jaxb.model.v3.dev1.record.summary.FundingSummary)38 EducationSummary (org.orcid.jaxb.model.v3.dev1.record.summary.EducationSummary)37 EmploymentSummary (org.orcid.jaxb.model.v3.dev1.record.summary.EmploymentSummary)37 PeerReviewSummary (org.orcid.jaxb.model.v3.dev1.record.summary.PeerReviewSummary)37 Works (org.orcid.jaxb.model.v3.dev1.record.summary.Works)37 DistinctionSummary (org.orcid.jaxb.model.v3.dev1.record.summary.DistinctionSummary)35 InvitedPositionSummary (org.orcid.jaxb.model.v3.dev1.record.summary.InvitedPositionSummary)35 MembershipSummary (org.orcid.jaxb.model.v3.dev1.record.summary.MembershipSummary)35 QualificationSummary (org.orcid.jaxb.model.v3.dev1.record.summary.QualificationSummary)35 ServiceSummary (org.orcid.jaxb.model.v3.dev1.record.summary.ServiceSummary)35 DBUnitTest (org.orcid.test.DBUnitTest)21 Response (javax.ws.rs.core.Response)20 WorkGroup (org.orcid.jaxb.model.v3.dev1.record.summary.WorkGroup)20 PersonExternalIdentifier (org.orcid.jaxb.model.v3.dev1.record.PersonExternalIdentifier)17 ResearcherUrl (org.orcid.jaxb.model.v3.dev1.record.ResearcherUrl)17 Address (org.orcid.jaxb.model.v3.dev1.record.Address)16 Biography (org.orcid.jaxb.model.v3.dev1.record.Biography)16