use of org.orcid.jaxb.model.v3.dev1.common.DisambiguatedOrganization in project ORCID-Source by ORCID.
the class FundingForm method valueOf.
public static FundingForm valueOf(Funding funding) {
FundingForm result = new FundingForm();
result.setDateSortString(PojoUtil.createDateSortString(funding.getStartDate(), funding.getEndDate()));
if (funding.getPutCode() != null)
result.setPutCode(Text.valueOf(funding.getPutCode()));
if (funding.getAmount() != null) {
if (StringUtils.isNotEmpty(funding.getAmount().getContent())) {
String cleanNumber = funding.getAmount().getContent().trim();
result.setAmount(Text.valueOf(cleanNumber));
}
if (funding.getAmount().getCurrencyCode() != null)
result.setCurrencyCode(Text.valueOf(funding.getAmount().getCurrencyCode()));
else
result.setCurrencyCode(new Text());
} else {
result.setAmount(new Text());
result.setCurrencyCode(new Text());
}
if (StringUtils.isNotEmpty(funding.getDescription()))
result.setDescription(Text.valueOf(funding.getDescription()));
else
result.setDescription(new Text());
if (funding.getStartDate() != null)
result.setStartDate(Date.valueOf(funding.getStartDate()));
if (funding.getEndDate() != null)
result.setEndDate(Date.valueOf(funding.getEndDate()));
if (funding.getType() != null)
result.setFundingType(Text.valueOf(funding.getType().value()));
else
result.setFundingType(new Text());
if (funding.getOrganizationDefinedType() != null) {
OrgDefinedFundingSubType OrgDefinedFundingSubType = new OrgDefinedFundingSubType();
OrgDefinedFundingSubType.setSubtype(Text.valueOf(funding.getOrganizationDefinedType().getContent()));
OrgDefinedFundingSubType.setAlreadyIndexed(false);
result.setOrganizationDefinedFundingSubType(OrgDefinedFundingSubType);
}
Source source = funding.getSource();
if (source != null) {
result.setSource(source.retrieveSourcePath());
if (source.getSourceName() != null) {
result.setSourceName(source.getSourceName().getContent());
}
}
if (funding.getTitle() != null) {
FundingTitleForm fundingTitle = new FundingTitleForm();
if (funding.getTitle().getTitle() != null)
fundingTitle.setTitle(Text.valueOf(funding.getTitle().getTitle().getContent()));
else
fundingTitle.setTitle(new Text());
if (funding.getTitle().getTranslatedTitle() != null) {
TranslatedTitleForm translatedTitle = new TranslatedTitleForm();
translatedTitle.setContent(funding.getTitle().getTranslatedTitle().getContent());
translatedTitle.setLanguageCode(funding.getTitle().getTranslatedTitle().getLanguageCode());
fundingTitle.setTranslatedTitle(translatedTitle);
}
result.setFundingTitle(fundingTitle);
} else {
FundingTitleForm fundingTitle = new FundingTitleForm();
fundingTitle.setTitle(new Text());
result.setFundingTitle(fundingTitle);
}
if (funding.getUrl() != null)
result.setUrl(Text.valueOf(funding.getUrl().getValue()));
else
result.setUrl(new Text());
if (funding.getVisibility() != null)
result.setVisibility(Visibility.valueOf(funding.getVisibility()));
// Set the disambiguated organization
Organization organization = funding.getOrganization();
result.setFundingName(Text.valueOf(organization.getName()));
DisambiguatedOrganization disambiguatedOrganization = organization.getDisambiguatedOrganization();
if (disambiguatedOrganization != null) {
if (StringUtils.isNotEmpty(disambiguatedOrganization.getDisambiguatedOrganizationIdentifier())) {
result.setDisambiguatedFundingSourceId(Text.valueOf(disambiguatedOrganization.getDisambiguatedOrganizationIdentifier()));
result.setDisambiguationSource(Text.valueOf(disambiguatedOrganization.getDisambiguationSource()));
}
}
OrganizationAddress organizationAddress = organization.getAddress();
if (organizationAddress != null) {
if (!PojoUtil.isEmpty(organizationAddress.getCity()))
result.setCity(Text.valueOf(organizationAddress.getCity()));
else
result.setCity(new Text());
if (!PojoUtil.isEmpty(organizationAddress.getRegion()))
result.setRegion(Text.valueOf(organizationAddress.getRegion()));
else
result.setRegion(new Text());
if (organizationAddress.getCountry() != null)
result.setCountry(Text.valueOf(organizationAddress.getCountry().value()));
else
result.setCountry(new Text());
} else {
result.setCountry(new Text());
result.setCity(new Text());
result.setRegion(new Text());
}
// Set contributors
if (funding.getContributors() != null) {
List<Contributor> contributors = new ArrayList<Contributor>();
for (FundingContributor fContributor : funding.getContributors().getContributor()) {
Contributor contributor = Contributor.valueOf(fContributor);
contributors.add(contributor);
}
result.setContributors(contributors);
}
List<FundingExternalIdentifierForm> externalIdentifiersList = new ArrayList<FundingExternalIdentifierForm>();
// Set external identifiers
if (funding.getExternalIdentifiers() != null) {
for (ExternalID fExternalIdentifier : funding.getExternalIdentifiers().getExternalIdentifier()) {
FundingExternalIdentifierForm fundingExternalIdentifierForm = FundingExternalIdentifierForm.valueOf(fExternalIdentifier);
externalIdentifiersList.add(fundingExternalIdentifierForm);
}
}
result.setExternalIdentifiers(externalIdentifiersList);
result.setCreatedDate(Date.valueOf(funding.getCreatedDate()));
result.setLastModified(Date.valueOf(funding.getLastModifiedDate()));
return result;
}
use of org.orcid.jaxb.model.v3.dev1.common.DisambiguatedOrganization in project ORCID-Source by ORCID.
the class MemberV3ApiServiceDelegator_InvitedPositionsTest method testUpdateInvitedPosition.
@Test
public void testUpdateInvitedPosition() {
SecurityContextTestUtils.setUpSecurityContext(ORCID, ScopePathType.READ_LIMITED, ScopePathType.ACTIVITIES_UPDATE);
Response response = serviceDelegator.viewInvitedPosition(ORCID, 32L);
assertNotNull(response);
InvitedPosition invitedPosition = (InvitedPosition) response.getEntity();
assertNotNull(invitedPosition);
assertEquals("PUBLIC Department", invitedPosition.getDepartmentName());
assertEquals("PUBLIC", invitedPosition.getRoleTitle());
Utils.verifyLastModified(invitedPosition.getLastModifiedDate());
LastModifiedDate before = invitedPosition.getLastModifiedDate();
invitedPosition.setDepartmentName("Updated department name");
invitedPosition.setRoleTitle("The updated role title");
// disambiguated org is required in API v3
DisambiguatedOrganization disambiguatedOrg = new DisambiguatedOrganization();
disambiguatedOrg.setDisambiguatedOrganizationIdentifier("abc456");
disambiguatedOrg.setDisambiguationSource("WDB");
invitedPosition.getOrganization().setDisambiguatedOrganization(disambiguatedOrg);
response = serviceDelegator.updateInvitedPosition(ORCID, 32L, invitedPosition);
assertNotNull(response);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
response = serviceDelegator.viewInvitedPosition(ORCID, 32L);
assertNotNull(response);
invitedPosition = (InvitedPosition) response.getEntity();
assertNotNull(invitedPosition);
Utils.verifyLastModified(invitedPosition.getLastModifiedDate());
assertTrue(invitedPosition.getLastModifiedDate().after(before));
assertEquals("Updated department name", invitedPosition.getDepartmentName());
assertEquals("The updated role title", invitedPosition.getRoleTitle());
// Rollback changes
invitedPosition.setDepartmentName("PUBLIC Department");
invitedPosition.setRoleTitle("PUBLIC");
response = serviceDelegator.updateInvitedPosition(ORCID, 32L, invitedPosition);
assertNotNull(response);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
}
use of org.orcid.jaxb.model.v3.dev1.common.DisambiguatedOrganization in project ORCID-Source by ORCID.
the class MemberV3ApiServiceDelegator_MembershipsTest method testUpdateMembership.
@Test
public void testUpdateMembership() {
SecurityContextTestUtils.setUpSecurityContext(ORCID, ScopePathType.READ_LIMITED, ScopePathType.ACTIVITIES_UPDATE);
Response response = serviceDelegator.viewMembership(ORCID, 39L);
assertNotNull(response);
Membership membership = (Membership) response.getEntity();
assertNotNull(membership);
assertEquals("PRIVATE Department", membership.getDepartmentName());
assertEquals("PRIVATE", membership.getRoleTitle());
Utils.verifyLastModified(membership.getLastModifiedDate());
LastModifiedDate before = membership.getLastModifiedDate();
membership.setDepartmentName("Updated department name");
membership.setRoleTitle("The updated role title");
// disambiguated org is required in API v3
DisambiguatedOrganization disambiguatedOrg = new DisambiguatedOrganization();
disambiguatedOrg.setDisambiguatedOrganizationIdentifier("abc456");
disambiguatedOrg.setDisambiguationSource("WDB");
membership.getOrganization().setDisambiguatedOrganization(disambiguatedOrg);
response = serviceDelegator.updateMembership(ORCID, 39L, membership);
assertNotNull(response);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
response = serviceDelegator.viewMembership(ORCID, 39L);
assertNotNull(response);
membership = (Membership) response.getEntity();
assertNotNull(membership);
Utils.verifyLastModified(membership.getLastModifiedDate());
assertTrue(membership.getLastModifiedDate().after(before));
assertEquals("Updated department name", membership.getDepartmentName());
assertEquals("The updated role title", membership.getRoleTitle());
// Rollback changes
membership.setDepartmentName("PRIVATE Department");
membership.setRoleTitle("PRIVATE");
response = serviceDelegator.updateMembership(ORCID, 39L, membership);
assertNotNull(response);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
}
use of org.orcid.jaxb.model.v3.dev1.common.DisambiguatedOrganization in project ORCID-Source by ORCID.
the class MemberV3ApiServiceDelegator_PeerReviewsTest method testAddPeerReviewDuplicateFails.
@Test(expected = OrcidDuplicatedActivityException.class)
public void testAddPeerReviewDuplicateFails() {
SecurityContextTestUtils.setUpSecurityContext("4444-4444-4444-4447", ScopePathType.READ_LIMITED, ScopePathType.ACTIVITIES_UPDATE);
Response response = serviceDelegator.viewPeerReview("4444-4444-4444-4447", 6L);
assertNotNull(response);
PeerReview peerReview = (PeerReview) response.getEntity();
assertNotNull(peerReview);
peerReview.setUrl(new Url("http://updated.com/url"));
peerReview.getSubjectName().getTitle().setContent("Updated Title");
// disambiguated org is required in API v3
DisambiguatedOrganization disambiguatedOrg = new DisambiguatedOrganization();
disambiguatedOrg.setDisambiguatedOrganizationIdentifier("some-org");
disambiguatedOrg.setDisambiguationSource("FUNDREF");
peerReview.getOrganization().setDisambiguatedOrganization(disambiguatedOrg);
peerReview.setPutCode(null);
response = serviceDelegator.createPeerReview("4444-4444-4444-4447", peerReview);
}
use of org.orcid.jaxb.model.v3.dev1.common.DisambiguatedOrganization in project ORCID-Source by ORCID.
the class MemberV3ApiServiceDelegator_PeerReviewsTest method testUpdatePeerReviewWhenYouAreNotTheSourceOf.
@Test
public void testUpdatePeerReviewWhenYouAreNotTheSourceOf() {
SecurityContextTestUtils.setUpSecurityContext("4444-4444-4444-4447", ScopePathType.READ_LIMITED, ScopePathType.ACTIVITIES_UPDATE);
Response response = serviceDelegator.viewPeerReview("4444-4444-4444-4447", 2L);
assertNotNull(response);
PeerReview peerReview = (PeerReview) response.getEntity();
assertNotNull(peerReview);
assertEquals("http://peer_review.com/2", peerReview.getUrl().getValue());
assertEquals("APP-6666666666666666", peerReview.getSource().retrieveSourcePath());
// Update the info
peerReview.setUrl(new Url("http://updated.com/url"));
peerReview.getSubjectName().getTitle().setContent("Updated Title");
peerReview.getExternalIdentifiers().getExternalIdentifier().iterator().next().setValue("different");
// disambiguated org is required in API v3
DisambiguatedOrganization disambiguatedOrg = new DisambiguatedOrganization();
disambiguatedOrg.setDisambiguatedOrganizationIdentifier("some-org");
disambiguatedOrg.setDisambiguationSource("FUNDREF");
peerReview.getOrganization().setDisambiguatedOrganization(disambiguatedOrg);
try {
response = serviceDelegator.updatePeerReview("4444-4444-4444-4447", 2L, peerReview);
fail();
} catch (WrongSourceException wse) {
}
response = serviceDelegator.viewPeerReview("4444-4444-4444-4447", Long.valueOf(2));
peerReview = (PeerReview) response.getEntity();
assertNotNull(peerReview);
assertEquals("http://peer_review.com/2", peerReview.getUrl().getValue());
assertEquals("APP-6666666666666666", peerReview.getSource().retrieveSourcePath());
}
Aggregations