use of org.orcid.jaxb.model.v3.dev1.record.summary.Memberships in project ORCID-Source by ORCID.
the class OrcidSecurityManagerImpl method checkAndFilter.
@Override
public void checkAndFilter(String orcid, ActivitiesSummary activities) {
if (activities == null) {
return;
}
// Check the token
isMyToken(orcid);
// Distinctions
if (activities.getDistinctions() != null) {
checkAndFilter(orcid, activities.getDistinctions().getSummaries(), READ_AFFILIATIONS_REQUIRED_SCOPE, true);
}
// Educations
if (activities.getEducations() != null) {
checkAndFilter(orcid, activities.getEducations().getSummaries(), READ_AFFILIATIONS_REQUIRED_SCOPE, true);
}
// Employments
if (activities.getEmployments() != null) {
checkAndFilter(orcid, activities.getEmployments().getSummaries(), READ_AFFILIATIONS_REQUIRED_SCOPE, true);
}
// Invited positions
if (activities.getInvitedPositions() != null) {
checkAndFilter(orcid, activities.getInvitedPositions().getSummaries(), READ_AFFILIATIONS_REQUIRED_SCOPE, true);
}
// Memberships
if (activities.getMemberships() != null) {
checkAndFilter(orcid, activities.getMemberships().getSummaries(), READ_AFFILIATIONS_REQUIRED_SCOPE, true);
}
// Qualifications
if (activities.getQualifications() != null) {
checkAndFilter(orcid, activities.getQualifications().getSummaries(), READ_AFFILIATIONS_REQUIRED_SCOPE, true);
}
// Services
if (activities.getServices() != null) {
checkAndFilter(orcid, activities.getServices().getSummaries(), READ_AFFILIATIONS_REQUIRED_SCOPE, true);
}
// Funding
if (activities.getFundings() != null) {
Iterator<FundingGroup> groupIt = activities.getFundings().getFundingGroup().iterator();
while (groupIt.hasNext()) {
FundingGroup group = groupIt.next();
// Filter the list of elements
checkAndFilter(orcid, group.getFundingSummary(), READ_FUNDING_REQUIRED_SCOPE, true);
// Clean external identifiers
if (group.getFundingSummary().isEmpty()) {
groupIt.remove();
} else {
filterExternalIdentifiers(group);
}
}
}
// PeerReviews
if (activities.getPeerReviews() != null) {
Iterator<PeerReviewGroup> groupIt = activities.getPeerReviews().getPeerReviewGroup().iterator();
while (groupIt.hasNext()) {
PeerReviewGroup group = groupIt.next();
// Filter the list of elements
checkAndFilter(orcid, group.getPeerReviewSummary(), READ_PEER_REVIEWS_REQUIRED_SCOPE, true);
if (group.getPeerReviewSummary().isEmpty()) {
groupIt.remove();
}
}
}
// Works
if (activities.getWorks() != null) {
Iterator<WorkGroup> groupIt = activities.getWorks().getWorkGroup().iterator();
while (groupIt.hasNext()) {
WorkGroup group = groupIt.next();
// Filter the list of elements
checkAndFilter(orcid, group.getWorkSummary(), READ_WORKS_REQUIRED_SCOPE, true);
// Clean external identifiers
if (group.getWorkSummary().isEmpty()) {
groupIt.remove();
} else {
filterExternalIdentifiers(group);
}
}
}
}
use of org.orcid.jaxb.model.v3.dev1.record.summary.Memberships in project ORCID-Source by ORCID.
the class ValidateV3_dev1SamplesTest method unmarshallFromPath.
private Object unmarshallFromPath(String path, Class<?> type, String schemaPath) throws SAXException, URISyntaxException {
try (Reader reader = new InputStreamReader(getClass().getResourceAsStream(path))) {
Object obj = unmarshall(reader, type, schemaPath);
Object result = null;
if (ResearcherUrls.class.equals(type)) {
result = (ResearcherUrls) obj;
} else if (ResearcherUrl.class.equals(type)) {
result = (ResearcherUrl) obj;
} else if (PersonalDetails.class.equals(type)) {
result = (PersonalDetails) obj;
} else if (PersonExternalIdentifier.class.equals(type)) {
result = (PersonExternalIdentifier) obj;
} else if (PersonExternalIdentifiers.class.equals(type)) {
result = (PersonExternalIdentifiers) obj;
} else if (Biography.class.equals(type)) {
result = (Biography) obj;
} else if (Name.class.equals(type)) {
result = (Name) obj;
} else if (CreditName.class.equals(type)) {
result = (CreditName) obj;
} else if (OtherName.class.equals(type)) {
result = (OtherName) obj;
} else if (OtherNames.class.equals(type)) {
result = (OtherNames) obj;
} else if (Keywords.class.equals(type)) {
result = (Keywords) obj;
} else if (Keyword.class.equals(type)) {
result = (Keyword) obj;
} else if (Addresses.class.equals(type)) {
result = (Addresses) obj;
} else if (Address.class.equals(type)) {
result = (Address) obj;
} else if (Emails.class.equals(type)) {
result = (Emails) obj;
} else if (Email.class.equals(type)) {
result = (Email) obj;
} else if (Person.class.equals(type)) {
result = (Person) obj;
} else if (Deprecated.class.equals(type)) {
result = (Deprecated) obj;
} else if (Preferences.class.equals(type)) {
result = (Preferences) obj;
} else if (History.class.equals(type)) {
result = (History) obj;
} else if (Record.class.equals(type)) {
result = (Record) obj;
} else if (ActivitiesSummary.class.equals(type)) {
result = (ActivitiesSummary) obj;
} else if (Works.class.equals(type)) {
result = (Works) obj;
} else if (Education.class.equals(type)) {
result = (Education) obj;
} else if (Educations.class.equals(type)) {
result = (Educations) obj;
} else if (Employment.class.equals(type)) {
result = (Employment) obj;
} else if (Employments.class.equals(type)) {
result = (Employments) obj;
} else if (Distinction.class.equals(type)) {
result = (Distinction) obj;
} else if (Distinctions.class.equals(type)) {
result = (Distinctions) obj;
} else if (InvitedPosition.class.equals(type)) {
result = (InvitedPosition) obj;
} else if (InvitedPositions.class.equals(type)) {
result = (InvitedPositions) obj;
} else if (Membership.class.equals(type)) {
result = (Membership) obj;
} else if (Memberships.class.equals(type)) {
result = (Memberships) obj;
} else if (Qualification.class.equals(type)) {
result = (Qualification) obj;
} else if (Qualifications.class.equals(type)) {
result = (Qualifications) obj;
} else if (Service.class.equals(type)) {
result = (Service) obj;
} else if (Services.class.equals(type)) {
result = (Services) obj;
}
return result;
} catch (IOException e) {
throw new RuntimeException("Error reading notification from classpath", e);
}
}
use of org.orcid.jaxb.model.v3.dev1.record.summary.Memberships in project ORCID-Source by ORCID.
the class PublicV3ApiServiceDelegatorTest method testViewMemberships.
@Test
public void testViewMemberships() {
Response response = serviceDelegator.viewMemberships(ORCID);
assertNotNull(response);
Memberships memberships = (Memberships) response.getEntity();
assertNotNull(memberships);
assertEquals("/0000-0000-0000-0003/memberships", memberships.getPath());
assertNotNull(memberships.getLastModifiedDate());
assertNotNull(memberships.getLastModifiedDate().getValue());
assertEquals(1, memberships.getSummaries().size());
MembershipSummary membership = memberships.getSummaries().get(0);
assertEquals(Long.valueOf(37), membership.getPutCode());
assertNotNull(membership.getLastModifiedDate());
assertNotNull(membership.getLastModifiedDate().getValue());
assertEquals("/0000-0000-0000-0003/membership/37", membership.getPath());
assertEquals("PUBLIC Department", membership.getDepartmentName());
assertEquals(Visibility.PUBLIC.value(), membership.getVisibility().value());
assertEquals("APP-5555555555555555", membership.getSource().retrieveSourcePath());
}
use of org.orcid.jaxb.model.v3.dev1.record.summary.Memberships in project ORCID-Source by ORCID.
the class PublicV3ApiServiceDelegatorTest method testGetPublicMemberships.
@Test
public void testGetPublicMemberships() {
Response r = serviceDelegator.viewMemberships(ORCID);
assertNotNull(r);
Memberships memberships = (Memberships) r.getEntity();
assertNotNull(memberships);
assertNotNull(memberships.getLastModifiedDate());
assertNotNull(memberships.getLastModifiedDate().getValue());
assertNotNull(memberships.getSummaries());
assertEquals(1, memberships.getSummaries().size());
assertEquals(Long.valueOf(37), memberships.getSummaries().get(0).getPutCode());
assertEquals(Visibility.PUBLIC, memberships.getSummaries().get(0).getVisibility());
assertNotNull(memberships.getSummaries().get(0).getLastModifiedDate());
assertNotNull(memberships.getSummaries().get(0).getLastModifiedDate().getValue());
}
use of org.orcid.jaxb.model.v3.dev1.record.summary.Memberships in project ORCID-Source by ORCID.
the class PublicV3ApiServiceDelegatorImpl method viewMemberships.
@Override
public Response viewMemberships(String orcid) {
List<MembershipSummary> memberships = affiliationsManagerReadOnly.getMembershipSummaryList(orcid);
Memberships publicMemberships = new Memberships();
for (MembershipSummary summary : memberships) {
if (Visibility.PUBLIC.equals(summary.getVisibility())) {
ActivityUtils.setPathToActivity(summary, orcid);
sourceUtilsReadOnly.setSourceName(summary);
publicMemberships.getSummaries().add(summary);
}
}
Api3_0_Dev1LastModifiedDatesHelper.calculateLastModified(publicMemberships);
ActivityUtils.setPathToAffiliations(publicMemberships, orcid);
return Response.ok(publicMemberships).build();
}
Aggregations