use of org.orcid.jaxb.model.message.Subtitle in project ORCID-Source by ORCID.
the class OrcidProfileManagerImplTest method testAddOrcidWorksWhenDefaultVisibilityIsPublic.
@Test
@Transactional
@Rollback(true)
public void testAddOrcidWorksWhenDefaultVisibilityIsPublic() {
OrcidProfile profile1 = createBasicProfile();
OrcidHistory history = new OrcidHistory();
history.setSubmissionDate(new SubmissionDate(DateUtils.convertToXMLGregorianCalendar(new Date())));
profile1.setOrcidHistory(history);
history.setClaimed(new Claimed(true));
profile1.getOrcidInternal().getPreferences().setActivitiesVisibilityDefault(new ActivitiesVisibilityDefault(Visibility.PUBLIC));
orcidProfileManager.createOrcidProfile(profile1, false, false);
OrcidProfile profile2 = new OrcidProfile();
profile2.setOrcidIdentifier(TEST_ORCID);
OrcidWorks orcidWorks = new OrcidWorks();
profile2.setOrcidWorks(orcidWorks);
WorkTitle workTitle1 = new WorkTitle();
workTitle1.setTitle(new Title("Another Title"));
workTitle1.setSubtitle(new Subtitle("Journal of Cloud Spotting"));
OrcidWork work1 = createWork1(workTitle1);
Source source = new Source(TEST_ORCID);
work1.setSource(source);
orcidWorks.getOrcidWork().add(work1);
WorkTitle workTitle2 = new WorkTitle();
workTitle2.setTitle(new Title("New Title"));
workTitle2.setSubtitle(new Subtitle("Another New subtitle"));
OrcidWork work2 = createWork2(workTitle2);
orcidWorks.getOrcidWork().add(work2);
// Try to add a duplicate
WorkTitle workTitle3 = new WorkTitle();
workTitle3.setTitle(new Title("Further Title"));
workTitle3.setSubtitle(new Subtitle("Further subtitle"));
OrcidWork work3 = createWork3(workTitle3);
work3.setVisibility(Visibility.LIMITED);
orcidWorks.getOrcidWork().add(work3);
orcidProfileManager.addOrcidWorks(profile2);
OrcidProfile resultProfile = orcidProfileManager.retrieveOrcidProfile(TEST_ORCID);
assertEquals("Will", resultProfile.getOrcidBio().getPersonalDetails().getGivenNames().getContent());
List<OrcidWork> works = resultProfile.retrieveOrcidWorks().getOrcidWork();
assertEquals(4, works.size());
assertEquals("Another Title", works.get(0).getWorkTitle().getTitle().getContent());
assertEquals("Journal of Cloud Spotting", works.get(0).getWorkTitle().getSubtitle().getContent());
for (OrcidWork work : works) {
if ("Test Title".equals(work.getWorkTitle().getTitle().getContent()))
assertEquals(Visibility.PRIVATE, work.getVisibility());
else
assertEquals(Visibility.PUBLIC, work.getVisibility());
}
}
use of org.orcid.jaxb.model.message.Subtitle in project ORCID-Source by ORCID.
the class OrcidProfileCleanerTest method testSimpleClean.
@Test
public void testSimpleClean() {
OrcidWork orcidWork = new OrcidWork();
WorkTitle workTitle = new WorkTitle();
workTitle.setTitle(new Title("Test Title"));
workTitle.setSubtitle(new Subtitle(""));
orcidWork.setWorkTitle(workTitle);
WorkExternalIdentifiers workExternalIdentifiers = new WorkExternalIdentifiers();
orcidWork.setWorkExternalIdentifiers(workExternalIdentifiers);
WorkExternalIdentifier workExternalIdentifier1 = new WorkExternalIdentifier();
workExternalIdentifiers.getWorkExternalIdentifier().add(workExternalIdentifier1);
workExternalIdentifier1.setWorkExternalIdentifierType(WorkExternalIdentifierType.DOI);
workExternalIdentifier1.setWorkExternalIdentifierId(new WorkExternalIdentifierId("work-doi"));
orcidProfileCleaner.clean(orcidWork);
assertEquals("Test Title", orcidWork.getWorkTitle().getTitle().getContent());
assertEquals("work-doi", orcidWork.getWorkExternalIdentifiers().getWorkExternalIdentifier().get(0).getWorkExternalIdentifierId().getContent());
assertNull("Subtitle should be null", orcidWork.getWorkTitle().getSubtitle());
}
use of org.orcid.jaxb.model.message.Subtitle in project ORCID-Source by ORCID.
the class OrcidProfileManagerBaseTest method createWork3.
protected OrcidWork createWork3() {
WorkTitle workTitle = new WorkTitle();
workTitle.setTitle(new Title("Test Title # 3"));
workTitle.setSubtitle(new Subtitle("Subtitle # 3"));
TranslatedTitle tt = new TranslatedTitle();
tt.setContent("Titulo prueba # 3");
tt.setLanguageCode("es");
workTitle.setTranslatedTitle(tt);
return createWork3(workTitle);
}
use of org.orcid.jaxb.model.message.Subtitle in project ORCID-Source by ORCID.
the class OrcidProfileManagerImplTest method testAddOrcidWorksWhenDefaultVisibilityIsPrivate.
@Test
@Transactional
public void testAddOrcidWorksWhenDefaultVisibilityIsPrivate() {
OrcidProfile profile1 = createBasicProfile();
OrcidHistory history = new OrcidHistory();
history.setSubmissionDate(new SubmissionDate(DateUtils.convertToXMLGregorianCalendar(new Date())));
profile1.setOrcidHistory(history);
history.setClaimed(new Claimed(true));
profile1.getOrcidInternal().getPreferences().setActivitiesVisibilityDefault(new ActivitiesVisibilityDefault(Visibility.PRIVATE));
orcidProfileManager.createOrcidProfile(profile1, false, false);
OrcidProfile profile2 = new OrcidProfile();
profile2.setOrcidIdentifier(TEST_ORCID);
OrcidWorks orcidWorks = new OrcidWorks();
profile2.setOrcidWorks(orcidWorks);
WorkTitle workTitle1 = new WorkTitle();
workTitle1.setTitle(new Title("Another Title"));
workTitle1.setSubtitle(new Subtitle("Journal of Cloud Spotting"));
OrcidWork work1 = createWork1(workTitle1);
Source source = new Source(TEST_ORCID);
work1.setSource(source);
orcidWorks.getOrcidWork().add(work1);
WorkTitle workTitle2 = new WorkTitle();
workTitle2.setTitle(new Title("New Title"));
workTitle2.setSubtitle(new Subtitle("Another New subtitle"));
OrcidWork work2 = createWork2(workTitle2);
orcidWorks.getOrcidWork().add(work2);
// Try to add a duplicate
WorkTitle workTitle3 = new WorkTitle();
workTitle3.setTitle(new Title("Further Title"));
workTitle3.setSubtitle(new Subtitle("Further subtitle"));
OrcidWork work3 = createWork3(workTitle3);
work3.setVisibility(Visibility.LIMITED);
orcidWorks.getOrcidWork().add(work3);
orcidProfileManager.addOrcidWorks(profile2);
OrcidProfile resultProfile = orcidProfileManager.retrieveOrcidProfile(TEST_ORCID);
assertEquals("Will", resultProfile.getOrcidBio().getPersonalDetails().getGivenNames().getContent());
List<OrcidWork> works = resultProfile.retrieveOrcidWorks().getOrcidWork();
assertEquals(4, works.size());
assertEquals("Another Title", works.get(0).getWorkTitle().getTitle().getContent());
assertEquals("Journal of Cloud Spotting", works.get(0).getWorkTitle().getSubtitle().getContent());
for (OrcidWork work : works) {
if ("Test Title".equals(work.getWorkTitle().getTitle().getContent()))
assertEquals(Visibility.PRIVATE, work.getVisibility());
else
assertEquals(Visibility.PRIVATE, work.getVisibility());
}
}
use of org.orcid.jaxb.model.message.Subtitle in project ORCID-Source by ORCID.
the class OrcidProfileManagerImplTest method testUpdatePersonalInformationRemovesOrcidIndexFields.
@Test
@Transactional
@Rollback(true)
public void testUpdatePersonalInformationRemovesOrcidIndexFields() throws Exception {
// re-use the createFull method but add some extra criteria so we can
// use our specific orcidAllSolrFieldsPopulatedForSave matcher
OrcidProfile profile = createFullOrcidProfile();
OtherNames otherNames = new OtherNames();
otherNames.getOtherName().add(new OtherName("Stan", null));
otherNames.getOtherName().add(new OtherName("Willis", null));
profile.getOrcidBio().getPersonalDetails().setOtherNames(otherNames);
OrcidWorks orcidWorks = new OrcidWorks();
profile.setOrcidWorks(orcidWorks);
WorkTitle singleWorkTitle = new WorkTitle();
singleWorkTitle.setTitle(new Title("Single works"));
singleWorkTitle.setSubtitle(new Subtitle("Single works"));
OrcidWork orcidWork = createWork1(singleWorkTitle);
// TODO JB some doi testing here?
// orcidWork.getElectronicResourceNum().add(new
// ElectronicResourceNum("10.1016/S0021-8502(00)90373-2",
// ElectronicResourceNumType.DOI));
orcidWorks.getOrcidWork().add(orcidWork);
orcidProfileManager.createOrcidProfile(profile, false, false);
// now negate all fields that form part of a solr query, leaving only
// the orcid itself
// we do this by passing through an orcid missing the fields from an
// OrcidSolrDocument
OrcidProfile negatedProfile = createBasicProfile();
negatedProfile.getOrcidBio().getPersonalDetails().setFamilyName(null);
negatedProfile.getOrcidBio().getPersonalDetails().setGivenNames(null);
negatedProfile.getOrcidBio().getPersonalDetails().setCreditName(null);
negatedProfile.getOrcidBio().getPersonalDetails().setOtherNames(null);
negatedProfile.getOrcidActivities().setAffiliations(null);
orcidProfileManager.updateOrcidBio(negatedProfile);
assertEquals(IndexingStatus.PENDING, profileDao.find(TEST_ORCID).getIndexingStatus());
}
Aggregations