Search in sources :

Example 26 with Visibility

use of org.orcid.jaxb.model.v3.dev1.common.Visibility 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.v3.dev1.record.WorkTitle workTitle = new org.orcid.jaxb.model.v3.dev1.record.WorkTitle();
    // Set title
    if (!PojoUtil.isEmpty(this.getTitle())) {
        workTitle.setTitle(new org.orcid.jaxb.model.v3.dev1.common.Title(this.getTitle().getValue()));
    }
    // Set translated title
    if (this.getTranslatedTitle() != null && !PojoUtil.isEmpty(this.getTranslatedTitle().getContent())) {
        org.orcid.jaxb.model.v3.dev1.common.TranslatedTitle translatedTitle = new org.orcid.jaxb.model.v3.dev1.common.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.v3.dev1.common.Subtitle subtitle = new org.orcid.jaxb.model.v3.dev1.common.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.v3.dev1.common.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 && this.getVisibility().getVisibility() != null) {
        work.setVisibility(org.orcid.jaxb.model.v3.dev1.common.Visibility.fromValue(this.getVisibility().getVisibility().value()));
    }
    // Set country
    if (!PojoUtil.isEmpty(this.getCountryCode())) {
        work.setCountry(new org.orcid.jaxb.model.v3.dev1.common.Country(org.orcid.jaxb.model.v3.dev1.common.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.v3.dev1.common.Year year = null;
        org.orcid.jaxb.model.v3.dev1.common.Month month = null;
        org.orcid.jaxb.model.v3.dev1.common.Day day = null;
        if (yearInteger != null) {
            year = new org.orcid.jaxb.model.v3.dev1.common.Year(yearInteger);
        }
        if (monthInteger != null) {
            month = new org.orcid.jaxb.model.v3.dev1.common.Month(monthInteger);
        }
        if (dayInteger != null) {
            day = new org.orcid.jaxb.model.v3.dev1.common.Day(dayInteger);
        }
        work.setPublicationDate(new org.orcid.jaxb.model.v3.dev1.common.PublicationDate(year, month, day));
    }
    // Set citation
    if (this.getCitation() != null) {
        org.orcid.jaxb.model.v3.dev1.record.Citation citation = new org.orcid.jaxb.model.v3.dev1.record.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.v3.dev1.common.LastModifiedDate lastModified = new org.orcid.jaxb.model.v3.dev1.common.LastModifiedDate();
        lastModified.setValue(DateUtils.convertToXMLGregorianCalendar(this.getLastModified().toJavaDate()));
        work.setLastModifiedDate(lastModified);
    }
    if (!PojoUtil.isEmpty(this.getSource())) {
        org.orcid.jaxb.model.v3.dev1.common.Source source = new org.orcid.jaxb.model.v3.dev1.common.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.v3.dev1.common.SourceClientId) Url(org.orcid.jaxb.model.v3.dev1.common.Url) Work(org.orcid.jaxb.model.v3.dev1.record.Work) CreatedDate(org.orcid.jaxb.model.v3.dev1.common.CreatedDate) SourceOrcid(org.orcid.jaxb.model.v3.dev1.common.SourceOrcid)

Example 27 with Visibility

use of org.orcid.jaxb.model.v3.dev1.common.Visibility 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(Visibility.valueOf(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.v3.dev1.common.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.v3.dev1.common.FuzzyDate) WorkCategory(org.orcid.jaxb.model.v3.dev1.record.WorkCategory)

Example 28 with Visibility

use of org.orcid.jaxb.model.v3.dev1.common.Visibility in project ORCID-Source by ORCID.

the class PeerReviewForm method valueOf.

public static PeerReviewForm valueOf(PeerReview peerReview) {
    PeerReviewForm form = new PeerReviewForm();
    // Put code
    if (peerReview.getPutCode() != null) {
        form.setPutCode(Text.valueOf(peerReview.getPutCode()));
    }
    // Visibility
    if (peerReview.getVisibility() != null) {
        form.setVisibility(Visibility.valueOf(peerReview.getVisibility()));
    }
    // Completion date
    if (!PojoUtil.isEmpty(peerReview.getCompletionDate())) {
        form.setCompletionDate(Date.valueOf(peerReview.getCompletionDate()));
    }
    // Role
    if (peerReview.getRole() != null) {
        form.setRole(Text.valueOf(peerReview.getRole().value()));
    }
    // Type
    if (peerReview.getType() != null) {
        form.setType(Text.valueOf(peerReview.getType().value()));
    }
    // Url
    if (!PojoUtil.isEmpty(peerReview.getUrl())) {
        form.setUrl(Text.valueOf(peerReview.getUrl().getValue()));
    }
    // Org info
    if (peerReview.getOrganization() != null) {
        if (!PojoUtil.isEmpty(peerReview.getOrganization().getName())) {
            form.setOrgName(Text.valueOf(peerReview.getOrganization().getName()));
        }
        if (peerReview.getOrganization().getAddress() != null) {
            if (!PojoUtil.isEmpty(peerReview.getOrganization().getAddress().getCity())) {
                form.setCity(Text.valueOf(peerReview.getOrganization().getAddress().getCity()));
            }
            if (peerReview.getOrganization().getAddress().getCountry() != null) {
                form.setCountry(Text.valueOf(peerReview.getOrganization().getAddress().getCountry().value()));
            }
            if (!PojoUtil.isEmpty(peerReview.getOrganization().getAddress().getRegion())) {
                form.setRegion(Text.valueOf(peerReview.getOrganization().getAddress().getRegion()));
            }
        }
        if (peerReview.getOrganization().getDisambiguatedOrganization() != null) {
            if (!PojoUtil.isEmpty(peerReview.getOrganization().getDisambiguatedOrganization().getDisambiguatedOrganizationIdentifier())) {
                form.setDisambiguatedOrganizationSourceId(Text.valueOf(peerReview.getOrganization().getDisambiguatedOrganization().getDisambiguatedOrganizationIdentifier()));
            }
            if (!PojoUtil.isEmpty(peerReview.getOrganization().getDisambiguatedOrganization().getDisambiguationSource())) {
                form.setDisambiguationSource(Text.valueOf(peerReview.getOrganization().getDisambiguatedOrganization().getDisambiguationSource()));
            }
        }
    }
    // External ids
    if (peerReview.getExternalIdentifiers() != null) {
        List<ExternalID> externalIdentifiers = peerReview.getExternalIdentifiers().getExternalIdentifier();
        form.setExternalIdentifiers(new ArrayList<WorkExternalIdentifier>());
        for (ExternalID extId : externalIdentifiers) {
            form.getExternalIdentifiers().add(WorkExternalIdentifier.valueOf(extId));
        }
    }
    // Group Id
    if (!PojoUtil.isEmpty(peerReview.getGroupId())) {
        form.setGroupId(Text.valueOf(peerReview.getGroupId()));
    }
    // Subject ext Id
    if (peerReview.getSubjectExternalIdentifier() != null) {
        WorkExternalIdentifier wExtId = new WorkExternalIdentifier();
        if (peerReview.getSubjectExternalIdentifier().getRelationship() != null) {
            wExtId.setRelationship(Text.valueOf(peerReview.getSubjectExternalIdentifier().getRelationship().value()));
        }
        if (peerReview.getSubjectExternalIdentifier().getUrl() != null) {
            wExtId.setUrl(Text.valueOf(peerReview.getSubjectExternalIdentifier().getUrl().getValue()));
        }
        if (peerReview.getSubjectExternalIdentifier().getValue() != null) {
            wExtId.setWorkExternalIdentifierId(Text.valueOf(peerReview.getSubjectExternalIdentifier().getValue()));
        }
        if (peerReview.getSubjectExternalIdentifier().getType() != null) {
            wExtId.setWorkExternalIdentifierType(Text.valueOf(peerReview.getSubjectExternalIdentifier().getType()));
        }
        form.setSubjectExternalIdentifier(wExtId);
    }
    // Subject Container name
    if (peerReview.getSubjectContainerName() != null) {
        form.setSubjectContainerName(Text.valueOf(peerReview.getSubjectContainerName().getContent()));
    }
    // Subject type
    if (peerReview.getSubjectType() != null) {
        form.setSubjectType(Text.valueOf(peerReview.getSubjectType().value()));
    }
    // Subject name
    if (peerReview.getSubjectName() != null) {
        if (peerReview.getSubjectName().getTitle() != null) {
            form.setSubjectName(Text.valueOf(peerReview.getSubjectName().getTitle().getContent()));
        }
        TranslatedTitleForm tTitle = new TranslatedTitleForm();
        if (peerReview.getSubjectName().getTranslatedTitle() != null) {
            tTitle.setContent(peerReview.getSubjectName().getTranslatedTitle().getContent());
            tTitle.setLanguageCode(peerReview.getSubjectName().getTranslatedTitle().getLanguageCode());
        }
        form.setTranslatedSubjectName(tTitle);
    }
    // Subject url
    if (peerReview.getSubjectUrl() != null) {
        form.setSubjectUrl(Text.valueOf(peerReview.getSubjectUrl().getValue()));
    }
    // Source
    if (peerReview.getSource() != null) {
        form.setSource(peerReview.getSource().retrieveSourcePath());
        if (peerReview.getSource().getSourceName() != null)
            form.setSourceName(peerReview.getSource().getSourceName().getContent());
    }
    // Created Date
    if (peerReview.getCreatedDate() != null) {
        form.setCreatedDate(Date.valueOf(peerReview.getCreatedDate()));
    }
    // Last modified
    if (peerReview.getLastModifiedDate() != null) {
        form.setLastModified(Date.valueOf(peerReview.getLastModifiedDate()));
    }
    return form;
}
Also used : ExternalID(org.orcid.jaxb.model.v3.dev1.record.ExternalID)

Example 29 with Visibility

use of org.orcid.jaxb.model.v3.dev1.common.Visibility in project ORCID-Source by ORCID.

the class PeerReviewForm method toPeerReview.

public PeerReview toPeerReview() {
    PeerReview peerReview = new PeerReview();
    // Put Code
    if (!PojoUtil.isEmpty(putCode)) {
        peerReview.setPutCode(Long.valueOf(putCode.getValue()));
    }
    // Visibility
    if (visibility != null && visibility.getVisibility() != null) {
        peerReview.setVisibility(org.orcid.jaxb.model.v3.dev1.common.Visibility.fromValue(visibility.getVisibility().value()));
    }
    // Completion date
    if (completionDate != null) {
        peerReview.setCompletionDate(new FuzzyDate(completionDate.toFuzzyDate()));
    }
    // External identifiers
    if (externalIdentifiers != null && !externalIdentifiers.isEmpty()) {
        peerReview.setExternalIdentifiers(new ExternalIDs());
        for (WorkExternalIdentifier extId : externalIdentifiers) {
            peerReview.getExternalIdentifiers().getExternalIdentifier().add(extId.toRecordWorkExternalIdentifier());
        }
    }
    // Set Organization
    Organization organization = new Organization();
    OrganizationAddress organizationAddress = new OrganizationAddress();
    organization.setAddress(organizationAddress);
    if (!PojoUtil.isEmpty(orgName)) {
        organization.setName(orgName.getValue());
    }
    if (!PojoUtil.isEmpty(city)) {
        organizationAddress.setCity(city.getValue());
    }
    if (!PojoUtil.isEmpty(region)) {
        organizationAddress.setRegion(region.getValue());
    }
    if (!PojoUtil.isEmpty(country)) {
        organizationAddress.setCountry(Iso3166Country.fromValue(country.getValue()));
    }
    if (!PojoUtil.isEmpty(disambiguatedOrganizationSourceId)) {
        organization.setDisambiguatedOrganization(new DisambiguatedOrganization());
        organization.getDisambiguatedOrganization().setDisambiguatedOrganizationIdentifier(disambiguatedOrganizationSourceId.getValue());
        organization.getDisambiguatedOrganization().setDisambiguationSource(disambiguationSource.getValue());
    }
    peerReview.setOrganization(organization);
    // Role
    if (!PojoUtil.isEmpty(role)) {
        peerReview.setRole(Role.fromValue(role.getValue()));
    }
    // Type
    if (!PojoUtil.isEmpty(type)) {
        peerReview.setType(PeerReviewType.fromValue(type.getValue()));
    }
    // Url
    if (!PojoUtil.isEmpty(url)) {
        peerReview.setUrl(new Url(url.getValue()));
    }
    // Group id
    if (!PojoUtil.isEmpty(groupId)) {
        peerReview.setGroupId(groupId.getValue());
    }
    // Subject external id
    if (!PojoUtil.isEmpty(subjectExternalIdentifier)) {
        ExternalID subjectExtId = new ExternalID();
        if (!PojoUtil.isEmpty(subjectExternalIdentifier.getRelationship())) {
            subjectExtId.setRelationship(Relationship.fromValue(subjectExternalIdentifier.getRelationship().getValue()));
        }
        if (!PojoUtil.isEmpty(subjectExternalIdentifier.getUrl())) {
            subjectExtId.setUrl(new Url(subjectExternalIdentifier.getUrl().getValue()));
        }
        if (!PojoUtil.isEmpty(subjectExternalIdentifier.getWorkExternalIdentifierId())) {
            subjectExtId.setValue(subjectExternalIdentifier.getWorkExternalIdentifierId().getValue());
        }
        if (!PojoUtil.isEmpty(subjectExternalIdentifier.getWorkExternalIdentifierType())) {
            subjectExtId.setType(subjectExternalIdentifier.getWorkExternalIdentifierType().getValue());
        }
        peerReview.setSubjectExternalIdentifier(subjectExtId);
    }
    // Subject container name
    if (!PojoUtil.isEmpty(subjectContainerName)) {
        Title containerName = new Title(subjectContainerName.getValue());
        peerReview.setSubjectContainerName(containerName);
    }
    // Subject type
    if (!PojoUtil.isEmpty(subjectType)) {
        peerReview.setSubjectType(WorkType.fromValue(subjectType.getValue()));
    }
    // Subject name and subject translated name
    if (!PojoUtil.isEmpty(subjectName) || !PojoUtil.isEmpty(translatedSubjectName)) {
        WorkTitle workTitle = new WorkTitle();
        if (!PojoUtil.isEmpty(subjectName)) {
            workTitle.setTitle(new Title(subjectName.getValue()));
        }
        if (translatedSubjectName != null) {
            org.orcid.jaxb.model.v3.dev1.common.TranslatedTitle tTitle = new org.orcid.jaxb.model.v3.dev1.common.TranslatedTitle();
            if (!PojoUtil.isEmpty(translatedSubjectName.getContent())) {
                tTitle.setContent(translatedSubjectName.getContent());
            }
            if (!PojoUtil.isEmpty(translatedSubjectName.getLanguageCode())) {
                tTitle.setLanguageCode(translatedSubjectName.getLanguageCode());
            }
            workTitle.setTranslatedTitle(tTitle);
        }
        peerReview.setSubjectName(workTitle);
    }
    // Subject url
    if (!PojoUtil.isEmpty(subjectUrl)) {
        peerReview.setSubjectUrl(new Url(subjectUrl.getValue()));
    }
    return peerReview;
}
Also used : ExternalIDs(org.orcid.jaxb.model.v3.dev1.record.ExternalIDs) Organization(org.orcid.jaxb.model.v3.dev1.common.Organization) DisambiguatedOrganization(org.orcid.jaxb.model.v3.dev1.common.DisambiguatedOrganization) OrganizationAddress(org.orcid.jaxb.model.v3.dev1.common.OrganizationAddress) ExternalID(org.orcid.jaxb.model.v3.dev1.record.ExternalID) FuzzyDate(org.orcid.jaxb.model.v3.dev1.common.FuzzyDate) Title(org.orcid.jaxb.model.v3.dev1.common.Title) WorkTitle(org.orcid.jaxb.model.v3.dev1.record.WorkTitle) Url(org.orcid.jaxb.model.v3.dev1.common.Url) DisambiguatedOrganization(org.orcid.jaxb.model.v3.dev1.common.DisambiguatedOrganization) WorkTitle(org.orcid.jaxb.model.v3.dev1.record.WorkTitle) PeerReview(org.orcid.jaxb.model.v3.dev1.record.PeerReview)

Example 30 with Visibility

use of org.orcid.jaxb.model.v3.dev1.common.Visibility in project ORCID-Source by ORCID.

the class FundingForm method toFunding.

public Funding toFunding() {
    Funding result = new Funding();
    Amount orcidAmount = new Amount();
    if (!PojoUtil.isEmpty(amount))
        orcidAmount.setContent(amount.getValue());
    if (!PojoUtil.isEmpty(currencyCode))
        orcidAmount.setCurrencyCode(currencyCode.getValue());
    result.setAmount(orcidAmount);
    if (!PojoUtil.isEmpty(description))
        result.setDescription(description.getValue());
    if (!PojoUtil.isEmpty(startDate))
        result.setStartDate(new FuzzyDate(startDate.toFuzzyDate()));
    if (!PojoUtil.isEmpty(endDate))
        result.setEndDate(new FuzzyDate(endDate.toFuzzyDate()));
    if (!PojoUtil.isEmpty(putCode))
        result.setPutCode(Long.valueOf(putCode.getValue()));
    if (fundingTitle != null) {
        result.setTitle(fundingTitle.toFundingTitle());
    }
    if (!PojoUtil.isEmpty(fundingType))
        result.setType(FundingType.fromValue(fundingType.getValue()));
    if (organizationDefinedFundingSubType != null && !PojoUtil.isEmpty(organizationDefinedFundingSubType.getSubtype()))
        result.setOrganizationDefinedType(new OrganizationDefinedFundingSubType(organizationDefinedFundingSubType.getSubtype().getValue()));
    if (!PojoUtil.isEmpty(url))
        result.setUrl(new Url(url.getValue()));
    else
        result.setUrl(new Url());
    if (visibility != null)
        result.setVisibility(org.orcid.jaxb.model.v3.dev1.common.Visibility.fromValue(visibility.getVisibility().value()));
    // Set Organization
    Organization organization = new Organization();
    if (!PojoUtil.isEmpty(fundingName))
        organization.setName(fundingName.getValue());
    OrganizationAddress organizationAddress = new OrganizationAddress();
    organization.setAddress(organizationAddress);
    if (!PojoUtil.isEmpty(city))
        organizationAddress.setCity(city.getValue());
    if (!PojoUtil.isEmpty(region)) {
        organizationAddress.setRegion(region.getValue());
    }
    if (!PojoUtil.isEmpty(country)) {
        organizationAddress.setCountry(Iso3166Country.fromValue(country.getValue()));
    }
    if (!PojoUtil.isEmpty(disambiguatedFundingSourceId)) {
        organization.setDisambiguatedOrganization(new DisambiguatedOrganization());
        organization.getDisambiguatedOrganization().setDisambiguatedOrganizationIdentifier(disambiguatedFundingSourceId.getValue());
        organization.getDisambiguatedOrganization().setDisambiguationSource(disambiguationSource.getValue());
    }
    result.setOrganization(organization);
    // Set contributors
    if (contributors != null && !contributors.isEmpty()) {
        FundingContributors fContributors = new FundingContributors();
        for (Contributor contributor : contributors) {
            if (!PojoUtil.isEmtpy(contributor))
                fContributors.getContributor().add(contributor.toFundingContributor());
        }
        result.setContributors(fContributors);
    }
    // Set external identifiers
    if (externalIdentifiers != null && !externalIdentifiers.isEmpty()) {
        ExternalIDs fExternalIdentifiers = new ExternalIDs();
        for (FundingExternalIdentifierForm fExternalIdentifier : externalIdentifiers) {
            if (!PojoUtil.isEmtpy(fExternalIdentifier))
                fExternalIdentifiers.getExternalIdentifier().add(fExternalIdentifier.toFundingExternalIdentifier());
        }
        result.setExternalIdentifiers(fExternalIdentifiers);
    }
    return result;
}
Also used : Organization(org.orcid.jaxb.model.v3.dev1.common.Organization) DisambiguatedOrganization(org.orcid.jaxb.model.v3.dev1.common.DisambiguatedOrganization) DisambiguatedOrganization(org.orcid.jaxb.model.v3.dev1.common.DisambiguatedOrganization) ExternalIDs(org.orcid.jaxb.model.v3.dev1.record.ExternalIDs) Funding(org.orcid.jaxb.model.v3.dev1.record.Funding) Amount(org.orcid.jaxb.model.v3.dev1.common.Amount) OrganizationAddress(org.orcid.jaxb.model.v3.dev1.common.OrganizationAddress) FuzzyDate(org.orcid.jaxb.model.v3.dev1.common.FuzzyDate) FundingContributors(org.orcid.jaxb.model.v3.dev1.record.FundingContributors) FundingContributor(org.orcid.jaxb.model.v3.dev1.record.FundingContributor) Url(org.orcid.jaxb.model.v3.dev1.common.Url) OrganizationDefinedFundingSubType(org.orcid.jaxb.model.v3.dev1.common.OrganizationDefinedFundingSubType)

Aggregations

Visibility (org.orcid.jaxb.model.v3.dev1.common.Visibility)44 ClientResponse (com.sun.jersey.api.client.ClientResponse)17 Test (org.junit.Test)17 ExternalID (org.orcid.jaxb.model.v3.dev1.record.ExternalID)14 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)12 ResponseBody (org.springframework.web.bind.annotation.ResponseBody)12 Url (org.orcid.jaxb.model.v3.dev1.common.Url)11 OrcidError (org.orcid.jaxb.model.v3.dev1.error.OrcidError)11 ExternalIDs (org.orcid.jaxb.model.v3.dev1.record.ExternalIDs)11 SourceEntity (org.orcid.persistence.jpa.entities.SourceEntity)11 HashMap (java.util.HashMap)10 ProfileEntity (org.orcid.persistence.jpa.entities.ProfileEntity)10 Name (org.orcid.jaxb.model.v3.dev1.record.Name)7 OtherName (org.orcid.jaxb.model.v3.dev1.record.OtherName)7 Organization (org.orcid.jaxb.model.v3.dev1.common.Organization)6 Biography (org.orcid.jaxb.model.v3.dev1.record.Biography)6 Work (org.orcid.jaxb.model.v3.dev1.record.Work)6 EducationSummary (org.orcid.jaxb.model.v3.dev1.record.summary.EducationSummary)6 Date (java.util.Date)5 OrcidDuplicatedElementException (org.orcid.core.exception.OrcidDuplicatedElementException)5