Search in sources :

Example 6 with Source

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

the class WorkForm method toWork.

public Work toWork() {
    Work work = new Work();
    // Set work id
    if (!PojoUtil.isEmpty(this.getPutCode())) {
        work.setPutCode(Long.valueOf(this.getPutCode().getValue()));
    }
    // Set language
    if (!PojoUtil.isEmpty(this.getLanguageCode())) {
        work.setLanguageCode(this.getLanguageCode().getValue());
    }
    // Set type
    if (!PojoUtil.isEmpty(this.getWorkType())) {
        work.setWorkType(WorkType.fromValue(this.getWorkType().getValue()));
    }
    org.orcid.jaxb.model.record_v2.WorkTitle workTitle = new org.orcid.jaxb.model.record_v2.WorkTitle();
    // Set title
    if (!PojoUtil.isEmpty(this.getTitle())) {
        workTitle.setTitle(new org.orcid.jaxb.model.common_v2.Title(this.getTitle().getValue()));
    }
    // Set translated title        
    if (this.getTranslatedTitle() != null && !PojoUtil.isEmpty(this.getTranslatedTitle().getContent())) {
        org.orcid.jaxb.model.common_v2.TranslatedTitle translatedTitle = new org.orcid.jaxb.model.common_v2.TranslatedTitle();
        translatedTitle.setContent(this.getTranslatedTitle().getContent());
        translatedTitle.setLanguageCode(this.getTranslatedTitle().getLanguageCode());
        workTitle.setTranslatedTitle(translatedTitle);
    }
    // Set subtitle
    if (!PojoUtil.isEmpty(this.getSubtitle())) {
        org.orcid.jaxb.model.common_v2.Subtitle subtitle = new org.orcid.jaxb.model.common_v2.Subtitle();
        subtitle.setContent(this.getSubtitle().getValue());
        workTitle.setSubtitle(subtitle);
    }
    work.setWorkTitle(workTitle);
    // Set journal title
    if (!PojoUtil.isEmpty(this.getJournalTitle())) {
        work.setJournalTitle(new org.orcid.jaxb.model.common_v2.Title(this.getJournalTitle().getValue()));
    }
    // Set description
    if (!PojoUtil.isEmpty(this.getShortDescription())) {
        work.setShortDescription(this.getShortDescription().getValue());
    }
    // Set url
    if (!PojoUtil.isEmpty(this.getUrl())) {
        work.setUrl(new Url(this.getUrl().getValue()));
    } else {
        work.setUrl(new Url());
    }
    // Set visibility
    if (this.getVisibility() != null) {
        work.setVisibility(this.getVisibility());
    }
    // Set country
    if (!PojoUtil.isEmpty(this.getCountryCode())) {
        work.setCountry(new org.orcid.jaxb.model.common_v2.Country(org.orcid.jaxb.model.common_v2.Iso3166Country.fromValue(this.getCountryCode().getValue())));
    }
    // Set publication date        
    if (this.getPublicationDate() != null) {
        Integer yearInteger = PojoUtil.isEmpty(this.getPublicationDate().getYear()) ? null : Integer.valueOf(this.getPublicationDate().getYear());
        Integer monthInteger = PojoUtil.isEmpty(this.getPublicationDate().getMonth()) ? null : Integer.valueOf(this.getPublicationDate().getMonth());
        Integer dayInteger = PojoUtil.isEmpty(this.getPublicationDate().getDay()) ? null : Integer.valueOf(this.getPublicationDate().getDay());
        org.orcid.jaxb.model.common_v2.Year year = null;
        org.orcid.jaxb.model.common_v2.Month month = null;
        org.orcid.jaxb.model.common_v2.Day day = null;
        if (yearInteger != null) {
            year = new org.orcid.jaxb.model.common_v2.Year(yearInteger);
        }
        if (monthInteger != null) {
            month = new org.orcid.jaxb.model.common_v2.Month(monthInteger);
        }
        if (dayInteger != null) {
            day = new org.orcid.jaxb.model.common_v2.Day(dayInteger);
        }
        work.setPublicationDate(new org.orcid.jaxb.model.common_v2.PublicationDate(year, month, day));
    }
    // Set citation
    if (this.getCitation() != null) {
        org.orcid.jaxb.model.record_v2.Citation citation = new org.orcid.jaxb.model.record_v2.Citation();
        if (!PojoUtil.isEmpty(this.getCitation().getCitation())) {
            citation.setCitation(this.getCitation().getCitation().getValue());
        }
        if (!PojoUtil.isEmpty(this.getCitation().getCitationType())) {
            citation.setWorkCitationType(CitationType.fromValue(this.getCitation().getCitationType().getValue()));
        }
        work.setWorkCitation(citation);
    }
    // Set contributors
    populateContributors(this, work);
    // Set external identifiers
    populateExternalIdentifiers(this, work);
    // Set created date
    if (!PojoUtil.isEmpty(this.getCreatedDate())) {
        CreatedDate createdDate = new CreatedDate();
        createdDate.setValue(DateUtils.convertToXMLGregorianCalendar(this.getCreatedDate().toJavaDate()));
        work.setCreatedDate(createdDate);
    }
    // Set last modified
    if (!PojoUtil.isEmpty(this.getLastModified())) {
        org.orcid.jaxb.model.common_v2.LastModifiedDate lastModified = new org.orcid.jaxb.model.common_v2.LastModifiedDate();
        lastModified.setValue(DateUtils.convertToXMLGregorianCalendar(this.getLastModified().toJavaDate()));
        work.setLastModifiedDate(lastModified);
    }
    if (!PojoUtil.isEmpty(this.getSource())) {
        org.orcid.jaxb.model.common_v2.Source source = new org.orcid.jaxb.model.common_v2.Source();
        if (OrcidStringUtils.isClientId(this.getSource())) {
            source.setSourceClientId(new SourceClientId(this.getSource()));
        } else {
            source.setSourceOrcid(new SourceOrcid(this.getSource()));
        }
        work.setSource(source);
    }
    return work;
}
Also used : SourceClientId(org.orcid.jaxb.model.common_v2.SourceClientId) Url(org.orcid.jaxb.model.common_v2.Url) Work(org.orcid.jaxb.model.record_v2.Work) CreatedDate(org.orcid.jaxb.model.common_v2.CreatedDate) SourceOrcid(org.orcid.jaxb.model.common_v2.SourceOrcid)

Example 7 with Source

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

the class WorkForm method valueOf.

public static WorkForm valueOf(Work work) {
    if (work == null)
        return null;
    WorkForm w = new WorkForm();
    // Set work id
    if (work.getPutCode() != null) {
        w.setPutCode(Text.valueOf(work.getPutCode()));
    }
    // Set language
    if (!PojoUtil.isEmpty(work.getLanguageCode())) {
        w.setLanguageCode(Text.valueOf(work.getLanguageCode()));
    }
    // Set type
    if (work.getWorkType() != null) {
        w.setWorkType(Text.valueOf(work.getWorkType().value()));
        // Set category
        WorkCategory category = WorkCategory.fromWorkType(work.getWorkType());
        w.setWorkCategory(Text.valueOf(category.value()));
    }
    if (work.getWorkTitle() != null) {
        // Set title
        if (work.getWorkTitle().getTitle() != null) {
            w.setTitle(Text.valueOf(work.getWorkTitle().getTitle().getContent()));
        }
        // Set translated title
        if (work.getWorkTitle().getTranslatedTitle() != null) {
            TranslatedTitleForm tt = new TranslatedTitleForm();
            tt.setContent(work.getWorkTitle().getTranslatedTitle().getContent());
            tt.setLanguageCode(work.getWorkTitle().getTranslatedTitle().getLanguageCode());
            w.setTranslatedTitle(tt);
        }
        // Set subtitle
        if (work.getWorkTitle().getSubtitle() != null) {
            w.setSubtitle(Text.valueOf(work.getWorkTitle().getSubtitle().getContent()));
        }
    }
    // Set journal title
    if (work.getJournalTitle() != null) {
        w.setJournalTitle(Text.valueOf(work.getJournalTitle().getContent()));
    }
    // Set description
    if (work.getShortDescription() != null) {
        w.setShortDescription(Text.valueOf(work.getShortDescription()));
    }
    // Set url
    if (work.getUrl() != null) {
        w.setUrl(Text.valueOf(work.getUrl().getValue()));
    }
    // Set visibility
    if (work.getVisibility() != null) {
        w.setVisibility(work.getVisibility());
    }
    // Set country
    if (work.getCountry() != null && work.getCountry().getValue() != null) {
        w.setCountryCode(Text.valueOf(work.getCountry().getValue().value()));
    }
    // Set publication date
    FuzzyDate fuzzyPublicationDate = null;
    if (work.getPublicationDate() != null) {
        org.orcid.jaxb.model.common_v2.PublicationDate publicationDate = work.getPublicationDate();
        Integer year = PojoUtil.isEmpty(publicationDate.getYear()) ? null : Integer.valueOf(publicationDate.getYear().getValue());
        Integer month = PojoUtil.isEmpty(publicationDate.getMonth()) ? null : Integer.valueOf(publicationDate.getMonth().getValue());
        Integer day = PojoUtil.isEmpty(publicationDate.getDay()) ? null : Integer.valueOf(publicationDate.getDay().getValue());
        if (year != null && year == 0) {
            year = null;
        }
        if (month != null && month == 0) {
            month = null;
        }
        if (day != null && day == 0) {
            day = null;
        }
        fuzzyPublicationDate = FuzzyDate.valueOf(year, month, day);
        w.setPublicationDate(Date.valueOf(fuzzyPublicationDate));
    }
    w.setDateSortString(PojoUtil.createDateSortString(null, fuzzyPublicationDate));
    // Set citation
    if (work.getWorkCitation() != null) {
        Citation citation = new Citation();
        if (!PojoUtil.isEmpty(work.getWorkCitation().getCitation())) {
            citation.setCitation(Text.valueOf(work.getWorkCitation().getCitation()));
        }
        if (work.getWorkCitation().getWorkCitationType() != null) {
            citation.setCitationType(Text.valueOf(work.getWorkCitation().getWorkCitationType().value()));
        }
        w.setCitation(citation);
    }
    // Set contributors
    populateContributors(work, w);
    // Set external identifiers
    populateExternalIdentifiers(work, w);
    // Set created date
    w.setCreatedDate(Date.valueOf(work.getCreatedDate()));
    // Set last modified
    w.setLastModified(Date.valueOf(work.getLastModifiedDate()));
    if (work.getSource() != null) {
        // Set source
        w.setSource(work.getSource().retrieveSourcePath());
        if (work.getSource().getSourceName() != null) {
            w.setSourceName(work.getSource().getSourceName().getContent());
        }
    }
    return w;
}
Also used : FuzzyDate(org.orcid.jaxb.model.common_v2.FuzzyDate) WorkCategory(org.orcid.jaxb.model.record_v2.WorkCategory)

Example 8 with Source

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

the class AffiliationForm method valueOf.

public static AffiliationForm valueOf(Affiliation affiliation) {
    AffiliationForm form = new AffiliationForm();
    if (affiliation instanceof Education) {
        form.setAffiliationType(Text.valueOf(AffiliationType.EDUCATION.value()));
    } else {
        form.setAffiliationType(Text.valueOf(AffiliationType.EMPLOYMENT.value()));
    }
    form.setPutCode(Text.valueOf(affiliation.getPutCode()));
    form.setVisibility(Visibility.valueOf(affiliation.getVisibility()));
    Organization organization = affiliation.getOrganization();
    form.setDateSortString(PojoUtil.createDateSortString(affiliation.getStartDate(), affiliation.getEndDate()));
    form.setAffiliationName(Text.valueOf(organization.getName()));
    OrganizationAddress address = organization.getAddress();
    form.setCity(Text.valueOf(address.getCity()));
    if (organization.getDisambiguatedOrganization() != null) {
        if (organization.getDisambiguatedOrganization().getDisambiguatedOrganizationIdentifier() != null) {
            form.setDisambiguatedAffiliationSourceId(Text.valueOf(organization.getDisambiguatedOrganization().getDisambiguatedOrganizationIdentifier()));
            form.setDisambiguationSource(Text.valueOf(organization.getDisambiguatedOrganization().getDisambiguationSource()));
            form.setOrgDisambiguatedId(Text.valueOf(String.valueOf(organization.getDisambiguatedOrganization().getId())));
        }
    }
    if (address.getRegion() != null) {
        form.setRegion(Text.valueOf(address.getRegion()));
    } else {
        form.setRegion(new Text());
    }
    if (address.getCountry() != null) {
        form.setCountry(Text.valueOf(address.getCountry().value()));
    } else {
        form.setCountry(new Text());
    }
    if (affiliation.getDepartmentName() != null) {
        form.setDepartmentName(Text.valueOf(affiliation.getDepartmentName()));
    } else {
        form.setDepartmentName(new Text());
    }
    if (affiliation.getRoleTitle() != null) {
        form.setRoleTitle(Text.valueOf(affiliation.getRoleTitle()));
    } else {
        form.setRoleTitle(new Text());
    }
    if (affiliation.getStartDate() != null) {
        form.setStartDate(Date.valueOf(affiliation.getStartDate()));
    }
    if (affiliation.getEndDate() != null) {
        form.setEndDate(Date.valueOf(affiliation.getEndDate()));
    }
    Source source = affiliation.getSource();
    if (source != null) {
        form.setSource(source.retrieveSourcePath());
        if (source.getSourceName() != null) {
            form.setSourceName(source.getSourceName().getContent());
        }
    }
    form.setCreatedDate(Date.valueOf(affiliation.getCreatedDate()));
    form.setLastModified(Date.valueOf(affiliation.getLastModifiedDate()));
    return form;
}
Also used : Organization(org.orcid.jaxb.model.common_v2.Organization) DisambiguatedOrganization(org.orcid.jaxb.model.common_v2.DisambiguatedOrganization) Education(org.orcid.jaxb.model.record_v2.Education) OrganizationAddress(org.orcid.jaxb.model.common_v2.OrganizationAddress) Source(org.orcid.jaxb.model.common_v2.Source)

Example 9 with Source

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

the class KeywordForm method toKeyword.

public Keyword toKeyword() {
    Keyword keyword = new Keyword();
    if (!PojoUtil.isEmpty(putCode)) {
        keyword.setPutCode(Long.valueOf(putCode));
    }
    if (!PojoUtil.isEmpty(content)) {
        keyword.setContent(content);
    }
    if (visibility != null && visibility.getVisibility() != null) {
        keyword.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.fromValue(visibility.getVisibility().value()));
    } else {
        keyword.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.fromValue(OrcidVisibilityDefaults.KEYWORD_DEFAULT.getVisibility().value()));
    }
    if (createdDate != null) {
        keyword.setCreatedDate(new CreatedDate(DateUtils.convertToXMLGregorianCalendar(createdDate.toCalendar())));
    }
    if (lastModified != null) {
        keyword.setLastModifiedDate(new LastModifiedDate(DateUtils.convertToXMLGregorianCalendar(lastModified.toCalendar())));
    }
    if (displayIndex != null) {
        keyword.setDisplayIndex(displayIndex);
    } else {
        keyword.setDisplayIndex(0L);
    }
    keyword.setSource(new Source(source));
    return keyword;
}
Also used : LastModifiedDate(org.orcid.jaxb.model.common_v2.LastModifiedDate) Keyword(org.orcid.jaxb.model.record_v2.Keyword) CreatedDate(org.orcid.jaxb.model.common_v2.CreatedDate) Source(org.orcid.jaxb.model.common_v2.Source)

Example 10 with Source

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

the class WebsiteForm method toResearcherUrl.

public ResearcherUrl toResearcherUrl() {
    ResearcherUrl researcherUrl = new ResearcherUrl();
    if (!PojoUtil.isEmpty(this.getUrl())) {
        researcherUrl.setUrl(new Url(this.getUrl()));
    }
    if (!PojoUtil.isEmpty(this.getUrlName())) {
        researcherUrl.setUrlName(this.getUrlName());
    }
    if (this.visibility != null && this.visibility.getVisibility() != null) {
        researcherUrl.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.fromValue(this.getVisibility().getVisibility().value()));
    }
    if (!PojoUtil.isEmpty(this.getPutCode())) {
        researcherUrl.setPutCode(Long.valueOf(this.getPutCode()));
    }
    if (displayIndex != null) {
        researcherUrl.setDisplayIndex(displayIndex);
    } else {
        researcherUrl.setDisplayIndex(0L);
    }
    researcherUrl.setSource(new Source(source));
    return researcherUrl;
}
Also used : ResearcherUrl(org.orcid.jaxb.model.record_v2.ResearcherUrl) Url(org.orcid.jaxb.model.common_v2.Url) ResearcherUrl(org.orcid.jaxb.model.record_v2.ResearcherUrl) Source(org.orcid.jaxb.model.common_v2.Source)

Aggregations

Test (org.junit.Test)25 Source (org.orcid.jaxb.model.common_v2.Source)16 Source (hex.glm.GLM2.Source)11 Url (org.orcid.jaxb.model.common_v2.Url)11 ExternalID (org.orcid.jaxb.model.record_v2.ExternalID)11 SourceEntity (org.orcid.persistence.jpa.entities.SourceEntity)11 Visibility (org.orcid.jaxb.model.common_v2.Visibility)10 SourceClientId (org.orcid.jaxb.model.common_v2.SourceClientId)7 Items (org.orcid.jaxb.model.notification.permission_v2.Items)6 ExternalIDs (org.orcid.jaxb.model.record_v2.ExternalIDs)6 Date (java.util.Date)5 HashMap (java.util.HashMap)5 OrcidDuplicatedElementException (org.orcid.core.exception.OrcidDuplicatedElementException)5 Item (org.orcid.jaxb.model.notification.permission_v2.Item)5 CreatedDate (org.orcid.jaxb.model.common_v2.CreatedDate)4 LastModifiedDate (org.orcid.jaxb.model.common_v2.LastModifiedDate)4 SourceName (org.orcid.jaxb.model.common_v2.SourceName)4 OrgEntity (org.orcid.persistence.jpa.entities.OrgEntity)4 SourceOrcid (org.orcid.jaxb.model.common_v2.SourceOrcid)3 NotificationPermission (org.orcid.jaxb.model.notification.permission_v2.NotificationPermission)3