use of org.orcid.jaxb.model.v3.dev1.record.Activity in project ORCID-Source by ORCID.
the class ActivitiesGroupGeneratorBaseTest method checkActivitiesDontBelongsToTheSameGroup.
/**
* Check that the given activities belongs to the same group in a list of given groups
*/
public void checkActivitiesDontBelongsToTheSameGroup(List<ActivitiesGroup> groups, GroupableActivity... activities) {
for (int i = 0; i < activities.length; i++) {
GroupableActivity a1 = activities[i];
ActivitiesGroup theGroup = getGroupThatContainsActivity(groups, a1);
for (int j = i + 1; j < activities.length; j++) {
assertFalse("activity[" + i + "] and activity[" + j + "] belongs to the same group", theGroup.belongsToGroup(activities[j]));
}
}
}
use of org.orcid.jaxb.model.v3.dev1.record.Activity in project ORCID-Source by ORCID.
the class ActivitiesGroupGenerator_GroupingFundingsTest method groupFundings_4GroupsOf1Funding_Test.
@Test
public void groupFundings_4GroupsOf1Funding_Test() {
ActivitiesGroupGenerator generator = new ActivitiesGroupGenerator();
Map<String, FundingSummary> fundings = generateFundings();
// Group the first group
// funding-2 -> C, D, E
FundingSummary funding2 = fundings.get("funding-2");
generator.group(funding2);
// There should be one group, and the ext ids should be A, B and C
List<ActivitiesGroup> groups = generator.getGroups();
assertNotNull(groups);
assertEquals(1, groups.size());
ActivitiesGroup g1 = groups.get(0);
assertNotNull(g1);
assertNotNull(g1.getActivities());
assertEquals(1, g1.getActivities().size());
assertTrue(g1.getActivities().contains(funding2));
assertNotNull(g1.getGroupKeys());
assertEquals(3, g1.getGroupKeys().size());
checkExternalIdentifiers(funding2, g1);
// Add another funding to the groups
// funding-5 -> M, N, O
FundingSummary funding5 = fundings.get("funding-5");
generator.group(funding5);
// There should be two groups, one for each funding
groups = generator.getGroups();
assertNotNull(groups);
assertEquals(2, groups.size());
// There should be one activity in each group
assertEquals(1, groups.get(0).getActivities().size());
assertEquals(1, groups.get(1).getActivities().size());
// There should be 3 ext ids in each group
assertEquals(3, groups.get(0).getGroupKeys().size());
assertEquals(3, groups.get(1).getGroupKeys().size());
// Check funding in groups
checkActivityIsOnGroups(funding5, groups);
// Add another funding to the groups
// funding-7 -> 1, 2, B
FundingSummary funding7 = fundings.get("funding-7");
generator.group(funding7);
groups = generator.getGroups();
assertNotNull(groups);
assertEquals(3, groups.size());
// There should be one activity in each group
assertEquals(1, groups.get(0).getActivities().size());
assertEquals(1, groups.get(1).getActivities().size());
assertEquals(1, groups.get(2).getActivities().size());
// There should be 3 ext ids in each group
assertEquals(3, groups.get(0).getGroupKeys().size());
assertEquals(3, groups.get(1).getGroupKeys().size());
assertEquals(3, groups.get(2).getGroupKeys().size());
// Check funding in groups
checkActivityIsOnGroups(funding7, groups);
// Add another funding to the groups
// funding-8 -> No external identifiers
FundingSummary funding8 = fundings.get("funding-8");
generator.group(funding8);
groups = generator.getGroups();
assertNotNull(groups);
assertEquals(4, groups.size());
// There should be one activity in each group
assertEquals(1, groups.get(0).getActivities().size());
assertEquals(1, groups.get(1).getActivities().size());
assertEquals(1, groups.get(2).getActivities().size());
assertEquals(1, groups.get(3).getActivities().size());
// There should be 3 ext ids in each group, except for one group that doesnt have any ext id
boolean funding8found = false;
for (int i = 0; i < 4; i++) {
if (groups.get(i).getGroupKeys().size() == 0) {
funding8found = true;
} else {
assertEquals(3, groups.get(i).getGroupKeys().size());
}
}
assertTrue("FundingSummary without ext ids was not found", funding8found);
// Check funding in groups
checkActivityIsOnGroups(funding8, groups);
}
use of org.orcid.jaxb.model.v3.dev1.record.Activity in project ORCID-Source by ORCID.
the class ActivitiesGroupGenerator_GroupingWorksTest method groupWorks_4GroupsOf1Work_Test.
@Test
public void groupWorks_4GroupsOf1Work_Test() {
ActivitiesGroupGenerator generator = new ActivitiesGroupGenerator();
Map<String, WorkSummary> works = generateWorks();
// Group the first group
// work-1 -> ARG(A), ARG(B), ARG(C)
WorkSummary work1 = works.get("work-1");
generator.group(work1);
// There should be one group, and the ext ids should be A, B and C
List<ActivitiesGroup> groups = generator.getGroups();
assertNotNull(groups);
assertEquals(1, groups.size());
ActivitiesGroup g1 = groups.get(0);
assertNotNull(g1);
assertNotNull(g1.getActivities());
assertEquals(1, g1.getActivities().size());
assertTrue(g1.getActivities().contains(work1));
assertNotNull(g1.getGroupKeys());
assertEquals(3, g1.getGroupKeys().size());
checkExternalIdentifiers(work1, g1);
// Add another work to the groups
// work-5 -> ARG(M), ARG(N), ARG(O)
WorkSummary work5 = works.get("work-5");
generator.group(work5);
// There should be two groups, one for each work
groups = generator.getGroups();
assertNotNull(groups);
assertEquals(2, groups.size());
// There should be one activity in each group
assertEquals(1, groups.get(0).getActivities().size());
assertEquals(1, groups.get(1).getActivities().size());
// There should be 3 ext ids in each group
assertEquals(3, groups.get(0).getGroupKeys().size());
assertEquals(3, groups.get(1).getGroupKeys().size());
// Check work in groups
checkActivityIsOnGroups(work5, groups);
// Add another work to the groups
// work-6 -> ARXIV(A), ARXIV(B), ARXIV(C)
WorkSummary work6 = works.get("work-6");
generator.group(work6);
groups = generator.getGroups();
assertNotNull(groups);
assertEquals(3, groups.size());
// There should be one activity in each group
assertEquals(1, groups.get(0).getActivities().size());
assertEquals(1, groups.get(1).getActivities().size());
assertEquals(1, groups.get(2).getActivities().size());
// There should be 3 ext ids in each group
assertEquals(3, groups.get(0).getGroupKeys().size());
assertEquals(3, groups.get(1).getGroupKeys().size());
assertEquals(3, groups.get(2).getGroupKeys().size());
// Check work in groups
checkActivityIsOnGroups(work6, groups);
// Add another work to the groups
// work-8 -> No external identifiers
WorkSummary work8 = works.get("work-8");
generator.group(work8);
groups = generator.getGroups();
assertNotNull(groups);
assertEquals(4, groups.size());
// There should be one activity in each group
assertEquals(1, groups.get(0).getActivities().size());
assertEquals(1, groups.get(1).getActivities().size());
assertEquals(1, groups.get(2).getActivities().size());
assertEquals(1, groups.get(3).getActivities().size());
// There should be 3 ext ids in each group, except for one group that doesnt have any ext id
boolean work8found = false;
for (int i = 0; i < 4; i++) {
if (groups.get(i).getGroupKeys().size() == 0) {
work8found = true;
} else {
assertEquals(3, groups.get(i).getGroupKeys().size());
}
}
assertTrue("Work without ext ids was not found", work8found);
// Check work in groups
checkActivityIsOnGroups(work8, groups);
}
use of org.orcid.jaxb.model.v3.dev1.record.Activity in project ORCID-Source by ORCID.
the class RecordTest method testViewRecordFromPublicAPI.
@Test
public void testViewRecordFromPublicAPI() {
ClientResponse response = publicV3Dev1ApiClient.viewRecordXML(getUser1OrcidId());
assertNotNull(response);
assertEquals("invalid " + response, 200, response.getStatus());
Record record = response.getEntity(Record.class);
assertNotNull(record);
assertNotNull(record.getOrcidIdentifier());
assertEquals(getUser1OrcidId(), record.getOrcidIdentifier().getPath());
// Check the visibility of every activity that exists
if (record.getActivitiesSummary() != null) {
if (record.getActivitiesSummary() != null) {
// Distinctions
if (record.getActivitiesSummary().getDistinctions() != null) {
Distinctions d = record.getActivitiesSummary().getDistinctions();
if (d.getSummaries() != null) {
for (DistinctionSummary s : d.getSummaries()) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
// Educations
if (record.getActivitiesSummary().getEducations() != null) {
Educations e = record.getActivitiesSummary().getEducations();
if (e.getSummaries() != null) {
for (EducationSummary s : e.getSummaries()) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
// Employments
if (record.getActivitiesSummary().getEmployments() != null) {
Employments e = record.getActivitiesSummary().getEmployments();
if (e.getSummaries() != null) {
for (EmploymentSummary s : e.getSummaries()) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
// InvitedPositions
if (record.getActivitiesSummary().getInvitedPositions() != null) {
InvitedPositions i = record.getActivitiesSummary().getInvitedPositions();
if (i.getSummaries() != null) {
for (InvitedPositionSummary s : i.getSummaries()) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
// Memberships
if (record.getActivitiesSummary().getMemberships() != null) {
Memberships m = record.getActivitiesSummary().getMemberships();
if (m.getSummaries() != null) {
for (MembershipSummary s : m.getSummaries()) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
// Qualifications
if (record.getActivitiesSummary().getQualifications() != null) {
Qualifications q = record.getActivitiesSummary().getQualifications();
if (q.getSummaries() != null) {
for (QualificationSummary s : q.getSummaries()) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
// Services
if (record.getActivitiesSummary().getServices() != null) {
Services sv = record.getActivitiesSummary().getServices();
if (sv.getSummaries() != null) {
for (ServiceSummary s : sv.getSummaries()) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
// Fundings
if (record.getActivitiesSummary().getFundings() != null) {
Fundings f = record.getActivitiesSummary().getFundings();
List<FundingGroup> groups = f.getFundingGroup();
if (groups != null) {
for (FundingGroup fGroup : groups) {
List<FundingSummary> summaries = fGroup.getFundingSummary();
if (summaries != null) {
for (FundingSummary s : summaries) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
}
}
// PeerReviews
if (record.getActivitiesSummary().getPeerReviews() != null) {
PeerReviews p = record.getActivitiesSummary().getPeerReviews();
List<PeerReviewGroup> groups = p.getPeerReviewGroup();
if (groups != null) {
for (PeerReviewGroup pGroup : groups) {
List<PeerReviewSummary> summaries = pGroup.getPeerReviewSummary();
if (summaries != null) {
for (PeerReviewSummary s : summaries) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
}
}
// Works
if (record.getActivitiesSummary().getWorks() != null) {
Works w = record.getActivitiesSummary().getWorks();
List<WorkGroup> groups = w.getWorkGroup();
if (groups != null) {
for (WorkGroup wGroup : groups) {
List<WorkSummary> summaries = wGroup.getWorkSummary();
if (summaries != null) {
for (WorkSummary s : summaries) {
assertNotNull(s.getSource());
assertEquals(Visibility.PUBLIC, s.getVisibility());
}
}
}
}
}
}
}
// Check the visibility of every biography elements that exists
if (record.getPerson() != null) {
// Address
if (record.getPerson().getAddresses() != null) {
Addresses addresses = record.getPerson().getAddresses();
List<Address> list = addresses.getAddress();
if (list != null) {
for (Address o : list) {
assertNotNull(o.getSource());
assertEquals(Visibility.PUBLIC, o.getVisibility());
}
}
}
// Biography
if (record.getPerson().getBiography() != null) {
Biography b = record.getPerson().getBiography();
if (b != null) {
assertNotNull(b.getVisibility());
assertEquals(Visibility.PUBLIC, b.getVisibility());
}
}
// Emails
if (record.getPerson().getEmails() != null) {
Emails emails = record.getPerson().getEmails();
List<Email> list = emails.getEmails();
if (list != null) {
for (Email e : list) {
assertNotNull(e.getVisibility());
assertEquals(Visibility.PUBLIC, e.getVisibility());
}
}
}
// External identifiers
if (record.getPerson().getExternalIdentifiers() != null) {
PersonExternalIdentifiers extIds = record.getPerson().getExternalIdentifiers();
List<PersonExternalIdentifier> list = extIds.getExternalIdentifiers();
if (list != null) {
for (PersonExternalIdentifier e : list) {
assertEquals(Visibility.PUBLIC, e.getVisibility());
}
}
}
// Keywords
if (record.getPerson().getKeywords() != null) {
Keywords keywords = record.getPerson().getKeywords();
List<Keyword> list = keywords.getKeywords();
if (list != null) {
for (Keyword e : list) {
assertEquals(Visibility.PUBLIC, e.getVisibility());
}
}
}
// Name
if (record.getPerson().getName() != null) {
Name name = record.getPerson().getName();
assertEquals(Visibility.PUBLIC, name.getVisibility());
}
// Other names
if (record.getPerson().getOtherNames() != null) {
OtherNames otherNames = record.getPerson().getOtherNames();
List<OtherName> list = otherNames.getOtherNames();
if (list != null) {
for (OtherName e : list) {
assertEquals(Visibility.PUBLIC, e.getVisibility());
}
}
}
// Researcher urls
if (record.getPerson().getResearcherUrls() != null) {
ResearcherUrls rUrls = record.getPerson().getResearcherUrls();
List<ResearcherUrl> list = rUrls.getResearcherUrls();
if (list != null) {
for (ResearcherUrl e : list) {
assertEquals(Visibility.PUBLIC, e.getVisibility());
}
}
}
}
}
Aggregations