use of org.orcid.jaxb.model.message.Url in project ORCID-Source by ORCID.
the class RegistrationControllerTest method createBasicProfile.
protected OrcidProfile createBasicProfile() {
OrcidProfile profile = new OrcidProfile();
profile.setPassword("password");
profile.setVerificationCode("1234");
profile.setSecurityQuestionAnswer("random answer");
OrcidBio bio = new OrcidBio();
ContactDetails contactDetails = new ContactDetails();
contactDetails.addOrReplacePrimaryEmail(new Email("will@semantico.com"));
bio.setContactDetails(contactDetails);
profile.setOrcidBio(bio);
PersonalDetails personalDetails = new PersonalDetails();
bio.setPersonalDetails(personalDetails);
personalDetails.setGivenNames(new GivenNames("Will"));
personalDetails.setFamilyName(new FamilyName("Simpson"));
bio.setBiography(new Biography("Will is a software developer"));
ResearcherUrls researcherUrls = new ResearcherUrls();
bio.setResearcherUrls(researcherUrls);
researcherUrls.getResearcherUrl().add(new ResearcherUrl(new Url("http://www.wjrs.co.uk"), null));
OrcidWorks orcidWorks = new OrcidWorks();
profile.setOrcidWorks(orcidWorks);
return profile;
}
use of org.orcid.jaxb.model.message.Url in project ORCID-Source by ORCID.
the class OrcidProfileManagerImplTest method setBio.
private void setBio(OrcidProfile profile, Visibility defaultVisibility) {
OrcidBio bio = new OrcidBio();
Biography biography = new Biography("This is my biography");
if (defaultVisibility != null) {
biography.setVisibility(defaultVisibility);
}
bio.setBiography(biography);
ContactDetails contactDetails = new ContactDetails();
Address address = new Address();
address.setCountry(new Country(Iso3166Country.US));
if (defaultVisibility != null) {
address.getCountry().setVisibility(defaultVisibility);
}
contactDetails.setAddress(address);
List<Email> emails = new ArrayList<Email>();
Email email = new Email();
email.setPrimary(true);
email.setValue(System.currentTimeMillis() + "@test.orcid.org");
emails.add(email);
contactDetails.setEmail(emails);
bio.setContactDetails(contactDetails);
ExternalIdentifiers extIds = new ExternalIdentifiers();
ExternalIdentifier extId = new ExternalIdentifier();
extId.setExternalIdCommonName(new ExternalIdCommonName("common-name"));
extId.setExternalIdReference(new ExternalIdReference("ext-id-reference"));
extId.setExternalIdUrl(new ExternalIdUrl("http://orcid.org/ext-id"));
extIds.getExternalIdentifier().add(extId);
if (defaultVisibility != null) {
extIds.setVisibility(defaultVisibility);
}
bio.setExternalIdentifiers(extIds);
Keywords keywords = new Keywords();
Keyword keyword = new Keyword();
keyword.setContent("k1");
keywords.getKeyword().add(keyword);
if (defaultVisibility != null) {
keywords.setVisibility(defaultVisibility);
}
bio.setKeywords(keywords);
PersonalDetails personalDetails = new PersonalDetails();
personalDetails.setCreditName(new CreditName("credit-name"));
personalDetails.setGivenNames(new GivenNames("given-names"));
personalDetails.setFamilyName(new FamilyName("family-name"));
OtherNames otherNames = new OtherNames();
OtherName otherName = new OtherName();
otherName.setContent("o1");
otherNames.getOtherName().add(otherName);
if (defaultVisibility != null) {
otherNames.setVisibility(defaultVisibility);
}
personalDetails.setOtherNames(otherNames);
bio.setPersonalDetails(personalDetails);
ResearcherUrls researcherUrls = new ResearcherUrls();
ResearcherUrl researcherUrl = new ResearcherUrl();
researcherUrl.setUrl(new Url("http://orcid.org/researcher-url-1"));
researcherUrl.setUrlName(new UrlName("url-name-1"));
researcherUrls.getResearcherUrl().add(researcherUrl);
if (defaultVisibility != null) {
researcherUrls.setVisibility(defaultVisibility);
}
bio.setResearcherUrls(researcherUrls);
profile.setOrcidBio(bio);
}
use of org.orcid.jaxb.model.message.Url in project ORCID-Source by ORCID.
the class Api12Helper method addFunding.
protected static void addFunding(String userOrcid, String token, String title, T2OAuthAPIService<ClientResponse> oauthT2Client) {
OrcidMessage orcidMessage = new OrcidMessage();
orcidMessage.setMessageVersion(OrcidMessage.DEFAULT_VERSION);
OrcidProfile orcidProfile = new OrcidProfile();
orcidMessage.setOrcidProfile(orcidProfile);
OrcidActivities orcidActivities = new OrcidActivities();
orcidProfile.setOrcidActivities(orcidActivities);
FundingList fundings = new FundingList();
Funding funding = new Funding();
funding.setVisibility(Visibility.LIMITED);
FundingTitle fundingTitle = new FundingTitle();
fundingTitle.setTitle(new Title(title));
funding.setTitle(fundingTitle);
funding.setType(FundingType.SALARY_AWARD);
Amount amount = new Amount();
amount.setCurrencyCode("CRC");
amount.setContent("1,250,000");
funding.setAmount(amount);
funding.setStartDate(new FuzzyDate(2010, 1, 1));
funding.setEndDate(new FuzzyDate(2013, 1, 1));
funding.setDescription("My Grant description");
funding.setUrl(new Url("http://url.com"));
Organization org = new Organization();
org.setName("Orcid Integration Test Org");
OrganizationAddress add = new OrganizationAddress();
add.setCity("My City");
add.setCountry(Iso3166Country.CR);
org.setAddress(add);
funding.setOrganization(org);
FundingExternalIdentifier extIdentifier = new FundingExternalIdentifier();
extIdentifier.setType(FundingExternalIdentifierType.fromValue("grant_number"));
extIdentifier.setUrl(new Url("http://url.com"));
extIdentifier.setValue("My value");
FundingExternalIdentifiers extIdentifiers = new FundingExternalIdentifiers();
extIdentifiers.getFundingExternalIdentifier().add(extIdentifier);
funding.setFundingExternalIdentifiers(extIdentifiers);
FundingContributors contributors = new FundingContributors();
FundingContributor contributor = new FundingContributor();
contributor.setCreditName(new CreditName("My Credit Name"));
contributor.setContributorEmail(new ContributorEmail("my.email@orcid-integration-test.com"));
FundingContributorAttributes attributes = new FundingContributorAttributes();
attributes.setContributorRole(FundingContributorRole.LEAD);
contributor.setContributorAttributes(attributes);
contributors.getContributor().add(contributor);
funding.setFundingContributors(contributors);
fundings.getFundings().add(funding);
orcidMessage.getOrcidProfile().getOrcidActivities().setFundings(fundings);
ClientResponse clientResponse = oauthT2Client.addFundingXml(userOrcid, orcidMessage, token);
assertEquals(201, clientResponse.getStatus());
}
use of org.orcid.jaxb.model.message.Url in project ORCID-Source by ORCID.
the class JSONFundingExternalIdentifiersConverterV1Test method getFundingIdentifiers.
private FundingExternalIdentifiers getFundingIdentifiers() {
FundingExternalIdentifiers fundingExternalIdentifiers = new FundingExternalIdentifiers();
FundingExternalIdentifier fundingExternalIdentifier = new FundingExternalIdentifier();
fundingExternalIdentifier.setType(FundingExternalIdentifierType.GRANT_NUMBER);
fundingExternalIdentifier.setUrl(new Url("http://orcid.org"));
fundingExternalIdentifier.setValue("erm....");
fundingExternalIdentifiers.getFundingExternalIdentifier().add(fundingExternalIdentifier);
return fundingExternalIdentifiers;
}
use of org.orcid.jaxb.model.message.Url in project ORCID-Source by ORCID.
the class OrcidProfileManagerImplTest method testUpdateOrcidBioKeepTheUserVisibility.
@Test
@Transactional
public void testUpdateOrcidBioKeepTheUserVisibility() {
OrcidProfile profile = createBasicProfile();
String orcidIdentifier = null;
profile.setOrcidIdentifier(orcidIdentifier);
setBio(profile, Visibility.LIMITED);
OrcidHistory orcidHistory = new OrcidHistory();
orcidHistory.setClaimed(new Claimed(true));
orcidHistory.setCreationMethod(CreationMethod.DIRECT);
orcidHistory.setSubmissionDate(new SubmissionDate(DateUtils.convertToXMLGregorianCalendar(new Date())));
profile.setOrcidHistory(orcidHistory);
Preferences preferences = new Preferences();
preferences.setSendChangeNotifications(new SendChangeNotifications(true));
preferences.setSendOrcidNews(new SendOrcidNews(true));
// Default visibility for user will be LIMITED
preferences.setActivitiesVisibilityDefault(new ActivitiesVisibilityDefault(Visibility.LIMITED));
preferences.setNotificationsEnabled(DefaultPreferences.NOTIFICATIONS_ENABLED);
preferences.setSendEmailFrequencyDays(DefaultPreferences.SEND_EMAIL_FREQUENCY_DAYS);
preferences.setSendMemberUpdateRequests(DefaultPreferences.SEND_MEMBER_UPDATE_REQUESTS);
OrcidInternal internal = new OrcidInternal();
internal.setPreferences(preferences);
profile.setOrcidInternal(internal);
profile = orcidProfileManager.createOrcidProfile(profile, true, false);
// Update it setting it to PUBLIC and check
profile = orcidProfileManager.retrieveOrcidProfile(profile.getOrcidIdentifier().getPath());
assertNotNull(profile);
assertNotNull(profile.getOrcidBio());
OrcidBio bioToUpdate = profile.getOrcidBio();
assertEquals(Visibility.LIMITED, bioToUpdate.getBiography().getVisibility());
assertEquals("This is my biography", bioToUpdate.getBiography().getContent());
assertEquals(Visibility.LIMITED, bioToUpdate.getContactDetails().getAddress().getCountry().getVisibility());
assertEquals(Iso3166Country.US, bioToUpdate.getContactDetails().getAddress().getCountry().getValue());
assertEquals(Visibility.LIMITED, bioToUpdate.getExternalIdentifiers().getVisibility());
assertEquals(1, bioToUpdate.getExternalIdentifiers().getExternalIdentifier().size());
assertEquals(Visibility.LIMITED, bioToUpdate.getKeywords().getVisibility());
assertEquals(1, bioToUpdate.getKeywords().getKeyword().size());
assertEquals(Visibility.LIMITED, bioToUpdate.getPersonalDetails().getOtherNames().getVisibility());
assertEquals(1, bioToUpdate.getPersonalDetails().getOtherNames().getOtherName().size());
assertEquals(Visibility.LIMITED, bioToUpdate.getResearcherUrls().getVisibility());
assertEquals(1, bioToUpdate.getResearcherUrls().getResearcherUrl().size());
// Update bio
bioToUpdate.getBiography().setContent("Updated biography");
bioToUpdate.getBiography().setVisibility(Visibility.PRIVATE);
// Update address
bioToUpdate.getContactDetails().getAddress().getCountry().setValue(Iso3166Country.CR);
bioToUpdate.getContactDetails().getAddress().getCountry().setVisibility(Visibility.PRIVATE);
// Update external identifiers
ExternalIdentifier extId = new ExternalIdentifier();
extId.setExternalIdCommonName(new ExternalIdCommonName("common-name-2"));
extId.setExternalIdReference(new ExternalIdReference("ext-id-reference-2"));
extId.setExternalIdUrl(new ExternalIdUrl("http://orcid.org/ext-id/2"));
extId.setVisibility(Visibility.PRIVATE);
bioToUpdate.getExternalIdentifiers().setVisibility(Visibility.PRIVATE);
bioToUpdate.getExternalIdentifiers().getExternalIdentifier().add(extId);
// Update keywords
Keyword k = new Keyword();
k.setContent("keyword-2");
k.setVisibility(Visibility.PRIVATE);
bioToUpdate.getKeywords().getKeyword().add(k);
bioToUpdate.getKeywords().setVisibility(Visibility.PRIVATE);
// Update researcher urls
ResearcherUrl rUrl = new ResearcherUrl();
rUrl.setUrl(new Url("http://orcid.org/researcher-url-2"));
rUrl.setUrlName(new UrlName("url-name-2"));
rUrl.setVisibility(Visibility.PRIVATE);
bioToUpdate.getResearcherUrls().getResearcherUrl().add(rUrl);
bioToUpdate.getResearcherUrls().setVisibility(Visibility.PRIVATE);
// Update other names
OtherName o = new OtherName();
o.setContent("other-name-2");
o.setVisibility(Visibility.PRIVATE);
bioToUpdate.getPersonalDetails().getOtherNames().getOtherName().add(o);
bioToUpdate.getPersonalDetails().getOtherNames().setVisibility(Visibility.PRIVATE);
// Update the biography
orcidProfileManager.updateOrcidBio(profile);
// Get the record again and check that visibilities where not updated
OrcidProfile updatedProfile = orcidProfileManager.retrieveOrcidProfile(profile.getOrcidIdentifier().getPath());
assertNotNull(updatedProfile);
assertNotNull(updatedProfile.getOrcidBio());
OrcidBio updatedBio = updatedProfile.getOrcidBio();
assertEquals(Visibility.LIMITED, updatedBio.getBiography().getVisibility());
assertEquals("Updated biography", updatedBio.getBiography().getContent());
assertEquals(Visibility.LIMITED, updatedBio.getContactDetails().getAddress().getCountry().getVisibility());
assertEquals(Iso3166Country.US, updatedBio.getContactDetails().getAddress().getCountry().getValue());
assertEquals(Visibility.LIMITED, updatedBio.getExternalIdentifiers().getVisibility());
assertEquals(2, updatedBio.getExternalIdentifiers().getExternalIdentifier().size());
assertEquals(Visibility.LIMITED, updatedBio.getKeywords().getVisibility());
assertEquals(2, updatedBio.getKeywords().getKeyword().size());
assertEquals(Visibility.LIMITED, updatedBio.getPersonalDetails().getOtherNames().getVisibility());
assertEquals(2, updatedBio.getPersonalDetails().getOtherNames().getOtherName().size());
assertEquals(Visibility.LIMITED, updatedBio.getResearcherUrls().getVisibility());
assertEquals(2, updatedBio.getResearcherUrls().getResearcherUrl().size());
}
Aggregations