Search in sources :

Example 21 with WorkTitle

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

the class OrcidProfileManagerImplTest method getWorkInsideOrcidProfile.

private OrcidProfile getWorkInsideOrcidProfile(String defaultTitle, String orcid) {
    OrcidWork orcidWork = new OrcidWork();
    //Set title
    WorkTitle title = new WorkTitle();
    if (defaultTitle != null)
        title.setTitle(new Title(defaultTitle));
    else
        title.setTitle(new Title("Title"));
    orcidWork.setWorkTitle(title);
    //Set external identifiers
    WorkExternalIdentifier extId1 = new WorkExternalIdentifier();
    extId1.setWorkExternalIdentifierId(new WorkExternalIdentifierId("doi-" + defaultTitle));
    extId1.setWorkExternalIdentifierType(WorkExternalIdentifierType.DOI);
    WorkExternalIdentifier extId2 = new WorkExternalIdentifier();
    if (defaultTitle != null)
        extId2.setWorkExternalIdentifierId(new WorkExternalIdentifierId("issn-" + defaultTitle));
    else
        extId2.setWorkExternalIdentifierId(new WorkExternalIdentifierId("issn-" + System.currentTimeMillis()));
    extId2.setWorkExternalIdentifierType(WorkExternalIdentifierType.ISSN);
    WorkExternalIdentifiers extIds = new WorkExternalIdentifiers();
    extIds.getWorkExternalIdentifier().add(extId1);
    extIds.getWorkExternalIdentifier().add(extId2);
    orcidWork.setWorkExternalIdentifiers(extIds);
    orcidWork.setWorkType(WorkType.ARTISTIC_PERFORMANCE);
    OrcidProfile profile = new OrcidProfile();
    profile.setOrcidIdentifier(orcid);
    List<OrcidWork> workList = new ArrayList<OrcidWork>();
    workList.add(orcidWork);
    OrcidWorks orcidWorks = new OrcidWorks();
    orcidWorks.setOrcidWork(workList);
    profile.setOrcidWorks(orcidWorks);
    return profile;
}
Also used : OrcidProfile(org.orcid.jaxb.model.message.OrcidProfile) WorkExternalIdentifiers(org.orcid.jaxb.model.message.WorkExternalIdentifiers) WorkTitle(org.orcid.jaxb.model.message.WorkTitle) OrcidWork(org.orcid.jaxb.model.message.OrcidWork) WorkExternalIdentifierId(org.orcid.jaxb.model.message.WorkExternalIdentifierId) ArrayList(java.util.ArrayList) Title(org.orcid.jaxb.model.message.Title) WorkTitle(org.orcid.jaxb.model.message.WorkTitle) FundingTitle(org.orcid.jaxb.model.message.FundingTitle) WorkExternalIdentifier(org.orcid.jaxb.model.message.WorkExternalIdentifier) OrcidWorks(org.orcid.jaxb.model.message.OrcidWorks)

Example 22 with WorkTitle

use of org.orcid.jaxb.model.message.WorkTitle 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

WorkTitle (org.orcid.jaxb.model.message.WorkTitle)22 Title (org.orcid.jaxb.model.message.Title)21 OrcidWork (org.orcid.jaxb.model.message.OrcidWork)18 FundingTitle (org.orcid.jaxb.model.message.FundingTitle)16 OrcidProfile (org.orcid.jaxb.model.message.OrcidProfile)14 OrcidWorks (org.orcid.jaxb.model.message.OrcidWorks)13 Test (org.junit.Test)12 Subtitle (org.orcid.jaxb.model.message.Subtitle)11 WorkExternalIdentifier (org.orcid.jaxb.model.message.WorkExternalIdentifier)10 WorkExternalIdentifierId (org.orcid.jaxb.model.message.WorkExternalIdentifierId)10 WorkExternalIdentifiers (org.orcid.jaxb.model.message.WorkExternalIdentifiers)10 Transactional (org.springframework.transaction.annotation.Transactional)10 OrcidActivities (org.orcid.jaxb.model.message.OrcidActivities)6 Source (org.orcid.jaxb.model.message.Source)6 Date (java.util.Date)5 OrcidMessage (org.orcid.jaxb.model.message.OrcidMessage)5 SubmissionDate (org.orcid.jaxb.model.message.SubmissionDate)5 Rollback (org.springframework.test.annotation.Rollback)5 ApprovalDate (org.orcid.jaxb.model.message.ApprovalDate)4 Claimed (org.orcid.jaxb.model.message.Claimed)4