Search in sources :

Example 6 with WorkContributors

use of org.orcid.jaxb.model.message.WorkContributors in project ORCID-Source by ORCID.

the class OrcidProfileManagerContributorVisibilityTest method retrieveWorkContributorEntityDirectlyFromDb.

private Contributor retrieveWorkContributorEntityDirectlyFromDb(OrcidWork retrievedWork) {
    WorkEntity workEntity = workDao.find(Long.valueOf(retrievedWork.getPutCode()));
    String contributorsJson = workEntity.getContributorsJson();
    WorkContributors workContributors = JsonUtils.readObjectFromJsonString(contributorsJson, WorkContributors.class);
    assertNotNull(workContributors);
    return workContributors.getContributor().get(0);
}
Also used : WorkEntity(org.orcid.persistence.jpa.entities.WorkEntity) WorkContributors(org.orcid.jaxb.model.message.WorkContributors)

Example 7 with WorkContributors

use of org.orcid.jaxb.model.message.WorkContributors in project ORCID-Source by ORCID.

the class JpaJaxbEntityAdapterToOrcidProfileTest method testToOrcidProfileWithNewWayOfDoingWorkContributors.

@Test
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void testToOrcidProfileWithNewWayOfDoingWorkContributors() {
    ProfileEntity profileEntity = profileDao.find("4444-4444-4444-4445");
    long start = System.currentTimeMillis();
    OrcidProfile orcidProfile = adapter.toOrcidProfile(profileEntity);
    System.out.println("Took: " + Long.toString(System.currentTimeMillis() - start));
    List<OrcidWork> worksList = orcidProfile.getOrcidActivities().getOrcidWorks().getOrcidWork();
    assertEquals(1, worksList.size());
    OrcidWork orcidWork = worksList.get(0);
    WorkContributors contributors = orcidWork.getWorkContributors();
    assertNotNull(contributors);
    List<Contributor> contributorList = contributors.getContributor();
    assertEquals(1, contributorList.size());
    Contributor contributor = contributorList.get(0);
    assertEquals("Jason Contributor", contributor.getCreditName().getContent());
}
Also used : OrcidProfile(org.orcid.jaxb.model.message.OrcidProfile) WorkContributors(org.orcid.jaxb.model.message.WorkContributors) OrcidWork(org.orcid.jaxb.model.message.OrcidWork) Contributor(org.orcid.jaxb.model.message.Contributor) ProfileEntity(org.orcid.persistence.jpa.entities.ProfileEntity) DBUnitTest(org.orcid.test.DBUnitTest) Test(org.junit.Test) Transactional(org.springframework.transaction.annotation.Transactional)

Example 8 with WorkContributors

use of org.orcid.jaxb.model.message.WorkContributors in project ORCID-Source by ORCID.

the class Publication method getOrcidWork.

public OrcidWork getOrcidWork() {
    initCrossRefContext();
    OrcidWork orcidWork = new OrcidWork();
    if (StringUtils.isNotBlank(doi)) {
        WorkExternalIdentifier doiExtId = new WorkExternalIdentifier();
        doiExtId.setWorkExternalIdentifierType(WorkExternalIdentifierType.DOI);
        doiExtId.setWorkExternalIdentifierId(new WorkExternalIdentifierId(doi));
        WorkExternalIdentifiers workExtIds = new WorkExternalIdentifiers();
        orcidWork.setWorkExternalIdentifiers(workExtIds);
        workExtIds.getWorkExternalIdentifier().add(doiExtId);
    }
    if (StringUtils.isNotBlank(title)) {
        WorkTitle workTitle = new WorkTitle();
        orcidWork.setWorkTitle(workTitle);
        workTitle.setTitle(new Title(title));
    }
    // Will throw an IllegalArgumentException if not valid
    CitationType cType = CitationType.fromValue(citationType);
    Citation citation = new Citation(fullCitation, cType);
    orcidWork.setWorkCitation(citation);
    String publicationDateString = crossRefContext.getDate();
    if (StringUtils.isNotBlank(publicationDateString)) {
        XMLGregorianCalendar publicationDateGregCal = DateUtils.convertToXMLGregorianCalendar(publicationDateString);
        if (publicationDateGregCal != null) {
            Year publicationyear = new Year(publicationDateGregCal.getYear());
            Month publicationMonth = publicationDateGregCal.getMonth() == DatatypeConstants.FIELD_UNDEFINED ? null : new Month(publicationDateGregCal.getMonth());
            Day publicationDay = publicationDateGregCal.getDay() == DatatypeConstants.FIELD_UNDEFINED ? null : new Day(publicationDateGregCal.getDay());
            orcidWork.setPublicationDate(new PublicationDate(publicationyear, publicationMonth, publicationDay));
        }
    }
    String author = crossRefContext.getAuthor();
    if (StringUtils.isNotBlank(author)) {
        WorkContributors workContributors = new WorkContributors();
        orcidWork.setWorkContributors(workContributors);
        Contributor contributor = new Contributor();
        workContributors.getContributor().add(contributor);
        contributor.setCreditName(new CreditName(author));
        ContributorAttributes contributorAttributes = new ContributorAttributes();
        contributor.setContributorAttributes(contributorAttributes);
        contributorAttributes.setContributorRole(ContributorRole.AUTHOR);
        contributorAttributes.setContributorSequence(SequenceType.FIRST);
    }
    return orcidWork;
}
Also used : PublicationDate(org.orcid.jaxb.model.message.PublicationDate) ContributorAttributes(org.orcid.jaxb.model.message.ContributorAttributes) WorkContributors(org.orcid.jaxb.model.message.WorkContributors) OrcidWork(org.orcid.jaxb.model.message.OrcidWork) WorkExternalIdentifierId(org.orcid.jaxb.model.message.WorkExternalIdentifierId) CreditName(org.orcid.jaxb.model.message.CreditName) Title(org.orcid.jaxb.model.message.Title) WorkTitle(org.orcid.jaxb.model.message.WorkTitle) Contributor(org.orcid.jaxb.model.message.Contributor) XMLGregorianCalendar(javax.xml.datatype.XMLGregorianCalendar) Month(org.orcid.jaxb.model.message.Month) WorkExternalIdentifiers(org.orcid.jaxb.model.message.WorkExternalIdentifiers) Year(org.orcid.jaxb.model.message.Year) WorkTitle(org.orcid.jaxb.model.message.WorkTitle) CitationType(org.orcid.jaxb.model.message.CitationType) WorkExternalIdentifier(org.orcid.jaxb.model.message.WorkExternalIdentifier) Citation(org.orcid.jaxb.model.message.Citation) Day(org.orcid.jaxb.model.message.Day)

Aggregations

WorkContributors (org.orcid.jaxb.model.message.WorkContributors)8 Contributor (org.orcid.jaxb.model.message.Contributor)5 OrcidWork (org.orcid.jaxb.model.message.OrcidWork)4 Test (org.junit.Test)3 CreditName (org.orcid.jaxb.model.message.CreditName)3 Citation (org.orcid.jaxb.model.message.Citation)2 ContributorAttributes (org.orcid.jaxb.model.message.ContributorAttributes)2 OrcidProfile (org.orcid.jaxb.model.message.OrcidProfile)2 ProfileEntity (org.orcid.persistence.jpa.entities.ProfileEntity)2 XMLGregorianCalendar (javax.xml.datatype.XMLGregorianCalendar)1 CitationType (org.orcid.jaxb.model.message.CitationType)1 ContributorOrcid (org.orcid.jaxb.model.message.ContributorOrcid)1 Day (org.orcid.jaxb.model.message.Day)1 Month (org.orcid.jaxb.model.message.Month)1 OrcidWorks (org.orcid.jaxb.model.message.OrcidWorks)1 PublicationDate (org.orcid.jaxb.model.message.PublicationDate)1 Title (org.orcid.jaxb.model.message.Title)1 WorkExternalIdentifier (org.orcid.jaxb.model.message.WorkExternalIdentifier)1 WorkExternalIdentifierId (org.orcid.jaxb.model.message.WorkExternalIdentifierId)1 WorkExternalIdentifiers (org.orcid.jaxb.model.message.WorkExternalIdentifiers)1