use of org.orcid.jaxb.model.v3.dev1.record.Group in project ORCID-Source by ORCID.
the class PeerReviewManagerTest method testGroupPeerReviews_groupOnlyPublicPeerReviews2.
@Test
public void testGroupPeerReviews_groupOnlyPublicPeerReviews2() {
PeerReviewSummary s1 = getPeerReviewSummary("public-peer-review-group-id-1", "ext-id-1", Visibility.PUBLIC);
PeerReviewSummary s2 = getPeerReviewSummary("limited-peer-review-group-id-1", "ext-id-2", Visibility.LIMITED);
PeerReviewSummary s3 = getPeerReviewSummary("private-peer-review-group-id-1", "ext-id-3", Visibility.PRIVATE);
PeerReviewSummary s4 = getPeerReviewSummary("public-peer-review-group-id-1", "ext-id-4", Visibility.PUBLIC);
PeerReviewSummary s5 = getPeerReviewSummary("limited-peer-review-group-id-1", "ext-id-5", Visibility.LIMITED);
PeerReviewSummary s6 = getPeerReviewSummary("private-peer-review-group-id-1", "ext-id-6", Visibility.PRIVATE);
PeerReviewSummary s7 = getPeerReviewSummary("public-peer-review-group-id-2", "ext-id-7", Visibility.PUBLIC);
PeerReviewSummary s8 = getPeerReviewSummary("limited-peer-review-group-id-2", "ext-id-8", Visibility.LIMITED);
PeerReviewSummary s9 = getPeerReviewSummary("private-peer-review-group-id-2", "ext-id-9", Visibility.PRIVATE);
List<PeerReviewSummary> peerReviewList = Arrays.asList(s1, s2, s3, s4, s5, s6, s7, s8, s9);
/**
* They should be grouped as
*
* Group 1: ext-id-1 + ext-id-4
* Group 2: ext-id-7
*/
PeerReviews peerReviews = peerReviewManager.groupPeerReviews(peerReviewList, true);
assertNotNull(peerReviews);
assertEquals(2, peerReviews.getPeerReviewGroup().size());
assertEquals(1, peerReviews.getPeerReviewGroup().get(0).getIdentifiers().getExternalIdentifier().size());
assertEquals("public-peer-review-group-id-1", peerReviews.getPeerReviewGroup().get(0).getIdentifiers().getExternalIdentifier().get(0).getValue());
assertEquals(2, peerReviews.getPeerReviewGroup().get(0).getPeerReviewSummary().size());
assertThat(peerReviews.getPeerReviewGroup().get(0).getPeerReviewSummary().get(0).getExternalIdentifiers().getExternalIdentifier().get(0).getValue(), anyOf(is("ext-id-1"), is("ext-id-4")));
assertThat(peerReviews.getPeerReviewGroup().get(0).getPeerReviewSummary().get(1).getExternalIdentifiers().getExternalIdentifier().get(0).getValue(), anyOf(is("ext-id-1"), is("ext-id-4")));
assertEquals(1, peerReviews.getPeerReviewGroup().get(1).getIdentifiers().getExternalIdentifier().size());
assertEquals("public-peer-review-group-id-2", peerReviews.getPeerReviewGroup().get(1).getIdentifiers().getExternalIdentifier().get(0).getValue());
assertEquals(1, peerReviews.getPeerReviewGroup().get(1).getPeerReviewSummary().size());
assertEquals("ext-id-7", peerReviews.getPeerReviewGroup().get(1).getPeerReviewSummary().get(0).getExternalIdentifiers().getExternalIdentifier().get(0).getValue());
}
use of org.orcid.jaxb.model.v3.dev1.record.Group in project ORCID-Source by ORCID.
the class PeerReviewManagerTest method testGroupPeerReviews_groupOnlyPublicPeerReviews1.
@Test
public void testGroupPeerReviews_groupOnlyPublicPeerReviews1() {
PeerReviewSummary s1 = getPeerReviewSummary("public-peer-review-group-id-1", "ext-id-1", Visibility.PUBLIC);
PeerReviewSummary s2 = getPeerReviewSummary("limited-peer-review-group-id-1", "ext-id-2", Visibility.LIMITED);
PeerReviewSummary s3 = getPeerReviewSummary("private-peer-review-group-id-1", "ext-id-3", Visibility.PRIVATE);
PeerReviewSummary s4 = getPeerReviewSummary("public-peer-review-group-id-2", "ext-id-4", Visibility.PUBLIC);
PeerReviewSummary s5 = getPeerReviewSummary("limited-peer-review-group-id-2", "ext-id-5", Visibility.LIMITED);
PeerReviewSummary s6 = getPeerReviewSummary("private-peer-review-group-id-2", "ext-id-6", Visibility.PRIVATE);
PeerReviewSummary s7 = getPeerReviewSummary("public-peer-review-group-id-3", "ext-id-7", Visibility.PUBLIC);
PeerReviewSummary s8 = getPeerReviewSummary("limited-peer-review-group-id-3", "ext-id-8", Visibility.LIMITED);
PeerReviewSummary s9 = getPeerReviewSummary("private-peer-review-group-id-3", "ext-id-9", Visibility.PRIVATE);
List<PeerReviewSummary> 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
*/
PeerReviews peerReviews = peerReviewManager.groupPeerReviews(workList, true);
assertNotNull(peerReviews);
assertEquals(3, peerReviews.getPeerReviewGroup().size());
assertEquals(1, peerReviews.getPeerReviewGroup().get(0).getIdentifiers().getExternalIdentifier().size());
assertEquals(1, peerReviews.getPeerReviewGroup().get(0).getPeerReviewSummary().size());
assertEquals("public-peer-review-group-id-1", peerReviews.getPeerReviewGroup().get(0).getIdentifiers().getExternalIdentifier().get(0).getValue());
assertEquals("public-peer-review-group-id-1", peerReviews.getPeerReviewGroup().get(0).getPeerReviewSummary().get(0).getGroupId());
assertEquals(1, peerReviews.getPeerReviewGroup().get(1).getIdentifiers().getExternalIdentifier().size());
assertEquals(1, peerReviews.getPeerReviewGroup().get(1).getPeerReviewSummary().size());
assertEquals("public-peer-review-group-id-2", peerReviews.getPeerReviewGroup().get(1).getIdentifiers().getExternalIdentifier().get(0).getValue());
assertEquals("public-peer-review-group-id-2", peerReviews.getPeerReviewGroup().get(1).getPeerReviewSummary().get(0).getGroupId());
assertEquals(1, peerReviews.getPeerReviewGroup().get(2).getIdentifiers().getExternalIdentifier().size());
assertEquals(1, peerReviews.getPeerReviewGroup().get(2).getPeerReviewSummary().size());
assertEquals("public-peer-review-group-id-3", peerReviews.getPeerReviewGroup().get(2).getIdentifiers().getExternalIdentifier().get(0).getValue());
assertEquals("public-peer-review-group-id-3", peerReviews.getPeerReviewGroup().get(2).getPeerReviewSummary().get(0).getGroupId());
}
use of org.orcid.jaxb.model.v3.dev1.record.Group in project ORCID-Source by ORCID.
the class PeerReviewManagerTest method nonGroupableIdsGenerateEmptyIdsListTest.
@Test
public void nonGroupableIdsGenerateEmptyIdsListTest() {
PeerReviewSummary s1 = getPeerReviewSummary("Element 1", "ext-id-1", Visibility.PUBLIC);
PeerReviewSummary s2 = getPeerReviewSummary("Element 2", "ext-id-2", Visibility.LIMITED);
PeerReviewSummary s3 = getPeerReviewSummary("Element 3", "ext-id-3", Visibility.PRIVATE);
// Remove the grouping id from s1
s1.setGroupId(null);
List<PeerReviewSummary> peerReviewsList = Arrays.asList(s1, s2, s3);
/**
* They should be grouped as
*
* Group 1: Element 1
* Group 2: Element 2
* Group 3: Element 3
*/
PeerReviews peerReviews = peerReviewManager.groupPeerReviews(peerReviewsList, false);
assertNotNull(peerReviews);
assertEquals(3, peerReviews.getPeerReviewGroup().size());
boolean foundEmptyGroup = false;
boolean found2 = false;
boolean found3 = false;
for (PeerReviewGroup group : peerReviews.getPeerReviewGroup()) {
assertEquals(1, group.getPeerReviewSummary().size());
assertNotNull(group.getIdentifiers().getExternalIdentifier());
assertEquals(1, group.getIdentifiers().getExternalIdentifier().size());
if (group.getIdentifiers().getExternalIdentifier().get(0).getValue() == null) {
assertEquals("ext-id-1", group.getPeerReviewSummary().get(0).getExternalIdentifiers().getExternalIdentifier().get(0).getValue());
foundEmptyGroup = true;
} else if (group.getIdentifiers().getExternalIdentifier().get(0).getValue().equals("Element 2")) {
assertEquals("ext-id-2", group.getPeerReviewSummary().get(0).getExternalIdentifiers().getExternalIdentifier().get(0).getValue());
found2 = true;
} else if (group.getIdentifiers().getExternalIdentifier().get(0).getValue().equals("Element 3")) {
assertEquals("ext-id-3", group.getPeerReviewSummary().get(0).getExternalIdentifiers().getExternalIdentifier().get(0).getValue());
found3 = true;
} else {
fail("Invalid ext id found " + group.getIdentifiers().getExternalIdentifier().get(0).getValue());
}
}
assertTrue(foundEmptyGroup);
assertTrue(found2);
assertTrue(found3);
}
use of org.orcid.jaxb.model.v3.dev1.record.Group in project ORCID-Source by ORCID.
the class ProfileFundingManagerTest method nonGroupableIdsGenerateEmptyIdsListTest.
@Test
public void nonGroupableIdsGenerateEmptyIdsListTest() {
FundingSummary s1 = getFundingSummary("Element 1", "ext-id-1", Visibility.PUBLIC);
FundingSummary s2 = getFundingSummary("Element 2", "ext-id-2", Visibility.LIMITED);
FundingSummary s3 = getFundingSummary("Element 3", "ext-id-3", Visibility.PRIVATE);
// s1 will be a part of identifier, so, it will go in its own group
s1.getExternalIdentifiers().getExternalIdentifier().get(0).setRelationship(Relationship.PART_OF);
List<FundingSummary> fundingList = Arrays.asList(s1, s2, s3);
/**
* They should be grouped as
*
* Group 1: Element 1
* Group 2: Element 2
* Group 3: Element 3
*/
Fundings fundings = profileFundingManager.groupFundings(fundingList, false);
assertNotNull(fundings);
assertEquals(3, fundings.getFundingGroup().size());
boolean foundEmptyGroup = false;
boolean found2 = false;
boolean found3 = false;
for (FundingGroup group : fundings.getFundingGroup()) {
assertEquals(1, group.getFundingSummary().size());
assertNotNull(group.getIdentifiers().getExternalIdentifier());
if (group.getIdentifiers().getExternalIdentifier().isEmpty()) {
assertEquals("Element 1", group.getFundingSummary().get(0).getTitle().getTitle().getContent());
assertEquals("ext-id-1", group.getFundingSummary().get(0).getExternalIdentifiers().getExternalIdentifier().get(0).getValue());
foundEmptyGroup = true;
} else {
assertEquals(1, group.getIdentifiers().getExternalIdentifier().size());
assertThat(group.getIdentifiers().getExternalIdentifier().get(0).getValue(), anyOf(is("ext-id-2"), is("ext-id-3")));
if (group.getIdentifiers().getExternalIdentifier().get(0).getValue().equals("ext-id-2")) {
assertEquals("Element 2", group.getFundingSummary().get(0).getTitle().getTitle().getContent());
assertEquals("ext-id-2", group.getFundingSummary().get(0).getExternalIdentifiers().getExternalIdentifier().get(0).getValue());
found2 = true;
} else if (group.getIdentifiers().getExternalIdentifier().get(0).getValue().equals("ext-id-3")) {
assertEquals("Element 3", group.getFundingSummary().get(0).getTitle().getTitle().getContent());
assertEquals("ext-id-3", group.getFundingSummary().get(0).getExternalIdentifiers().getExternalIdentifier().get(0).getValue());
found3 = true;
} else {
fail("Invalid ext id found " + group.getIdentifiers().getExternalIdentifier().get(0).getValue());
}
}
}
assertTrue(foundEmptyGroup);
assertTrue(found2);
assertTrue(found3);
}
use of org.orcid.jaxb.model.v3.dev1.record.Group in project ORCID-Source by ORCID.
the class GroupIdRecordManagerTest method testUpdateDuplicateGroupIdRecords.
@Test
public void testUpdateDuplicateGroupIdRecords() {
String groupName = "Group # " + System.currentTimeMillis();
GroupIdRecord g1 = new GroupIdRecord();
g1.setDescription("Description");
g1.setGroupId("orcid-generated:valid-group-id#1");
g1.setName(groupName);
g1.setType("publisher");
// Create the first one
g1 = groupIdRecordManager.createGroupIdRecord(g1);
Long putCode1 = g1.getPutCode();
assertNotNull(g1.getSource());
assertNotNull(g1.getSource().getSourceClientId());
assertEquals(CLIENT_ID, g1.getSource().getSourceClientId().getPath());
// Create another one
g1.setPutCode(null);
g1.setGroupId("orcid-generated:valid-group-id#2");
g1 = groupIdRecordManager.createGroupIdRecord(g1);
Long putCode2 = g1.getPutCode();
assertNotNull(g1.getSource());
assertNotNull(g1.getSource().getSourceClientId());
assertEquals(CLIENT_ID, g1.getSource().getSourceClientId().getPath());
// Create another one
g1.setPutCode(null);
g1.setGroupId("orcid-generated:valid-group-id#3");
g1 = groupIdRecordManager.createGroupIdRecord(g1);
Long putCode3 = g1.getPutCode();
assertNotNull(g1.getSource());
assertNotNull(g1.getSource().getSourceClientId());
assertEquals(CLIENT_ID, g1.getSource().getSourceClientId().getPath());
// Update #1 with an existing group id
try {
GroupIdRecord existingOne = groupIdRecordManager.findByGroupId("orcid-generated:valid-group-id#1").get();
existingOne.setGroupId("orcid-generated:valid-group-id#2");
existingOne.setDescription("updated-description");
groupIdRecordManager.updateGroupIdRecord(existingOne.getPutCode(), existingOne);
fail();
} catch (DuplicatedGroupIdRecordException e) {
} catch (Exception e) {
fail();
}
// Update #1 with an existing group id
try {
GroupIdRecord existingOne = groupIdRecordManager.findByGroupId("orcid-generated:valid-group-id#1").get();
existingOne.setGroupId("orcid-generated:valid-group-id#3");
existingOne.setDescription("updated-description");
groupIdRecordManager.updateGroupIdRecord(existingOne.getPutCode(), existingOne);
fail();
} catch (DuplicatedGroupIdRecordException e) {
} catch (Exception e) {
fail();
}
// Update #1 with a new group id
GroupIdRecord existingOne = groupIdRecordManager.findByGroupId("orcid-generated:valid-group-id#1").get();
existingOne.setGroupId("orcid-generated:valid-group-id#1-updated");
existingOne.setDescription("updated-description");
existingOne = groupIdRecordManager.updateGroupIdRecord(existingOne.getPutCode(), existingOne);
assertNotNull(existingOne);
assertEquals(putCode1, existingOne.getPutCode());
assertEquals("orcid-generated:valid-group-id#1-updated", existingOne.getGroupId());
assertEquals("updated-description", existingOne.getDescription());
assertEquals(groupName, existingOne.getName());
assertNotNull(existingOne.getSource());
assertNotNull(existingOne.getSource().getSourceClientId());
assertEquals(CLIENT_ID, existingOne.getSource().getSourceClientId().getPath());
// Delete them
groupIdRecordManager.deleteGroupIdRecord(putCode1);
groupIdRecordManager.deleteGroupIdRecord(putCode2);
groupIdRecordManager.deleteGroupIdRecord(putCode3);
}
Aggregations