Search in sources :

Example 6 with Month

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

the class WorkFormTest method getWork.

public static Work getWork() {
    Work work = new Work();
    work.setCountry(new Country(Iso3166Country.US));
    Date date = new Date();
    work.setCreatedDate(new CreatedDate(DateUtils.convertToXMLGregorianCalendar(date)));
    work.setJournalTitle(new Title("Journal Title"));
    work.setLanguageCode("EN");
    work.setPublicationDate(new PublicationDate(new Year(2015), new Month(1), new Day(1)));
    work.setPutCode(Long.valueOf("12345"));
    work.setShortDescription("Short description");
    work.setUrl(new Url("http://test.com"));
    work.setVisibility(org.orcid.jaxb.model.v3.dev1.common.Visibility.LIMITED);
    work.setWorkCitation(new org.orcid.jaxb.model.v3.dev1.record.Citation("Citation", CitationType.BIBTEX));
    WorkContributors contributors = new WorkContributors();
    org.orcid.jaxb.model.v3.dev1.common.Contributor contributor = new org.orcid.jaxb.model.v3.dev1.common.Contributor();
    contributor.setCreditName(new CreditName("Credit name"));
    contributor.setContributorOrcid(new ContributorOrcid("0000-0000-0000-0000"));
    ContributorAttributes att = new ContributorAttributes();
    att.setContributorRole(ContributorRole.ASSIGNEE);
    att.setContributorSequence(SequenceType.FIRST);
    contributor.setContributorAttributes(att);
    contributors.getContributor().add(contributor);
    work.setWorkContributors(contributors);
    ExternalIDs weis = new ExternalIDs();
    ExternalID wei = new ExternalID();
    wei.setRelationship(Relationship.SELF);
    wei.setUrl(new Url("http://test.com"));
    wei.setValue("ID");
    wei.setType(WorkExternalIdentifierType.AGR.value());
    weis.getExternalIdentifier().add(wei);
    work.setWorkExternalIdentifiers(weis);
    WorkTitle workTitle = new WorkTitle();
    workTitle.setTitle(new Title("Work Title"));
    workTitle.setSubtitle(new Subtitle("Subtitle"));
    TranslatedTitle translated = new TranslatedTitle("Translated", "US");
    workTitle.setTranslatedTitle(translated);
    work.setWorkTitle(workTitle);
    work.setWorkType(WorkType.ARTISTIC_PERFORMANCE);
    return work;
}
Also used : ExternalIDs(org.orcid.jaxb.model.v3.dev1.record.ExternalIDs) WorkContributors(org.orcid.jaxb.model.v3.dev1.record.WorkContributors) ExternalID(org.orcid.jaxb.model.v3.dev1.record.ExternalID) Url(org.orcid.jaxb.model.v3.dev1.common.Url) Month(org.orcid.jaxb.model.v3.dev1.common.Month) Work(org.orcid.jaxb.model.v3.dev1.record.Work) PublicationDate(org.orcid.jaxb.model.v3.dev1.common.PublicationDate) ContributorAttributes(org.orcid.jaxb.model.v3.dev1.common.ContributorAttributes) CreditName(org.orcid.jaxb.model.v3.dev1.common.CreditName) TranslatedTitle(org.orcid.jaxb.model.v3.dev1.common.TranslatedTitle) Title(org.orcid.jaxb.model.v3.dev1.common.Title) WorkTitle(org.orcid.jaxb.model.v3.dev1.record.WorkTitle) Date(java.util.Date) CreatedDate(org.orcid.jaxb.model.v3.dev1.common.CreatedDate) PublicationDate(org.orcid.jaxb.model.v3.dev1.common.PublicationDate) Subtitle(org.orcid.jaxb.model.v3.dev1.common.Subtitle) Year(org.orcid.jaxb.model.v3.dev1.common.Year) TranslatedTitle(org.orcid.jaxb.model.v3.dev1.common.TranslatedTitle) WorkTitle(org.orcid.jaxb.model.v3.dev1.record.WorkTitle) CreatedDate(org.orcid.jaxb.model.v3.dev1.common.CreatedDate) Iso3166Country(org.orcid.jaxb.model.v3.dev1.common.Iso3166Country) Country(org.orcid.jaxb.model.v3.dev1.common.Country) ContributorOrcid(org.orcid.jaxb.model.v3.dev1.common.ContributorOrcid) Day(org.orcid.jaxb.model.v3.dev1.common.Day)

Example 7 with Month

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

the class MapperFacadeFactory method getWorkMapperFacade.

public MapperFacade getWorkMapperFacade() {
    MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
    ConverterFactory converterFactory = mapperFactory.getConverterFactory();
    converterFactory.registerConverter("workExternalIdentifiersConverterId", new JSONWorkExternalIdentifiersConverterV3(norm, localeManager));
    converterFactory.registerConverter("workContributorsConverterId", new JsonOrikaConverter<WorkContributors>());
    ClassMapBuilder<Work, WorkEntity> workClassMap = mapperFactory.classMap(Work.class, WorkEntity.class);
    workClassMap.byDefault();
    workClassMap.field("putCode", "id");
    addV3DateFields(workClassMap);
    registerSourceConverters(mapperFactory, workClassMap);
    workClassMap.field("journalTitle.content", "journalTitle");
    workClassMap.field("workTitle.title.content", "title");
    workClassMap.field("workTitle.translatedTitle.content", "translatedTitle");
    workClassMap.field("workTitle.translatedTitle.languageCode", "translatedTitleLanguageCode");
    workClassMap.field("workTitle.subtitle.content", "subtitle");
    workClassMap.field("shortDescription", "description");
    workClassMap.field("workCitation.workCitationType", "citationType");
    workClassMap.field("workCitation.citation", "citation");
    workClassMap.field("workType", "workType");
    workClassMap.field("publicationDate", "publicationDate");
    workClassMap.fieldMap("workExternalIdentifiers", "externalIdentifiersJson").converter("workExternalIdentifiersConverterId").add();
    workClassMap.field("url.value", "workUrl");
    workClassMap.fieldMap("workContributors", "contributorsJson").converter("workContributorsConverterId").add();
    workClassMap.field("languageCode", "languageCode");
    workClassMap.field("country.value", "iso2Country");
    workClassMap.register();
    ClassMapBuilder<WorkSummary, WorkEntity> workSummaryClassMap = mapperFactory.classMap(WorkSummary.class, WorkEntity.class);
    registerSourceConverters(mapperFactory, workSummaryClassMap);
    workSummaryClassMap.field("putCode", "id");
    workSummaryClassMap.field("title.title.content", "title");
    workSummaryClassMap.field("title.translatedTitle.content", "translatedTitle");
    workSummaryClassMap.field("title.translatedTitle.languageCode", "translatedTitleLanguageCode");
    workSummaryClassMap.field("journalTitle.content", "journalTitle");
    workSummaryClassMap.field("type", "workType");
    workSummaryClassMap.field("publicationDate", "publicationDate");
    workSummaryClassMap.fieldMap("externalIdentifiers", "externalIdentifiersJson").converter("workExternalIdentifiersConverterId").add();
    workSummaryClassMap.byDefault();
    workSummaryClassMap.register();
    ClassMapBuilder<WorkSummary, MinimizedWorkEntity> workSummaryMinimizedClassMap = mapperFactory.classMap(WorkSummary.class, MinimizedWorkEntity.class);
    addV3CommonFields(workSummaryMinimizedClassMap);
    registerSourceConverters(mapperFactory, workSummaryMinimizedClassMap);
    workSummaryMinimizedClassMap.field("title.title.content", "title");
    workSummaryMinimizedClassMap.field("title.translatedTitle.content", "translatedTitle");
    workSummaryMinimizedClassMap.field("title.translatedTitle.languageCode", "translatedTitleLanguageCode");
    workSummaryMinimizedClassMap.field("type", "workType");
    workSummaryMinimizedClassMap.field("publicationDate.year.value", "publicationYear");
    workSummaryMinimizedClassMap.field("publicationDate.month.value", "publicationMonth");
    workSummaryMinimizedClassMap.field("publicationDate.day.value", "publicationDay");
    workSummaryMinimizedClassMap.fieldMap("externalIdentifiers", "externalIdentifiersJson").converter("workExternalIdentifiersConverterId").add();
    workSummaryMinimizedClassMap.byDefault();
    workSummaryMinimizedClassMap.register();
    ClassMapBuilder<Work, MinimizedWorkEntity> minimizedWorkClassMap = mapperFactory.classMap(Work.class, MinimizedWorkEntity.class);
    minimizedWorkClassMap.byDefault();
    registerSourceConverters(mapperFactory, minimizedWorkClassMap);
    minimizedWorkClassMap.field("putCode", "id");
    minimizedWorkClassMap.field("journalTitle.content", "journalTitle");
    minimizedWorkClassMap.field("workTitle.title.content", "title");
    minimizedWorkClassMap.field("workTitle.translatedTitle.content", "translatedTitle");
    minimizedWorkClassMap.field("workTitle.translatedTitle.languageCode", "translatedTitleLanguageCode");
    minimizedWorkClassMap.field("workTitle.subtitle.content", "subtitle");
    minimizedWorkClassMap.field("shortDescription", "description");
    minimizedWorkClassMap.field("workType", "workType");
    minimizedWorkClassMap.field("publicationDate.year.value", "publicationYear");
    minimizedWorkClassMap.field("publicationDate.month.value", "publicationMonth");
    minimizedWorkClassMap.field("publicationDate.day.value", "publicationDay");
    minimizedWorkClassMap.fieldMap("workExternalIdentifiers", "externalIdentifiersJson").converter("workExternalIdentifiersConverterId").add();
    minimizedWorkClassMap.field("url.value", "workUrl");
    minimizedWorkClassMap.register();
    mapperFactory.classMap(PublicationDate.class, PublicationDateEntity.class).field("year.value", "year").field("month.value", "month").field("day.value", "day").register();
    return mapperFactory.getMapperFacade();
}
Also used : WorkContributors(org.orcid.jaxb.model.v3.dev1.record.WorkContributors) ConverterFactory(ma.glasnost.orika.converter.ConverterFactory) WorkEntity(org.orcid.persistence.jpa.entities.WorkEntity) MinimizedWorkEntity(org.orcid.persistence.jpa.entities.MinimizedWorkEntity) NotificationWorkEntity(org.orcid.persistence.jpa.entities.NotificationWorkEntity) WorkSummary(org.orcid.jaxb.model.v3.dev1.record.summary.WorkSummary) JSONWorkExternalIdentifiersConverterV3(org.orcid.core.adapter.jsonidentifier.converter.JSONWorkExternalIdentifiersConverterV3) MinimizedWorkEntity(org.orcid.persistence.jpa.entities.MinimizedWorkEntity) DefaultMapperFactory(ma.glasnost.orika.impl.DefaultMapperFactory) DefaultMapperFactory(ma.glasnost.orika.impl.DefaultMapperFactory) MapperFactory(ma.glasnost.orika.MapperFactory) Work(org.orcid.jaxb.model.v3.dev1.record.Work)

Example 8 with Month

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

the class MapperFacadeFactory method mapFuzzyDateToStartDateEntityAndEndDateEntity.

private void mapFuzzyDateToStartDateEntityAndEndDateEntity(MapperFactory mapperFactory) {
    mapperFactory.classMap(FuzzyDate.class, StartDateEntity.class).customize(new CustomMapper<FuzzyDate, StartDateEntity>() {

        @Override
        public void mapAtoB(FuzzyDate fuzzyDate, StartDateEntity entity, MappingContext context) {
            if (fuzzyDate.getYear() != null) {
                entity.setYear(Integer.valueOf(fuzzyDate.getYear().getValue()));
            } else {
                entity.setYear(null);
            }
            if (fuzzyDate.getMonth() != null) {
                entity.setMonth(Integer.valueOf(fuzzyDate.getMonth().getValue()));
            } else {
                entity.setMonth(null);
            }
            if (fuzzyDate.getDay() != null) {
                entity.setDay(Integer.valueOf(fuzzyDate.getDay().getValue()));
            } else {
                entity.setDay(null);
            }
        }

        @Override
        public void mapBtoA(StartDateEntity entity, FuzzyDate fuzzyDate, MappingContext context) {
            if (entity.getYear() != null) {
                fuzzyDate.setYear(new Year(entity.getYear()));
            } else {
                fuzzyDate.setYear(null);
            }
            if (entity.getMonth() != null) {
                fuzzyDate.setMonth(new Month(entity.getMonth()));
            } else {
                fuzzyDate.setMonth(null);
            }
            if (entity.getDay() != null) {
                fuzzyDate.setDay(new Day(entity.getDay()));
            } else {
                fuzzyDate.setDay(null);
            }
        }
    }).register();
    mapperFactory.classMap(FuzzyDate.class, EndDateEntity.class).customize(new CustomMapper<FuzzyDate, EndDateEntity>() {

        @Override
        public void mapAtoB(FuzzyDate fuzzyDate, EndDateEntity entity, MappingContext context) {
            if (fuzzyDate.getYear() != null) {
                entity.setYear(Integer.valueOf(fuzzyDate.getYear().getValue()));
            } else {
                entity.setYear(null);
            }
            if (fuzzyDate.getMonth() != null) {
                entity.setMonth(Integer.valueOf(fuzzyDate.getMonth().getValue()));
            } else {
                entity.setMonth(null);
            }
            if (fuzzyDate.getDay() != null) {
                entity.setDay(Integer.valueOf(fuzzyDate.getDay().getValue()));
            } else {
                entity.setDay(null);
            }
        }

        @Override
        public void mapBtoA(EndDateEntity entity, FuzzyDate fuzzyDate, MappingContext context) {
            if (entity.getYear() != null) {
                fuzzyDate.setYear(new Year(entity.getYear()));
            } else {
                fuzzyDate.setYear(null);
            }
            if (entity.getMonth() != null) {
                fuzzyDate.setMonth(new Month(entity.getMonth()));
            } else {
                fuzzyDate.setMonth(null);
            }
            if (entity.getDay() != null) {
                fuzzyDate.setDay(new Day(entity.getDay()));
            } else {
                fuzzyDate.setDay(null);
            }
        }
    }).register();
}
Also used : MappingContext(ma.glasnost.orika.MappingContext) EndDateEntity(org.orcid.persistence.jpa.entities.EndDateEntity) Month(org.orcid.jaxb.model.v3.dev1.common.Month) Year(org.orcid.jaxb.model.v3.dev1.common.Year) StartDateEntity(org.orcid.persistence.jpa.entities.StartDateEntity) FuzzyDate(org.orcid.jaxb.model.v3.dev1.common.FuzzyDate) CustomMapper(ma.glasnost.orika.CustomMapper) Day(org.orcid.jaxb.model.v3.dev1.common.Day)

Example 9 with Month

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

the class ActivityValidatorTest method validateWork_invalidPublicationDateTest.

@Test
public void validateWork_invalidPublicationDateTest() {
    try {
        Work work = getWork();
        work.getPublicationDate().getYear().setValue("invalid");
        activityValidator.validateWork(work, null, true, true, Visibility.PUBLIC);
        fail();
    } catch (ActivityTypeValidationException e) {
    }
    try {
        Work work = getWork();
        work.getPublicationDate().getMonth().setValue("invalid");
        activityValidator.validateWork(work, null, true, true, Visibility.PUBLIC);
        fail();
    } catch (ActivityTypeValidationException e) {
    }
    try {
        Work work = getWork();
        work.getPublicationDate().getDay().setValue("invalid");
        activityValidator.validateWork(work, null, true, true, Visibility.PUBLIC);
        fail();
    } catch (ActivityTypeValidationException e) {
    }
    try {
        Work work = getWork();
        work.setPublicationDate(new PublicationDate(null, new Month(1), new Day(1)));
        activityValidator.validateWork(work, null, true, true, Visibility.PUBLIC);
        fail();
    } catch (OrcidValidationException e) {
    }
    try {
        Work work = getWork();
        work.setPublicationDate(new PublicationDate(new Year(2017), null, new Day(1)));
        activityValidator.validateWork(work, null, true, true, Visibility.PUBLIC);
        fail();
    } catch (OrcidValidationException e) {
    }
    try {
        Work work = getWork();
        work.setPublicationDate(new PublicationDate(null, null, new Day(1)));
        activityValidator.validateWork(work, null, true, true, Visibility.PUBLIC);
        fail();
    } catch (OrcidValidationException e) {
    }
    try {
        Work work = getWork();
        // Invalid 2 digits year
        work.setPublicationDate(new PublicationDate(new Year(25), new Month(1), new Day(1)));
        activityValidator.validateWork(work, null, true, true, Visibility.PUBLIC);
        fail();
    } catch (OrcidValidationException e) {
    }
    try {
        Work work = getWork();
        // Invalid 3 digits month
        work.setPublicationDate(new PublicationDate(new Year(2017), new Month(100), new Day(1)));
        activityValidator.validateWork(work, null, true, true, Visibility.PUBLIC);
        fail();
    } catch (OrcidValidationException e) {
    }
    try {
        Work work = getWork();
        // Invalid 3 digits day
        work.setPublicationDate(new PublicationDate(new Year(2017), new Month(1), new Day(100)));
        activityValidator.validateWork(work, null, true, true, Visibility.PUBLIC);
        fail();
    } catch (OrcidValidationException e) {
    }
    Work work = getWork();
    work.setPublicationDate(new PublicationDate(new Year(2017), new Month(1), null));
    activityValidator.validateWork(work, null, true, true, Visibility.PUBLIC);
    work = getWork();
    work.setPublicationDate(new PublicationDate(new Year(2017), null, null));
    activityValidator.validateWork(work, null, true, true, Visibility.PUBLIC);
    work = getWork();
    activityValidator.validateWork(work, null, true, true, Visibility.PUBLIC);
}
Also used : Month(org.orcid.jaxb.model.v3.dev1.common.Month) PublicationDate(org.orcid.jaxb.model.v3.dev1.common.PublicationDate) Year(org.orcid.jaxb.model.v3.dev1.common.Year) Work(org.orcid.jaxb.model.v3.dev1.record.Work) OrcidValidationException(org.orcid.core.exception.OrcidValidationException) ActivityTypeValidationException(org.orcid.core.exception.ActivityTypeValidationException) Day(org.orcid.jaxb.model.v3.dev1.common.Day) Test(org.junit.Test)

Example 10 with Month

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

the class PojoUtilTest method affiliationsCreateDateSortString_NullStartYearNullEndYearTest.

@Test
public void affiliationsCreateDateSortString_NullStartYearNullEndYearTest() {
    Affiliation aff = new Employment();
    FuzzyDate start = new FuzzyDate();
    FuzzyDate end = new FuzzyDate();
    start.setDay(new Day(1));
    start.setMonth(new Month(2));
    end.setDay(new Day(3));
    end.setMonth(new Month(4));
    aff.setStartDate(start);
    aff.setEndDate(end);
    String dateSortString = PojoUtil.createDateSortString(aff);
    assertEquals("X-NaN-04-03-NaN-02-01", dateSortString);
}
Also used : Month(org.orcid.jaxb.model.v3.dev1.common.Month) Employment(org.orcid.jaxb.model.v3.dev1.record.Employment) FuzzyDate(org.orcid.jaxb.model.v3.dev1.common.FuzzyDate) Day(org.orcid.jaxb.model.v3.dev1.common.Day) Affiliation(org.orcid.jaxb.model.v3.dev1.record.Affiliation) Test(org.junit.Test)

Aggregations

Day (org.orcid.jaxb.model.v3.dev1.common.Day)17 Month (org.orcid.jaxb.model.v3.dev1.common.Month)17 FuzzyDate (org.orcid.jaxb.model.v3.dev1.common.FuzzyDate)14 Year (org.orcid.jaxb.model.v3.dev1.common.Year)14 Test (org.junit.Test)10 Affiliation (org.orcid.jaxb.model.v3.dev1.record.Affiliation)8 Employment (org.orcid.jaxb.model.v3.dev1.record.Employment)8 Work (org.orcid.jaxb.model.v3.dev1.record.Work)8 PeerReview (org.orcid.jaxb.model.v3.dev1.record.PeerReview)6 PublicationDate (org.orcid.jaxb.model.v3.dev1.common.PublicationDate)5 Url (org.orcid.jaxb.model.v3.dev1.common.Url)4 WorkTitle (org.orcid.jaxb.model.v3.dev1.record.WorkTitle)4 ArrayList (java.util.ArrayList)3 MapperFactory (ma.glasnost.orika.MapperFactory)3 ConverterFactory (ma.glasnost.orika.converter.ConverterFactory)3 DefaultMapperFactory (ma.glasnost.orika.impl.DefaultMapperFactory)3 CreatedDate (org.orcid.jaxb.model.v3.dev1.common.CreatedDate)3 ExternalID (org.orcid.jaxb.model.v3.dev1.record.ExternalID)3 Funding (org.orcid.jaxb.model.v3.dev1.record.Funding)3 Date (java.util.Date)2