Search in sources :

Example 6 with Contributor

use of org.orcid.jaxb.model.common_v2.Contributor in project ORCID-Source by ORCID.

the class MemberV2ApiServiceImplV2_0_rc1 method compareWorkAndCreditNameVisibility.

private void compareWorkAndCreditNameVisibility(Work work) {
    Visibility workVisibility = work.getVisibility();
    if (work.getWorkContributors() != null && work.getWorkContributors().getContributor() != null) {
        for (Contributor contributor : work.getWorkContributors().getContributor()) {
            if (contributor.getCreditName() != null && contributor.getCreditName().getVisibility() != null && contributor.getCreditName().getVisibility().isMoreRestrictiveThan(workVisibility)) {
                String title = (work.getWorkTitle() == null || work.getWorkTitle().getTitle() == null) ? null : work.getWorkTitle().getTitle().getContent();
                LOGGER.error("Client posting work '{}' with visibility ({}) less restrictive than its contributor credit name '{}' ({})", new Object[] { title, workVisibility, contributor.getCreditName().getContent(), contributor.getCreditName().getVisibility() });
            }
        }
    }
}
Also used : FundingContributor(org.orcid.jaxb.model.record_rc1.FundingContributor) Contributor(org.orcid.jaxb.model.common_rc1.Contributor) Visibility(org.orcid.jaxb.model.common_rc1.Visibility)

Example 7 with Contributor

use of org.orcid.jaxb.model.common_v2.Contributor in project ORCID-Source by ORCID.

the class MemberV2ApiServiceImplV2_0_rc3 method compareWorkAndCreditNameVisibility.

private void compareWorkAndCreditNameVisibility(Work work) {
    Visibility workVisibility = work.getVisibility();
    if (work.getWorkContributors() != null && work.getWorkContributors().getContributor() != null) {
        for (Contributor contributor : work.getWorkContributors().getContributor()) {
            if (contributor.getCreditName() != null && contributor.getCreditName().getVisibility() != null && contributor.getCreditName().getVisibility().isMoreRestrictiveThan(workVisibility)) {
                String title = (work.getWorkTitle() == null || work.getWorkTitle().getTitle() == null) ? null : work.getWorkTitle().getTitle().getContent();
                LOGGER.error("Client posting work '{}' with visibility ({}) less restrictive than its contributor credit name '{}' ({})", new Object[] { title, workVisibility, contributor.getCreditName().getContent(), contributor.getCreditName().getVisibility() });
            }
        }
    }
}
Also used : FundingContributor(org.orcid.jaxb.model.record_rc3.FundingContributor) Contributor(org.orcid.jaxb.model.common_rc3.Contributor) Visibility(org.orcid.jaxb.model.common_rc3.Visibility)

Example 8 with Contributor

use of org.orcid.jaxb.model.common_v2.Contributor in project ORCID-Source by ORCID.

the class ContributorUtils method filterContributorPrivateData.

public void filterContributorPrivateData(Funding funding) {
    if (funding.getContributors() != null && funding.getContributors().getContributor() != null) {
        for (FundingContributor contributor : funding.getContributors().getContributor()) {
            contributor.setContributorEmail(null);
            if (!PojoUtil.isEmpty(contributor.getContributorOrcid())) {
                String contributorOrcid = contributor.getContributorOrcid().getPath();
                if (profileEntityManager.orcidExists(contributorOrcid)) {
                    // contributor is an ORCID user - visibility of user's
                    // name in record must be taken into account
                    ProfileEntity profileEntity = profileEntityCacheManager.retrieve(contributorOrcid);
                    String publicContributorCreditName = cacheManager.getPublicCreditName(profileEntity);
                    CreditName creditName = new CreditName(publicContributorCreditName != null ? publicContributorCreditName : "");
                    contributor.setCreditName(creditName);
                }
            }
        }
    }
}
Also used : FundingContributor(org.orcid.jaxb.model.record_v2.FundingContributor) CreditName(org.orcid.jaxb.model.common_v2.CreditName) ProfileEntity(org.orcid.persistence.jpa.entities.ProfileEntity)

Example 9 with Contributor

use of org.orcid.jaxb.model.common_v2.Contributor in project ORCID-Source by ORCID.

the class BibtexManagerImpl method workToBibtex.

public String workToBibtex(Work work, String creditName) {
    StringBuffer out = new StringBuffer();
    switch(work.getWorkType()) {
        case JOURNAL_ARTICLE:
            out.append("@article{");
            break;
        case BOOK:
        case BOOK_CHAPTER:
            out.append("@book{");
            break;
        case CONFERENCE_PAPER:
        case CONFERENCE_ABSTRACT:
        case CONFERENCE_POSTER:
            out.append("@conference{");
            break;
        default:
            out.append("@misc{");
            break;
    }
    // id
    out.append(escapeStringForBibtex(creditName).replace(' ', '_') + work.getPutCode());
    // title
    out.append(",\ntitle={" + escapeStringForBibtex((work.getWorkTitle() != null) ? work.getWorkTitle().getTitle().getContent() : "No Title") + "}");
    // journal title
    if (work.getJournalTitle() != null) {
        out.append(",\njournal={" + escapeStringForBibtex(work.getJournalTitle().getContent()) + "}");
    }
    // name
    List<String> names = new ArrayList<String>();
    names.add(creditName);
    if (work.getWorkContributors() != null && work.getWorkContributors().getContributor() != null) {
        for (Contributor c : work.getWorkContributors().getContributor()) {
            if (c.getCreditName() != null && c.getCreditName().getContent() != null) {
                names.add(c.getCreditName().getContent());
            }
        }
    }
    out.append(",\nauthor={" + escapeStringForBibtex(Joiner.on(" and ").skipNulls().join(names)) + "}");
    // ids
    String doi = extractID(work, WorkExternalIdentifierType.DOI);
    String url = extractID(work, WorkExternalIdentifierType.URI);
    if (doi != null) {
        out.append(",\ndoi={" + escapeStringForBibtex(doi) + "}");
    }
    if (url != null) {
        out.append(",\nurl={" + escapeStringForBibtex(url) + "}");
    } else if (doi != null) {
        out.append(",\nurl={" + escapeStringForBibtex("http://doi.org/" + doi) + "}");
    } else {
        url = extractID(work, WorkExternalIdentifierType.HANDLE);
        if (url != null) {
            out.append(",\nurl={" + escapeStringForBibtex(url) + "}");
        }
    }
    String isbn = extractID(work, WorkExternalIdentifierType.ISBN);
    if (isbn != null)
        out.append(",\nisbn={" + escapeStringForBibtex(isbn) + "}");
    String issn = extractID(work, WorkExternalIdentifierType.ISSN);
    if (issn != null)
        out.append(",\nissn={" + escapeStringForBibtex(issn) + "}");
    // year
    if (work.getPublicationDate() != null) {
        int year = 0;
        try {
            year = Integer.parseInt(work.getPublicationDate().getYear().getValue());
        } catch (Exception e) {
        }
        if (year > 0) {
            out.append(",\nyear={" + year + "}");
        }
    }
    out.append("\n}");
    return out.toString();
}
Also used : ArrayList(java.util.ArrayList) Contributor(org.orcid.jaxb.model.common_v2.Contributor)

Example 10 with Contributor

use of org.orcid.jaxb.model.common_v2.Contributor in project ORCID-Source by ORCID.

the class ActivityUtilsTest method getEmptyWork.

private Work getEmptyWork() {
    Work w = new Work();
    // Title
    WorkTitle title = new WorkTitle();
    title.setTitle(new Title(""));
    title.setSubtitle(new Subtitle(""));
    title.setTranslatedTitle(new TranslatedTitle(""));
    w.setWorkTitle(title);
    // Citation
    w.setWorkCitation(new Citation());
    WorkContributors wc = new WorkContributors();
    // Contributors
    Contributor c = new Contributor();
    c.setCreditName(new CreditName(""));
    wc.getContributor().add(c);
    w.setWorkContributors(wc);
    return w;
}
Also used : Subtitle(org.orcid.jaxb.model.common_v2.Subtitle) TranslatedTitle(org.orcid.jaxb.model.common_v2.TranslatedTitle) WorkTitle(org.orcid.jaxb.model.record_v2.WorkTitle) WorkContributors(org.orcid.jaxb.model.record_v2.WorkContributors) Work(org.orcid.jaxb.model.record_v2.Work) CreditName(org.orcid.jaxb.model.common_v2.CreditName) WorkTitle(org.orcid.jaxb.model.record_v2.WorkTitle) Title(org.orcid.jaxb.model.common_v2.Title) TranslatedTitle(org.orcid.jaxb.model.common_v2.TranslatedTitle) FundingContributor(org.orcid.jaxb.model.record_v2.FundingContributor) Contributor(org.orcid.jaxb.model.common_v2.Contributor) Citation(org.orcid.jaxb.model.record_v2.Citation)

Aggregations

FundingContributor (org.orcid.jaxb.model.record_v2.FundingContributor)13 Contributor (org.orcid.jaxb.model.common_v2.Contributor)12 Work (org.orcid.jaxb.model.record_v2.Work)9 CreditName (org.orcid.jaxb.model.common_v2.CreditName)8 WorkTitle (org.orcid.jaxb.model.record_v2.WorkTitle)8 Title (org.orcid.jaxb.model.common_v2.Title)7 FundingTitle (org.orcid.jaxb.model.record_v2.FundingTitle)7 ContributorEmail (org.orcid.jaxb.model.common_v2.ContributorEmail)5 ContributorOrcid (org.orcid.jaxb.model.common_v2.ContributorOrcid)5 WorkContributors (org.orcid.jaxb.model.record_v2.WorkContributors)5 Test (org.junit.Test)4 Funding (org.orcid.jaxb.model.record_v2.Funding)4 ProfileEntity (org.orcid.persistence.jpa.entities.ProfileEntity)4 TranslatedTitle (org.orcid.jaxb.model.common_v2.TranslatedTitle)3 FundingContributors (org.orcid.jaxb.model.record_v2.FundingContributors)3 ArrayList (java.util.ArrayList)2 Amount (org.orcid.jaxb.model.common_v2.Amount)2 Iso3166Country (org.orcid.jaxb.model.common_v2.Iso3166Country)2 PublicationDate (org.orcid.jaxb.model.common_v2.PublicationDate)2 Url (org.orcid.jaxb.model.common_v2.Url)2