use of org.orcid.jaxb.model.v3.dev1.record.summary.WorkSummary in project ORCID-Source by ORCID.
the class ActivitiesGroupGenerator_GroupingWorksTest method generateWorks.
/**
* work-1 -> ARG(A), ARG(B), ARG(C)
* work-2 -> ARG(C), ARG(D), ARG(E)
* work-3 -> ARG(X), ARG(Y), ARG(Z)
* work-4 -> ARG(Y), ARG(B), ARG(1)
* work-5 -> ARG(M), ARG(N), ARG(O)
* work-6 -> ARXIV(A), ARXIV(B), ARXIV(C)
* work-7 -> DOI(1), DOI(2), ARIXV(B)
* work-8 -> No external identifiers
* work-9 -> No external identifiers
* work-10 -> ISSN(1), ISSN(2), ISSN(3)
* work-11 -> ISSN(3), ISSN(4), ISSN(5)
* work-12 -> DOI(1), ISSN(1)
* work-13 -> DOI(1), ISSN(4)
*/
private Map<String, WorkSummary> generateWorks() {
Map<String, WorkSummary> result = new HashMap<String, WorkSummary>();
for (int i = 1; i < 14; i++) {
String title = "work-" + i;
WorkSummary work = new WorkSummary();
// Set title
WorkTitle workTitle = new WorkTitle();
workTitle.setTitle(new Title(title));
work.setTitle(workTitle);
ExternalIDs wei = new ExternalIDs();
switch(i) {
case 1:
ExternalID e1 = new ExternalID();
e1.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e1.setValue("A");
ExternalID e2 = new ExternalID();
e2.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e2.setValue("B");
ExternalID e3 = new ExternalID();
e3.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e3.setValue("C");
wei.getExternalIdentifier().add(e1);
wei.getExternalIdentifier().add(e2);
wei.getExternalIdentifier().add(e3);
break;
case 2:
ExternalID e4 = new ExternalID();
e4.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e4.setValue("C");
ExternalID e5 = new ExternalID();
e5.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e5.setValue("D");
ExternalID e6 = new ExternalID();
e6.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e6.setValue("E");
wei.getExternalIdentifier().add(e4);
wei.getExternalIdentifier().add(e5);
wei.getExternalIdentifier().add(e6);
break;
case 3:
ExternalID e7 = new ExternalID();
e7.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e7.setValue("X");
ExternalID e8 = new ExternalID();
e8.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e8.setValue("Y");
ExternalID e9 = new ExternalID();
e9.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e9.setValue("Z");
wei.getExternalIdentifier().add(e7);
wei.getExternalIdentifier().add(e8);
wei.getExternalIdentifier().add(e9);
break;
case 4:
ExternalID e10 = new ExternalID();
e10.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e10.setValue("Y");
ExternalID e11 = new ExternalID();
e11.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e11.setValue("B");
ExternalID e12 = new ExternalID();
e12.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e12.setValue("1");
wei.getExternalIdentifier().add(e10);
wei.getExternalIdentifier().add(e11);
wei.getExternalIdentifier().add(e12);
break;
case 5:
ExternalID e13 = new ExternalID();
e13.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e13.setValue("M");
ExternalID e14 = new ExternalID();
e14.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e14.setValue("N");
ExternalID e15 = new ExternalID();
e15.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.AGR.value());
e15.setValue("O");
wei.getExternalIdentifier().add(e13);
wei.getExternalIdentifier().add(e14);
wei.getExternalIdentifier().add(e15);
break;
case 6:
ExternalID e16 = new ExternalID();
e16.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ARXIV.value());
e16.setValue("A");
ExternalID e17 = new ExternalID();
e17.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ARXIV.value());
e17.setValue("B");
ExternalID e18 = new ExternalID();
e18.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ARXIV.value());
e18.setValue("C");
wei.getExternalIdentifier().add(e16);
wei.getExternalIdentifier().add(e17);
wei.getExternalIdentifier().add(e18);
break;
case 7:
ExternalID e19 = new ExternalID();
e19.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.DOI.value());
e19.setValue("1");
ExternalID e20 = new ExternalID();
e20.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.DOI.value());
e20.setValue("2");
ExternalID e21 = new ExternalID();
e21.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ARXIV.value());
e21.setValue("B");
wei.getExternalIdentifier().add(e19);
wei.getExternalIdentifier().add(e20);
wei.getExternalIdentifier().add(e21);
break;
case 10:
ExternalID e22 = new ExternalID();
e22.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.value());
e22.setValue("1");
ExternalID e23 = new ExternalID();
e23.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.value());
e23.setValue("2");
ExternalID e24 = new ExternalID();
e24.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.value());
e24.setValue("3");
wei.getExternalIdentifier().add(e22);
wei.getExternalIdentifier().add(e23);
wei.getExternalIdentifier().add(e24);
break;
case 11:
ExternalID e25 = new ExternalID();
e25.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.value());
e25.setValue("3");
ExternalID e26 = new ExternalID();
e26.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.value());
e26.setValue("3");
ExternalID e27 = new ExternalID();
e27.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.value());
e27.setValue("3");
wei.getExternalIdentifier().add(e25);
wei.getExternalIdentifier().add(e26);
wei.getExternalIdentifier().add(e27);
break;
case 12:
ExternalID e28 = new ExternalID();
e28.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.DOI.value());
e28.setValue("1");
ExternalID e29 = new ExternalID();
e29.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.value());
e29.setValue("1");
wei.getExternalIdentifier().add(e28);
wei.getExternalIdentifier().add(e29);
break;
case 13:
ExternalID e30 = new ExternalID();
e30.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.DOI.value());
e30.setValue("1");
ExternalID e31 = new ExternalID();
e31.setType(org.orcid.jaxb.model.message.WorkExternalIdentifierType.ISSN.value());
e31.setValue("4");
wei.getExternalIdentifier().add(e30);
wei.getExternalIdentifier().add(e31);
break;
}
work.setExternalIdentifiers(wei);
result.put(title, work);
}
return result;
}
use of org.orcid.jaxb.model.v3.dev1.record.summary.WorkSummary in project ORCID-Source by ORCID.
the class ActivitiesGroupGenerator_GroupingWorksTest method groupWorks_MergeGroupsDontAffectNotMergedGroups_Test.
/**
* work-1, work-3, work-5 and work-8 will be in separate groups
* then work-4 will merge groups of work-1 and work-3
*
* Check that after that, there are 3 groups, one with work-1, work-3 and work-4, one with work-5 and other with work-8
*/
@Test
public void groupWorks_MergeGroupsDontAffectNotMergedGroups_Test() {
ActivitiesGroupGenerator generator = new ActivitiesGroupGenerator();
Map<String, WorkSummary> works = generateWorks();
// Group the first group
WorkSummary work1 = works.get("work-1");
WorkSummary work3 = works.get("work-3");
WorkSummary work4 = works.get("work-4");
WorkSummary work5 = works.get("work-5");
WorkSummary work8 = works.get("work-8");
// Respect order
generator.group(work1);
generator.group(work3);
generator.group(work5);
generator.group(work8);
generator.group(work4);
List<ActivitiesGroup> groups = generator.getGroups();
assertNotNull(groups);
assertEquals(3, groups.size());
// Check work1, work3 and work4 belongs to the same group
checkActivitiesBelongsToTheSameGroup(groups, work1, work3, work4);
// Check work1, work5 and work8 are all in different groups
checkActivitiesDontBelongsToTheSameGroup(groups, work1, work5, work8);
checkActivityIsOnGroups(work1, groups);
checkActivityIsOnGroups(work3, groups);
checkActivityIsOnGroups(work4, groups);
checkActivityIsOnGroups(work5, groups);
checkActivityIsOnGroups(work8, groups);
}
use of org.orcid.jaxb.model.v3.dev1.record.summary.WorkSummary in project ORCID-Source by ORCID.
the class ActivityUtilsTest method cleanWorkSummaryTest.
@Test
public void cleanWorkSummaryTest() {
// Test it cleans empty fields
WorkSummary s = getEmptyWorkSummary();
assertNotNull(s.getTitle().getTranslatedTitle());
ActivityUtils.cleanEmptyFields(s);
assertNull(s.getTitle().getTranslatedTitle());
// Test it doesn't remove non empty fields
s = getEmptyWorkSummary();
s.getTitle().getTranslatedTitle().setContent("test");
s.getTitle().getTranslatedTitle().setLanguageCode("en_us");
assertEquals("test", s.getTitle().getTranslatedTitle().getContent());
assertEquals("en_us", s.getTitle().getTranslatedTitle().getLanguageCode());
ActivityUtils.cleanEmptyFields(s);
assertEquals("test", s.getTitle().getTranslatedTitle().getContent());
assertEquals("en_us", s.getTitle().getTranslatedTitle().getLanguageCode());
}
use of org.orcid.jaxb.model.v3.dev1.record.summary.WorkSummary in project ORCID-Source by ORCID.
the class ActivityUtilsTest method getWorks.
private Works getWorks() {
Works x = new Works();
WorkGroup g = new WorkGroup();
WorkSummary e = new WorkSummary();
e.setPutCode(123L);
g.getWorkSummary().add(e);
x.getWorkGroup().add(g);
return x;
}
use of org.orcid.jaxb.model.v3.dev1.record.summary.WorkSummary in project ORCID-Source by ORCID.
the class ActivityUtilsTest method getEmptyWorkSummary.
private WorkSummary getEmptyWorkSummary() {
WorkSummary s = new WorkSummary();
WorkTitle title = new WorkTitle();
title.setTitle(new Title(""));
title.setSubtitle(new Subtitle(""));
title.setTranslatedTitle(new TranslatedTitle(""));
s.setTitle(title);
return s;
}
Aggregations