This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository observe. See http://git.codelutin.com/observe.git commit 48c6a83cdd880f910889dab9729fc8f5a27eef55 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 26 10:58:09 2015 +0100 Ajout d'un nouveau système de binder déterministe et qui est auto-suffisant --- .../ird/observe/services/binder/BinderEngine.java | 145 +++ .../services/binder/BinderEngineInitializer.java | 1149 ++++++++++++++++++++ .../ird/observe/services/binder/BinderSupport.java | 272 +++++ .../binder/data/ActivityLonglineBinder.java | 71 ++ .../data/ActivityLonglineEncouterDtoBinder.java | 56 + .../data/ActivityLonglineSensorUsedDtoBinder.java | 42 + .../binder/data/ActivityLonglineStubDtoBinder.java | 37 + .../services/binder/data/ActivitySeineBinder.java | 99 ++ .../data/ActivitySeineObservedSystemDtoBinder.java | 42 + .../binder/data/ActivitySeineStubDtoBinder.java | 40 + .../binder/data/BaitsCompositionBinder.java | 48 + .../observe/services/binder/data/BasketBinder.java | 60 + .../services/binder/data/BranchlineBinder.java | 108 ++ .../binder/data/BranchlinesCompositionBinder.java | 44 + .../services/binder/data/CatchLonglineBinder.java | 123 +++ .../services/binder/data/DataBinderSupport.java | 181 +++ .../services/binder/data/EncounterBinder.java | 64 ++ .../services/binder/data/FloatingObjectBinder.java | 67 ++ .../FloatingObjectObservedSpeciesDtoBinder.java | 39 + .../FloatingObjectSchoolEstimateDtoBinder.java | 39 + .../FloatingObjectTransmittingBuoyDtoBinder.java | 39 + .../binder/data/FloatlinesCompositionBinder.java | 42 + .../binder/data/GearUseFeaturesLonglineBinder.java | 38 + .../GearUseFeaturesMeasurementLonglineBinder.java | 40 + .../GearUseFeaturesMeasurementSeineBinder.java | 41 + .../binder/data/GearUseFeaturesSeineBinder.java | 40 + .../binder/data/HooksCompositionBinder.java | 46 + .../services/binder/data/NonTargetCatchBinder.java | 84 ++ .../binder/data/NonTargetLengthBinder.java | 57 + .../binder/data/NonTargetSampleBinder.java | 39 + .../binder/data/ObjectObservedSpeciesBinder.java | 47 + .../binder/data/ObjectSchoolEstimateBinder.java | 39 + .../observe/services/binder/data/RouteBinder.java | 64 ++ .../services/binder/data/RouteStubDtoBinder.java | 39 + .../services/binder/data/SchoolEstimateBinder.java | 62 ++ .../services/binder/data/SectionBinder.java | 56 + .../services/binder/data/SensorUsedBinder.java | 53 + .../services/binder/data/SetLonglineBinder.java | 119 ++ .../binder/data/SetLonglineCatchDtoBinder.java | 39 + .../SetLonglineDetailCompositionDtoBinder.java | 54 + .../SetLonglineGlobalCompositionDtoBinder.java | 58 + .../binder/data/SetLonglineStubDtoBinder.java | 34 + .../binder/data/SetLonglineTdrDtoBinder.java | 37 + .../services/binder/data/SetSeineBinder.java | 74 ++ .../data/SetSeineNonTargetCatchDtoBinder.java | 36 + .../data/SetSeineSchoolEstimateDtoBinder.java | 40 + .../binder/data/SetSeineTargetCatchDtoBinder.java | 39 + .../services/binder/data/SizeMeasureBinder.java | 40 + .../services/binder/data/TargetCatchBinder.java | 55 + .../services/binder/data/TargetLengthBinder.java | 76 ++ .../services/binder/data/TargetSampleBinder.java | 44 + .../observe/services/binder/data/TdrBinder.java | 100 ++ .../binder/data/TransmittingBuoyBinder.java | 51 + .../binder/data/TripLonglineActivityDtoBinder.java | 35 + .../services/binder/data/TripLonglineBinder.java | 102 ++ .../binder/data/TripLonglineGearUseDtoBinder.java | 39 + .../services/binder/data/TripSeineBinder.java | 101 ++ .../binder/data/TripSeineGearUseDtoBinder.java | 39 + .../services/binder/data/WeightMeasureBinder.java | 39 + .../referential/BaitHaulingStatusBinder.java | 50 + .../referential/BaitSettingStatusBinder.java | 50 + .../binder/referential/BaitTypeBinder.java | 50 + .../referential/CatchFateLonglineBinder.java | 50 + .../services/binder/referential/CountryBinder.java | 54 + .../binder/referential/DetectionModeBinder.java | 50 + .../binder/referential/EncounterTypeBinder.java | 50 + .../services/binder/referential/FpaZoneBinder.java | 54 + .../services/binder/referential/GearBinder.java | 53 + .../referential/GearCaracteristicBinder.java | 60 + .../referential/GearCaracteristicTypeBinder.java | 50 + .../services/binder/referential/HarbourBinder.java | 62 ++ .../binder/referential/HealthnessBinder.java | 50 + .../binder/referential/HookPositionBinder.java | 50 + .../binder/referential/HookSizeBinder.java | 54 + .../binder/referential/HookTypeBinder.java | 50 + .../referential/ItemHorizontalPositionBinder.java | 54 + .../referential/ItemVerticalPositionBinder.java | 54 + .../referential/LengthWeightParameterBinder.java | 71 ++ .../binder/referential/LightsticksColorBinder.java | 50 + .../binder/referential/LightsticksTypeBinder.java | 50 + .../binder/referential/LineTypeBinder.java | 50 + .../binder/referential/MaturityStatusBinder.java | 54 + .../binder/referential/MitigationTypeBinder.java | 50 + .../binder/referential/ObjectFateBinder.java | 50 + .../binder/referential/ObjectOperationBinder.java | 50 + .../binder/referential/ObjectTypeBinder.java | 50 + .../binder/referential/ObservedSystemBinder.java | 56 + .../services/binder/referential/OceanBinder.java | 50 + .../binder/referential/OrganismBinder.java | 60 + .../services/binder/referential/PersonBinder.java | 72 ++ .../services/binder/referential/ProgramBinder.java | 86 ++ .../binder/referential/ReasonForDiscardBinder.java | 54 + .../referential/ReasonForNoFishingBinder.java | 54 + .../binder/referential/ReasonForNullSetBinder.java | 54 + .../referential/ReferentialBinderSupport.java | 138 +++ .../binder/referential/SensorBrandBinder.java | 56 + .../binder/referential/SensorDataFormatBinder.java | 54 + .../binder/referential/SensorTypeBinder.java | 54 + .../binder/referential/SettingShapeBinder.java | 54 + .../services/binder/referential/SexBinder.java | 54 + .../binder/referential/SizeMeasureTypeBinder.java | 54 + .../services/binder/referential/SpeciesBinder.java | 86 ++ .../binder/referential/SpeciesFateBinder.java | 54 + .../binder/referential/SpeciesGroupBinder.java | 54 + .../binder/referential/SpeciesListBinder.java | 54 + .../binder/referential/SpeciesStatusBinder.java | 54 + .../binder/referential/StomacFullnessBinder.java | 54 + .../referential/SurroundingActivityBinder.java | 54 + .../TransmittingBuoyOperationBinder.java | 54 + .../referential/TransmittingBuoyTypeBinder.java | 54 + .../binder/referential/TripTypeBinder.java | 54 + .../referential/VesselActivityLonglineBinder.java | 54 + .../referential/VesselActivitySeineBinder.java | 54 + .../services/binder/referential/VesselBinder.java | 84 ++ .../referential/VesselSizeCategoryBinder.java | 60 + .../binder/referential/VesselTypeBinder.java | 54 + .../binder/referential/WeightCategoryBinder.java | 60 + .../referential/WeightMeasureTypeBinder.java | 54 + .../services/binder/referential/WindBinder.java | 57 + .../services/binder/BinderEngineMetadataTest.java | 167 +++ .../observe/services/binder/BinderEngineTest.java | 373 +++++++ 121 files changed, 8762 insertions(+) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java new file mode 100644 index 0000000..cf22134 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java @@ -0,0 +1,145 @@ +package fr.ird.observe.services.binder; + +import com.google.common.collect.ImmutableMap; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.binder.data.DataBinderSupport; +import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.ObserveModelInitializerRunner; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import org.nuiton.topia.persistence.TopiaEntity; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BinderEngine { + + private static final BinderEngine INSTANCE = new BinderEngine(); + + protected ImmutableMap<Class<? extends ReferentialDto>, BinderSupport> referentialBinders; + + protected ImmutableMap<Class<? extends DataDto>, BinderSupport> dataBinders; + + protected ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> referentialDtoToEntityTypes; + + protected ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypes; + + protected ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypes; + + protected ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToTtoTypes; + + public static BinderEngine get() { + return INSTANCE; + } + + protected BinderEngine() { + + BinderEngineInitializer initializer = new BinderEngineInitializer(); + ObserveModelInitializerRunner.init(initializer); + + dataBinders = initializer.dataBinders; + referentialBinders = initializer.referentialBinders; + + dataDtoToEntityTypes = initializer.dataDtoToEntityTypeTypes; + referentialDtoToEntityTypes = initializer.referentialDtoToEntityTypes; + + referentialEntityToDtoTypes = initializer.referentialEntityToDtoTypes; + dataEntityToTtoTypes = initializer.dataEntityToDToTypes; + + } + + public <D extends ReferentialDto, E extends ReferenceEntity> ReferentialBinderSupport<E, D> getReferentialBinder(Class<D> dtoType) { + return (ReferentialBinderSupport) referentialBinders.get(dtoType); + } + + public <D extends DataDto, E extends TopiaEntity> DataBinderSupport<E, D> getDataBinder(Class<D> dtoType) { + return (DataBinderSupport) dataBinders.get(dtoType); + } + + public <D extends DataDto, E extends TopiaEntity> DataBinderSupport<E, D> getDataBinder(D dtoType) { + return (DataBinderSupport) dataBinders.get(dtoType.getClass()); + } + + public <D extends DataDto, E extends TopiaEntity> Class<E> getDataEntityType(Class<D> dtoType) { + return (Class<E>) dataDtoToEntityTypes.get(dtoType); + } + + public <D extends DataDto, E extends TopiaEntity> Class<D> getDataDtoType(Class<E> entityType) { + return (Class<D>) dataEntityToTtoTypes.get(entityType); + } + + public <D extends ReferentialDto, E extends ReferenceEntity> Class<D> getReferentialDtoType(Class<E> entityType) { + return (Class<D>) referentialEntityToDtoTypes.get(entityType); + } + + public <D extends ReferentialDto, E extends ReferenceEntity> Class<E> getReferentialEntityType(Class<D> dtoType) { + return (Class<E>) referentialDtoToEntityTypes.get(dtoType); + } + + public <D extends ReferentialDto, E extends ReferenceEntity> D transformEntityToReferentialDto(ReferentialLocale referentialLocale, E entity) { + + Class<D> dtoType = getReferentialDtoType(entity.getClass()); + ReferentialBinderSupport<E, D> binder = getReferentialBinder(dtoType); + + D dto = binder.newDto(); + binder.copyToDto(referentialLocale, entity, dto); + + return dto; + + } + + public <D extends ReferentialDto, E extends ReferenceEntity> E transformReferentialDtoToEntity(ReferentialLocale referentialLocale, D dto) { + + Class<D> dtoType = (Class<D>) dto.getClass(); + ReferentialBinderSupport<E, D> binder = getReferentialBinder(dtoType); + + E entity = binder.newEntity(); + binder.copyToEntity(referentialLocale, dto, entity); + + return entity; + + } + + public <D extends DataDto, E extends TopiaEntity> D transformEntityToDataDto(ReferentialLocale referentialLocale, E entity) { + + Class<D> dtoType = getDataDtoType(entity.getClass()); + DataBinderSupport<E, D> binder = getDataBinder(dtoType); + + D dto = binder.newDto(); + binder.copyToDto(referentialLocale, entity, dto); + + return dto; + + } + + public <D extends DataDto, E extends TopiaEntity> E transformDataDtoToEntity(ReferentialLocale referentialLocale, D dto) { + + Class<D> dtoType = (Class<D>) dto.getClass(); + DataBinderSupport<E, D> binder = getDataBinder(dtoType); + + E entity = binder.newEntity(); + binder.copyToEntity(referentialLocale, dto, entity); + + return entity; + + } + + protected ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> getReferentialEntityToDtoTypes() { + return referentialEntityToDtoTypes; + } + + protected ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> getDataEntityToDtoTypes() { + return dataEntityToTtoTypes; + } + + protected ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> getDataDtoToEntityTypes() { + return dataDtoToEntityTypes; + } + + protected ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> getReferentialDtoToEntityTypes() { + return referentialDtoToEntityTypes; + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngineInitializer.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngineInitializer.java new file mode 100644 index 0000000..bd3dfdb --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngineInitializer.java @@ -0,0 +1,1149 @@ +package fr.ird.observe.services.binder; + +import com.google.common.collect.ImmutableMap; +import fr.ird.observe.ObserveEntityEnum; +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.longline.BaitsComposition; +import fr.ird.observe.entities.longline.Basket; +import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.entities.longline.BranchlinesComposition; +import fr.ird.observe.entities.longline.CatchLongline; +import fr.ird.observe.entities.longline.Encounter; +import fr.ird.observe.entities.longline.FloatlinesComposition; +import fr.ird.observe.entities.longline.GearUseFeaturesLongline; +import fr.ird.observe.entities.longline.GearUseFeaturesMeasurementLongline; +import fr.ird.observe.entities.longline.HooksComposition; +import fr.ird.observe.entities.longline.Section; +import fr.ird.observe.entities.longline.SensorUsed; +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.entities.longline.SizeMeasure; +import fr.ird.observe.entities.longline.Tdr; +import fr.ird.observe.entities.longline.TripLongline; +import fr.ird.observe.entities.longline.WeightMeasure; +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.entities.referentiel.FpaZone; +import fr.ird.observe.entities.referentiel.Gear; +import fr.ird.observe.entities.referentiel.GearCaracteristic; +import fr.ird.observe.entities.referentiel.GearCaracteristicType; +import fr.ird.observe.entities.referentiel.Harbour; +import fr.ird.observe.entities.referentiel.LengthWeightParameter; +import fr.ird.observe.entities.referentiel.Ocean; +import fr.ird.observe.entities.referentiel.Organism; +import fr.ird.observe.entities.referentiel.Person; +import fr.ird.observe.entities.referentiel.Program; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.entities.referentiel.Sex; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.SpeciesGroup; +import fr.ird.observe.entities.referentiel.SpeciesList; +import fr.ird.observe.entities.referentiel.Vessel; +import fr.ird.observe.entities.referentiel.VesselSizeCategory; +import fr.ird.observe.entities.referentiel.VesselType; +import fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus; +import fr.ird.observe.entities.referentiel.longline.BaitSettingStatus; +import fr.ird.observe.entities.referentiel.longline.BaitType; +import fr.ird.observe.entities.referentiel.longline.CatchFateLongline; +import fr.ird.observe.entities.referentiel.longline.EncounterType; +import fr.ird.observe.entities.referentiel.longline.Healthness; +import fr.ird.observe.entities.referentiel.longline.HookPosition; +import fr.ird.observe.entities.referentiel.longline.HookSize; +import fr.ird.observe.entities.referentiel.longline.HookType; +import fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition; +import fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition; +import fr.ird.observe.entities.referentiel.longline.LightsticksColor; +import fr.ird.observe.entities.referentiel.longline.LightsticksType; +import fr.ird.observe.entities.referentiel.longline.LineType; +import fr.ird.observe.entities.referentiel.longline.MaturityStatus; +import fr.ird.observe.entities.referentiel.longline.MitigationType; +import fr.ird.observe.entities.referentiel.longline.SensorBrand; +import fr.ird.observe.entities.referentiel.longline.SensorDataFormat; +import fr.ird.observe.entities.referentiel.longline.SensorType; +import fr.ird.observe.entities.referentiel.longline.SettingShape; +import fr.ird.observe.entities.referentiel.longline.SizeMeasureType; +import fr.ird.observe.entities.referentiel.longline.StomacFullness; +import fr.ird.observe.entities.referentiel.longline.TripType; +import fr.ird.observe.entities.referentiel.longline.VesselActivityLongline; +import fr.ird.observe.entities.referentiel.longline.WeightMeasureType; +import fr.ird.observe.entities.referentiel.seine.DetectionMode; +import fr.ird.observe.entities.referentiel.seine.ObjectFate; +import fr.ird.observe.entities.referentiel.seine.ObjectOperation; +import fr.ird.observe.entities.referentiel.seine.ObjectType; +import fr.ird.observe.entities.referentiel.seine.ObservedSystem; +import fr.ird.observe.entities.referentiel.seine.ReasonForDiscard; +import fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing; +import fr.ird.observe.entities.referentiel.seine.ReasonForNullSet; +import fr.ird.observe.entities.referentiel.seine.SpeciesFate; +import fr.ird.observe.entities.referentiel.seine.SpeciesStatus; +import fr.ird.observe.entities.referentiel.seine.SurroundingActivity; +import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation; +import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType; +import fr.ird.observe.entities.referentiel.seine.VesselActivitySeine; +import fr.ird.observe.entities.referentiel.seine.WeightCategory; +import fr.ird.observe.entities.referentiel.seine.Wind; +import fr.ird.observe.entities.seine.ActivitySeine; +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; +import fr.ird.observe.entities.seine.GearUseFeaturesSeine; +import fr.ird.observe.entities.seine.NonTargetCatch; +import fr.ird.observe.entities.seine.NonTargetLength; +import fr.ird.observe.entities.seine.NonTargetSample; +import fr.ird.observe.entities.seine.ObjectObservedSpecies; +import fr.ird.observe.entities.seine.ObjectSchoolEstimate; +import fr.ird.observe.entities.seine.Route; +import fr.ird.observe.entities.seine.SchoolEstimate; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.entities.seine.TargetCatch; +import fr.ird.observe.entities.seine.TargetLength; +import fr.ird.observe.entities.seine.TargetSample; +import fr.ird.observe.entities.seine.TransmittingBuoy; +import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.services.binder.data.ActivityLonglineBinder; +import fr.ird.observe.services.binder.data.ActivityLonglineEncouterDtoBinder; +import fr.ird.observe.services.binder.data.ActivityLonglineSensorUsedDtoBinder; +import fr.ird.observe.services.binder.data.ActivityLonglineStubDtoBinder; +import fr.ird.observe.services.binder.data.ActivitySeineBinder; +import fr.ird.observe.services.binder.data.ActivitySeineObservedSystemDtoBinder; +import fr.ird.observe.services.binder.data.ActivitySeineStubDtoBinder; +import fr.ird.observe.services.binder.data.BaitsCompositionBinder; +import fr.ird.observe.services.binder.data.BasketBinder; +import fr.ird.observe.services.binder.data.BranchlineBinder; +import fr.ird.observe.services.binder.data.BranchlinesCompositionBinder; +import fr.ird.observe.services.binder.data.CatchLonglineBinder; +import fr.ird.observe.services.binder.data.EncounterBinder; +import fr.ird.observe.services.binder.data.FloatingObjectBinder; +import fr.ird.observe.services.binder.data.FloatingObjectObservedSpeciesDtoBinder; +import fr.ird.observe.services.binder.data.FloatingObjectSchoolEstimateDtoBinder; +import fr.ird.observe.services.binder.data.FloatingObjectTransmittingBuoyDtoBinder; +import fr.ird.observe.services.binder.data.FloatlinesCompositionBinder; +import fr.ird.observe.services.binder.data.GearUseFeaturesLonglineBinder; +import fr.ird.observe.services.binder.data.GearUseFeaturesMeasurementLonglineBinder; +import fr.ird.observe.services.binder.data.GearUseFeaturesMeasurementSeineBinder; +import fr.ird.observe.services.binder.data.GearUseFeaturesSeineBinder; +import fr.ird.observe.services.binder.data.HooksCompositionBinder; +import fr.ird.observe.services.binder.data.NonTargetCatchBinder; +import fr.ird.observe.services.binder.data.NonTargetLengthBinder; +import fr.ird.observe.services.binder.data.NonTargetSampleBinder; +import fr.ird.observe.services.binder.data.ObjectObservedSpeciesBinder; +import fr.ird.observe.services.binder.data.ObjectSchoolEstimateBinder; +import fr.ird.observe.services.binder.data.RouteBinder; +import fr.ird.observe.services.binder.data.RouteStubDtoBinder; +import fr.ird.observe.services.binder.data.SchoolEstimateBinder; +import fr.ird.observe.services.binder.data.SectionBinder; +import fr.ird.observe.services.binder.data.SensorUsedBinder; +import fr.ird.observe.services.binder.data.SetLonglineBinder; +import fr.ird.observe.services.binder.data.SetLonglineCatchDtoBinder; +import fr.ird.observe.services.binder.data.SetLonglineDetailCompositionDtoBinder; +import fr.ird.observe.services.binder.data.SetLonglineGlobalCompositionDtoBinder; +import fr.ird.observe.services.binder.data.SetLonglineStubDtoBinder; +import fr.ird.observe.services.binder.data.SetLonglineTdrDtoBinder; +import fr.ird.observe.services.binder.data.SetSeineBinder; +import fr.ird.observe.services.binder.data.SetSeineNonTargetCatchDtoBinder; +import fr.ird.observe.services.binder.data.SetSeineSchoolEstimateDtoBinder; +import fr.ird.observe.services.binder.data.SetSeineTargetCatchDtoBinder; +import fr.ird.observe.services.binder.data.SizeMeasureBinder; +import fr.ird.observe.services.binder.data.TargetCatchBinder; +import fr.ird.observe.services.binder.data.TargetLengthBinder; +import fr.ird.observe.services.binder.data.TargetSampleBinder; +import fr.ird.observe.services.binder.data.TdrBinder; +import fr.ird.observe.services.binder.data.TransmittingBuoyBinder; +import fr.ird.observe.services.binder.data.TripLonglineActivityDtoBinder; +import fr.ird.observe.services.binder.data.TripLonglineBinder; +import fr.ird.observe.services.binder.data.TripLonglineGearUseDtoBinder; +import fr.ird.observe.services.binder.data.TripSeineBinder; +import fr.ird.observe.services.binder.data.TripSeineGearUseDtoBinder; +import fr.ird.observe.services.binder.data.WeightMeasureBinder; +import fr.ird.observe.services.binder.referential.BaitHaulingStatusBinder; +import fr.ird.observe.services.binder.referential.BaitSettingStatusBinder; +import fr.ird.observe.services.binder.referential.BaitTypeBinder; +import fr.ird.observe.services.binder.referential.CatchFateLonglineBinder; +import fr.ird.observe.services.binder.referential.CountryBinder; +import fr.ird.observe.services.binder.referential.DetectionModeBinder; +import fr.ird.observe.services.binder.referential.EncounterTypeBinder; +import fr.ird.observe.services.binder.referential.FpaZoneBinder; +import fr.ird.observe.services.binder.referential.GearBinder; +import fr.ird.observe.services.binder.referential.GearCaracteristicBinder; +import fr.ird.observe.services.binder.referential.GearCaracteristicTypeBinder; +import fr.ird.observe.services.binder.referential.HarbourBinder; +import fr.ird.observe.services.binder.referential.HealthnessBinder; +import fr.ird.observe.services.binder.referential.HookPositionBinder; +import fr.ird.observe.services.binder.referential.HookSizeBinder; +import fr.ird.observe.services.binder.referential.HookTypeBinder; +import fr.ird.observe.services.binder.referential.ItemHorizontalPositionBinder; +import fr.ird.observe.services.binder.referential.ItemVerticalPositionBinder; +import fr.ird.observe.services.binder.referential.LengthWeightParameterBinder; +import fr.ird.observe.services.binder.referential.LightsticksColorBinder; +import fr.ird.observe.services.binder.referential.LightsticksTypeBinder; +import fr.ird.observe.services.binder.referential.LineTypeBinder; +import fr.ird.observe.services.binder.referential.MaturityStatusBinder; +import fr.ird.observe.services.binder.referential.MitigationTypeBinder; +import fr.ird.observe.services.binder.referential.ObjectFateBinder; +import fr.ird.observe.services.binder.referential.ObjectOperationBinder; +import fr.ird.observe.services.binder.referential.ObjectTypeBinder; +import fr.ird.observe.services.binder.referential.ObservedSystemBinder; +import fr.ird.observe.services.binder.referential.OceanBinder; +import fr.ird.observe.services.binder.referential.OrganismBinder; +import fr.ird.observe.services.binder.referential.PersonBinder; +import fr.ird.observe.services.binder.referential.ProgramBinder; +import fr.ird.observe.services.binder.referential.ReasonForDiscardBinder; +import fr.ird.observe.services.binder.referential.ReasonForNoFishingBinder; +import fr.ird.observe.services.binder.referential.ReasonForNullSetBinder; +import fr.ird.observe.services.binder.referential.SensorBrandBinder; +import fr.ird.observe.services.binder.referential.SensorDataFormatBinder; +import fr.ird.observe.services.binder.referential.SensorTypeBinder; +import fr.ird.observe.services.binder.referential.SettingShapeBinder; +import fr.ird.observe.services.binder.referential.SexBinder; +import fr.ird.observe.services.binder.referential.SizeMeasureTypeBinder; +import fr.ird.observe.services.binder.referential.SpeciesBinder; +import fr.ird.observe.services.binder.referential.SpeciesFateBinder; +import fr.ird.observe.services.binder.referential.SpeciesGroupBinder; +import fr.ird.observe.services.binder.referential.SpeciesListBinder; +import fr.ird.observe.services.binder.referential.SpeciesStatusBinder; +import fr.ird.observe.services.binder.referential.StomacFullnessBinder; +import fr.ird.observe.services.binder.referential.SurroundingActivityBinder; +import fr.ird.observe.services.binder.referential.TransmittingBuoyOperationBinder; +import fr.ird.observe.services.binder.referential.TransmittingBuoyTypeBinder; +import fr.ird.observe.services.binder.referential.TripTypeBinder; +import fr.ird.observe.services.binder.referential.VesselActivityLonglineBinder; +import fr.ird.observe.services.binder.referential.VesselActivitySeineBinder; +import fr.ird.observe.services.binder.referential.VesselBinder; +import fr.ird.observe.services.binder.referential.VesselSizeCategoryBinder; +import fr.ird.observe.services.binder.referential.VesselTypeBinder; +import fr.ird.observe.services.binder.referential.WeightCategoryBinder; +import fr.ird.observe.services.binder.referential.WeightMeasureTypeBinder; +import fr.ird.observe.services.binder.referential.WindBinder; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.ObserveModelInitializer; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineStubDto; +import fr.ird.observe.services.dto.longline.BaitsCompositionDto; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; +import fr.ird.observe.services.dto.longline.CatchLonglineDto; +import fr.ird.observe.services.dto.longline.EncounterDto; +import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; +import fr.ird.observe.services.dto.longline.HooksCompositionDto; +import fr.ird.observe.services.dto.longline.SectionDto; +import fr.ird.observe.services.dto.longline.SensorUsedDto; +import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; +import fr.ird.observe.services.dto.longline.SetLonglineDto; +import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; +import fr.ird.observe.services.dto.longline.SetLonglineStubDto; +import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; +import fr.ird.observe.services.dto.longline.SizeMeasureDto; +import fr.ird.observe.services.dto.longline.TdrDto; +import fr.ird.observe.services.dto.longline.TripLonglineActivityDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; +import fr.ird.observe.services.dto.longline.WeightMeasureDto; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.FpaZoneDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; +import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.OrganismDto; +import fr.ird.observe.services.dto.referential.PersonDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.SexDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.SpeciesGroupDto; +import fr.ird.observe.services.dto.referential.SpeciesListDto; +import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; +import fr.ird.observe.services.dto.referential.VesselTypeDto; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; +import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; +import fr.ird.observe.services.dto.referential.longline.HealthnessDto; +import fr.ird.observe.services.dto.referential.longline.HookPositionDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto; +import fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksColorDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.dto.referential.longline.MaturityStatusDto; +import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; +import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; +import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; +import fr.ird.observe.services.dto.referential.longline.SettingShapeDto; +import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; +import fr.ird.observe.services.dto.referential.longline.StomacFullnessDto; +import fr.ird.observe.services.dto.referential.longline.TripTypeDto; +import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; +import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; +import fr.ird.observe.services.dto.referential.seine.DetectionModeDto; +import fr.ird.observe.services.dto.referential.seine.ObjectFateDto; +import fr.ird.observe.services.dto.referential.seine.ObjectOperationDto; +import fr.ird.observe.services.dto.referential.seine.ObjectTypeDto; +import fr.ird.observe.services.dto.referential.seine.ObservedSystemDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; +import fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; +import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; +import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; +import fr.ird.observe.services.dto.referential.seine.WindDto; +import fr.ird.observe.services.dto.seine.ActivitySeineDto; +import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; +import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; +import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; +import fr.ird.observe.services.dto.seine.NonTargetCatchDto; +import fr.ird.observe.services.dto.seine.NonTargetLengthDto; +import fr.ird.observe.services.dto.seine.NonTargetSampleDto; +import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.RouteDto; +import fr.ird.observe.services.dto.seine.RouteStubDto; +import fr.ird.observe.services.dto.seine.SchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; +import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; +import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; +import fr.ird.observe.services.dto.seine.TargetCatchDto; +import fr.ird.observe.services.dto.seine.TargetLengthDto; +import fr.ird.observe.services.dto.seine.TargetSampleDto; +import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; +import org.nuiton.topia.persistence.TopiaEntity; + +import java.util.Map; + +class BinderEngineInitializer implements ObserveModelInitializer { + + ImmutableMap.Builder<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypeBuilder; + + ImmutableMap.Builder<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDToTypeBuilder; + + ImmutableMap.Builder<Class<? extends DataDto>, BinderSupport> dataBinderBuilder; + + ImmutableMap.Builder<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> referentialDtoToEntityTypeBuilder; + + ImmutableMap.Builder<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypeBuilder; + + ImmutableMap.Builder<Class<? extends ReferentialDto>, BinderSupport> referentialBinderBuilder; + + ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypeTypes; + + ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDToTypes; + + ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> referentialDtoToEntityTypes; + + ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypes; + + ImmutableMap<Class<? extends DataDto>, BinderSupport> dataBinders; + + ImmutableMap<Class<? extends ReferentialDto>, BinderSupport> referentialBinders; + + @Override + public void start() { + + dataDtoToEntityTypeBuilder = ImmutableMap.builder(); + referentialDtoToEntityTypeBuilder = ImmutableMap.builder(); + + dataEntityToDToTypeBuilder = ImmutableMap.builder(); + referentialEntityToDtoTypeBuilder = ImmutableMap.builder(); + + dataBinderBuilder = ImmutableMap.builder(); + referentialBinderBuilder = ImmutableMap.builder(); + + } + + @Override + public void end() { + dataDtoToEntityTypeTypes = dataDtoToEntityTypeBuilder.build(); + referentialDtoToEntityTypes = referentialDtoToEntityTypeBuilder.build(); + + dataBinders = dataBinderBuilder.build(); + referentialBinders = referentialBinderBuilder.build(); + + for (Map.Entry<Class<? extends DataDto>, Class<? extends TopiaEntity>> entry : dataDtoToEntityTypeTypes.entrySet()) { + + Class<? extends DataDto> dtoType = entry.getKey(); + Class<? extends TopiaEntity> entityType = entry.getValue(); + + if ((entityType.getSimpleName() + "Dto").equals(dtoType.getSimpleName())) { + ObserveEntityEnum observeEntityEnum = ObserveEntityEnum.valueOf(entityType); + dataEntityToDToTypeBuilder.put(entityType, dtoType); + dataEntityToDToTypeBuilder.put(observeEntityEnum.getImplementation(), dtoType); + } + } + + for (Map.Entry<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> entry : referentialDtoToEntityTypes.entrySet()) { + + Class<? extends ReferentialDto> dtoType = entry.getKey(); + Class<? extends ReferenceEntity> entityType = entry.getValue(); + + if ((entityType.getSimpleName() + "Dto").equals(dtoType.getSimpleName())) { + ObserveEntityEnum observeEntityEnum = ObserveEntityEnum.valueOf(entityType); + referentialEntityToDtoTypeBuilder.put(entityType, dtoType); + referentialEntityToDtoTypeBuilder.put((Class<? extends ReferenceEntity>) observeEntityEnum.getImplementation(), dtoType); + } + } + dataEntityToDToTypes = dataEntityToDToTypeBuilder.build(); + referentialEntityToDtoTypes = referentialEntityToDtoTypeBuilder.build(); + } + + @Override + public void initCommentableDto() { + + } + + @Override + public void initDataDto() { + + } + + @Override + public void initIdDto() { + + } + + @Override + public void initObserveDbUserDto() { + + } + + @Override + public void initOpenableDto() { + + } + + @Override + public void initTripMapDto() { + + } + + @Override + public void initTripMapPointDto() { + + } + + @Override + public void initReferentialDto() { + + } + + @Override + public void initI18nReferentialDto() { + + } + + @Override + public void initSaveResultDto() { + + } + + @Override + public void initTripChildSaveResultDto() { + + } + + @Override + public void initActivityLonglineDto() { + dataDtoToEntityTypeBuilder.put(ActivityLonglineDto.class, ActivityLongline.class); + dataBinderBuilder.put(ActivityLonglineDto.class, new ActivityLonglineBinder()); + } + + @Override + public void initActivityLonglineEncouterDto() { + dataDtoToEntityTypeBuilder.put(ActivityLonglineEncouterDto.class, ActivityLongline.class); + dataBinderBuilder.put(ActivityLonglineEncouterDto.class, new ActivityLonglineEncouterDtoBinder()); + } + + @Override + public void initActivityLonglineSensorUsedDto() { + dataDtoToEntityTypeBuilder.put(ActivityLonglineSensorUsedDto.class, ActivityLongline.class); + dataBinderBuilder.put(ActivityLonglineSensorUsedDto.class, new ActivityLonglineSensorUsedDtoBinder()); + } + + @Override + public void initActivityLonglineStubDto() { + dataDtoToEntityTypeBuilder.put(ActivityLonglineStubDto.class, ActivityLongline.class); + dataBinderBuilder.put(ActivityLonglineStubDto.class, new ActivityLonglineStubDtoBinder()); + } + + @Override + public void initBaitsCompositionDto() { + dataDtoToEntityTypeBuilder.put(BaitsCompositionDto.class, BaitsComposition.class); + dataBinderBuilder.put(BaitsCompositionDto.class, new BaitsCompositionBinder()); + } + + @Override + public void initBasketDto() { + dataDtoToEntityTypeBuilder.put(BasketDto.class, Basket.class); + dataBinderBuilder.put(BasketDto.class, new BasketBinder()); + } + + @Override + public void initBranchlineDto() { + dataDtoToEntityTypeBuilder.put(BranchlineDto.class, Branchline.class); + dataBinderBuilder.put(BranchlineDto.class, new BranchlineBinder()); + } + + @Override + public void initBranchlinesCompositionDto() { + dataDtoToEntityTypeBuilder.put(BranchlinesCompositionDto.class, BranchlinesComposition.class); + dataBinderBuilder.put(BranchlinesCompositionDto.class, new BranchlinesCompositionBinder()); + } + + @Override + public void initCatchLonglineDto() { + dataDtoToEntityTypeBuilder.put(CatchLonglineDto.class, CatchLongline.class); + dataBinderBuilder.put(CatchLonglineDto.class, new CatchLonglineBinder()); + } + + @Override + public void initEncounterDto() { + dataDtoToEntityTypeBuilder.put(EncounterDto.class, Encounter.class); + dataBinderBuilder.put(EncounterDto.class, new EncounterBinder()); + } + + @Override + public void initFloatlinesCompositionDto() { + dataDtoToEntityTypeBuilder.put(FloatlinesCompositionDto.class, FloatlinesComposition.class); + dataBinderBuilder.put(FloatlinesCompositionDto.class, new FloatlinesCompositionBinder()); + } + + @Override + public void initGearUseFeaturesLonglineDto() { + dataDtoToEntityTypeBuilder.put(GearUseFeaturesLonglineDto.class, GearUseFeaturesLongline.class); + dataBinderBuilder.put(GearUseFeaturesLonglineDto.class, new GearUseFeaturesLonglineBinder()); + } + + @Override + public void initGearUseFeaturesMeasurementLonglineDto() { + dataDtoToEntityTypeBuilder.put(GearUseFeaturesMeasurementLonglineDto.class, GearUseFeaturesMeasurementLongline.class); + dataBinderBuilder.put(GearUseFeaturesMeasurementLonglineDto.class, new GearUseFeaturesMeasurementLonglineBinder()); + } + + @Override + public void initHooksCompositionDto() { + dataDtoToEntityTypeBuilder.put(HooksCompositionDto.class, HooksComposition.class); + dataBinderBuilder.put(HooksCompositionDto.class, new HooksCompositionBinder()); + } + + @Override + public void initSectionDto() { + dataDtoToEntityTypeBuilder.put(SectionDto.class, Section.class); + dataBinderBuilder.put(SectionDto.class, new SectionBinder()); + } + + @Override + public void initSensorUsedDto() { + dataDtoToEntityTypeBuilder.put(SensorUsedDto.class, SensorUsed.class); + dataBinderBuilder.put(SensorUsedDto.class, new SensorUsedBinder()); + } + + @Override + public void initSetLonglineDto() { + dataDtoToEntityTypeBuilder.put(SetLonglineDto.class, SetLongline.class); + dataBinderBuilder.put(SetLonglineDto.class, new SetLonglineBinder()); + } + + @Override + public void initSetLonglineCatchDto() { + dataDtoToEntityTypeBuilder.put(SetLonglineCatchDto.class, SetLongline.class); + dataBinderBuilder.put(SetLonglineCatchDto.class, new SetLonglineCatchDtoBinder()); + } + + @Override + public void initSetLonglineDetailCompositionDto() { + dataDtoToEntityTypeBuilder.put(SetLonglineDetailCompositionDto.class, SetLongline.class); + dataBinderBuilder.put(SetLonglineDetailCompositionDto.class, new SetLonglineDetailCompositionDtoBinder()); + } + + @Override + public void initSetLonglineGlobalCompositionDto() { + dataDtoToEntityTypeBuilder.put(SetLonglineGlobalCompositionDto.class, SetLongline.class); + dataBinderBuilder.put(SetLonglineGlobalCompositionDto.class, new SetLonglineGlobalCompositionDtoBinder()); + } + + @Override + public void initSetLonglineStubDto() { + dataDtoToEntityTypeBuilder.put(SetLonglineStubDto.class, SetLongline.class); + dataBinderBuilder.put(SetLonglineStubDto.class, new SetLonglineStubDtoBinder()); + } + + @Override + public void initSetLonglineTdrDto() { + dataDtoToEntityTypeBuilder.put(SetLonglineTdrDto.class, SetLongline.class); + dataBinderBuilder.put(SetLonglineTdrDto.class, new SetLonglineTdrDtoBinder()); + } + + @Override + public void initSizeMeasureDto() { + dataDtoToEntityTypeBuilder.put(SizeMeasureDto.class, SizeMeasure.class); + dataBinderBuilder.put(SizeMeasureDto.class, new SizeMeasureBinder()); + } + + @Override + public void initTdrDto() { + dataDtoToEntityTypeBuilder.put(TdrDto.class, Tdr.class); + dataBinderBuilder.put(TdrDto.class, new TdrBinder()); + } + + @Override + public void initTripLonglineDto() { + dataDtoToEntityTypeBuilder.put(TripLonglineDto.class, TripLongline.class); + dataBinderBuilder.put(TripLonglineDto.class, new TripLonglineBinder()); + } + + @Override + public void initTripLonglineActivityDto() { + dataDtoToEntityTypeBuilder.put(TripLonglineActivityDto.class, ActivityLongline.class); + dataBinderBuilder.put(TripLonglineActivityDto.class, new TripLonglineActivityDtoBinder()); + } + + @Override + public void initTripLonglineGearUseDto() { + dataDtoToEntityTypeBuilder.put(TripLonglineGearUseDto.class, TripLongline.class); + dataBinderBuilder.put(TripLonglineGearUseDto.class, new TripLonglineGearUseDtoBinder()); + } + + @Override + public void initWeightMeasureDto() { + dataDtoToEntityTypeBuilder.put(WeightMeasureDto.class, WeightMeasure.class); + dataBinderBuilder.put(WeightMeasureDto.class, new WeightMeasureBinder()); + } + + @Override + public void initActivitySeineDto() { + dataDtoToEntityTypeBuilder.put(ActivitySeineDto.class, ActivitySeine.class); + dataBinderBuilder.put(ActivitySeineDto.class, new ActivitySeineBinder()); + } + + @Override + public void initActivitySeineObservedSystemDto() { + dataDtoToEntityTypeBuilder.put(ActivitySeineObservedSystemDto.class, ActivitySeine.class); + dataBinderBuilder.put(ActivitySeineObservedSystemDto.class, new ActivitySeineObservedSystemDtoBinder()); + } + + @Override + public void initActivitySeineStubDto() { + dataDtoToEntityTypeBuilder.put(ActivitySeineStubDto.class, ActivitySeine.class); + dataBinderBuilder.put(ActivitySeineStubDto.class, new ActivitySeineStubDtoBinder()); + } + + @Override + public void initFloatingObjectDto() { + dataDtoToEntityTypeBuilder.put(FloatingObjectDto.class, FloatingObject.class); + dataBinderBuilder.put(FloatingObjectDto.class, new FloatingObjectBinder()); + } + + @Override + public void initFloatingObjectObservedSpeciesDto() { + dataDtoToEntityTypeBuilder.put(FloatingObjectObservedSpeciesDto.class, FloatingObject.class); + dataBinderBuilder.put(FloatingObjectObservedSpeciesDto.class, new FloatingObjectObservedSpeciesDtoBinder()); + } + + @Override + public void initFloatingObjectSchoolEstimateDto() { + dataDtoToEntityTypeBuilder.put(FloatingObjectSchoolEstimateDto.class, FloatingObject.class); + dataBinderBuilder.put(FloatingObjectSchoolEstimateDto.class, new FloatingObjectSchoolEstimateDtoBinder()); + } + + @Override + public void initFloatingObjectTransmittingBuoyDto() { + dataDtoToEntityTypeBuilder.put(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class); + dataBinderBuilder.put(FloatingObjectTransmittingBuoyDto.class, new FloatingObjectTransmittingBuoyDtoBinder()); + } + + @Override + public void initGearUseFeaturesMeasurementSeineDto() { + dataDtoToEntityTypeBuilder.put(GearUseFeaturesMeasurementSeineDto.class, GearUseFeaturesMeasurementSeine.class); + dataBinderBuilder.put(GearUseFeaturesMeasurementSeineDto.class, new GearUseFeaturesMeasurementSeineBinder()); + } + + @Override + public void initGearUseFeaturesSeineDto() { + dataDtoToEntityTypeBuilder.put(GearUseFeaturesSeineDto.class, GearUseFeaturesSeine.class); + dataBinderBuilder.put(GearUseFeaturesSeineDto.class, new GearUseFeaturesSeineBinder()); + } + + @Override + public void initNonTargetCatchDto() { + dataDtoToEntityTypeBuilder.put(NonTargetCatchDto.class, NonTargetCatch.class); + dataBinderBuilder.put(NonTargetCatchDto.class, new NonTargetCatchBinder()); + } + + @Override + public void initNonTargetLengthDto() { + dataDtoToEntityTypeBuilder.put(NonTargetLengthDto.class, NonTargetLength.class); + dataBinderBuilder.put(NonTargetLengthDto.class, new NonTargetLengthBinder()); + } + + @Override + public void initNonTargetSampleDto() { + dataDtoToEntityTypeBuilder.put(NonTargetSampleDto.class, NonTargetSample.class); + dataBinderBuilder.put(NonTargetSampleDto.class, new NonTargetSampleBinder()); + } + + @Override + public void initObjectObservedSpeciesDto() { + dataDtoToEntityTypeBuilder.put(ObjectObservedSpeciesDto.class, ObjectObservedSpecies.class); + dataBinderBuilder.put(ObjectObservedSpeciesDto.class, new ObjectObservedSpeciesBinder()); + } + + @Override + public void initObjectSchoolEstimateDto() { + dataDtoToEntityTypeBuilder.put(ObjectSchoolEstimateDto.class, ObjectSchoolEstimate.class); + dataBinderBuilder.put(ObjectSchoolEstimateDto.class, new ObjectSchoolEstimateBinder()); + } + + @Override + public void initRouteDto() { + dataDtoToEntityTypeBuilder.put(RouteDto.class, Route.class); + dataBinderBuilder.put(RouteDto.class, new RouteBinder()); + } + + @Override + public void initRouteStubDto() { + dataDtoToEntityTypeBuilder.put(RouteStubDto.class, Route.class); + dataBinderBuilder.put(RouteStubDto.class, new RouteStubDtoBinder()); + } + + @Override + public void initSchoolEstimateDto() { + dataDtoToEntityTypeBuilder.put(SchoolEstimateDto.class, SchoolEstimate.class); + dataBinderBuilder.put(SchoolEstimateDto.class, new SchoolEstimateBinder()); + } + + @Override + public void initSetSeineDto() { + dataDtoToEntityTypeBuilder.put(SetSeineDto.class, SetSeine.class); + dataBinderBuilder.put(SetSeineDto.class, new SetSeineBinder()); + } + + @Override + public void initSetSeineNonTargetCatchDto() { + dataDtoToEntityTypeBuilder.put(SetSeineNonTargetCatchDto.class, SetSeine.class); + dataBinderBuilder.put(SetSeineNonTargetCatchDto.class, new SetSeineNonTargetCatchDtoBinder()); + } + + @Override + public void initSetSeineSchoolEstimateDto() { + dataDtoToEntityTypeBuilder.put(SetSeineSchoolEstimateDto.class, SetSeine.class); + dataBinderBuilder.put(SetSeineSchoolEstimateDto.class, new SetSeineSchoolEstimateDtoBinder()); + } + + @Override + public void initSetSeineTargetCatchDto() { + dataDtoToEntityTypeBuilder.put(SetSeineTargetCatchDto.class, SetSeine.class); + dataBinderBuilder.put(SetSeineTargetCatchDto.class, new SetSeineTargetCatchDtoBinder()); + } + + @Override + public void initTargetCatchDto() { + dataDtoToEntityTypeBuilder.put(TargetCatchDto.class, TargetCatch.class); + dataBinderBuilder.put(TargetCatchDto.class, new TargetCatchBinder()); + } + + @Override + public void initTargetLengthDto() { + dataDtoToEntityTypeBuilder.put(TargetLengthDto.class, TargetLength.class); + dataBinderBuilder.put(TargetLengthDto.class, new TargetLengthBinder()); + } + + @Override + public void initTargetSampleDto() { + dataDtoToEntityTypeBuilder.put(TargetSampleDto.class, TargetSample.class); + dataBinderBuilder.put(TargetSampleDto.class, new TargetSampleBinder()); + } + + @Override + public void initTransmittingBuoyDto() { + dataDtoToEntityTypeBuilder.put(TransmittingBuoyDto.class, TransmittingBuoy.class); + dataBinderBuilder.put(TransmittingBuoyDto.class, new TransmittingBuoyBinder()); + } + + @Override + public void initTripSeineDto() { + dataDtoToEntityTypeBuilder.put(TripSeineDto.class, TripSeine.class); + dataBinderBuilder.put(TripSeineDto.class, new TripSeineBinder()); + } + + @Override + public void initTripSeineGearUseDto() { + dataDtoToEntityTypeBuilder.put(TripSeineGearUseDto.class, TripSeine.class); + dataBinderBuilder.put(TripSeineGearUseDto.class, new TripSeineGearUseDtoBinder()); + } + + @Override + public void initCountryDto() { + referentialDtoToEntityTypeBuilder.put(CountryDto.class, Country.class); + referentialBinderBuilder.put(CountryDto.class, new CountryBinder()); + } + + @Override + public void initFpaZoneDto() { + referentialDtoToEntityTypeBuilder.put(FpaZoneDto.class, FpaZone.class); + referentialBinderBuilder.put(FpaZoneDto.class, new FpaZoneBinder()); + } + + @Override + public void initGearDto() { + referentialDtoToEntityTypeBuilder.put(GearDto.class, Gear.class); + referentialBinderBuilder.put(GearDto.class, new GearBinder()); + } + + @Override + public void initGearCaracteristicDto() { + referentialDtoToEntityTypeBuilder.put(GearCaracteristicDto.class, GearCaracteristic.class); + referentialBinderBuilder.put(GearCaracteristicDto.class, new GearCaracteristicBinder()); + } + + @Override + public void initGearCaracteristicTypeDto() { + referentialDtoToEntityTypeBuilder.put(GearCaracteristicTypeDto.class, GearCaracteristicType.class); + referentialBinderBuilder.put(GearCaracteristicTypeDto.class, new GearCaracteristicTypeBinder()); + } + + @Override + public void initHarbourDto() { + referentialDtoToEntityTypeBuilder.put(HarbourDto.class, Harbour.class); + referentialBinderBuilder.put(HarbourDto.class, new HarbourBinder()); + } + + @Override + public void initLengthWeightParameterDto() { + referentialDtoToEntityTypeBuilder.put(LengthWeightParameterDto.class, LengthWeightParameter.class); + referentialBinderBuilder.put(LengthWeightParameterDto.class, new LengthWeightParameterBinder()); + } + + @Override + public void initOceanDto() { + referentialDtoToEntityTypeBuilder.put(OceanDto.class, Ocean.class); + referentialBinderBuilder.put(OceanDto.class, new OceanBinder()); + } + + @Override + public void initOrganismDto() { + referentialDtoToEntityTypeBuilder.put(OrganismDto.class, Organism.class); + referentialBinderBuilder.put(OrganismDto.class, new OrganismBinder()); + } + + @Override + public void initPersonDto() { + referentialDtoToEntityTypeBuilder.put(PersonDto.class, Person.class); + referentialBinderBuilder.put(PersonDto.class, new PersonBinder()); + } + + @Override + public void initProgramDto() { + referentialDtoToEntityTypeBuilder.put(ProgramDto.class, Program.class); + referentialBinderBuilder.put(ProgramDto.class, new ProgramBinder()); + } + + @Override + public void initSexDto() { + referentialDtoToEntityTypeBuilder.put(SexDto.class, Sex.class); + referentialBinderBuilder.put(SexDto.class, new SexBinder()); + } + + @Override + public void initSpeciesDto() { + referentialDtoToEntityTypeBuilder.put(SpeciesDto.class, Species.class); + referentialBinderBuilder.put(SpeciesDto.class, new SpeciesBinder()); + } + + @Override + public void initSpeciesGroupDto() { + referentialDtoToEntityTypeBuilder.put(SpeciesGroupDto.class, SpeciesGroup.class); + referentialBinderBuilder.put(SpeciesGroupDto.class, new SpeciesGroupBinder()); + } + + @Override + public void initSpeciesListDto() { + referentialDtoToEntityTypeBuilder.put(SpeciesListDto.class, SpeciesList.class); + referentialBinderBuilder.put(SpeciesListDto.class, new SpeciesListBinder()); + } + + @Override + public void initVesselDto() { + referentialDtoToEntityTypeBuilder.put(VesselDto.class, Vessel.class); + referentialBinderBuilder.put(VesselDto.class, new VesselBinder()); + } + + @Override + public void initVesselSizeCategoryDto() { + referentialDtoToEntityTypeBuilder.put(VesselSizeCategoryDto.class, VesselSizeCategory.class); + referentialBinderBuilder.put(VesselSizeCategoryDto.class, new VesselSizeCategoryBinder()); + } + + @Override + public void initVesselTypeDto() { + referentialDtoToEntityTypeBuilder.put(VesselTypeDto.class, VesselType.class); + referentialBinderBuilder.put(VesselTypeDto.class, new VesselTypeBinder()); + } + + @Override + public void initBaitHaulingStatusDto() { + referentialDtoToEntityTypeBuilder.put(BaitHaulingStatusDto.class, BaitHaulingStatus.class); + referentialBinderBuilder.put(BaitHaulingStatusDto.class, new BaitHaulingStatusBinder()); + } + + @Override + public void initBaitSettingStatusDto() { + referentialDtoToEntityTypeBuilder.put(BaitSettingStatusDto.class, BaitSettingStatus.class); + referentialBinderBuilder.put(BaitSettingStatusDto.class, new BaitSettingStatusBinder()); + } + + @Override + public void initBaitTypeDto() { + referentialDtoToEntityTypeBuilder.put(BaitTypeDto.class, BaitType.class); + referentialBinderBuilder.put(BaitTypeDto.class, new BaitTypeBinder()); + } + + @Override + public void initCatchFateLonglineDto() { + referentialDtoToEntityTypeBuilder.put(CatchFateLonglineDto.class, CatchFateLongline.class); + referentialBinderBuilder.put(CatchFateLonglineDto.class, new CatchFateLonglineBinder()); + } + + @Override + public void initEncounterTypeDto() { + referentialDtoToEntityTypeBuilder.put(EncounterTypeDto.class, EncounterType.class); + referentialBinderBuilder.put(EncounterTypeDto.class, new EncounterTypeBinder()); + } + + @Override + public void initHealthnessDto() { + referentialDtoToEntityTypeBuilder.put(HealthnessDto.class, Healthness.class); + referentialBinderBuilder.put(HealthnessDto.class, new HealthnessBinder()); + } + + @Override + public void initHookPositionDto() { + referentialDtoToEntityTypeBuilder.put(HookPositionDto.class, HookPosition.class); + referentialBinderBuilder.put(HookPositionDto.class, new HookPositionBinder()); + } + + @Override + public void initHookSizeDto() { + referentialDtoToEntityTypeBuilder.put(HookSizeDto.class, HookSize.class); + referentialBinderBuilder.put(HookSizeDto.class, new HookSizeBinder()); + } + + @Override + public void initHookTypeDto() { + referentialDtoToEntityTypeBuilder.put(HookTypeDto.class, HookType.class); + referentialBinderBuilder.put(HookTypeDto.class, new HookTypeBinder()); + } + + @Override + public void initItemHorizontalPositionDto() { + referentialDtoToEntityTypeBuilder.put(ItemHorizontalPositionDto.class, ItemHorizontalPosition.class); + referentialBinderBuilder.put(ItemHorizontalPositionDto.class, new ItemHorizontalPositionBinder()); + } + + @Override + public void initItemVerticalPositionDto() { + referentialDtoToEntityTypeBuilder.put(ItemVerticalPositionDto.class, ItemVerticalPosition.class); + referentialBinderBuilder.put(ItemVerticalPositionDto.class, new ItemVerticalPositionBinder()); + } + + @Override + public void initLightsticksColorDto() { + referentialDtoToEntityTypeBuilder.put(LightsticksColorDto.class, LightsticksColor.class); + referentialBinderBuilder.put(LightsticksColorDto.class, new LightsticksColorBinder()); + } + + @Override + public void initLightsticksTypeDto() { + referentialDtoToEntityTypeBuilder.put(LightsticksTypeDto.class, LightsticksType.class); + referentialBinderBuilder.put(LightsticksTypeDto.class, new LightsticksTypeBinder()); + } + + @Override + public void initLineTypeDto() { + referentialDtoToEntityTypeBuilder.put(LineTypeDto.class, LineType.class); + referentialBinderBuilder.put(LineTypeDto.class, new LineTypeBinder()); + } + + @Override + public void initMaturityStatusDto() { + referentialDtoToEntityTypeBuilder.put(MaturityStatusDto.class, MaturityStatus.class); + referentialBinderBuilder.put(MaturityStatusDto.class, new MaturityStatusBinder()); + } + + @Override + public void initMitigationTypeDto() { + referentialDtoToEntityTypeBuilder.put(MitigationTypeDto.class, MitigationType.class); + referentialBinderBuilder.put(MitigationTypeDto.class, new MitigationTypeBinder()); + } + + @Override + public void initSensorBrandDto() { + referentialDtoToEntityTypeBuilder.put(SensorBrandDto.class, SensorBrand.class); + referentialBinderBuilder.put(SensorBrandDto.class, new SensorBrandBinder()); + } + + @Override + public void initSensorDataFormatDto() { + referentialDtoToEntityTypeBuilder.put(SensorDataFormatDto.class, SensorDataFormat.class); + referentialBinderBuilder.put(SensorDataFormatDto.class, new SensorDataFormatBinder()); + } + + @Override + public void initSensorTypeDto() { + referentialDtoToEntityTypeBuilder.put(SensorTypeDto.class, SensorType.class); + referentialBinderBuilder.put(SensorTypeDto.class, new SensorTypeBinder()); + } + + @Override + public void initSettingShapeDto() { + referentialDtoToEntityTypeBuilder.put(SettingShapeDto.class, SettingShape.class); + referentialBinderBuilder.put(SettingShapeDto.class, new SettingShapeBinder()); + } + + @Override + public void initSizeMeasureTypeDto() { + referentialDtoToEntityTypeBuilder.put(SizeMeasureTypeDto.class, SizeMeasureType.class); + referentialBinderBuilder.put(SizeMeasureTypeDto.class, new SizeMeasureTypeBinder()); + } + + @Override + public void initStomacFullnessDto() { + referentialDtoToEntityTypeBuilder.put(StomacFullnessDto.class, StomacFullness.class); + referentialBinderBuilder.put(StomacFullnessDto.class, new StomacFullnessBinder()); + } + + @Override + public void initTripTypeDto() { + referentialDtoToEntityTypeBuilder.put(TripTypeDto.class, TripType.class); + referentialBinderBuilder.put(TripTypeDto.class, new TripTypeBinder()); + } + + @Override + public void initVesselActivityLonglineDto() { + referentialDtoToEntityTypeBuilder.put(VesselActivityLonglineDto.class, VesselActivityLongline.class); + referentialBinderBuilder.put(VesselActivityLonglineDto.class, new VesselActivityLonglineBinder()); + } + + @Override + public void initWeightMeasureTypeDto() { + referentialDtoToEntityTypeBuilder.put(WeightMeasureTypeDto.class, WeightMeasureType.class); + referentialBinderBuilder.put(WeightMeasureTypeDto.class, new WeightMeasureTypeBinder()); + } + + @Override + public void initDetectionModeDto() { + referentialDtoToEntityTypeBuilder.put(DetectionModeDto.class, DetectionMode.class); + referentialBinderBuilder.put(DetectionModeDto.class, new DetectionModeBinder()); + } + + @Override + public void initObjectFateDto() { + referentialDtoToEntityTypeBuilder.put(ObjectFateDto.class, ObjectFate.class); + referentialBinderBuilder.put(ObjectFateDto.class, new ObjectFateBinder()); + } + + @Override + public void initObjectOperationDto() { + referentialDtoToEntityTypeBuilder.put(ObjectOperationDto.class, ObjectOperation.class); + referentialBinderBuilder.put(ObjectOperationDto.class, new ObjectOperationBinder()); + } + + @Override + public void initObjectTypeDto() { + referentialDtoToEntityTypeBuilder.put(ObjectTypeDto.class, ObjectType.class); + referentialBinderBuilder.put(ObjectTypeDto.class, new ObjectTypeBinder()); + } + + @Override + public void initObservedSystemDto() { + referentialDtoToEntityTypeBuilder.put(ObservedSystemDto.class, ObservedSystem.class); + referentialBinderBuilder.put(ObservedSystemDto.class, new ObservedSystemBinder()); + } + + @Override + public void initReasonForDiscardDto() { + referentialDtoToEntityTypeBuilder.put(ReasonForDiscardDto.class, ReasonForDiscard.class); + referentialBinderBuilder.put(ReasonForDiscardDto.class, new ReasonForDiscardBinder()); + } + + @Override + public void initReasonForNoFishingDto() { + referentialDtoToEntityTypeBuilder.put(ReasonForNoFishingDto.class, ReasonForNoFishing.class); + referentialBinderBuilder.put(ReasonForNoFishingDto.class, new ReasonForNoFishingBinder()); + } + + @Override + public void initReasonForNullSetDto() { + referentialDtoToEntityTypeBuilder.put(ReasonForNullSetDto.class, ReasonForNullSet.class); + referentialBinderBuilder.put(ReasonForNullSetDto.class, new ReasonForNullSetBinder()); + } + + @Override + public void initSpeciesFateDto() { + referentialDtoToEntityTypeBuilder.put(SpeciesFateDto.class, SpeciesFate.class); + referentialBinderBuilder.put(SpeciesFateDto.class, new SpeciesFateBinder()); + } + + @Override + public void initSpeciesStatusDto() { + referentialDtoToEntityTypeBuilder.put(SpeciesStatusDto.class, SpeciesStatus.class); + referentialBinderBuilder.put(SpeciesStatusDto.class, new SpeciesStatusBinder()); + } + + @Override + public void initSurroundingActivityDto() { + referentialDtoToEntityTypeBuilder.put(SurroundingActivityDto.class, SurroundingActivity.class); + referentialBinderBuilder.put(SurroundingActivityDto.class, new SurroundingActivityBinder()); + } + + @Override + public void initTransmittingBuoyOperationDto() { + referentialDtoToEntityTypeBuilder.put(TransmittingBuoyOperationDto.class, TransmittingBuoyOperation.class); + referentialBinderBuilder.put(TransmittingBuoyOperationDto.class, new TransmittingBuoyOperationBinder()); + } + + @Override + public void initTransmittingBuoyTypeDto() { + referentialDtoToEntityTypeBuilder.put(TransmittingBuoyTypeDto.class, TransmittingBuoyType.class); + referentialBinderBuilder.put(TransmittingBuoyTypeDto.class, new TransmittingBuoyTypeBinder()); + } + + @Override + public void initVesselActivitySeineDto() { + referentialDtoToEntityTypeBuilder.put(VesselActivitySeineDto.class, VesselActivitySeine.class); + referentialBinderBuilder.put(VesselActivitySeineDto.class, new VesselActivitySeineBinder()); + } + + @Override + public void initWeightCategoryDto() { + referentialDtoToEntityTypeBuilder.put(WeightCategoryDto.class, WeightCategory.class); + referentialBinderBuilder.put(WeightCategoryDto.class, new WeightCategoryBinder()); + } + + @Override + public void initWindDto() { + referentialDtoToEntityTypeBuilder.put(WindDto.class, Wind.class); + referentialBinderBuilder.put(WindDto.class, new WindBinder()); + } + +} \ No newline at end of file diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderSupport.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderSupport.java new file mode 100644 index 0000000..b31812e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderSupport.java @@ -0,0 +1,272 @@ +package fr.ird.observe.services.binder; + +import com.google.common.base.Function; +import com.google.common.collect.Iterables; +import fr.ird.observe.ObserveEntityEnum; +import fr.ird.observe.entities.constants.ReferenceStatus; +import fr.ird.observe.entities.referentiel.I18nReferenceEntities; +import fr.ird.observe.entities.referentiel.I18nReferenceEntity; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.constants.GearType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource; +import fr.ird.observe.services.dto.constants.seine.Ownership; +import fr.ird.observe.services.dto.constants.seine.SchoolType; +import fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation; +import fr.ird.observe.services.dto.referential.I18nReferentialDto; +import fr.ird.observe.services.dto.referential.I18nReferentialDtos; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import org.apache.commons.collections4.CollectionUtils; +import org.nuiton.topia.persistence.TopiaEntity; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.List; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class BinderSupport<E extends TopiaEntity, D extends IdDto> { + + protected static final Function<GearType, fr.ird.observe.entities.constants.GearType> GEAR_TYPE_TO_ENTITY = new Function<GearType, fr.ird.observe.entities.constants.GearType>() { + + @Override + public fr.ird.observe.entities.constants.GearType apply(GearType input) { + return fr.ird.observe.entities.constants.GearType.valueOf(input.name()); + } + }; + + protected static final Function<fr.ird.observe.services.dto.constants.ReferenceStatus, ReferenceStatus> REFERENCE_STATUS_TO_ENTITY = new Function<fr.ird.observe.services.dto.constants.ReferenceStatus, ReferenceStatus>() { + + @Override + public ReferenceStatus apply(fr.ird.observe.services.dto.constants.ReferenceStatus input) { + return ReferenceStatus.valueOf(input.name()); + } + }; + + protected static final Function<Ownership, fr.ird.observe.entities.constants.seine.Ownership> OWNERSHIP_TO_ENTITY = new Function<Ownership, fr.ird.observe.entities.constants.seine.Ownership>() { + + @Override + public fr.ird.observe.entities.constants.seine.Ownership apply(Ownership input) { + return input == null ? null : fr.ird.observe.entities.constants.seine.Ownership.valueOf(input.name()); + } + }; + + protected static final Function<SchoolType, fr.ird.observe.entities.constants.seine.SchoolType> SCHOOL_TYPE_TO_ENTITY = new Function<SchoolType, fr.ird.observe.entities.constants.seine.SchoolType>() { + + @Override + public fr.ird.observe.entities.constants.seine.SchoolType apply(SchoolType input) { + return input == null ? null : fr.ird.observe.entities.constants.seine.SchoolType.valueOf(input.name()); + } + }; + + protected static final Function<TypeTransmittingBuoyOperation, fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation> TYPE_TRANSMITTING_BUOY_OPERATION_TO_ENTITY = new Function<TypeTransmittingBuoyOperation, fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation>() { + + @Override + public fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation apply(TypeTransmittingBuoyOperation input) { + return input == null ? null : fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation.valueOf(input.name()); + } + }; + + protected static final Function<NonTargetCatchComputedValueSource, fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource> NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_ENTITY = new Function<NonTargetCatchComputedValueSource, fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource>() { + + @Override + public fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource apply(NonTargetCatchComputedValueSource input) { + return input == null ? null : fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource.valueOf(input.name()); + } + }; + + protected static final Function<fr.ird.observe.entities.constants.GearType, fr.ird.observe.services.dto.constants.GearType> GEAR_TYPE_TO_DTO = new Function<fr.ird.observe.entities.constants.GearType, fr.ird.observe.services.dto.constants.GearType>() { + + @Override + public fr.ird.observe.services.dto.constants.GearType apply(fr.ird.observe.entities.constants.GearType input) { + return input == null ? null : fr.ird.observe.services.dto.constants.GearType.valueOf(input.name()); + } + }; + + protected static final Function<ReferenceStatus, fr.ird.observe.services.dto.constants.ReferenceStatus> REFERENCE_STATUS_TO_DTO = new Function<ReferenceStatus, fr.ird.observe.services.dto.constants.ReferenceStatus>() { + + @Override + public fr.ird.observe.services.dto.constants.ReferenceStatus apply(ReferenceStatus input) { + return input == null ? null : fr.ird.observe.services.dto.constants.ReferenceStatus.valueOf(input.name()); + } + }; + + protected static final Function<fr.ird.observe.entities.constants.seine.Ownership, fr.ird.observe.services.dto.constants.seine.Ownership> OWNERSHIP_TO_DTO = new Function<fr.ird.observe.entities.constants.seine.Ownership, fr.ird.observe.services.dto.constants.seine.Ownership>() { + + @Override + public fr.ird.observe.services.dto.constants.seine.Ownership apply(fr.ird.observe.entities.constants.seine.Ownership input) { + return input == null ? null : fr.ird.observe.services.dto.constants.seine.Ownership.valueOf(input.name()); + } + }; + + protected static final Function<fr.ird.observe.entities.constants.seine.SchoolType, fr.ird.observe.services.dto.constants.seine.SchoolType> SCHOOL_TYPE_TO_DTO = new Function<fr.ird.observe.entities.constants.seine.SchoolType, fr.ird.observe.services.dto.constants.seine.SchoolType>() { + + @Override + public fr.ird.observe.services.dto.constants.seine.SchoolType apply(fr.ird.observe.entities.constants.seine.SchoolType input) { + return input == null ? null : fr.ird.observe.services.dto.constants.seine.SchoolType.valueOf(input.name()); + } + }; + +// protected static final Function<fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation, fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation> TRANSMITTING_BUOY_OPERATION_TO_DTO = new Function<fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation, fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation>() { +// +// @Override +// public fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation apply(fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation input) { +// return input == null ? null : fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation.valueOf(input.name()); +// } +// }; + + protected static final Function<fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource, fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource> NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_DTO = new Function<fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource, fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource>() { + + @Override + public fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource apply(fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource input) { + return input == null ? null : fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource.valueOf(input.name()); + } + }; + + protected final Class<E> entityType; + + protected final Class<D> dtoType; + + protected BinderSupport(Class<E> entityType, Class<D> dtoType) { + this.entityType = entityType; + this.dtoType = dtoType; + } + + public abstract void copyToEntity(ReferentialLocale referentialLocale, D dto, E entity); + + public abstract void copyToDto(ReferentialLocale referentialLocale, E entity, D dto); + + // -------------------------------------------------------------------------------------------------------------- // + // -- REFERENTIAL → ENTITY -------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected <DD extends ReferentialDto, EE extends ReferenceEntity> EE toEntity(ReferentialReference<DD> reference, Class<EE> entityType) { + + EE entity = null; + + if (reference != null) { + + ReferentialBinderSupport<EE, DD> binder = BinderEngine.get().getReferentialBinder(reference.getType()); + + entity = binder.toEntity(reference); + +// entity = newEntity(entityType); +// entity.setTopiaId(reference.getId()); +// entity.setStatus(reference.isEnabled() ? ReferenceStatus.enabled : ReferenceStatus.disabled); +// entity.setNeedComment(reference.isNeedComment()); +// entity.setLastUpdate(reference.getLastUpdate()); + + } + + return entity; + + } + + protected <DD extends ReferentialDto, EE extends ReferenceEntity> LinkedHashSet<EE> toEntitySet(Collection<ReferentialReference<DD>> references, Class<EE> entityType) { + + LinkedHashSet<EE> entityList = null; + if (CollectionUtils.isNotEmpty(references)) { + + entityList = new LinkedHashSet<>(references.size()); + + ReferentialReference<DD> firstReference = Iterables.get(references, 0, null); + Class<DD> type = firstReference.getType(); + ReferentialBinderSupport<EE, DD> binder = BinderEngine.get().getReferentialBinder(type); + + for (ReferentialReference<DD> reference : references) { + + EE entity = binder.toEntity(reference); + entityList.add(entity); + + } + + } + return entityList; + + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- ENTITY → REFERENTIAL -------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected <EE extends ReferenceEntity, DD extends ReferentialDto> ReferentialReference<DD> toReferentialReference(ReferentialLocale referentialLocale, EE entity, Class<DD> dtoType) { + + ReferentialReference<DD> reference = null; + if (entity != null) { + + ReferentialBinderSupport<EE, DD> binder = BinderEngine.get().getReferentialBinder(dtoType); + reference = binder.toReferentialReference(referentialLocale, entity); + + } + return reference; + + } + + protected <EE extends ReferenceEntity, DD extends ReferentialDto> List<ReferentialReference<DD>> toReferentialReferenceList(ReferentialLocale referentialLocale, Collection<EE> entities, Class<DD> dtoType) { + + List<ReferentialReference<DD>> references = null; + if (CollectionUtils.isNotEmpty(entities)) { + + references = new ArrayList<>(entities.size()); + + ReferentialBinderSupport<EE, DD> binder = BinderEngine.get().getReferentialBinder(dtoType); + + for (EE entity : entities) { + + ReferentialReference<DD> reference = binder.toReferentialReference(referentialLocale, entity); + references.add(reference); + + } + + } + return references; + + } + + + // -------------------------------------------------------------------------------------------------------------- // + // -- LABELS ---------------------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected String getLabel(ReferentialLocale locale, I18nReferenceEntity entity) { + return I18nReferenceEntities.getLabel(locale.ordinal(), entity); + } + + protected String getLabel(ReferentialLocale locale, I18nReferentialDto dto) { + return I18nReferentialDtos.decorate(locale.ordinal(), dto); + } + + protected String getLabel(ReferentialLocale locale, ReferentialReference dto) { + return (String) dto.getPropertyValue(ReferentialReference.PROPERTY_LABEL); + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- CREER DES ENTITY OU DTO ----------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected E newEntity() { + try { + E entity = (E) ObserveEntityEnum.valueOf(entityType).getImplementation().newInstance(); + return entity; + } catch (InstantiationException | IllegalAccessException e) { + throw new RuntimeException("What ever"); + } + } + + protected D newDto() { + try { + D dto = dtoType.newInstance(); + return dto; + } catch (InstantiationException | IllegalAccessException e) { + throw new RuntimeException("What ever"); + } + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineBinder.java new file mode 100644 index 0000000..2743023 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineBinder.java @@ -0,0 +1,71 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.referentiel.FpaZone; +import fr.ird.observe.entities.referentiel.longline.VesselActivityLongline; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.referential.FpaZoneDto; +import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivityLonglineBinder extends DataBinderSupport<ActivityLongline, ActivityLonglineDto> { + + public ActivityLonglineBinder() { + super(ActivityLongline.class, ActivityLonglineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineDto dto, ActivityLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setTimeStamp(dto.getTimeStamp()); + entity.setLatitude(dto.getLatitude()); + entity.setLongitude(dto.getLongitude()); + entity.setSeaSurfaceTemperature(dto.getSeaSurfaceTemperature()); + entity.setVesselActivityLongline(toEntity(dto.getVesselActivityLongline(), VesselActivityLongline.class)); + entity.setFpaZone(toEntity(dto.getFpaZone(), FpaZone.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setTimeStamp(entity.getTimeStamp()); + dto.setLatitude(entity.getLatitude()); + dto.setLongitude(entity.getLongitude()); + dto.setSeaSurfaceTemperature(entity.getSeaSurfaceTemperature()); + dto.setVesselActivityLongline(toReferentialReference(referentialLocale, entity.getVesselActivityLongline(), VesselActivityLonglineDto.class)); + dto.setFpaZone(toReferentialReference(referentialLocale, entity.getFpaZone(), FpaZoneDto.class)); + + } + + @Override + public DataReference<ActivityLonglineDto> toDataReference(ReferentialLocale referentialLocale, ActivityLongline entity) { + + return toDataReference(entity, + entity.getTimeStamp(), + getLabel(referentialLocale, entity.getVesselActivityLongline())); + + } + + @Override + public DataReference<ActivityLonglineDto> toDataReference(ReferentialLocale referentialLocale, ActivityLonglineDto dto) { + + return toDataReference(dto, + dto.getTimeStamp(), + getLabel(referentialLocale, dto.getVesselActivityLongline())); + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineEncouterDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineEncouterDtoBinder.java new file mode 100644 index 0000000..b8e3eb8 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineEncouterDtoBinder.java @@ -0,0 +1,56 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.longline.Encounter; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; +import fr.ird.observe.services.dto.longline.EncounterDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivityLonglineEncouterDtoBinder extends DataBinderSupport<ActivityLongline, ActivityLonglineEncouterDto> { + + public ActivityLonglineEncouterDtoBinder() { + super(ActivityLongline.class, ActivityLonglineEncouterDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineEncouterDto dto, ActivityLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setEncounter(toEntitySet(referentialLocale, dto.getEncounter(), Encounter.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineEncouterDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setEncounter(toLinkedHashSetData(referentialLocale, entity.getEncounter(), EncounterDto.class)); + + } + + @Override + public DataReference<ActivityLonglineEncouterDto> toDataReference(ReferentialLocale referentialLocale, ActivityLongline entity) { + + return toDataReference(entity); + + } + + @Override + public DataReference<ActivityLonglineEncouterDto> toDataReference(ReferentialLocale referentialLocale, ActivityLonglineEncouterDto dto) { + + return toDataReference(dto); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineSensorUsedDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineSensorUsedDtoBinder.java new file mode 100644 index 0000000..b2093c2 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineSensorUsedDtoBinder.java @@ -0,0 +1,42 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.longline.SensorUsed; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; +import fr.ird.observe.services.dto.longline.SensorUsedDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivityLonglineSensorUsedDtoBinder extends DataBinderSupport<ActivityLongline, ActivityLonglineSensorUsedDto> { + + public ActivityLonglineSensorUsedDtoBinder() { + super(ActivityLongline.class, ActivityLonglineSensorUsedDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineSensorUsedDto dto, ActivityLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setSensorUsed(toEntitySet(referentialLocale, dto.getSensorUsed(), SensorUsed.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineSensorUsedDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setSensorUsed(toLinkedHashSetData(referentialLocale, entity.getSensorUsed(), SensorUsedDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineStubDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineStubDtoBinder.java new file mode 100644 index 0000000..30c2f1a --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineStubDtoBinder.java @@ -0,0 +1,37 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.ActivityLonglineStubDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivityLonglineStubDtoBinder extends DataBinderSupport<ActivityLongline, ActivityLonglineStubDto> { + + public ActivityLonglineStubDtoBinder() { + super(ActivityLongline.class, ActivityLonglineStubDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineStubDto dto, ActivityLongline entity) { + + entity.setTopiaId(dto.getId()); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineStubDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setVesselActivityLonglineLabel(getLabel(referentialLocale, entity.getVesselActivityLongline())); + dto.setHasSetLongline(entity.getSetLongline() != null); + dto.setTimeStamp(entity.getTimeStamp()); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineBinder.java new file mode 100644 index 0000000..5b3cfef --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineBinder.java @@ -0,0 +1,99 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.FpaZone; +import fr.ird.observe.entities.referentiel.seine.DetectionMode; +import fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing; +import fr.ird.observe.entities.referentiel.seine.SurroundingActivity; +import fr.ird.observe.entities.referentiel.seine.VesselActivitySeine; +import fr.ird.observe.entities.referentiel.seine.Wind; +import fr.ird.observe.entities.seine.ActivitySeine; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.FpaZoneDto; +import fr.ird.observe.services.dto.referential.seine.DetectionModeDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto; +import fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto; +import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; +import fr.ird.observe.services.dto.referential.seine.WindDto; +import fr.ird.observe.services.dto.seine.ActivitySeineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivitySeineBinder extends DataBinderSupport<ActivitySeine, ActivitySeineDto> { + + public ActivitySeineBinder() { + super(ActivitySeine.class, ActivitySeineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivitySeineDto dto, ActivitySeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setTime(dto.getTime()); + entity.setLatitude(dto.getLatitude()); + entity.setLongitude(dto.getLongitude()); + entity.setVesselSpeed(dto.getVesselSpeed()); + entity.setSeaSurfaceTemperature(dto.getSeaSurfaceTemperature()); + entity.setObservedSystemDistance(dto.getObservedSystemDistance()); + entity.setErsId(dto.getErsId()); + entity.setVesselActivitySeine(toEntity(dto.getVesselActivitySeine(), VesselActivitySeine.class)); + entity.setSurroundingActivity(toEntity(dto.getSurroundingActivity(), SurroundingActivity.class)); + entity.setWind(toEntity(dto.getWind(), Wind.class)); + entity.setDetectionMode(toEntity(dto.getDetectionMode(), DetectionMode.class)); + entity.setReasonForNoFishing(toEntity(dto.getReasonForNoFishing(), ReasonForNoFishing.class)); + entity.setCurrentFpaZone(toEntity(dto.getCurrentFpaZone(), FpaZone.class)); + entity.setPreviousFpaZone(toEntity(dto.getPreviousFpaZone(), FpaZone.class)); + entity.setNextFpaZone(toEntity(dto.getNextFpaZone(), FpaZone.class)); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivitySeine entity, ActivitySeineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setTime(dto.getTime()); + dto.setLatitude(dto.getLatitude()); + dto.setLongitude(dto.getLongitude()); + dto.setVesselSpeed(dto.getVesselSpeed()); + dto.setSeaSurfaceTemperature(dto.getSeaSurfaceTemperature()); + dto.setObservedSystemDistance(dto.getObservedSystemDistance()); + dto.setErsId(dto.getErsId()); + dto.setVesselActivitySeine(toReferentialReference(referentialLocale, entity.getVesselActivitySeine(), VesselActivitySeineDto.class)); + dto.setSurroundingActivity(toReferentialReference(referentialLocale, entity.getSurroundingActivity(), SurroundingActivityDto.class)); + dto.setWind(toReferentialReference(referentialLocale, entity.getWind(), WindDto.class)); + dto.setDetectionMode(toReferentialReference(referentialLocale, entity.getDetectionMode(), DetectionModeDto.class)); + dto.setReasonForNoFishing(toReferentialReference(referentialLocale, entity.getReasonForNoFishing(), ReasonForNoFishingDto.class)); + dto.setCurrentFpaZone(toReferentialReference(referentialLocale, entity.getCurrentFpaZone(), FpaZoneDto.class)); + dto.setPreviousFpaZone(toReferentialReference(referentialLocale, entity.getPreviousFpaZone(), FpaZoneDto.class)); + dto.setNextFpaZone(toReferentialReference(referentialLocale, entity.getNextFpaZone(), FpaZoneDto.class)); + + } + + @Override + public DataReference<ActivitySeineDto> toDataReference(ReferentialLocale referentialLocale, ActivitySeine entity) { + + return toDataReference(entity, + entity.getTime(), + getLabel(referentialLocale, entity.getVesselActivitySeine())); + + } + + @Override + public DataReference<ActivitySeineDto> toDataReference(ReferentialLocale referentialLocale, ActivitySeineDto dto) { + + return toDataReference(dto, + dto.getTime(), + getLabel(referentialLocale, dto.getVesselActivitySeine())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineObservedSystemDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineObservedSystemDtoBinder.java new file mode 100644 index 0000000..352d0f0 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineObservedSystemDtoBinder.java @@ -0,0 +1,42 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.seine.ObservedSystem; +import fr.ird.observe.entities.seine.ActivitySeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.seine.ObservedSystemDto; +import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivitySeineObservedSystemDtoBinder extends DataBinderSupport<ActivitySeine, ActivitySeineObservedSystemDto> { + + public ActivitySeineObservedSystemDtoBinder() { + super(ActivitySeine.class, ActivitySeineObservedSystemDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivitySeineObservedSystemDto dto, ActivitySeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setObservedSystem(toEntitySet(dto.getObservedSystem(), ObservedSystem.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivitySeine entity, ActivitySeineObservedSystemDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setObservedSystem(toReferentialReferenceList(referentialLocale, entity.getObservedSystem(), ObservedSystemDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineStubDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineStubDtoBinder.java new file mode 100644 index 0000000..e9b98f4 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineStubDtoBinder.java @@ -0,0 +1,40 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.ActivitySeine; +import fr.ird.observe.entities.seine.ActivitySeineImpl; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivitySeineStubDtoBinder extends DataBinderSupport<ActivitySeine, ActivitySeineStubDto> { + + public ActivitySeineStubDtoBinder() { + super(ActivitySeine.class, ActivitySeineStubDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivitySeineStubDto dto, ActivitySeine entity) { + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivitySeine entity, ActivitySeineStubDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setTime(entity.getTime()); + dto.setTime(entity.getLastUpdate()); + dto.setLatitude(entity.getLatitude()); + dto.setLongitude(entity.getLongitude()); + + boolean isFindeVeille = entity.getVesselActivitySeine() != null + && ActivitySeineImpl.ACTIVITY_FIN_DE_VEILLE.equals(entity.getVesselActivitySeine().getCode()); + + dto.setActivityFinDeVeille(isFindeVeille); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BaitsCompositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BaitsCompositionBinder.java new file mode 100644 index 0000000..087b809 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BaitsCompositionBinder.java @@ -0,0 +1,48 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.BaitsComposition; +import fr.ird.observe.entities.referentiel.longline.BaitSettingStatus; +import fr.ird.observe.entities.referentiel.longline.BaitType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BaitsCompositionDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BaitsCompositionBinder extends DataBinderSupport<BaitsComposition, BaitsCompositionDto> { + + public BaitsCompositionBinder() { + super(BaitsComposition.class, BaitsCompositionDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BaitsCompositionDto dto, BaitsComposition entity) { + + entity.setTopiaId(dto.getId()); + + entity.setProportion(dto.getProportion()); + entity.setIndividualSize(dto.getIndividualSize()); + entity.setIndividualWeight(dto.getIndividualWeight()); + entity.setBaitSettingStatus(toEntity(dto.getBaitSettingStatus(), BaitSettingStatus.class)); + entity.setBaitType(toEntity(dto.getBaitType(), BaitType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, BaitsComposition entity, BaitsCompositionDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setProportion(entity.getProportion()); + dto.setIndividualSize(entity.getIndividualSize()); + dto.setIndividualWeight(entity.getIndividualWeight()); + dto.setBaitSettingStatus(toReferentialReference(referentialLocale, entity.getBaitSettingStatus(), BaitSettingStatusDto.class)); + dto.setBaitType(toReferentialReference(referentialLocale, entity.getBaitType(), BaitTypeDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BasketBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BasketBinder.java new file mode 100644 index 0000000..240ba73 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BasketBinder.java @@ -0,0 +1,60 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Basket; +import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BasketBinder extends DataBinderSupport<Basket, BasketDto> { + + public BasketBinder() { + super(Basket.class, BasketDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BasketDto dto, Basket entity) { + + entity.setTopiaId(dto.getId()); + + entity.setSettingIdentifier(dto.getSettingIdentifier()); + entity.setHaulingIdentifier(dto.getHaulingIdentifier()); + entity.setFloatline1Length(dto.getFloatline1Length()); + entity.setFloatline2Length(dto.getFloatline2Length()); + entity.setBranchline(toEntitySet(referentialLocale, dto.getBranchline(), Branchline.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Basket entity, BasketDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setSettingIdentifier(entity.getSettingIdentifier()); + dto.setHaulingIdentifier(entity.getHaulingIdentifier()); + dto.setFloatline1Length(entity.getFloatline1Length()); + dto.setFloatline2Length(entity.getFloatline2Length()); + dto.setBranchline(toLinkedHashSetData(referentialLocale, entity.getBranchline(), BranchlineDto.class)); + + } + + @Override + public DataReference<BasketDto> toDataReference(ReferentialLocale referentialLocale, Basket entity) { + + return toDataReference(entity, entity.getHaulingIdentifier(), entity.getSettingIdentifier()); + + } + + @Override + public DataReference<BasketDto> toDataReference(ReferentialLocale referentialLocale, BasketDto dto) { + + return toDataReference(dto, dto.getHaulingIdentifier(), dto.getSettingIdentifier()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BranchlineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BranchlineBinder.java new file mode 100644 index 0000000..03dec1a --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BranchlineBinder.java @@ -0,0 +1,108 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus; +import fr.ird.observe.entities.referentiel.longline.BaitSettingStatus; +import fr.ird.observe.entities.referentiel.longline.BaitType; +import fr.ird.observe.entities.referentiel.longline.HookSize; +import fr.ird.observe.entities.referentiel.longline.HookType; +import fr.ird.observe.entities.referentiel.longline.LineType; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BranchlineBinder extends DataBinderSupport<Branchline, BranchlineDto> { + + public BranchlineBinder() { + super(Branchline.class, BranchlineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BranchlineDto dto, Branchline entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setSettingIdentifier(dto.getSettingIdentifier()); + entity.setHaulingIdentifier(dto.getHaulingIdentifier()); + + entity.setDepthRecorder(dto.getDepthRecorder()); + entity.setTimer(dto.getTimer()); + entity.setTimeSinceContact(dto.getTimeSinceContact()); + entity.setHookOffset(dto.getHookOffset()); + entity.setBranchlineLength(dto.getBranchlineLength()); + entity.setWeightedSwivel(dto.getWeightedSwivel()); + entity.setTimerTimeOnBoard(dto.getTimerTimeOnBoard()); + entity.setWeightedSnap(dto.getWeightedSnap()); + entity.setSwivelWeight(dto.getSwivelWeight()); + entity.setSnapWeight(dto.getSnapWeight()); + entity.setTracelineLength(dto.getTracelineLength()); + entity.setHookLost(dto.getHookLost()); + entity.setTraceCutOff(dto.getTraceCutOff()); + entity.setHookType(toEntity(dto.getHookType(), HookType.class)); + entity.setBaitType(toEntity(dto.getBaitType(), BaitType.class)); + entity.setTopType(toEntity(dto.getTopType(), LineType.class)); + entity.setTracelineType(toEntity(dto.getTracelineType(), LineType.class)); + entity.setBaitSettingStatus(toEntity(dto.getBaitSettingStatus(), BaitSettingStatus.class)); + entity.setBaitHaulingStatus(toEntity(dto.getBaitHaulingStatus(), BaitHaulingStatus.class)); + entity.setHookSize(toEntity(dto.getHookSize(), HookSize.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Branchline entity, BranchlineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setSettingIdentifier(entity.getSettingIdentifier()); + dto.setHaulingIdentifier(entity.getHaulingIdentifier()); + + dto.setDepthRecorder(entity.getDepthRecorder()); + dto.setTimer(entity.getTimer()); + dto.setTimeSinceContact(entity.getTimeSinceContact()); + dto.setHookOffset(entity.getHookOffset()); + dto.setBranchlineLength(entity.getBranchlineLength()); + dto.setWeightedSwivel(entity.getWeightedSwivel()); + dto.setTimerTimeOnBoard(entity.getTimerTimeOnBoard()); + dto.setWeightedSnap(entity.getWeightedSnap()); + dto.setSwivelWeight(entity.getSwivelWeight()); + dto.setSnapWeight(entity.getSnapWeight()); + dto.setTracelineLength(entity.getTracelineLength()); + dto.setHookLost(entity.getHookLost()); + dto.setTraceCutOff(entity.getTraceCutOff()); + dto.setHookType(toReferentialReference(referentialLocale, entity.getHookType(), HookTypeDto.class)); + dto.setBaitType(toReferentialReference(referentialLocale, entity.getBaitType(), BaitTypeDto.class)); + dto.setTopType(toReferentialReference(referentialLocale, entity.getTopType(), LineTypeDto.class)); + dto.setTracelineType(toReferentialReference(referentialLocale, entity.getTracelineType(), LineTypeDto.class)); + dto.setBaitSettingStatus(toReferentialReference(referentialLocale, entity.getBaitSettingStatus(), BaitSettingStatusDto.class)); + dto.setBaitHaulingStatus(toReferentialReference(referentialLocale, entity.getBaitHaulingStatus(), BaitHaulingStatusDto.class)); + dto.setHookSize(toReferentialReference(referentialLocale, entity.getHookSize(), HookSizeDto.class)); + + } + + @Override + public DataReference<BranchlineDto> toDataReference(ReferentialLocale referentialLocale, Branchline entity) { + + return toDataReference(entity, entity.getHaulingIdentifier(), entity.getSettingIdentifier()); + + } + + @Override + public DataReference<BranchlineDto> toDataReference(ReferentialLocale referentialLocale, BranchlineDto dto) { + + return toDataReference(dto, dto.getHaulingIdentifier(), dto.getSettingIdentifier()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BranchlinesCompositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BranchlinesCompositionBinder.java new file mode 100644 index 0000000..1452288 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BranchlinesCompositionBinder.java @@ -0,0 +1,44 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.BranchlinesComposition; +import fr.ird.observe.entities.referentiel.longline.LineType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BranchlinesCompositionBinder extends DataBinderSupport<BranchlinesComposition, BranchlinesCompositionDto> { + + public BranchlinesCompositionBinder() { + super(BranchlinesComposition.class, BranchlinesCompositionDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BranchlinesCompositionDto dto, BranchlinesComposition entity) { + + entity.setTopiaId(dto.getId()); + + entity.setLength(dto.getLength()); + entity.setProportion(dto.getProportion()); + entity.setTopType(toEntity(dto.getTopType(), LineType.class)); + entity.setTracelineType(toEntity(dto.getTracelineType(), LineType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, BranchlinesComposition entity, BranchlinesCompositionDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setLength(entity.getLength()); + dto.setProportion(entity.getProportion()); + dto.setTopType(toReferentialReference(referentialLocale, entity.getTopType(), LineTypeDto.class)); + dto.setTracelineType(toReferentialReference(referentialLocale, entity.getTracelineType(), LineTypeDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/CatchLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/CatchLonglineBinder.java new file mode 100644 index 0000000..e081003 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/CatchLonglineBinder.java @@ -0,0 +1,123 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Basket; +import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.entities.longline.CatchLongline; +import fr.ird.observe.entities.longline.Section; +import fr.ird.observe.entities.longline.SizeMeasure; +import fr.ird.observe.entities.longline.WeightMeasure; +import fr.ird.observe.entities.referentiel.Sex; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.longline.CatchFateLongline; +import fr.ird.observe.entities.referentiel.longline.Healthness; +import fr.ird.observe.entities.referentiel.longline.HookPosition; +import fr.ird.observe.entities.referentiel.longline.MaturityStatus; +import fr.ird.observe.entities.referentiel.longline.StomacFullness; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.CatchLonglineDto; +import fr.ird.observe.services.dto.longline.SectionDto; +import fr.ird.observe.services.dto.longline.SizeMeasureDto; +import fr.ird.observe.services.dto.longline.WeightMeasureDto; +import fr.ird.observe.services.dto.referential.SexDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; +import fr.ird.observe.services.dto.referential.longline.HealthnessDto; +import fr.ird.observe.services.dto.referential.longline.HookPositionDto; +import fr.ird.observe.services.dto.referential.longline.MaturityStatusDto; +import fr.ird.observe.services.dto.referential.longline.StomacFullnessDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class CatchLonglineBinder extends DataBinderSupport<CatchLongline, CatchLonglineDto> { + + public CatchLonglineBinder() { + super(CatchLongline.class, CatchLonglineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, CatchLonglineDto dto, CatchLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setHomeId(dto.getHomeId()); + entity.setCount(dto.getCount()); + entity.setTotalWeight(dto.getTotalWeight()); + entity.setHookWhenDiscarded(dto.getHookWhenDiscarded()); + entity.setDepredated(dto.getDepredated()); + entity.setBeatDiameter(dto.getBeatDiameter()); + entity.setGonadeWeight(dto.getGonadeWeight()); + entity.setPhotoReferences(dto.getPhotoReferences()); + entity.setNumber(dto.getNumber()); + entity.setAcquisitionMode(dto.getAcquisitionMode()); + entity.setBasket(toEntity(dto.getBasket(), Basket.class)); + entity.setBranchline(toEntity(dto.getBranchline(), Branchline.class)); + entity.setSection(toEntity(dto.getSection(), Section.class)); + entity.setCatchFateLongline(toEntity(dto.getCatchFateLongline(), CatchFateLongline.class)); + entity.setDiscardHealthness(toEntity(dto.getDiscardHealthness(), Healthness.class)); + entity.setSpeciesCatch(toEntity(dto.getSpeciesCatch(), Species.class)); + entity.setMaturityStatus(toEntity(dto.getMaturityStatus(), MaturityStatus.class)); + entity.setStomacFullness(toEntity(dto.getStomacFullness(), StomacFullness.class)); + entity.setHookPosition(toEntity(dto.getHookPosition(), HookPosition.class)); + entity.setCatchHealthness(toEntity(dto.getCatchHealthness(), Healthness.class)); + entity.setSex(toEntity(dto.getSex(), Sex.class)); + entity.setSizeMeasure(toEntitySet(referentialLocale, dto.getSizeMeasure(), SizeMeasure.class)); + entity.setPredator(toEntitySet(dto.getPredator(), Species.class)); + entity.setWeightMeasure(toEntitySet(referentialLocale, dto.getWeightMeasure(), WeightMeasure.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, CatchLongline entity, CatchLonglineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setHomeId(entity.getHomeId()); + dto.setCount(entity.getCount()); + dto.setTotalWeight(entity.getTotalWeight()); + dto.setHookWhenDiscarded(entity.getHookWhenDiscarded()); + dto.setDepredated(entity.getDepredated()); + dto.setBeatDiameter(entity.getBeatDiameter()); + dto.setGonadeWeight(entity.getGonadeWeight()); + dto.setPhotoReferences(entity.getPhotoReferences()); + dto.setNumber(entity.getNumber()); + dto.setAcquisitionMode(entity.getAcquisitionMode()); + dto.setBasket(toDataReference(referentialLocale, entity.getBasket(), BasketDto.class)); + dto.setBranchline(toDataReference(referentialLocale, entity.getBranchline(), BranchlineDto.class)); + dto.setSection(toDataReference(referentialLocale, entity.getSection(), SectionDto.class)); + dto.setCatchFateLongline(toReferentialReference(referentialLocale, entity.getCatchFateLongline(), CatchFateLonglineDto.class)); + dto.setDiscardHealthness(toReferentialReference(referentialLocale, entity.getDiscardHealthness(), HealthnessDto.class)); + dto.setSpeciesCatch(toReferentialReference(referentialLocale, entity.getSpeciesCatch(), SpeciesDto.class)); + dto.setMaturityStatus(toReferentialReference(referentialLocale, entity.getMaturityStatus(), MaturityStatusDto.class)); + dto.setStomacFullness(toReferentialReference(referentialLocale, entity.getStomacFullness(), StomacFullnessDto.class)); + dto.setHookPosition(toReferentialReference(referentialLocale, entity.getHookPosition(), HookPositionDto.class)); + dto.setCatchHealthness(toReferentialReference(referentialLocale, entity.getCatchHealthness(), HealthnessDto.class)); + dto.setSex(toReferentialReference(referentialLocale, entity.getSex(), SexDto.class)); + dto.setPredator(toReferentialReferenceList(referentialLocale, entity.getPredator(), SpeciesDto.class)); + dto.setSizeMeasure(toLinkedHashSetData(referentialLocale, entity.getSizeMeasure(), SizeMeasureDto.class)); + dto.setWeightMeasure(toLinkedHashSetData(referentialLocale, entity.getWeightMeasure(), WeightMeasureDto.class)); + + } + + @Override + public DataReference<CatchLonglineDto> toDataReference(ReferentialLocale referentialLocale, CatchLongline entity) { + + return toDataReference(entity, entity.getHomeId()); + + } + + @Override + public DataReference<CatchLonglineDto> toDataReference(ReferentialLocale referentialLocale, CatchLonglineDto dto) { + + return toDataReference(dto, dto.getHomeId()); + + } + +} \ No newline at end of file diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/DataBinderSupport.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/DataBinderSupport.java new file mode 100644 index 0000000..9451502 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/DataBinderSupport.java @@ -0,0 +1,181 @@ +package fr.ird.observe.services.binder.data; + +import com.google.common.collect.Iterables; +import fr.ird.observe.services.binder.BinderEngine; +import fr.ird.observe.services.binder.BinderSupport; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.DataReferenceSetDefinitions; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; +import org.apache.commons.collections4.CollectionUtils; +import org.nuiton.topia.persistence.TopiaEntity; + +import java.io.Serializable; +import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.Set; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class DataBinderSupport<E extends TopiaEntity, D extends DataDto> extends BinderSupport<E, D> { + + protected final ReferenceSetDefinition<D> definition; + + protected DataBinderSupport(Class<E> entityType, Class<D> dtoType) { + super(entityType, dtoType); + ReferenceSetDefinition<D> def = null; + try { + def = DataReferenceSetDefinitions.getDefinition(dtoType); + } catch (Exception e) { + System.out.println(getClass().getName()); + } + this.definition + = def; + } + + protected DataBinderSupport(Class<E> entityType, Class<D> dtoType, boolean useDefinition) { + super(entityType, dtoType); + this.definition = useDefinition ? DataReferenceSetDefinitions.getDefinition(dtoType) : null; + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- ENTITY → DATA REFERENCE ----------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + public DataReference<D> toDataReference(ReferentialLocale referentialLocale, E entity) { + throw new IllegalStateException("Not implemented"); + } + + public DataReference<D> toDataReference(ReferentialLocale referentialLocale, D dto) { + throw new IllegalStateException("Not implemented"); + } + + public D toData(ReferentialLocale referentialLocale, E entity) { + + D dto = newDto(); + copyToDto(referentialLocale, entity, dto); + return dto; + + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- DATA → DATA REFERENCE ------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + public E toEntity(ReferentialLocale referentialLocale, D data) { + E entity = newEntity(); + copyToEntity(referentialLocale, data, entity); + return null; + } + + public E toEntity(DataReference<D> reference) { + E entity = newEntity(); + entity.setTopiaId(reference.getId()); + return entity; + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- ENTITY → DATA --------------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected DataReference<D> toDataReference(E entity, Serializable... values) { + + DataReference<D> reference = new DataReference<>(); + + reference.setId(entity.getTopiaId()); + reference.setCreateDate(entity.getTopiaCreateDate()); + reference.setVersion(entity.getTopiaVersion()); + + reference.init(definition.getType(), definition.getPropertyNames(), values); + + return reference; + } + + protected <EE extends TopiaEntity, DD extends DataDto> DataReference<DD> toDataReference(ReferentialLocale referentialLocale, EE entity, Class<DD> dtoType) { + + DataReference<DD> reference = null; + if (entity != null) { + + DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(dtoType); + reference = binder.toDataReference(referentialLocale, entity); + + } + return reference; + + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- DATA → ENTITY --------------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected DataReference<D> toDataReference(D dto, Serializable... values) { + + DataReference<D> reference = new DataReference<>(); + + reference.setId(dto.getId()); +// reference.setCreateDate(dto.getCreateDate()); +// reference.setVersion(dto.getVersion()); + + reference.init(definition.getType(), definition.getPropertyNames(), values); + + return reference; + } + + protected <EE extends TopiaEntity, DD extends DataDto> LinkedHashSet<DD> toLinkedHashSetData(ReferentialLocale referentialLocale, Collection<EE> entities, Class<DD> dtoType) { + + LinkedHashSet<DD> dtos = null; + if (CollectionUtils.isEmpty(entities)) { + + DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(dtoType); + + dtos = new LinkedHashSet<>(entities.size()); + for (EE entity : entities) { + + DD dto = binder.toData(referentialLocale, entity); + dtos.add(dto); + + } + + } + return dtos; + + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- DATA REFERENCE → ENTITY ----------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected <DD extends DataDto, EE extends TopiaEntity> Set<EE> toEntitySet(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType) { + + Set<EE> entityList = new LinkedHashSet<>(dtos.size()); + + if (CollectionUtils.isNotEmpty(dtos)) { + + DD firstDto = Iterables.get(dtos, 0, null); + DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(firstDto); + + for (DD dto : dtos) { + EE entity = binder.toEntity(referentialLocale, dto); + entityList.add(entity); + } + + } + + return entityList; + + } + + protected <DD extends DataDto, EE extends TopiaEntity> EE toEntity(DataReference<DD> reference, Class<EE> entityType) { + + Class<DD> type = reference.getType(); + DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(type); + EE entity = binder.toEntity(reference); + entity.setTopiaId(reference.getId()); + return entity; + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/EncounterBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/EncounterBinder.java new file mode 100644 index 0000000..83d5418 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/EncounterBinder.java @@ -0,0 +1,64 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Encounter; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.longline.EncounterType; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.EncounterDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class EncounterBinder extends DataBinderSupport<Encounter, EncounterDto> { + + public EncounterBinder() { + super(Encounter.class, EncounterDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, EncounterDto dto, Encounter entity) { + + entity.setTopiaId(dto.getId()); + + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setEncounterType(toEntity(dto.getEncounterType(), EncounterType.class)); + entity.setDistance(dto.getDistance()); + entity.setCount(dto.getCount()); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Encounter entity, EncounterDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setEncounterType(toReferentialReference(referentialLocale, entity.getEncounterType(), EncounterTypeDto.class)); + dto.setDistance(entity.getDistance()); + dto.setCount(entity.getCount()); + + } + + @Override + public DataReference<EncounterDto> toDataReference(ReferentialLocale referentialLocale, Encounter entity) { + + return toDataReference(entity, + getLabel(referentialLocale, entity.getSpecies()), + getLabel(referentialLocale, entity.getEncounterType())); + + } + + @Override + public DataReference<EncounterDto> toDataReference(ReferentialLocale referentialLocale, EncounterDto dto) { + + return toDataReference(dto, + getLabel(referentialLocale, dto.getSpecies()), + getLabel(referentialLocale, dto.getEncounterType())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectBinder.java new file mode 100644 index 0000000..a9e8fb0 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectBinder.java @@ -0,0 +1,67 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.seine.ObjectFate; +import fr.ird.observe.entities.referentiel.seine.ObjectOperation; +import fr.ird.observe.entities.referentiel.seine.ObjectType; +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.seine.ObjectFateDto; +import fr.ird.observe.services.dto.referential.seine.ObjectOperationDto; +import fr.ird.observe.services.dto.referential.seine.ObjectTypeDto; +import fr.ird.observe.services.dto.seine.FloatingObjectDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class FloatingObjectBinder extends DataBinderSupport<FloatingObject, FloatingObjectDto> { + + public FloatingObjectBinder() { + super(FloatingObject.class, FloatingObjectDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, FloatingObjectDto dto, FloatingObject entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setDaysAtSeaCount(dto.getDaysAtSeaCount()); + entity.setSupportVesselName(dto.getSupportVesselName()); + entity.setObjectFate(toEntity(dto.getObjectFate(), ObjectFate.class)); + entity.setObjectOperation(toEntity(dto.getObjectOperation(), ObjectOperation.class)); + entity.setObjectType(toEntity(dto.getObjectType(), ObjectType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, FloatingObject entity, FloatingObjectDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setDaysAtSeaCount(entity.getDaysAtSeaCount()); + dto.setSupportVesselName(entity.getSupportVesselName()); + dto.setObjectFate(toReferentialReference(referentialLocale, entity.getObjectFate(), ObjectFateDto.class)); + dto.setObjectOperation(toReferentialReference(referentialLocale, entity.getObjectOperation(), ObjectOperationDto.class)); + dto.setObjectType(toReferentialReference(referentialLocale, entity.getObjectType(), ObjectTypeDto.class)); + + } + + + @Override + public DataReference<FloatingObjectDto> toDataReference(ReferentialLocale referentialLocale, FloatingObject entity) { + + return toDataReference(entity, getLabel(referentialLocale, entity.getObjectType())); + + } + + @Override + public DataReference<FloatingObjectDto> toDataReference(ReferentialLocale referentialLocale, FloatingObjectDto dto) { + + return toDataReference(dto, getLabel(referentialLocale, dto.getObjectType())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectObservedSpeciesDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectObservedSpeciesDtoBinder.java new file mode 100644 index 0000000..d21abf7 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectObservedSpeciesDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.entities.seine.ObjectObservedSpecies; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class FloatingObjectObservedSpeciesDtoBinder extends DataBinderSupport<FloatingObject, FloatingObjectObservedSpeciesDto> { + + public FloatingObjectObservedSpeciesDtoBinder() { + super(FloatingObject.class, FloatingObjectObservedSpeciesDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, FloatingObjectObservedSpeciesDto dto, FloatingObject entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setObjectObservedSpecies(toEntitySet(referentialLocale, dto.getObjectObservedSpecies(), ObjectObservedSpecies.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, FloatingObject entity, FloatingObjectObservedSpeciesDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setObjectObservedSpecies(toLinkedHashSetData(referentialLocale, entity.getObjectObservedSpecies(), ObjectObservedSpeciesDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectSchoolEstimateDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectSchoolEstimateDtoBinder.java new file mode 100644 index 0000000..c019ff4 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectSchoolEstimateDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.entities.seine.ObjectSchoolEstimate; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class FloatingObjectSchoolEstimateDtoBinder extends DataBinderSupport<FloatingObject, FloatingObjectSchoolEstimateDto> { + + public FloatingObjectSchoolEstimateDtoBinder() { + super(FloatingObject.class, FloatingObjectSchoolEstimateDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, FloatingObjectSchoolEstimateDto dto, FloatingObject entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setObjectSchoolEstimate(toEntitySet(referentialLocale, dto.getObjectSchoolEstimate(), ObjectSchoolEstimate.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, FloatingObject entity, FloatingObjectSchoolEstimateDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setObjectSchoolEstimate(toLinkedHashSetData(referentialLocale, entity.getObjectSchoolEstimate(), ObjectSchoolEstimateDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectTransmittingBuoyDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectTransmittingBuoyDtoBinder.java new file mode 100644 index 0000000..a27dbf3 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectTransmittingBuoyDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.entities.seine.TransmittingBuoy; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; +import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class FloatingObjectTransmittingBuoyDtoBinder extends DataBinderSupport<FloatingObject, FloatingObjectTransmittingBuoyDto> { + + public FloatingObjectTransmittingBuoyDtoBinder() { + super(FloatingObject.class, FloatingObjectTransmittingBuoyDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, FloatingObjectTransmittingBuoyDto dto, FloatingObject entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setTransmittingBuoy(toEntitySet(referentialLocale, dto.getTransmittingBuoy(), TransmittingBuoy.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, FloatingObject entity, FloatingObjectTransmittingBuoyDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setTransmittingBuoy(toLinkedHashSetData(referentialLocale, entity.getTransmittingBuoy(), TransmittingBuoyDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatlinesCompositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatlinesCompositionBinder.java new file mode 100644 index 0000000..09fe24e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatlinesCompositionBinder.java @@ -0,0 +1,42 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.FloatlinesComposition; +import fr.ird.observe.entities.referentiel.longline.LineType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class FloatlinesCompositionBinder extends DataBinderSupport<FloatlinesComposition, FloatlinesCompositionDto> { + + public FloatlinesCompositionBinder() { + super(FloatlinesComposition.class, FloatlinesCompositionDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, FloatlinesCompositionDto dto, FloatlinesComposition entity) { + + entity.setTopiaId(dto.getId()); + + entity.setLength(dto.getLength()); + entity.setProportion(dto.getProportion()); + entity.setLineType(toEntity(dto.getLineType(), LineType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, FloatlinesComposition entity, FloatlinesCompositionDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setLength(entity.getLength()); + dto.setProportion(entity.getProportion()); + dto.setLineType(toReferentialReference(referentialLocale, entity.getLineType(), LineTypeDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesLonglineBinder.java new file mode 100644 index 0000000..4f78dd0 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesLonglineBinder.java @@ -0,0 +1,38 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.GearUseFeaturesLongline; +import fr.ird.observe.entities.longline.GearUseFeaturesMeasurementLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearUseFeaturesLonglineBinder extends DataBinderSupport<GearUseFeaturesLongline, GearUseFeaturesLonglineDto> { + + public GearUseFeaturesLonglineBinder() { + super(GearUseFeaturesLongline.class, GearUseFeaturesLonglineDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearUseFeaturesLonglineDto dto, GearUseFeaturesLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setGearUseFeaturesMeasurement(toEntitySet(referentialLocale, dto.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementLongline.class)); + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, GearUseFeaturesLongline entity, GearUseFeaturesLonglineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setGearUseFeaturesMeasurement(toLinkedHashSetData(referentialLocale, entity.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementLonglineDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesMeasurementLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesMeasurementLonglineBinder.java new file mode 100644 index 0000000..5ac6435 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesMeasurementLonglineBinder.java @@ -0,0 +1,40 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.GearUseFeaturesMeasurementLongline; +import fr.ird.observe.entities.referentiel.GearCaracteristic; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearUseFeaturesMeasurementLonglineBinder extends DataBinderSupport<GearUseFeaturesMeasurementLongline, GearUseFeaturesMeasurementLonglineDto> { + + public GearUseFeaturesMeasurementLonglineBinder() { + super(GearUseFeaturesMeasurementLongline.class, GearUseFeaturesMeasurementLonglineDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearUseFeaturesMeasurementLonglineDto dto, GearUseFeaturesMeasurementLongline entity) { + + entity.setTopiaId(dto.getId()); + + entity.setMeasurementValue(dto.getMeasurementValue()); + entity.setGearCaracteristic(toEntity(dto.getGearCaracteristic(), GearCaracteristic.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, GearUseFeaturesMeasurementLongline entity, GearUseFeaturesMeasurementLonglineDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setMeasurementValue(entity.getMeasurementValue()); + dto.setGearCaracteristic(toReferentialReference(referentialLocale, entity.getGearCaracteristic(), GearCaracteristicDto.class)); + + } + +} \ No newline at end of file diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesMeasurementSeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesMeasurementSeineBinder.java new file mode 100644 index 0000000..98ff84d --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesMeasurementSeineBinder.java @@ -0,0 +1,41 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.GearCaracteristic; +import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearUseFeaturesMeasurementSeineBinder extends DataBinderSupport<GearUseFeaturesMeasurementSeine, GearUseFeaturesMeasurementSeineDto> { + + public GearUseFeaturesMeasurementSeineBinder() { + super(GearUseFeaturesMeasurementSeine.class, GearUseFeaturesMeasurementSeineDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearUseFeaturesMeasurementSeineDto dto, GearUseFeaturesMeasurementSeine entity) { + + entity.setTopiaId(dto.getId()); + + entity.setMeasurementValue(dto.getMeasurementValue()); + entity.setGearCaracteristic(toEntity(dto.getGearCaracteristic(), GearCaracteristic.class)); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, GearUseFeaturesMeasurementSeine entity, GearUseFeaturesMeasurementSeineDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setMeasurementValue(entity.getMeasurementValue()); + dto.setGearCaracteristic(toReferentialReference(referentialLocale, entity.getGearCaracteristic(), GearCaracteristicDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesSeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesSeineBinder.java new file mode 100644 index 0000000..5877b9b --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesSeineBinder.java @@ -0,0 +1,40 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; +import fr.ird.observe.entities.seine.GearUseFeaturesSeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearUseFeaturesSeineBinder extends DataBinderSupport<GearUseFeaturesSeine, GearUseFeaturesSeineDto> { + + public GearUseFeaturesSeineBinder() { + super(GearUseFeaturesSeine.class, GearUseFeaturesSeineDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearUseFeaturesSeineDto dto, GearUseFeaturesSeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setGearUseFeaturesMeasurement(toEntitySet(referentialLocale, dto.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementSeine.class)); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, GearUseFeaturesSeine entity, GearUseFeaturesSeineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setGearUseFeaturesMeasurement(toLinkedHashSetData(referentialLocale, entity.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementSeineDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/HooksCompositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/HooksCompositionBinder.java new file mode 100644 index 0000000..061d94d --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/HooksCompositionBinder.java @@ -0,0 +1,46 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.HooksComposition; +import fr.ird.observe.entities.referentiel.longline.HookSize; +import fr.ird.observe.entities.referentiel.longline.HookType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.HooksCompositionDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class HooksCompositionBinder extends DataBinderSupport<HooksComposition, HooksCompositionDto> { + + public HooksCompositionBinder() { + super(HooksComposition.class, HooksCompositionDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, HooksCompositionDto dto, HooksComposition entity) { + + entity.setTopiaId(dto.getId()); + + entity.setProportion(dto.getProportion()); + entity.setHookOffset(dto.getHookOffset()); + entity.setHookSize(toEntity(dto.getHookSize(), HookSize.class)); + entity.setHookType(toEntity(dto.getHookType(), HookType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, HooksComposition entity, HooksCompositionDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setProportion(entity.getProportion()); + dto.setHookOffset(entity.getHookOffset()); + dto.setHookSize(toReferentialReference(referentialLocale, entity.getHookSize(), HookSizeDto.class)); + dto.setHookType(toReferentialReference(referentialLocale, entity.getHookType(), HookTypeDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetCatchBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetCatchBinder.java new file mode 100644 index 0000000..1c08288 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetCatchBinder.java @@ -0,0 +1,84 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.seine.ReasonForDiscard; +import fr.ird.observe.entities.referentiel.seine.SpeciesFate; +import fr.ird.observe.entities.seine.NonTargetCatch; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; +import fr.ird.observe.services.dto.seine.NonTargetCatchDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class NonTargetCatchBinder extends DataBinderSupport<NonTargetCatch, NonTargetCatchDto> { + + public NonTargetCatchBinder() { + super(NonTargetCatch.class, NonTargetCatchDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, NonTargetCatchDto dto, NonTargetCatch entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setCatchWeight(dto.getCatchWeight()); + entity.setMeanWeight(dto.getMeanWeight()); + entity.setMeanLength(dto.getMeanLength()); + entity.setTotalCount(dto.getTotalCount()); + entity.setCatchWeightComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_ENTITY.apply(dto.getCatchWeightComputedSource())); + entity.setMeanWeightComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_ENTITY.apply(dto.getMeanWeightComputedSource())); + entity.setMeanLengthComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_ENTITY.apply(dto.getMeanLengthComputedSource())); + entity.setTotalCountComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_ENTITY.apply(dto.getTotalCountComputedSource())); + entity.setSpeciesFate(toEntity(dto.getSpeciesFate(), SpeciesFate.class)); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setReasonForDiscard(toEntity(dto.getReasonForDiscard(), ReasonForDiscard.class)); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, NonTargetCatch entity, NonTargetCatchDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setCatchWeight(entity.getCatchWeight()); + dto.setMeanWeight(entity.getMeanWeight()); + dto.setMeanLength(entity.getMeanLength()); + dto.setTotalCount(entity.getTotalCount()); + dto.setCatchWeightComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_DTO.apply(entity.getCatchWeightComputedSource())); + dto.setMeanWeightComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_DTO.apply(entity.getMeanWeightComputedSource())); + dto.setMeanLengthComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_DTO.apply(entity.getMeanLengthComputedSource())); + dto.setTotalCountComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_DTO.apply(entity.getTotalCountComputedSource())); + + dto.setSpeciesFate(toReferentialReference(referentialLocale, entity.getSpeciesFate(), SpeciesFateDto.class)); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setReasonForDiscard(toReferentialReference(referentialLocale, entity.getReasonForDiscard(), ReasonForDiscardDto.class)); + + } + + @Override + public DataReference<NonTargetCatchDto> toDataReference(ReferentialLocale referentialLocale, NonTargetCatch entity) { + + return toDataReference(entity, + getLabel(referentialLocale, entity.getSpecies()), + getLabel(referentialLocale, entity.getSpeciesFate())); + + } + + @Override + public DataReference<NonTargetCatchDto> toDataReference(ReferentialLocale referentialLocale, NonTargetCatchDto dto) { + + return toDataReference(dto, + getLabel(referentialLocale, dto.getSpecies()), + getLabel(referentialLocale, dto.getSpeciesFate())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetLengthBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetLengthBinder.java new file mode 100644 index 0000000..05f8e35 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetLengthBinder.java @@ -0,0 +1,57 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Sex; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.seine.NonTargetLength; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SexDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.seine.NonTargetLengthDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class NonTargetLengthBinder extends DataBinderSupport<NonTargetLength, NonTargetLengthDto> { + + public NonTargetLengthBinder() { + super(NonTargetLength.class, NonTargetLengthDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, NonTargetLengthDto dto, NonTargetLength entity) { + + entity.setTopiaId(dto.getId()); + + entity.setLength(dto.getLength()); + entity.setWeight(dto.getWeight()); + entity.setLengthSource(dto.isLengthSource()); + entity.setWeightSource(dto.isWeightSource()); + entity.setCount(dto.getCount()); + entity.setAcquisitionMode(dto.getAcquisitionMode()); + entity.setPicturesReferences(dto.getPicturesReferences()); + entity.setLength(dto.getLength()); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setSex(toEntity(dto.getSex(), Sex.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, NonTargetLength entity, NonTargetLengthDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setLength(entity.getLength()); + dto.setWeight(entity.getWeight()); + dto.setLengthSource(entity.isLengthSource()); + dto.setWeightSource(entity.isWeightSource()); + dto.setCount(entity.getCount()); + dto.setAcquisitionMode(entity.getAcquisitionMode()); + dto.setPicturesReferences(entity.getPicturesReferences()); + dto.setLength(entity.getLength()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setSex(toReferentialReference(referentialLocale, entity.getSex(), SexDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetSampleBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetSampleBinder.java new file mode 100644 index 0000000..f38096f --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetSampleBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.NonTargetLength; +import fr.ird.observe.entities.seine.NonTargetSample; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.NonTargetLengthDto; +import fr.ird.observe.services.dto.seine.NonTargetSampleDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class NonTargetSampleBinder extends DataBinderSupport<NonTargetSample, NonTargetSampleDto> { + + public NonTargetSampleBinder() { + super(NonTargetSample.class, NonTargetSampleDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, NonTargetSampleDto dto, NonTargetSample entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setNonTargetLength(toEntitySet(referentialLocale, dto.getNonTargetLength(), NonTargetLength.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, NonTargetSample entity, NonTargetSampleDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setNonTargetLength(toLinkedHashSetData(referentialLocale, entity.getNonTargetLength(), NonTargetLengthDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectObservedSpeciesBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectObservedSpeciesBinder.java new file mode 100644 index 0000000..76d559f --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectObservedSpeciesBinder.java @@ -0,0 +1,47 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.seine.SpeciesStatus; +import fr.ird.observe.entities.seine.ObjectObservedSpecies; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; +import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObjectObservedSpeciesBinder extends DataBinderSupport<ObjectObservedSpecies, ObjectObservedSpeciesDto> { + + public ObjectObservedSpeciesBinder() { + super(ObjectObservedSpecies.class, ObjectObservedSpeciesDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ObjectObservedSpeciesDto dto, ObjectObservedSpecies entity) { + + entity.setTopiaId(dto.getId()); + + + entity.setCount(entity.getCount()); + entity.setStatut(entity.getStatut()); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setSpeciesStatus(toEntity(dto.getSpeciesStatus(), SpeciesStatus.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ObjectObservedSpecies entity, ObjectObservedSpeciesDto dto) { + + dto.setId(entity.getTopiaId()); + + + dto.setCount(entity.getCount()); + dto.setStatut(entity.getStatut()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setSpeciesStatus(toReferentialReference(referentialLocale, entity.getSpeciesStatus(), SpeciesStatusDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectSchoolEstimateBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectSchoolEstimateBinder.java new file mode 100644 index 0000000..bb429b3 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectSchoolEstimateBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.seine.ObjectSchoolEstimate; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObjectSchoolEstimateBinder extends DataBinderSupport<ObjectSchoolEstimate, ObjectSchoolEstimateDto> { + + public ObjectSchoolEstimateBinder() { + super(ObjectSchoolEstimate.class, ObjectSchoolEstimateDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ObjectSchoolEstimateDto dto, ObjectSchoolEstimate entity) { + + entity.setTopiaId(dto.getId()); + + entity.setTotalWeight(dto.getTotalWeight()); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ObjectSchoolEstimate entity, ObjectSchoolEstimateDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setTotalWeight(entity.getTotalWeight()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/RouteBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/RouteBinder.java new file mode 100644 index 0000000..37124db --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/RouteBinder.java @@ -0,0 +1,64 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.Route; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; +import fr.ird.observe.services.dto.seine.RouteDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RouteBinder extends DataBinderSupport<Route, RouteDto> { + + public RouteBinder() { + super(Route.class, RouteDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, RouteDto dto, Route entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setComment(dto.getComment()); + entity.setDate(dto.getDate()); + entity.setStartLogValue(dto.getStartLogValue()); + entity.setEndLogValue(dto.getEndLogValue()); + entity.setCheckLevel(dto.getCheckLevel()); + entity.setLastUpdate(dto.getLastUpdate()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Route entity, RouteDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setComment(entity.getComment()); + dto.setDate(entity.getDate()); + dto.setStartLogValue(entity.getStartLogValue()); + dto.setEndLogValue(entity.getEndLogValue()); + dto.setCheckLevel(entity.getCheckLevel()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setActivitySeine(toLinkedHashSetData(referentialLocale, entity.getActivitySeine(), ActivitySeineStubDto.class)); + + } + + @Override + public DataReference<RouteDto> toDataReference(ReferentialLocale referentialLocale, Route entity) { + + return toDataReference(entity, entity.getDate(), entity.getComment()); + + } + + @Override + public DataReference<RouteDto> toDataReference(ReferentialLocale referentialLocale, RouteDto dto) { + + return toDataReference(dto, dto.getDate(), dto.getComment()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/RouteStubDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/RouteStubDtoBinder.java new file mode 100644 index 0000000..6f5c765 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/RouteStubDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.Route; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.RouteStubDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RouteStubDtoBinder extends DataBinderSupport<Route, RouteStubDto> { + + public RouteStubDtoBinder() { + super(Route.class, RouteStubDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, RouteStubDto dto, Route entity) { + + entity.setTopiaId(dto.getId()); + + entity.setDate(dto.getDate()); + entity.setStartLogValue(dto.getStartLogValue()); + entity.setEndLogValue(dto.getEndLogValue()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Route entity, RouteStubDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setDate(entity.getDate()); + dto.setStartLogValue(entity.getStartLogValue()); + dto.setEndLogValue(entity.getEndLogValue()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SchoolEstimateBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SchoolEstimateBinder.java new file mode 100644 index 0000000..d5c908c --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SchoolEstimateBinder.java @@ -0,0 +1,62 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.seine.SchoolEstimate; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.seine.SchoolEstimateDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SchoolEstimateBinder extends DataBinderSupport<SchoolEstimate, SchoolEstimateDto> { + + public SchoolEstimateBinder() { + super(SchoolEstimate.class, SchoolEstimateDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SchoolEstimateDto dto, SchoolEstimate entity) { + + entity.setTopiaId(dto.getId()); + + entity.setTotalWeight(dto.getTotalWeight()); + entity.setMeanWeight(dto.getMeanWeight()); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SchoolEstimate entity, SchoolEstimateDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setTotalWeight(entity.getTotalWeight()); + dto.setMeanWeight(entity.getMeanWeight()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + + } + + @Override + public DataReference<SchoolEstimateDto> toDataReference(ReferentialLocale referentialLocale, SchoolEstimate entity) { + + return toDataReference(entity, + getLabel(referentialLocale, entity.getSpecies()), + entity.getMeanWeight(), + entity.getTotalWeight()); + + } + + @Override + public DataReference<SchoolEstimateDto> toDataReference(ReferentialLocale referentialLocale, SchoolEstimateDto dto) { + + return toDataReference(dto, + getLabel(referentialLocale, dto.getSpecies()), + dto.getMeanWeight(), + dto.getTotalWeight()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SectionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SectionBinder.java new file mode 100644 index 0000000..cf5bf36 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SectionBinder.java @@ -0,0 +1,56 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Basket; +import fr.ird.observe.entities.longline.Section; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.SectionDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SectionBinder extends DataBinderSupport<Section, SectionDto> { + + public SectionBinder() { + super(Section.class, SectionDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SectionDto dto, Section entity) { + + entity.setTopiaId(dto.getId()); + + entity.setSettingIdentifier(dto.getSettingIdentifier()); + entity.setHaulingIdentifier(dto.getHaulingIdentifier()); + entity.setBasket(toEntitySet(referentialLocale, dto.getBasket(), Basket.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Section entity, SectionDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setSettingIdentifier(entity.getSettingIdentifier()); + dto.setHaulingIdentifier(entity.getHaulingIdentifier()); + dto.setBasket(toLinkedHashSetData(referentialLocale, entity.getBasket(), BasketDto.class)); + + } + + @Override + public DataReference<SectionDto> toDataReference(ReferentialLocale referentialLocale, Section entity) { + + return toDataReference(entity, entity.getHaulingIdentifier(), entity.getSettingIdentifier()); + + } + + @Override + public DataReference<SectionDto> toDataReference(ReferentialLocale referentialLocale, SectionDto dto) { + + return toDataReference(dto, dto.getHaulingIdentifier(), dto.getSettingIdentifier()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SensorUsedBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SensorUsedBinder.java new file mode 100644 index 0000000..5df54cf --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SensorUsedBinder.java @@ -0,0 +1,53 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.SensorUsed; +import fr.ird.observe.entities.referentiel.longline.SensorBrand; +import fr.ird.observe.entities.referentiel.longline.SensorDataFormat; +import fr.ird.observe.entities.referentiel.longline.SensorType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.SensorUsedDto; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; +import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; +import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SensorUsedBinder extends DataBinderSupport<SensorUsed, SensorUsedDto> { + + public SensorUsedBinder() { + super(SensorUsed.class, SensorUsedDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SensorUsedDto dto, SensorUsed entity) { + + entity.setTopiaId(dto.getId()); + + entity.setData(dto.getData()); + entity.setDataFilename(dto.getDataFilename()); + entity.setDataLocation(dto.getDataLocation()); + entity.setSensorSerialNo(dto.getSensorSerialNo()); + entity.setSensorType(toEntity(dto.getSensorType(), SensorType.class)); + entity.setSensorBrand(toEntity(dto.getSensorBrand(), SensorBrand.class)); + entity.setSensorDataFormat(toEntity(dto.getSensorDataFormat(), SensorDataFormat.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SensorUsed entity, SensorUsedDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setData(entity.getData()); + dto.setDataFilename(entity.getDataFilename()); + dto.setDataLocation(entity.getDataLocation()); + dto.setSensorSerialNo(entity.getSensorSerialNo()); + dto.setSensorType(toReferentialReference(referentialLocale, entity.getSensorType(), SensorTypeDto.class)); + dto.setSensorBrand(toReferentialReference(referentialLocale, entity.getSensorBrand(), SensorBrandDto.class)); + dto.setSensorDataFormat(toReferentialReference(referentialLocale, entity.getSensorDataFormat(), SensorDataFormatDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineBinder.java new file mode 100644 index 0000000..93b5300 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineBinder.java @@ -0,0 +1,119 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.entities.referentiel.longline.LightsticksColor; +import fr.ird.observe.entities.referentiel.longline.LightsticksType; +import fr.ird.observe.entities.referentiel.longline.LineType; +import fr.ird.observe.entities.referentiel.longline.SettingShape; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.SetLonglineDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksColorDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.dto.referential.longline.SettingShapeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglineDto> { + + public SetLonglineBinder() { + super(SetLongline.class, SetLonglineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineDto dto, SetLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setHomeId(dto.getHomeId()); + entity.setNumber(dto.getNumber()); + entity.setBasketsPerSectionCount(dto.getBasketsPerSectionCount()); + entity.setBranchlinesPerBasketCount(dto.getBranchlinesPerBasketCount()); + entity.setTotalSectionsCount(dto.getTotalSectionsCount()); + entity.setTotalBasketsCount(dto.getTotalBasketsCount()); + entity.setTotalHooksCount(dto.getTotalHooksCount()); + entity.setWeightedSnap(dto.getWeightedSnap()); + entity.setSnapWeight(dto.getSnapWeight()); + entity.setWeightedSwivel(dto.getWeightedSwivel()); + entity.setSwivelWeight(dto.getSwivelWeight()); + entity.setLightsticksPerBasketCount(dto.getLightsticksPerBasketCount()); + entity.setTimeBetweenHooks(dto.getTimeBetweenHooks()); + entity.setShooterUsed(dto.getShooterUsed()); + entity.setShooterSpeed(dto.getShooterSpeed()); + entity.setMaxDepthTargeted(dto.getMaxDepthTargeted()); + entity.setSettingStartTimeStamp(dto.getSettingStartTimeStamp()); + entity.setSettingStartLatitude(dto.getSettingStartLatitude()); + entity.setSettingStartLongitude(dto.getSettingStartLongitude()); + entity.setSettingEndTimeStamp(dto.getSettingEndTimeStamp()); + entity.setSettingEndLatitude(dto.getSettingEndLatitude()); + entity.setSettingEndLongitude(dto.getSettingEndLongitude()); + entity.setSettingVesselSpeed(dto.getSettingVesselSpeed()); + entity.setHaulingDirectionSameAsSetting(dto.getHaulingDirectionSameAsSetting()); + entity.setHaulingStartTimeStamp(dto.getHaulingStartTimeStamp()); + entity.setHaulingStartLatitude(dto.getHaulingStartLatitude()); + entity.setHaulingStartLongitude(dto.getHaulingStartLongitude()); + entity.setHaulingEndTimeStamp(dto.getHaulingEndTimeStamp()); + entity.setHaulingEndLatitude(dto.getHaulingEndLatitude()); + entity.setHaulingEndLongitude(dto.getHaulingEndLongitude()); + entity.setHaulingBreaks(dto.getHaulingBreaks()); + entity.setMonitored(dto.getMonitored()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setSettingShape(toEntity(dto.getSettingShape(), SettingShape.class)); + entity.setLineType(toEntity(dto.getLineType(), LineType.class)); + entity.setLightsticksType(toEntity(dto.getLightsticksType(), LightsticksType.class)); + entity.setLightsticksColor(toEntity(dto.getLightsticksColor(), LightsticksColor.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setHomeId(entity.getHomeId()); + dto.setNumber(entity.getNumber()); + dto.setBasketsPerSectionCount(entity.getBasketsPerSectionCount()); + dto.setBranchlinesPerBasketCount(entity.getBranchlinesPerBasketCount()); + dto.setTotalSectionsCount(entity.getTotalSectionsCount()); + dto.setTotalBasketsCount(entity.getTotalBasketsCount()); + dto.setTotalHooksCount(entity.getTotalHooksCount()); + dto.setWeightedSnap(entity.getWeightedSnap()); + dto.setSnapWeight(entity.getSnapWeight()); + dto.setWeightedSwivel(entity.getWeightedSwivel()); + dto.setSwivelWeight(entity.getSwivelWeight()); + dto.setLightsticksPerBasketCount(entity.getLightsticksPerBasketCount()); + dto.setTimeBetweenHooks(entity.getTimeBetweenHooks()); + dto.setShooterUsed(entity.getShooterUsed()); + dto.setShooterSpeed(entity.getShooterSpeed()); + dto.setMaxDepthTargeted(entity.getMaxDepthTargeted()); + dto.setSettingStartTimeStamp(entity.getSettingStartTimeStamp()); + dto.setSettingStartLatitude(entity.getSettingStartLatitude()); + dto.setSettingStartLongitude(entity.getSettingStartLongitude()); + dto.setSettingEndTimeStamp(entity.getSettingEndTimeStamp()); + dto.setSettingEndLatitude(entity.getSettingEndLatitude()); + dto.setSettingEndLongitude(entity.getSettingEndLongitude()); + dto.setSettingVesselSpeed(entity.getSettingVesselSpeed()); + dto.setHaulingDirectionSameAsSetting(entity.getHaulingDirectionSameAsSetting()); + dto.setHaulingStartTimeStamp(entity.getHaulingStartTimeStamp()); + dto.setHaulingStartLatitude(entity.getHaulingStartLatitude()); + dto.setHaulingStartLongitude(entity.getHaulingStartLongitude()); + dto.setHaulingEndTimeStamp(entity.getHaulingEndTimeStamp()); + dto.setHaulingEndLatitude(entity.getHaulingEndLatitude()); + dto.setHaulingEndLongitude(entity.getHaulingEndLongitude()); + dto.setHaulingBreaks(entity.getHaulingBreaks()); + dto.setMonitored(entity.getMonitored()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setSettingShape(toReferentialReference(referentialLocale, entity.getSettingShape(), SettingShapeDto.class)); + dto.setLineType(toReferentialReference(referentialLocale, entity.getLineType(), LineTypeDto.class)); + dto.setLightsticksType(toReferentialReference(referentialLocale, entity.getLightsticksType(), LightsticksTypeDto.class)); + dto.setLightsticksColor(toReferentialReference(referentialLocale, entity.getLightsticksColor(), LightsticksColorDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineCatchDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineCatchDtoBinder.java new file mode 100644 index 0000000..220010e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineCatchDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.CatchLongline; +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.CatchLonglineDto; +import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetLonglineCatchDtoBinder extends DataBinderSupport<SetLongline, SetLonglineCatchDto> { + + public SetLonglineCatchDtoBinder() { + super(SetLongline.class, SetLonglineCatchDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineCatchDto dto, SetLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setCatchLongline(toEntitySet(referentialLocale, dto.getCatchLongline(), CatchLongline.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineCatchDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setCatchLongline(toLinkedHashSetData(referentialLocale, entity.getCatchLongline(), CatchLonglineDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineDetailCompositionDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineDetailCompositionDtoBinder.java new file mode 100644 index 0000000..43b1810 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineDetailCompositionDtoBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Section; +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.SectionDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetLonglineDetailCompositionDtoBinder extends DataBinderSupport<SetLongline, SetLonglineDetailCompositionDto> { + + public SetLonglineDetailCompositionDtoBinder() { + super(SetLongline.class, SetLonglineDetailCompositionDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineDetailCompositionDto dto, SetLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setSection(toEntitySet(referentialLocale, dto.getSection(), Section.class)); + entity.setSettingStartTimeStamp(dto.getSettingStartTimeStamp()); + entity.setMonitored(dto.getMonitored()); + entity.setTotalSectionsCount(dto.getTotalSectionsCount()); + entity.setBasketsPerSectionCount(dto.getBasketsPerSectionCount()); + entity.setBranchlinesPerBasketCount(dto.getBranchlinesPerBasketCount()); + entity.setHaulingDirectionSameAsSetting(dto.getHaulingDirectionSameAsSetting()); + entity.setHaulingBreaks(dto.getHaulingBreaks()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineDetailCompositionDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setSection(toLinkedHashSetData(referentialLocale, entity.getSection(), SectionDto.class)); + dto.setSettingStartTimeStamp(entity.getSettingStartTimeStamp()); + dto.setMonitored(entity.getMonitored()); + dto.setTotalSectionsCount(entity.getTotalSectionsCount()); + dto.setBasketsPerSectionCount(entity.getBasketsPerSectionCount()); + dto.setBranchlinesPerBasketCount(entity.getBranchlinesPerBasketCount()); + dto.setHaulingDirectionSameAsSetting(entity.getHaulingDirectionSameAsSetting()); + dto.setHaulingBreaks(entity.getHaulingBreaks()); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineGlobalCompositionDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineGlobalCompositionDtoBinder.java new file mode 100644 index 0000000..b39e243 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineGlobalCompositionDtoBinder.java @@ -0,0 +1,58 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.BaitsComposition; +import fr.ird.observe.entities.longline.BranchlinesComposition; +import fr.ird.observe.entities.longline.FloatlinesComposition; +import fr.ird.observe.entities.longline.HooksComposition; +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.entities.referentiel.longline.MitigationType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BaitsCompositionDto; +import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; +import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; +import fr.ird.observe.services.dto.longline.HooksCompositionDto; +import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; +import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetLonglineGlobalCompositionDtoBinder extends DataBinderSupport<SetLongline, SetLonglineGlobalCompositionDto> { + + public SetLonglineGlobalCompositionDtoBinder() { + super(SetLongline.class, SetLonglineGlobalCompositionDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineGlobalCompositionDto dto, SetLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setFloatlinesComposition(toEntitySet(referentialLocale, dto.getFloatlinesComposition(), FloatlinesComposition.class)); + entity.setBranchlinesComposition(toEntitySet(referentialLocale, dto.getBranchlinesComposition(), BranchlinesComposition.class)); + entity.setHooksComposition(toEntitySet(referentialLocale, dto.getHooksComposition(), HooksComposition.class)); + entity.setBaitsComposition(toEntitySet(referentialLocale, dto.getBaitsComposition(), BaitsComposition.class)); + entity.setMitigationType(toEntitySet(dto.getMitigationType(), MitigationType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineGlobalCompositionDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setFloatlinesComposition(toLinkedHashSetData(referentialLocale, entity.getFloatlinesComposition(), FloatlinesCompositionDto.class)); + dto.setBranchlinesComposition(toLinkedHashSetData(referentialLocale, entity.getBranchlinesComposition(), BranchlinesCompositionDto.class)); + dto.setHooksComposition(toLinkedHashSetData(referentialLocale, entity.getHooksComposition(), HooksCompositionDto.class)); + dto.setBaitsComposition(toLinkedHashSetData(referentialLocale, entity.getBaitsComposition(), BaitsCompositionDto.class)); + dto.setMitigationType(toReferentialReferenceList(referentialLocale, entity.getMitigationType(), MitigationTypeDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineStubDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineStubDtoBinder.java new file mode 100644 index 0000000..9fe3c24 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineStubDtoBinder.java @@ -0,0 +1,34 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.longline.SetLonglineStubDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetLonglineStubDtoBinder extends DataBinderSupport<SetLongline, SetLonglineStubDto> { + + public SetLonglineStubDtoBinder() { + super(SetLongline.class, SetLonglineStubDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineStubDto dto, SetLongline entity) { + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineStubDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setHomeId(entity.getHomeId()); + dto.setNumber(entity.getNumber()); + dto.setActivityLongline(toDataReference(referentialLocale, null,ActivityLonglineDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineTdrDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineTdrDtoBinder.java new file mode 100644 index 0000000..19e0bdb --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineTdrDtoBinder.java @@ -0,0 +1,37 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetLonglineTdrDtoBinder extends DataBinderSupport<SetLongline, SetLonglineTdrDto> { + + public SetLonglineTdrDtoBinder() { + super(SetLongline.class, SetLonglineTdrDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineTdrDto dto, SetLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setSettingStartTimeStamp(dto.getSettingStartTimeStamp()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineTdrDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setSettingStartTimeStamp(entity.getSettingStartTimeStamp()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineBinder.java new file mode 100644 index 0000000..8a057a8 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineBinder.java @@ -0,0 +1,74 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.seine.ReasonForNullSet; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { + + public SetSeineBinder() { + super(SetSeine.class, SetSeineDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetSeineDto dto, SetSeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setStartTime(dto.getStartTime()); + entity.setEndPursingTimeStamp(dto.getEndPursingTimeStamp()); + entity.setEndSetTimeStamp(dto.getEndSetTimeStamp()); + entity.setMaxGearDepth(dto.getMaxGearDepth()); + entity.setCurrentSpeed(dto.getCurrentSpeed()); + entity.setCurrentDirection(dto.getCurrentDirection()); + entity.setSchoolTopDepth(dto.getSchoolTopDepth()); + entity.setSchoolMeanDepth(dto.getSchoolMeanDepth()); + entity.setSchoolThickness(dto.getSchoolThickness()); + entity.setSonarUsed(dto.isSonarUsed()); + entity.setSupportVesselName(dto.getSupportVesselName()); + entity.setTargetDiscarded(dto.getTargetDiscarded()); + entity.setNonTargetDiscarded(dto.getNonTargetDiscarded()); + entity.setCurrentMeasureDepth(dto.getCurrentMeasureDepth()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setSchoolType(SCHOOL_TYPE_TO_ENTITY.apply(dto.getSchoolType())); + entity.setReasonForNullSet(toEntity(dto.getReasonForNullSet(), ReasonForNullSet.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setStartTime(entity.getStartTime()); + dto.setEndPursingTimeStamp(entity.getEndPursingTimeStamp()); + dto.setEndSetTimeStamp(entity.getEndSetTimeStamp()); + dto.setMaxGearDepth(entity.getMaxGearDepth()); + dto.setCurrentSpeed(entity.getCurrentSpeed()); + dto.setCurrentDirection(entity.getCurrentDirection()); + dto.setSchoolTopDepth(entity.getSchoolTopDepth()); + dto.setSchoolMeanDepth(entity.getSchoolMeanDepth()); + dto.setSchoolThickness(entity.getSchoolThickness()); + dto.setSonarUsed(entity.isSonarUsed()); + dto.setSupportVesselName(entity.getSupportVesselName()); + dto.setTargetDiscarded(entity.getTargetDiscarded()); + dto.setNonTargetDiscarded(entity.getNonTargetDiscarded()); + dto.setCurrentMeasureDepth(entity.getCurrentMeasureDepth()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setSchoolType(SCHOOL_TYPE_TO_DTO.apply(entity.getSchoolType())); + dto.setReasonForNullSet(toReferentialReference(referentialLocale, entity.getReasonForNullSet(), ReasonForNullSetDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineNonTargetCatchDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineNonTargetCatchDtoBinder.java new file mode 100644 index 0000000..3f63789 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineNonTargetCatchDtoBinder.java @@ -0,0 +1,36 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.NonTargetCatch; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.NonTargetCatchDto; +import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetSeineNonTargetCatchDtoBinder extends DataBinderSupport<SetSeine, SetSeineNonTargetCatchDto> { + + public SetSeineNonTargetCatchDtoBinder() { + super(SetSeine.class, SetSeineNonTargetCatchDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetSeineNonTargetCatchDto dto, SetSeine entity) { + + entity.setTopiaId(dto.getId()); + + entity.setNonTargetCatch(toEntitySet(referentialLocale, dto.getNonTargetCatch(), NonTargetCatch.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineNonTargetCatchDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setNonTargetCatch(toLinkedHashSetData(referentialLocale, entity.getNonTargetCatch(), NonTargetCatchDto.class)); + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineSchoolEstimateDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineSchoolEstimateDtoBinder.java new file mode 100644 index 0000000..6c6b5a1 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineSchoolEstimateDtoBinder.java @@ -0,0 +1,40 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.SchoolEstimate; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.SchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetSeineSchoolEstimateDtoBinder extends DataBinderSupport<SetSeine, SetSeineSchoolEstimateDto> { + + public SetSeineSchoolEstimateDtoBinder() { + super(SetSeine.class, SetSeineSchoolEstimateDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetSeineSchoolEstimateDto dto, SetSeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setSchoolEstimate(toEntitySet(referentialLocale, dto.getSchoolEstimate(), SchoolEstimate.class)); + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineSchoolEstimateDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setSchoolEstimate(toLinkedHashSetData(referentialLocale, entity.getSchoolEstimate(), SchoolEstimateDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineTargetCatchDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineTargetCatchDtoBinder.java new file mode 100644 index 0000000..06335c7 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineTargetCatchDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.entities.seine.TargetCatch; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; +import fr.ird.observe.services.dto.seine.TargetCatchDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetSeineTargetCatchDtoBinder extends DataBinderSupport<SetSeine, SetSeineTargetCatchDto> { + + public SetSeineTargetCatchDtoBinder() { + super(SetSeine.class, SetSeineTargetCatchDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetSeineTargetCatchDto dto, SetSeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setTargetCatch(toEntitySet(referentialLocale, dto.getTargetCatch(), TargetCatch.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineTargetCatchDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setTargetCatch(toLinkedHashSetData(referentialLocale, entity.getTargetCatch(), TargetCatchDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SizeMeasureBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SizeMeasureBinder.java new file mode 100644 index 0000000..35c3bf0 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SizeMeasureBinder.java @@ -0,0 +1,40 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.SizeMeasure; +import fr.ird.observe.entities.referentiel.longline.SizeMeasureType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.SizeMeasureDto; +import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SizeMeasureBinder extends DataBinderSupport<SizeMeasure, SizeMeasureDto> { + + public SizeMeasureBinder() { + super(SizeMeasure.class, SizeMeasureDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SizeMeasureDto dto, SizeMeasure entity) { + + entity.setTopiaId(dto.getId()); + + entity.setSize(dto.getSize()); + entity.setSizeMeasureType(toEntity(dto.getSizeMeasureType(), SizeMeasureType.class)); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SizeMeasure entity, SizeMeasureDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setSize(entity.getSize()); + dto.setSizeMeasureType(toReferentialReference(referentialLocale, entity.getSizeMeasureType(), SizeMeasureTypeDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetCatchBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetCatchBinder.java new file mode 100644 index 0000000..33724dd --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetCatchBinder.java @@ -0,0 +1,55 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.seine.ReasonForDiscard; +import fr.ird.observe.entities.referentiel.seine.WeightCategory; +import fr.ird.observe.entities.seine.TargetCatch; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; +import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; +import fr.ird.observe.services.dto.seine.TargetCatchDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TargetCatchBinder extends DataBinderSupport<TargetCatch, TargetCatchDto> { + + public TargetCatchBinder() { + super(TargetCatch.class, TargetCatchDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TargetCatchDto dto, TargetCatch entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setCatchWeight(dto.getCatchWeight()); + entity.setWell(dto.getWell()); + entity.setBroughtOnDeck(dto.getBroughtOnDeck()); + entity.setDiscarded(dto.isDiscarded()); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setReasonForDiscard(toEntity(dto.getReasonForDiscard(), ReasonForDiscard.class)); + entity.setWeightCategory(toEntity(dto.getWeightCategory(), WeightCategory.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TargetCatch entity, TargetCatchDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setCatchWeight(entity.getCatchWeight()); + dto.setWell(entity.getWell()); + dto.setBroughtOnDeck(entity.getBroughtOnDeck()); + dto.setDiscarded(entity.isDiscarded()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setReasonForDiscard(toReferentialReference(referentialLocale, entity.getReasonForDiscard(), ReasonForDiscardDto.class)); + dto.setWeightCategory(toReferentialReference(referentialLocale, entity.getWeightCategory(), WeightCategoryDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetLengthBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetLengthBinder.java new file mode 100644 index 0000000..79338c6 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetLengthBinder.java @@ -0,0 +1,76 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.seine.TargetLength; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.seine.TargetLengthDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TargetLengthBinder extends DataBinderSupport<TargetLength, TargetLengthDto> { + + public TargetLengthBinder() { + super(TargetLength.class, TargetLengthDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TargetLengthDto dto, TargetLength entity) { + + entity.setTopiaId(dto.getId()); + + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setMeasureType(dto.getMeasureType()); + entity.setLength(dto.getLength()); + //FIXME +// entity.setLengthSource(dto.getLengthSource()); + entity.setCount(dto.getCount()); + entity.setWeight(dto.getWeight()); + //FIXME +// entity.setWeightSource(dto.getWeightSource()); + entity.setAcquisitionMode(dto.getAcquisitionMode()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TargetLength entity, TargetLengthDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setMeasureType(entity.getMeasureType()); + dto.setLength(entity.getLength()); + //FIXME +// entity.setLengthSource(dto.getLengthSource()); + dto.setCount(entity.getCount()); + dto.setWeight(entity.getWeight()); + //FIXME +// dto.setWeightSource(entity.getWeightSource()); + dto.setAcquisitionMode(entity.getAcquisitionMode()); + + } + + @Override + public DataReference<TargetLengthDto> toDataReference(ReferentialLocale referentialLocale, TargetLength entity) { + + return toDataReference(entity, + getLabel(referentialLocale, entity.getSpecies()), + entity.getLength(), + entity.getCount()); + + } + + @Override + public DataReference<TargetLengthDto> toDataReference(ReferentialLocale referentialLocale, TargetLengthDto dto) { + + return toDataReference(dto, + getLabel(referentialLocale, dto.getSpecies()), + dto.getLength(), + dto.getCount()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetSampleBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetSampleBinder.java new file mode 100644 index 0000000..7871a2a --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetSampleBinder.java @@ -0,0 +1,44 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.TargetLength; +import fr.ird.observe.entities.seine.TargetSample; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.TargetLengthDto; +import fr.ird.observe.services.dto.seine.TargetSampleDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TargetSampleBinder extends DataBinderSupport<TargetSample, TargetSampleDto> { + + public TargetSampleBinder() { + super(TargetSample.class, TargetSampleDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TargetSampleDto dto, TargetSample entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setNature(dto.getNature()); + entity.setDiscarded(dto.getDiscarded()); + entity.setTargetLength(toEntitySet(referentialLocale, dto.getTargetLength(), TargetLength.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TargetSample entity, TargetSampleDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setNature(entity.getNature()); + dto.setDiscarded(entity.getDiscarded()); + dto.setTargetLength(toLinkedHashSetData(referentialLocale, entity.getTargetLength(), TargetLengthDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TdrBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TdrBinder.java new file mode 100644 index 0000000..66ed5a4 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TdrBinder.java @@ -0,0 +1,100 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Basket; +import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.entities.longline.Section; +import fr.ird.observe.entities.longline.Tdr; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition; +import fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition; +import fr.ird.observe.entities.referentiel.longline.SensorBrand; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.SectionDto; +import fr.ird.observe.services.dto.longline.TdrDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto; +import fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TdrBinder extends DataBinderSupport<Tdr, TdrDto> { + + public TdrBinder() { + super(Tdr.class, TdrDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TdrDto dto, Tdr entity) { + + entity.setTopiaId(dto.getId()); + + entity.setHomeId(dto.getHomeId()); + entity.setFloatline1Length(dto.getFloatline1Length()); + entity.setFloatline2Length(dto.getFloatline2Length()); + entity.setSerialNo(dto.getSerialNo()); + entity.setData(dto.getData()); + entity.setDataFilename(dto.getDataFilename()); + entity.setDataLocation(dto.getDataLocation()); + entity.setDeployementStart(dto.getDeployementStart()); + entity.setDeployementEnd(dto.getDeployementEnd()); + entity.setFishingStart(dto.getFishingStart()); + entity.setFishingEnd(dto.getFishingEnd()); + entity.setFishingStartDepth(dto.getFishingStartDepth()); + entity.setFishingEndDepth(dto.getFishingEndDepth()); + entity.setMeanDeployementDepth(dto.getMeanDeployementDepth()); + entity.setMedianDeployementDepth(dto.getMedianDeployementDepth()); + entity.setMinFishingDepth(dto.getMinFishingDepth()); + entity.setMaxFishingDepth(dto.getMaxFishingDepth()); + entity.setMeanFishingDepth(dto.getMeanFishingDepth()); + entity.setMedianFishingDepth(dto.getMedianFishingDepth()); + entity.setSensorBrand(toEntity(dto.getSensorBrand(), SensorBrand.class)); + entity.setItemHorizontalPosition(toEntity(dto.getItemHorizontalPosition(), ItemHorizontalPosition.class)); + entity.setItemVerticalPosition(toEntity(dto.getItemVerticalPosition(), ItemVerticalPosition.class)); + entity.setSpecies(toEntitySet(dto.getSpecies(), Species.class)); + entity.setBranchline(toEntity(dto.getBranchline(), Branchline.class)); + entity.setSection(toEntity(dto.getSection(), Section.class)); + entity.setBasket(toEntity(dto.getBasket(), Basket.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Tdr entity, TdrDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setHomeId(entity.getHomeId()); + dto.setFloatline1Length(entity.getFloatline1Length()); + dto.setFloatline2Length(entity.getFloatline2Length()); + dto.setSerialNo(entity.getSerialNo()); + dto.setData(entity.getData()); + dto.setDataFilename(entity.getDataFilename()); + dto.setDataLocation(entity.getDataLocation()); + dto.setDeployementStart(entity.getDeployementStart()); + dto.setDeployementEnd(entity.getDeployementEnd()); + dto.setFishingStart(entity.getFishingStart()); + dto.setFishingEnd(entity.getFishingEnd()); + dto.setFishingStartDepth(entity.getFishingStartDepth()); + dto.setFishingEndDepth(entity.getFishingEndDepth()); + dto.setMeanDeployementDepth(entity.getMeanDeployementDepth()); + dto.setMedianDeployementDepth(entity.getMedianDeployementDepth()); + dto.setMinFishingDepth(entity.getMinFishingDepth()); + dto.setMaxFishingDepth(entity.getMaxFishingDepth()); + dto.setMeanFishingDepth(entity.getMeanFishingDepth()); + dto.setMedianFishingDepth(entity.getMedianFishingDepth()); + dto.setSensorBrand(toReferentialReference(referentialLocale, entity.getSensorBrand(), SensorBrandDto.class)); + dto.setItemHorizontalPosition(toReferentialReference(referentialLocale, entity.getItemHorizontalPosition(), ItemHorizontalPositionDto.class)); + dto.setItemVerticalPosition(toReferentialReference(referentialLocale, entity.getItemVerticalPosition(), ItemVerticalPositionDto.class)); + dto.setSpecies(toReferentialReferenceList(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setBranchline(toDataReference(referentialLocale, entity.getBranchline(), BranchlineDto.class)); + dto.setSection(toDataReference(referentialLocale, entity.getSection(), SectionDto.class)); + dto.setBasket(toDataReference(referentialLocale, entity.getBasket(), BasketDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TransmittingBuoyBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TransmittingBuoyBinder.java new file mode 100644 index 0000000..c21f08e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TransmittingBuoyBinder.java @@ -0,0 +1,51 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation; +import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType; +import fr.ird.observe.entities.seine.TransmittingBuoy; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; +import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TransmittingBuoyBinder extends DataBinderSupport<TransmittingBuoy, TransmittingBuoyDto> { + + public TransmittingBuoyBinder() { + super(TransmittingBuoy.class, TransmittingBuoyDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TransmittingBuoyDto dto, TransmittingBuoy entity) { + + entity.setTopiaId(dto.getId()); + + entity.setCode(dto.getCode()); + entity.setBrand(dto.getBrand()); + entity.setOwnership(OWNERSHIP_TO_ENTITY.apply(dto.getOwnership())); + entity.setTransmittingBuoyOperation(toEntity(dto.getTransmittingBuoyOperation(), TransmittingBuoyOperation.class)); + entity.setTransmittingBuoyType(toEntity(dto.getTransmittingBuoyType(), TransmittingBuoyType.class)); + entity.setCountry(toEntity(dto.getCountry(), Country.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TransmittingBuoy entity, TransmittingBuoyDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setCode(entity.getCode()); + dto.setBrand(entity.getBrand()); + dto.setOwnership(OWNERSHIP_TO_DTO.apply(entity.getOwnership())); + dto.setTransmittingBuoyOperation(toReferentialReference(referentialLocale, entity.getTransmittingBuoyOperation(), TransmittingBuoyOperationDto.class)); + dto.setTransmittingBuoyType(toReferentialReference(referentialLocale, entity.getTransmittingBuoyType(), TransmittingBuoyTypeDto.class)); + dto.setCountry(toReferentialReference(referentialLocale, entity.getCountry(), CountryDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineActivityDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineActivityDtoBinder.java new file mode 100644 index 0000000..5c39510 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineActivityDtoBinder.java @@ -0,0 +1,35 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.TripLonglineActivityDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripLonglineActivityDtoBinder extends DataBinderSupport<ActivityLongline, TripLonglineActivityDto> { + + public TripLonglineActivityDtoBinder() { + super(ActivityLongline.class, TripLonglineActivityDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TripLonglineActivityDto dto, ActivityLongline entity) { + + entity.setTopiaId(dto.getId()); + + entity.setTimeStamp(dto.getTimeStamp()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, TripLonglineActivityDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setTimeStamp(entity.getTimeStamp()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineBinder.java new file mode 100644 index 0000000..6225b82 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineBinder.java @@ -0,0 +1,102 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.longline.TripLongline; +import fr.ird.observe.entities.referentiel.Harbour; +import fr.ird.observe.entities.referentiel.Ocean; +import fr.ird.observe.entities.referentiel.Person; +import fr.ird.observe.entities.referentiel.Program; +import fr.ird.observe.entities.referentiel.Vessel; +import fr.ird.observe.entities.referentiel.longline.TripType; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.TripLonglineActivityDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.PersonDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.referential.longline.TripTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripLonglineBinder extends DataBinderSupport<TripLongline, TripLonglineDto> { + + public TripLonglineBinder() { + super(TripLongline.class, TripLonglineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TripLonglineDto dto, TripLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setStartDate(dto.getStartDate()); + entity.setEndDate(dto.getEndDate()); + entity.setTotalFishingOperationsNumber(dto.getTotalFishingOperationsNumber()); + entity.setHomeId(dto.getHomeId()); + entity.setTripType(toEntity(dto.getTripType(), TripType.class)); + entity.setOcean(toEntity(dto.getOcean(), Ocean.class)); + entity.setVessel(toEntity(dto.getVessel(), Vessel.class)); + entity.setProgram(toEntity(dto.getProgram(), Program.class)); + entity.setObserver(toEntity(dto.getObserver(), Person.class)); + entity.setCaptain(toEntity(dto.getCaptain(), Person.class)); + entity.setDataEntryOperator(toEntity(dto.getDataEntryOperator(), Person.class)); + entity.setDepartureHarbour(toEntity(dto.getDepartureHarbour(), Harbour.class)); + entity.setLandingHarbour(toEntity(dto.getLandingHarbour(), Harbour.class)); + entity.setActivityLongline(toEntitySet(referentialLocale, dto.getActivityLongline(), ActivityLongline.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TripLongline entity, TripLonglineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setStartDate(entity.getStartDate()); + dto.setEndDate(entity.getEndDate()); + dto.setTotalFishingOperationsNumber(entity.getTotalFishingOperationsNumber()); + dto.setHomeId(entity.getHomeId()); + dto.setTripType(toReferentialReference(referentialLocale, entity.getTripType(), TripTypeDto.class)); + dto.setOcean(toReferentialReference(referentialLocale, entity.getOcean(), OceanDto.class)); + dto.setVessel(toReferentialReference(referentialLocale, entity.getVessel(), VesselDto.class)); + dto.setProgram(toReferentialReference(referentialLocale, entity.getProgram(), ProgramDto.class)); + dto.setObserver(toReferentialReference(referentialLocale, entity.getObserver(), PersonDto.class)); + dto.setCaptain(toReferentialReference(referentialLocale, entity.getCaptain(), PersonDto.class)); + dto.setDataEntryOperator(toReferentialReference(referentialLocale, entity.getDataEntryOperator(), PersonDto.class)); + dto.setDepartureHarbour(toReferentialReference(referentialLocale, entity.getDepartureHarbour(), HarbourDto.class)); + dto.setLandingHarbour(toReferentialReference(referentialLocale, entity.getLandingHarbour(), HarbourDto.class)); + dto.setActivityLongline(toLinkedHashSetData(referentialLocale, entity.getActivityLongline(), TripLonglineActivityDto.class)); + + } + + @Override + public DataReference<TripLonglineDto> toDataReference(ReferentialLocale referentialLocale, TripLongline entity) { + + return toDataReference(entity, + entity.getStartDate(), + entity.getEndDate(), + getLabel(referentialLocale, entity.getVessel()), + entity.getObserverLabel()); + + } + + @Override + public DataReference<TripLonglineDto> toDataReference(ReferentialLocale referentialLocale, TripLonglineDto dto) { + + return toDataReference(dto, + dto.getStartDate(), + dto.getEndDate(), + getLabel(referentialLocale, dto.getVessel()), + getLabel(referentialLocale, dto.getObserver())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineGearUseDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineGearUseDtoBinder.java new file mode 100644 index 0000000..a2f7f60 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineGearUseDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.GearUseFeaturesLongline; +import fr.ird.observe.entities.longline.TripLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripLonglineGearUseDtoBinder extends DataBinderSupport<TripLongline, TripLonglineGearUseDto> { + + public TripLonglineGearUseDtoBinder() { + super(TripLongline.class, TripLonglineGearUseDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TripLonglineGearUseDto dto, TripLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setGearUseFeaturesLongline(toEntitySet(referentialLocale, dto.getGearUseFeaturesLongline(), GearUseFeaturesLongline.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TripLongline entity, TripLonglineGearUseDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setGearUseFeaturesLongline(toLinkedHashSetData(referentialLocale, entity.getGearUseFeaturesLongline(), GearUseFeaturesLonglineDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineBinder.java new file mode 100644 index 0000000..6f8c265 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineBinder.java @@ -0,0 +1,101 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Harbour; +import fr.ird.observe.entities.referentiel.Ocean; +import fr.ird.observe.entities.referentiel.Person; +import fr.ird.observe.entities.referentiel.Program; +import fr.ird.observe.entities.referentiel.Vessel; +import fr.ird.observe.entities.seine.Route; +import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.PersonDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.seine.RouteStubDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripSeineBinder extends DataBinderSupport<TripSeine, TripSeineDto> { + + public TripSeineBinder() { + super(TripSeine.class, TripSeineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TripSeineDto dto, TripSeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setStartDate(dto.getStartDate()); + entity.setEndDate(dto.getEndDate()); + entity.setCheckLevel(dto.getCheckLevel()); + entity.setFormsUrl(dto.getFormsUrl()); + entity.setReportsUrl(dto.getReportsUrl()); + entity.setErsId(dto.getErsId()); + + entity.setOcean(toEntity(dto.getOcean(), Ocean.class)); + entity.setVessel(toEntity(dto.getVessel(), Vessel.class)); + entity.setProgram(toEntity(dto.getProgram(), Program.class)); + entity.setObserver(toEntity(dto.getObserver(), Person.class)); + entity.setCaptain(toEntity(dto.getCaptain(), Person.class)); + entity.setDataEntryOperator(toEntity(dto.getDataEntryOperator(), Person.class)); + entity.setDepartureHarbour(toEntity(dto.getDepartureHarbour(), Harbour.class)); + entity.setLandingHarbour(toEntity(dto.getLandingHarbour(), Harbour.class)); + entity.setRoute(toEntitySet(referentialLocale, dto.getRoute(), Route.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TripSeine entity, TripSeineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setStartDate(entity.getStartDate()); + dto.setEndDate(entity.getEndDate()); + dto.setCheckLevel(entity.getCheckLevel()); + dto.setFormsUrl(entity.getFormsUrl()); + dto.setReportsUrl(entity.getReportsUrl()); + dto.setErsId(entity.getErsId()); + dto.setOcean(toReferentialReference(referentialLocale, entity.getOcean(), OceanDto.class)); + dto.setVessel(toReferentialReference(referentialLocale, entity.getVessel(), VesselDto.class)); + dto.setProgram(toReferentialReference(referentialLocale, entity.getProgram(), ProgramDto.class)); + dto.setObserver(toReferentialReference(referentialLocale, entity.getObserver(), PersonDto.class)); + dto.setCaptain(toReferentialReference(referentialLocale, entity.getCaptain(), PersonDto.class)); + dto.setDataEntryOperator(toReferentialReference(referentialLocale, entity.getDataEntryOperator(), PersonDto.class)); + dto.setDepartureHarbour(toReferentialReference(referentialLocale, entity.getDepartureHarbour(), HarbourDto.class)); + dto.setLandingHarbour(toReferentialReference(referentialLocale, entity.getLandingHarbour(), HarbourDto.class)); + dto.setRoute(toLinkedHashSetData(referentialLocale, entity.getRoute(), RouteStubDto.class)); + + } + + @Override + public DataReference<TripSeineDto> toDataReference(ReferentialLocale referentialLocale, TripSeine entity) { + + return toDataReference(entity, + entity.getStartDate(), + entity.getEndDate(), + getLabel(referentialLocale, entity.getVessel()), + entity.getObserverLabel()); + + } + + @Override + public DataReference<TripSeineDto> toDataReference(ReferentialLocale referentialLocale, TripSeineDto dto) { + + return toDataReference(dto, + dto.getStartDate(), + dto.getEndDate(), + getLabel(referentialLocale, dto.getVessel()), + getLabel(referentialLocale, dto.getObserver())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineGearUseDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineGearUseDtoBinder.java new file mode 100644 index 0000000..106d9f8 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineGearUseDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.GearUseFeaturesSeine; +import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; +import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripSeineGearUseDtoBinder extends DataBinderSupport<TripSeine, TripSeineGearUseDto> { + + public TripSeineGearUseDtoBinder() { + super(TripSeine.class, TripSeineGearUseDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TripSeineGearUseDto dto, TripSeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setGearUseFeaturesSeine(toEntitySet(referentialLocale, dto.getGearUseFeaturesSeine(), GearUseFeaturesSeine.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TripSeine entity, TripSeineGearUseDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setGearUseFeaturesSeine(toLinkedHashSetData(referentialLocale, entity.getGearUseFeaturesSeine(), GearUseFeaturesSeineDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/WeightMeasureBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/WeightMeasureBinder.java new file mode 100644 index 0000000..4173926 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/WeightMeasureBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.WeightMeasure; +import fr.ird.observe.entities.referentiel.longline.WeightMeasureType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.WeightMeasureDto; +import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class WeightMeasureBinder extends DataBinderSupport<WeightMeasure, WeightMeasureDto> { + + public WeightMeasureBinder() { + super(WeightMeasure.class, WeightMeasureDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, WeightMeasureDto dto, WeightMeasure entity) { + + entity.setTopiaId(dto.getId()); + + entity.setWeight(dto.getWeight()); + entity.setWeightMeasureType(toEntity(dto.getWeightMeasureType(), WeightMeasureType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, WeightMeasure entity, WeightMeasureDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setWeight(entity.getWeight()); + dto.setWeightMeasureType(toReferentialReference(referentialLocale, entity.getWeightMeasureType(), WeightMeasureTypeDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitHaulingStatusBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitHaulingStatusBinder.java new file mode 100644 index 0000000..bcb51a1 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitHaulingStatusBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BaitHaulingStatusBinder extends ReferentialBinderSupport<BaitHaulingStatus, BaitHaulingStatusDto> { + + public BaitHaulingStatusBinder() { + super(BaitHaulingStatus.class, BaitHaulingStatusDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BaitHaulingStatusDto dto, BaitHaulingStatus entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, BaitHaulingStatus entity, BaitHaulingStatusDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<BaitHaulingStatusDto> toReferentialReference(ReferentialLocale referentialLocale, BaitHaulingStatus entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<BaitHaulingStatusDto> toReferentialReference(ReferentialLocale referentialLocale, BaitHaulingStatusDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitSettingStatusBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitSettingStatusBinder.java new file mode 100644 index 0000000..cbb4a27 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitSettingStatusBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.BaitSettingStatus; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BaitSettingStatusBinder extends ReferentialBinderSupport<BaitSettingStatus, BaitSettingStatusDto> { + + public BaitSettingStatusBinder() { + super(BaitSettingStatus.class, BaitSettingStatusDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BaitSettingStatusDto dto, BaitSettingStatus entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, BaitSettingStatus entity, BaitSettingStatusDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<BaitSettingStatusDto> toReferentialReference(ReferentialLocale referentialLocale, BaitSettingStatus entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<BaitSettingStatusDto> toReferentialReference(ReferentialLocale referentialLocale, BaitSettingStatusDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitTypeBinder.java new file mode 100644 index 0000000..4fe411d --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.BaitType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BaitTypeBinder extends ReferentialBinderSupport<BaitType, BaitTypeDto> { + + public BaitTypeBinder() { + super(BaitType.class, BaitTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BaitTypeDto dto, BaitType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, BaitType entity, BaitTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<BaitTypeDto> toReferentialReference(ReferentialLocale referentialLocale, BaitType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<BaitTypeDto> toReferentialReference(ReferentialLocale referentialLocale, BaitTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/CatchFateLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/CatchFateLonglineBinder.java new file mode 100644 index 0000000..0cb86e9 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/CatchFateLonglineBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.CatchFateLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class CatchFateLonglineBinder extends ReferentialBinderSupport<CatchFateLongline, CatchFateLonglineDto> { + + public CatchFateLonglineBinder() { + super(CatchFateLongline.class, CatchFateLonglineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, CatchFateLonglineDto dto, CatchFateLongline entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, CatchFateLongline entity, CatchFateLonglineDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<CatchFateLonglineDto> toReferentialReference(ReferentialLocale referentialLocale, CatchFateLongline entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<CatchFateLonglineDto> toReferentialReference(ReferentialLocale referentialLocale, CatchFateLonglineDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/CountryBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/CountryBinder.java new file mode 100644 index 0000000..b959497 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/CountryBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class CountryBinder extends ReferentialBinderSupport<Country, CountryDto> { + + public CountryBinder() { + super(Country.class, CountryDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, CountryDto dto, Country entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setIso2Code(dto.getIso2Code()); + entity.setIso3Code(dto.getIso3Code()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Country entity, CountryDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setIso2Code(entity.getIso2Code()); + dto.setIso3Code(entity.getIso3Code()); + + } + + @Override + public ReferentialReference<CountryDto> toReferentialReference(ReferentialLocale referentialLocale, Country entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<CountryDto> toReferentialReference(ReferentialLocale referentialLocale, CountryDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/DetectionModeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/DetectionModeBinder.java new file mode 100644 index 0000000..74bcedf --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/DetectionModeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.DetectionMode; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.DetectionModeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DetectionModeBinder extends ReferentialBinderSupport<DetectionMode, DetectionModeDto> { + + public DetectionModeBinder() { + super(DetectionMode.class, DetectionModeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, DetectionModeDto dto, DetectionMode entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, DetectionMode entity, DetectionModeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<DetectionModeDto> toReferentialReference(ReferentialLocale referentialLocale, DetectionMode entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<DetectionModeDto> toReferentialReference(ReferentialLocale referentialLocale, DetectionModeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/EncounterTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/EncounterTypeBinder.java new file mode 100644 index 0000000..121f1f3 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/EncounterTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.EncounterType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class EncounterTypeBinder extends ReferentialBinderSupport<EncounterType, EncounterTypeDto> { + + public EncounterTypeBinder() { + super(EncounterType.class, EncounterTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, EncounterTypeDto dto, EncounterType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, EncounterType entity, EncounterTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<EncounterTypeDto> toReferentialReference(ReferentialLocale referentialLocale, EncounterType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<EncounterTypeDto> toReferentialReference(ReferentialLocale referentialLocale, EncounterTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/FpaZoneBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/FpaZoneBinder.java new file mode 100644 index 0000000..d06ed2c --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/FpaZoneBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.FpaZone; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.FpaZoneDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class FpaZoneBinder extends ReferentialBinderSupport<FpaZone, FpaZoneDto> { + + public FpaZoneBinder() { + super(FpaZone.class, FpaZoneDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, FpaZoneDto dto, FpaZone entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setStartDate(dto.getStartDate()); + entity.setEndDate(dto.getEndDate()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, FpaZone entity, FpaZoneDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setStartDate(entity.getStartDate()); + dto.setEndDate(entity.getEndDate()); + + } + + @Override + public ReferentialReference<FpaZoneDto> toReferentialReference(ReferentialLocale referentialLocale, FpaZone entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<FpaZoneDto> toReferentialReference(ReferentialLocale referentialLocale, FpaZoneDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearBinder.java new file mode 100644 index 0000000..4ae4992 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearBinder.java @@ -0,0 +1,53 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Gear; +import fr.ird.observe.entities.referentiel.GearCaracteristic; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearBinder extends ReferentialBinderSupport<Gear, GearDto> { + + public GearBinder() { + super(Gear.class, GearDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearDto dto, Gear entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setGearCaracteristic(toEntitySet(dto.getGearCaracteristic(), GearCaracteristic.class)); + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Gear entity, GearDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setGearCaracteristic(toReferentialReferenceList(referentialLocale, entity.getGearCaracteristic(), GearCaracteristicDto.class)); + + } + + @Override + public ReferentialReference<GearDto> toReferentialReference(ReferentialLocale referentialLocale, Gear entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<GearDto> toReferentialReference(ReferentialLocale referentialLocale, GearDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearCaracteristicBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearCaracteristicBinder.java new file mode 100644 index 0000000..7e85469 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearCaracteristicBinder.java @@ -0,0 +1,60 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.GearCaracteristic; +import fr.ird.observe.entities.referentiel.GearCaracteristicType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearCaracteristicBinder extends ReferentialBinderSupport<GearCaracteristic, GearCaracteristicDto> { + + public GearCaracteristicBinder() { + super(GearCaracteristic.class, GearCaracteristicDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearCaracteristicDto dto, GearCaracteristic entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setGearCaracteristicType(toEntity(dto.getGearCaracteristicType(), GearCaracteristicType.class)); + entity.setUnit(dto.getUnit()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, GearCaracteristic entity, GearCaracteristicDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setGearCaracteristicType(toReferentialReference(referentialLocale, entity.getGearCaracteristicType(), GearCaracteristicTypeDto.class)); + dto.setUnit(entity.getUnit()); + + } + + @Override + public ReferentialReference<GearCaracteristicDto> toReferentialReference(ReferentialLocale referentialLocale, GearCaracteristic entity) { + + return toReferentialReference(entity, + entity.getCode(), + getLabel(referentialLocale, entity), + getLabel(referentialLocale, entity.getGearCaracteristicType())); + + } + + @Override + public ReferentialReference<GearCaracteristicDto> toReferentialReference(ReferentialLocale referentialLocale, GearCaracteristicDto dto) { + + return toReferentialReference(dto, + dto.getCode(), + getLabel(referentialLocale, dto), + getLabel(referentialLocale, dto.getGearCaracteristicType())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearCaracteristicTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearCaracteristicTypeBinder.java new file mode 100644 index 0000000..76b8fa3 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearCaracteristicTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.GearCaracteristicType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearCaracteristicTypeBinder extends ReferentialBinderSupport<GearCaracteristicType, GearCaracteristicTypeDto> { + + public GearCaracteristicTypeBinder() { + super(GearCaracteristicType.class, GearCaracteristicTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearCaracteristicTypeDto dto, GearCaracteristicType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, GearCaracteristicType entity, GearCaracteristicTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<GearCaracteristicTypeDto> toReferentialReference(ReferentialLocale referentialLocale, GearCaracteristicType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<GearCaracteristicTypeDto> toReferentialReference(ReferentialLocale referentialLocale, GearCaracteristicTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HarbourBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HarbourBinder.java new file mode 100644 index 0000000..91eb706 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HarbourBinder.java @@ -0,0 +1,62 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.entities.referentiel.Harbour; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class HarbourBinder extends ReferentialBinderSupport<Harbour, HarbourDto> { + + public HarbourBinder() { + super(Harbour.class, HarbourDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, HarbourDto dto, Harbour entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + entity.setName(dto.getName()); + entity.setLocode(dto.getLocode()); + entity.setLatitude(dto.getLatitude()); + entity.setLongitude(dto.getLongitude()); + entity.setQuadrant(dto.getQuadrant()); + entity.setCountry(toEntity(dto.getCountry(), Country.class)); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Harbour entity, HarbourDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + dto.setName(entity.getName()); + dto.setLocode(entity.getLocode()); + dto.setLatitude(entity.getLatitude()); + dto.setLongitude(entity.getLongitude()); + dto.setQuadrant(entity.getQuadrant()); + dto.setCountry(toReferentialReference(referentialLocale, entity.getCountry(), CountryDto.class)); + + } + + @Override + public ReferentialReference<HarbourDto> toReferentialReference(ReferentialLocale referentialLocale, Harbour entity) { + + return toReferentialReference(entity, + entity.getCode(), entity.getName(), entity.getLocode()); + + } + + @Override + public ReferentialReference<HarbourDto> toReferentialReference(ReferentialLocale referentialLocale, HarbourDto dto) { + + return toReferentialReference(dto, + dto.getCode(), dto.getName(), dto.getLocode()); + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HealthnessBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HealthnessBinder.java new file mode 100644 index 0000000..58bd6d8 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HealthnessBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.Healthness; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.HealthnessDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class HealthnessBinder extends ReferentialBinderSupport<Healthness, HealthnessDto> { + + public HealthnessBinder() { + super(Healthness.class, HealthnessDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, HealthnessDto dto, Healthness entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Healthness entity, HealthnessDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<HealthnessDto> toReferentialReference(ReferentialLocale referentialLocale, Healthness entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<HealthnessDto> toReferentialReference(ReferentialLocale referentialLocale, HealthnessDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookPositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookPositionBinder.java new file mode 100644 index 0000000..556369f --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookPositionBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.HookPosition; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.HookPositionDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class HookPositionBinder extends ReferentialBinderSupport<HookPosition, HookPositionDto> { + + public HookPositionBinder() { + super(HookPosition.class, HookPositionDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, HookPositionDto dto, HookPosition entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, HookPosition entity, HookPositionDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<HookPositionDto> toReferentialReference(ReferentialLocale referentialLocale, HookPosition entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<HookPositionDto> toReferentialReference(ReferentialLocale referentialLocale, HookPositionDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookSizeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookSizeBinder.java new file mode 100644 index 0000000..9a0b335 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookSizeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.HookSize; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class HookSizeBinder extends ReferentialBinderSupport<HookSize, HookSizeDto> { + + public HookSizeBinder() { + super(HookSize.class, HookSizeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, HookSizeDto dto, HookSize entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, HookSize entity, HookSizeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<HookSizeDto> toReferentialReference(ReferentialLocale referentialLocale, HookSize entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<HookSizeDto> toReferentialReference(ReferentialLocale referentialLocale, HookSizeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookTypeBinder.java new file mode 100644 index 0000000..b566df5 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.HookType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class HookTypeBinder extends ReferentialBinderSupport<HookType, HookTypeDto> { + + public HookTypeBinder() { + super(HookType.class, HookTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, HookTypeDto dto, HookType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, HookType entity, HookTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<HookTypeDto> toReferentialReference(ReferentialLocale referentialLocale, HookType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<HookTypeDto> toReferentialReference(ReferentialLocale referentialLocale, HookTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ItemHorizontalPositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ItemHorizontalPositionBinder.java new file mode 100644 index 0000000..7b985b9 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ItemHorizontalPositionBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ItemHorizontalPositionBinder extends ReferentialBinderSupport<ItemHorizontalPosition, ItemHorizontalPositionDto> { + + public ItemHorizontalPositionBinder() { + super(ItemHorizontalPosition.class, ItemHorizontalPositionDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ItemHorizontalPositionDto dto, ItemHorizontalPosition entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ItemHorizontalPosition entity, ItemHorizontalPositionDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ItemHorizontalPositionDto> toReferentialReference(ReferentialLocale referentialLocale, ItemHorizontalPosition entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ItemHorizontalPositionDto> toReferentialReference(ReferentialLocale referentialLocale, ItemHorizontalPositionDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ItemVerticalPositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ItemVerticalPositionBinder.java new file mode 100644 index 0000000..51743c7 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ItemVerticalPositionBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ItemVerticalPositionBinder extends ReferentialBinderSupport<ItemVerticalPosition, ItemVerticalPositionDto> { + + public ItemVerticalPositionBinder() { + super(ItemVerticalPosition.class, ItemVerticalPositionDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ItemVerticalPositionDto dto, ItemVerticalPosition entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ItemVerticalPosition entity, ItemVerticalPositionDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ItemVerticalPositionDto> toReferentialReference(ReferentialLocale referentialLocale, ItemVerticalPosition entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ItemVerticalPositionDto> toReferentialReference(ReferentialLocale referentialLocale, ItemVerticalPositionDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java new file mode 100644 index 0000000..eb6593e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java @@ -0,0 +1,71 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.LengthWeightParameter; +import fr.ird.observe.entities.referentiel.Ocean; +import fr.ird.observe.entities.referentiel.Sex; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SexDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class LengthWeightParameterBinder extends ReferentialBinderSupport<LengthWeightParameter, LengthWeightParameterDto> { + + public LengthWeightParameterBinder() { + super(LengthWeightParameter.class, LengthWeightParameterDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, LengthWeightParameterDto dto, LengthWeightParameter entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + entity.setLengthWeightFormula(dto.getLengthWeightFormula()); + entity.setWeightLengthFormula(dto.getWeightLengthFormula()); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setOcean(toEntity(dto.getOcean(), Ocean.class)); + entity.setSex(toEntity(dto.getSex(), Sex.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, LengthWeightParameter entity, LengthWeightParameterDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + dto.setLengthWeightFormula(entity.getLengthWeightFormula()); + dto.setWeightLengthFormula(entity.getWeightLengthFormula()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setOcean(toReferentialReference(referentialLocale, entity.getOcean(), OceanDto.class)); + dto.setSex(toReferentialReference(referentialLocale, entity.getSex(), SexDto.class)); + + } + + @Override + public ReferentialReference<LengthWeightParameterDto> toReferentialReference(ReferentialLocale referentialLocale, LengthWeightParameter entity) { + + return toReferentialReference(entity, + getLabel(referentialLocale, entity.getSex()), + getLabel(referentialLocale, entity.getOcean()), + getLabel(referentialLocale, entity.getSpecies()), + entity.getStartDate() + ); + + } + + @Override + public ReferentialReference<LengthWeightParameterDto> toReferentialReference(ReferentialLocale referentialLocale, LengthWeightParameterDto dto) { + + return toReferentialReference(dto, + getLabel(referentialLocale, dto.getSex()), + getLabel(referentialLocale, dto.getOcean()), + getLabel(referentialLocale, dto.getSpecies()), + dto.getStartDate()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LightsticksColorBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LightsticksColorBinder.java new file mode 100644 index 0000000..cf4dbc0 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LightsticksColorBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.LightsticksColor; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.LightsticksColorDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class LightsticksColorBinder extends ReferentialBinderSupport<LightsticksColor, LightsticksColorDto> { + + public LightsticksColorBinder() { + super(LightsticksColor.class, LightsticksColorDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, LightsticksColorDto dto, LightsticksColor entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, LightsticksColor entity, LightsticksColorDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<LightsticksColorDto> toReferentialReference(ReferentialLocale referentialLocale, LightsticksColor entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<LightsticksColorDto> toReferentialReference(ReferentialLocale referentialLocale, LightsticksColorDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LightsticksTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LightsticksTypeBinder.java new file mode 100644 index 0000000..866994a --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LightsticksTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.LightsticksType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class LightsticksTypeBinder extends ReferentialBinderSupport<LightsticksType, LightsticksTypeDto> { + + public LightsticksTypeBinder() { + super(LightsticksType.class, LightsticksTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, LightsticksTypeDto dto, LightsticksType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, LightsticksType entity, LightsticksTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<LightsticksTypeDto> toReferentialReference(ReferentialLocale referentialLocale, LightsticksType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<LightsticksTypeDto> toReferentialReference(ReferentialLocale referentialLocale, LightsticksTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LineTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LineTypeBinder.java new file mode 100644 index 0000000..bff283f --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LineTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.LineType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class LineTypeBinder extends ReferentialBinderSupport<LineType, LineTypeDto> { + + public LineTypeBinder() { + super(LineType.class, LineTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, LineTypeDto dto, LineType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, LineType entity, LineTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<LineTypeDto> toReferentialReference(ReferentialLocale referentialLocale, LineType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<LineTypeDto> toReferentialReference(ReferentialLocale referentialLocale, LineTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/MaturityStatusBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/MaturityStatusBinder.java new file mode 100644 index 0000000..136015e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/MaturityStatusBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.MaturityStatus; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.MaturityStatusDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class MaturityStatusBinder extends ReferentialBinderSupport<MaturityStatus, MaturityStatusDto> { + + public MaturityStatusBinder() { + super(MaturityStatus.class, MaturityStatusDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, MaturityStatusDto dto, MaturityStatus entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setLowerValue(dto.getLowerValue()); + entity.setUpperValue(dto.getUpperValue()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, MaturityStatus entity, MaturityStatusDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setLowerValue(entity.getLowerValue()); + dto.setUpperValue(entity.getUpperValue()); + + } + + @Override + public ReferentialReference<MaturityStatusDto> toReferentialReference(ReferentialLocale referentialLocale, MaturityStatus entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<MaturityStatusDto> toReferentialReference(ReferentialLocale referentialLocale, MaturityStatusDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/MitigationTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/MitigationTypeBinder.java new file mode 100644 index 0000000..14c9a01 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/MitigationTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.MitigationType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class MitigationTypeBinder extends ReferentialBinderSupport<MitigationType, MitigationTypeDto> { + + public MitigationTypeBinder() { + super(MitigationType.class, MitigationTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, MitigationTypeDto dto, MitigationType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, MitigationType entity, MitigationTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<MitigationTypeDto> toReferentialReference(ReferentialLocale referentialLocale, MitigationType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<MitigationTypeDto> toReferentialReference(ReferentialLocale referentialLocale, MitigationTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectFateBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectFateBinder.java new file mode 100644 index 0000000..fdc784e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectFateBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ObjectFate; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ObjectFateDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObjectFateBinder extends ReferentialBinderSupport<ObjectFate, ObjectFateDto> { + + public ObjectFateBinder() { + super(ObjectFate.class, ObjectFateDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ObjectFateDto dto, ObjectFate entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ObjectFate entity, ObjectFateDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ObjectFateDto> toReferentialReference(ReferentialLocale referentialLocale, ObjectFate entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ObjectFateDto> toReferentialReference(ReferentialLocale referentialLocale, ObjectFateDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectOperationBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectOperationBinder.java new file mode 100644 index 0000000..852e97e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectOperationBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ObjectOperation; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ObjectOperationDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObjectOperationBinder extends ReferentialBinderSupport<ObjectOperation, ObjectOperationDto> { + + public ObjectOperationBinder() { + super(ObjectOperation.class, ObjectOperationDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ObjectOperationDto dto, ObjectOperation entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ObjectOperation entity, ObjectOperationDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ObjectOperationDto> toReferentialReference(ReferentialLocale referentialLocale, ObjectOperation entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ObjectOperationDto> toReferentialReference(ReferentialLocale referentialLocale, ObjectOperationDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectTypeBinder.java new file mode 100644 index 0000000..2c5f828 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ObjectType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ObjectTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObjectTypeBinder extends ReferentialBinderSupport<ObjectType, ObjectTypeDto> { + + public ObjectTypeBinder() { + super(ObjectType.class, ObjectTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ObjectTypeDto dto, ObjectType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ObjectType entity, ObjectTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ObjectTypeDto> toReferentialReference(ReferentialLocale referentialLocale, ObjectType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ObjectTypeDto> toReferentialReference(ReferentialLocale referentialLocale, ObjectTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObservedSystemBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObservedSystemBinder.java new file mode 100644 index 0000000..a1d4120 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObservedSystemBinder.java @@ -0,0 +1,56 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ObservedSystem; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ObservedSystemDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObservedSystemBinder extends ReferentialBinderSupport<ObservedSystem, ObservedSystemDto> { + + public ObservedSystemBinder() { + super(ObservedSystem.class, ObservedSystemDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ObservedSystemDto dto, ObservedSystem entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setSchoolType(SCHOOL_TYPE_TO_ENTITY.apply(dto.getSchoolType())); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ObservedSystem entity, ObservedSystemDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setSchoolType(SCHOOL_TYPE_TO_DTO.apply(entity.getSchoolType())); + + } + + @Override + public ReferentialReference<ObservedSystemDto> toReferentialReference(ReferentialLocale referentialLocale, ObservedSystem entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ObservedSystemDto> toReferentialReference(ReferentialLocale referentialLocale, ObservedSystemDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/OceanBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/OceanBinder.java new file mode 100644 index 0000000..400a3fb --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/OceanBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Ocean; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class OceanBinder extends ReferentialBinderSupport<Ocean, OceanDto> { + + public OceanBinder() { + super(Ocean.class, OceanDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, OceanDto dto, Ocean entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Ocean entity, OceanDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<OceanDto> toReferentialReference(ReferentialLocale referentialLocale, Ocean entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<OceanDto> toReferentialReference(ReferentialLocale referentialLocale, OceanDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/OrganismBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/OrganismBinder.java new file mode 100644 index 0000000..99feab8 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/OrganismBinder.java @@ -0,0 +1,60 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.entities.referentiel.Organism; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.OrganismDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class OrganismBinder extends ReferentialBinderSupport<Organism, OrganismDto> { + + public OrganismBinder() { + super(Organism.class, OrganismDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, OrganismDto dto, Organism entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setCountry(toEntity(dto.getCountry(), Country.class)); + entity.setDescription(dto.getDescription()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Organism entity, OrganismDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setCountry(toReferentialReference(referentialLocale, entity.getCountry(), CountryDto.class)); + dto.setDescription(entity.getDescription()); + + } + + @Override + public ReferentialReference<OrganismDto> toReferentialReference(ReferentialLocale referentialLocale, Organism entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<OrganismDto> toReferentialReference(ReferentialLocale referentialLocale, OrganismDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/PersonBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/PersonBinder.java new file mode 100644 index 0000000..3b646cc --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/PersonBinder.java @@ -0,0 +1,72 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.entities.referentiel.Person; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.PersonDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class PersonBinder extends ReferentialBinderSupport<Person, PersonDto> { + + public PersonBinder() { + super(Person.class, PersonDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, PersonDto dto, Person entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + entity.setCode(dto.getCode()); + entity.setLastName(dto.getLastName()); + entity.setFirstName(dto.getFirstName()); + entity.setCaptain(dto.isCaptain()); + entity.setObserver(dto.isObserver()); + entity.setDataEntryOperator(dto.isDataEntryOperator()); + entity.setCountry(toEntity(dto.getCountry(), Country.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Person entity, PersonDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + dto.setCode(entity.getCode()); + dto.setLastName(entity.getLastName()); + dto.setFirstName(entity.getFirstName()); + dto.setCaptain(entity.isCaptain()); + dto.setObserver(entity.isObserver()); + dto.setDataEntryOperator(entity.isDataEntryOperator()); + dto.setCountry(toReferentialReference(referentialLocale, entity.getCountry(), CountryDto.class)); + + } + + @Override + public ReferentialReference<PersonDto> toReferentialReference(ReferentialLocale referentialLocale, Person entity) { + + return toReferentialReference(entity, + entity.getFirstName(), + entity.getLastName(), + entity.isCaptain(), + entity.isObserver(), + entity.isDataEntryOperator()); + + } + + @Override + public ReferentialReference<PersonDto> toReferentialReference(ReferentialLocale referentialLocale, PersonDto dto) { + + return toReferentialReference(dto, + dto.getFirstName(), + dto.getLastName(), + dto.isCaptain(), + dto.isObserver(), + dto.isDataEntryOperator()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ProgramBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ProgramBinder.java new file mode 100644 index 0000000..9181996 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ProgramBinder.java @@ -0,0 +1,86 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Organism; +import fr.ird.observe.entities.referentiel.Program; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.OrganismDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ProgramBinder extends ReferentialBinderSupport<Program, ProgramDto> { + + public ProgramBinder() { + super(Program.class, ProgramDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ProgramDto dto, Program entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + entity.setOrganism(toEntity(dto.getOrganism(), Organism.class)); + + entity.setEndDate(dto.getEndDate()); + entity.setGearType(GEAR_TYPE_TO_ENTITY.apply(dto.getGearType())); + entity.setNonTargetObservation(dto.getNonTargetObservation()); + entity.setTargetDiscardsObservation(dto.getTargetDiscardsObservation()); + entity.setSamplesObservation(dto.getSamplesObservation()); + entity.setObjectsObservation(dto.getObjectsObservation()); + entity.setDetailledActivitiesObservation(dto.getDetailledActivitiesObservation()); + entity.setMammalsObservation(dto.getMammalsObservation()); + entity.setBirdsObservation(dto.getBirdsObservation()); + entity.setBaitObservation(dto.getBaitObservation()); + entity.setStartDate(dto.getStartDate()); + entity.setEndDate(dto.getEndDate()); + entity.setComment(dto.getComment()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Program entity, ProgramDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + dto.setOrganism(toReferentialReference(referentialLocale, entity.getOrganism(), OrganismDto.class)); + + dto.setGearType(GEAR_TYPE_TO_DTO.apply(entity.getGearType())); + dto.setGearTypePrefix(entity.getGearTypePrefix()); + dto.setNonTargetObservation(entity.getNonTargetObservation()); + dto.setTargetDiscardsObservation(entity.getTargetDiscardsObservation()); + dto.setSamplesObservation(entity.getSamplesObservation()); + dto.setObjectsObservation(entity.getObjectsObservation()); + dto.setDetailledActivitiesObservation(entity.getDetailledActivitiesObservation()); + dto.setMammalsObservation(entity.getMammalsObservation()); + dto.setBirdsObservation(entity.getBirdsObservation()); + dto.setBaitObservation(entity.getBaitObservation()); + dto.setStartDate(entity.getStartDate()); + dto.setEndDate(entity.getEndDate()); + dto.setComment(entity.getComment()); + + } + + @Override + public ReferentialReference<ProgramDto> toReferentialReference(ReferentialLocale referentialLocale, Program entity) { + + return toReferentialReference(entity, + GEAR_TYPE_TO_DTO.apply(entity.getGearType()), entity.getGearTypePrefix()); + + } + + @Override + public ReferentialReference<ProgramDto> toReferentialReference(ReferentialLocale referentialLocale, ProgramDto dto) { + + return toReferentialReference(dto, + dto.getGearType(), dto.getGearTypePrefix()); + + } + + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForDiscardBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForDiscardBinder.java new file mode 100644 index 0000000..188e16e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForDiscardBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ReasonForDiscard; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReasonForDiscardBinder extends ReferentialBinderSupport<ReasonForDiscard, ReasonForDiscardDto> { + + public ReasonForDiscardBinder() { + super(ReasonForDiscard.class, ReasonForDiscardDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ReasonForDiscardDto dto, ReasonForDiscard entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ReasonForDiscard entity, ReasonForDiscardDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ReasonForDiscardDto> toReferentialReference(ReferentialLocale referentialLocale, ReasonForDiscard entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ReasonForDiscardDto> toReferentialReference(ReferentialLocale referentialLocale, ReasonForDiscardDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForNoFishingBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForNoFishingBinder.java new file mode 100644 index 0000000..4c1841f --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForNoFishingBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReasonForNoFishingBinder extends ReferentialBinderSupport<ReasonForNoFishing, ReasonForNoFishingDto> { + + public ReasonForNoFishingBinder() { + super(ReasonForNoFishing.class, ReasonForNoFishingDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ReasonForNoFishingDto dto, ReasonForNoFishing entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ReasonForNoFishing entity, ReasonForNoFishingDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ReasonForNoFishingDto> toReferentialReference(ReferentialLocale referentialLocale, ReasonForNoFishing entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ReasonForNoFishingDto> toReferentialReference(ReferentialLocale referentialLocale, ReasonForNoFishingDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForNullSetBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForNullSetBinder.java new file mode 100644 index 0000000..0f283c9 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForNullSetBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ReasonForNullSet; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReasonForNullSetBinder extends ReferentialBinderSupport<ReasonForNullSet, ReasonForNullSetDto> { + + public ReasonForNullSetBinder() { + super(ReasonForNullSet.class, ReasonForNullSetDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ReasonForNullSetDto dto, ReasonForNullSet entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ReasonForNullSet entity, ReasonForNullSetDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ReasonForNullSetDto> toReferentialReference(ReferentialLocale referentialLocale, ReasonForNullSet entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ReasonForNullSetDto> toReferentialReference(ReferentialLocale referentialLocale, ReasonForNullSetDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReferentialBinderSupport.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReferentialBinderSupport.java new file mode 100644 index 0000000..e7ff72b --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReferentialBinderSupport.java @@ -0,0 +1,138 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.I18nReferenceEntity; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.binder.BinderSupport; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; +import fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions; +import fr.ird.observe.services.dto.referential.I18nReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import java.io.Serializable; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class ReferentialBinderSupport<E extends ReferenceEntity, D extends ReferentialDto> extends BinderSupport<E, D> { + + protected final ReferenceSetDefinition<D> definition; + + protected ReferentialBinderSupport(Class<E> entityType, Class<D> dtoType) { + super(entityType, dtoType); + this.definition = ReferentialReferenceSetDefinitions.getDefinition(this.dtoType); + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- ENTITY → REFERENCE ---------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + public abstract ReferentialReference<D> toReferentialReference(ReferentialLocale locale, E entity); + + protected ReferentialReference<D> toReferentialReference(E entity, Serializable... values) { + + ReferentialReference<D> reference = new ReferentialReference<>(); + + reference.setId(entity.getTopiaId()); + reference.setCreateDate(entity.getTopiaCreateDate()); + reference.setVersion(entity.getTopiaVersion()); + + reference.setLastUpdate(entity.getLastUpdate()); + reference.setEnabled(entity.isEnabled()); + reference.setNeedComment(entity.isNeedComment()); + + reference.init(definition.getType(), definition.getPropertyNames(), values); + + return reference; + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- DTO → REFERENCE ------------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + public abstract ReferentialReference<D> toReferentialReference(ReferentialLocale locale, D dto); + + protected ReferentialReference<D> toReferentialReference(D dto, Serializable... values) { + + ReferentialReference<D> reference = new ReferentialReference<>(); + + reference.setId(dto.getId()); + reference.setCreateDate(dto.getCreateDate()); + reference.setVersion(dto.getVersion()); + + reference.setLastUpdate(dto.getLastUpdate()); + reference.setEnabled(dto.isEnabled()); + reference.setNeedComment(dto.isNeedComment()); + + reference.init(definition.getType(), definition.getPropertyNames(), values); + + return reference; + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- REFERENCE → ENTITY ---------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + public E toEntity(ReferentialReference<D> reference) { + E entity = newEntity(); + entity.setTopiaId(reference.getId()); + return entity; + } + + protected void copyDtoI18nFieldsToEntity(I18nReferentialDto dto, I18nReferenceEntity entity) { + + entity.setLabel1(dto.getLabel1()); + entity.setLabel2(dto.getLabel2()); + entity.setLabel3(dto.getLabel3()); + entity.setLabel4(dto.getLabel4()); + entity.setLabel5(dto.getLabel5()); + entity.setLabel6(dto.getLabel6()); + entity.setLabel7(dto.getLabel7()); + entity.setLabel8(dto.getLabel8()); + + } + + protected void copyDtoReferentialFieldsToEntity(ReferentialDto dto, ReferenceEntity entity) { + + entity.setTopiaId(dto.getId()); + entity.setStatus(REFERENCE_STATUS_TO_ENTITY.apply(dto.getStatus())); + entity.setNeedComment(dto.isNeedComment()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setTopiaVersion(dto.getVersion()); + entity.setTopiaCreateDate(dto.getCreateDate()); + entity.setCode(dto.getCode()); + entity.setUri(dto.getUri()); + + } + + protected void copyEntityReferentialFieldsToDto(ReferenceEntity entity, ReferentialDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setStatus(REFERENCE_STATUS_TO_DTO.apply(entity.getStatus())); + dto.setEnabled(entity.isEnabled()); + dto.setNeedComment(entity.isNeedComment()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setVersion(entity.getTopiaVersion()); + dto.setCreateDate(entity.getTopiaCreateDate()); + dto.setCode(entity.getCode()); + dto.setUri(entity.getUri()); + + } + + protected void copyEntityI18nFieldsToDto(I18nReferenceEntity entity, I18nReferentialDto dto) { + + dto.setLabel2(entity.getLabel2()); + dto.setLabel3(entity.getLabel3()); + dto.setLabel4(entity.getLabel4()); + dto.setLabel1(entity.getLabel1()); + dto.setLabel5(entity.getLabel5()); + dto.setLabel6(entity.getLabel6()); + dto.setLabel7(entity.getLabel7()); + dto.setLabel8(entity.getLabel8()); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorBrandBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorBrandBinder.java new file mode 100644 index 0000000..061dd10 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorBrandBinder.java @@ -0,0 +1,56 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.SensorBrand; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SensorBrandBinder extends ReferentialBinderSupport<SensorBrand, SensorBrandDto> { + + public SensorBrandBinder() { + super(SensorBrand.class, SensorBrandDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SensorBrandDto dto, SensorBrand entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + entity.setBrandName(dto.getBrandName()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SensorBrand entity, SensorBrandDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + dto.setBrandName(entity.getBrandName()); + + } + + @Override + public ReferentialReference<SensorBrandDto> toReferentialReference(ReferentialLocale referentialLocale, SensorBrand entity) { + + return toReferentialReference(entity, + entity.getCode(), + entity.getBrandName()); + + } + + @Override + public ReferentialReference<SensorBrandDto> toReferentialReference(ReferentialLocale referentialLocale, SensorBrandDto dto) { + + return toReferentialReference(dto, + dto.getCode(), + dto.getBrandName()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorDataFormatBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorDataFormatBinder.java new file mode 100644 index 0000000..37e3417 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorDataFormatBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.SensorDataFormat; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SensorDataFormatBinder extends ReferentialBinderSupport<SensorDataFormat, SensorDataFormatDto> { + + public SensorDataFormatBinder() { + super(SensorDataFormat.class, SensorDataFormatDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SensorDataFormatDto dto, SensorDataFormat entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SensorDataFormat entity, SensorDataFormatDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SensorDataFormatDto> toReferentialReference(ReferentialLocale referentialLocale, SensorDataFormat entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SensorDataFormatDto> toReferentialReference(ReferentialLocale referentialLocale, SensorDataFormatDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorTypeBinder.java new file mode 100644 index 0000000..3f109c9 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorTypeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.SensorType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SensorTypeBinder extends ReferentialBinderSupport<SensorType, SensorTypeDto> { + + public SensorTypeBinder() { + super(SensorType.class, SensorTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SensorTypeDto dto, SensorType entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SensorType entity, SensorTypeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SensorTypeDto> toReferentialReference(ReferentialLocale referentialLocale, SensorType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SensorTypeDto> toReferentialReference(ReferentialLocale referentialLocale, SensorTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SettingShapeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SettingShapeBinder.java new file mode 100644 index 0000000..7e47dd8 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SettingShapeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.SettingShape; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.SettingShapeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SettingShapeBinder extends ReferentialBinderSupport<SettingShape, SettingShapeDto> { + + public SettingShapeBinder() { + super(SettingShape.class, SettingShapeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SettingShapeDto dto, SettingShape entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SettingShape entity, SettingShapeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SettingShapeDto> toReferentialReference(ReferentialLocale referentialLocale, SettingShape entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SettingShapeDto> toReferentialReference(ReferentialLocale referentialLocale, SettingShapeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SexBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SexBinder.java new file mode 100644 index 0000000..39b591f --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SexBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Sex; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SexDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SexBinder extends ReferentialBinderSupport<Sex, SexDto> { + + public SexBinder() { + super(Sex.class, SexDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SexDto dto, Sex entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Sex entity, SexDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SexDto> toReferentialReference(ReferentialLocale referentialLocale, Sex entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SexDto> toReferentialReference(ReferentialLocale referentialLocale, SexDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SizeMeasureTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SizeMeasureTypeBinder.java new file mode 100644 index 0000000..4373849 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SizeMeasureTypeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.SizeMeasureType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SizeMeasureTypeBinder extends ReferentialBinderSupport<SizeMeasureType, SizeMeasureTypeDto> { + + public SizeMeasureTypeBinder() { + super(SizeMeasureType.class, SizeMeasureTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SizeMeasureTypeDto dto, SizeMeasureType entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SizeMeasureType entity, SizeMeasureTypeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SizeMeasureTypeDto> toReferentialReference(ReferentialLocale referentialLocale, SizeMeasureType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SizeMeasureTypeDto> toReferentialReference(ReferentialLocale referentialLocale, SizeMeasureTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesBinder.java new file mode 100644 index 0000000..aee8b02 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesBinder.java @@ -0,0 +1,86 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Ocean; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.SpeciesGroup; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.SpeciesGroupDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SpeciesBinder extends ReferentialBinderSupport<Species, SpeciesDto> { + + public SpeciesBinder() { + super(Species.class, SpeciesDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SpeciesDto dto, Species entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + entity.setSpeciesGroup(toEntity(dto.getSpeciesGroup(), SpeciesGroup.class)); + entity.setFaoCode(dto.getFaoCode()); + entity.setScientificLabel(dto.getScientificLabel()); + entity.setHomeId(dto.getHomeId()); + entity.setWormsId(dto.getWormsId()); + entity.setLengthMeasureType(dto.getLengthMeasureType()); + entity.setMinLength(dto.getMinLength()); + entity.setMaxLength(dto.getMaxLength()); + entity.setMinWeight(dto.getMinWeight()); + entity.setMaxWeight(dto.getMaxWeight()); + entity.setOcean(toEntitySet(dto.getOcean(), Ocean.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Species entity, SpeciesDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + dto.setSpeciesGroup(toReferentialReference(referentialLocale, entity.getSpeciesGroup(), SpeciesGroupDto.class)); + dto.setFaoCode(entity.getFaoCode()); + dto.setScientificLabel(entity.getScientificLabel()); + dto.setHomeId(entity.getHomeId()); + dto.setWormsId(entity.getWormsId()); + dto.setLengthMeasureType(entity.getLengthMeasureType()); + dto.setMinLength(entity.getMinLength()); + dto.setMaxLength(entity.getMaxLength()); + dto.setMinWeight(entity.getMinWeight()); + dto.setMaxWeight(entity.getMaxWeight()); + dto.setOcean(toReferentialReferenceList(referentialLocale, entity.getOcean(), OceanDto.class)); + + } + + @Override + public ReferentialReference<SpeciesDto> toReferentialReference(ReferentialLocale referentialLocale, Species entity) { + + return toReferentialReference(entity, + getLabel(referentialLocale, entity), + entity.getFaoCode(), + entity.getScientificLabel(), + entity.getHomeId(), + entity.getLengthMeasureType()); + + } + + @Override + public ReferentialReference<SpeciesDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesDto dto) { + + return toReferentialReference(dto, + getLabel(referentialLocale, dto), + dto.getFaoCode(), + dto.getScientificLabel(), + dto.getHomeId(), + dto.getLengthMeasureType()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesFateBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesFateBinder.java new file mode 100644 index 0000000..e90a9a7 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesFateBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.SpeciesFate; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SpeciesFateBinder extends ReferentialBinderSupport<SpeciesFate, SpeciesFateDto> { + + public SpeciesFateBinder() { + super(SpeciesFate.class, SpeciesFateDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SpeciesFateDto dto, SpeciesFate entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SpeciesFate entity, SpeciesFateDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SpeciesFateDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesFate entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SpeciesFateDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesFateDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesGroupBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesGroupBinder.java new file mode 100644 index 0000000..6c8a6d7 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesGroupBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.SpeciesGroup; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SpeciesGroupDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SpeciesGroupBinder extends ReferentialBinderSupport<SpeciesGroup, SpeciesGroupDto> { + + public SpeciesGroupBinder() { + super(SpeciesGroup.class, SpeciesGroupDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SpeciesGroupDto dto, SpeciesGroup entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SpeciesGroup entity, SpeciesGroupDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SpeciesGroupDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesGroup entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SpeciesGroupDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesGroupDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesListBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesListBinder.java new file mode 100644 index 0000000..f0ad6b9 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesListBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.SpeciesList; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.SpeciesListDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SpeciesListBinder extends ReferentialBinderSupport<SpeciesList, SpeciesListDto> { + + public SpeciesListBinder() { + super(SpeciesList.class, SpeciesListDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SpeciesListDto dto, SpeciesList entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setSpecies(toEntitySet(dto.getSpecies(), Species.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SpeciesList entity, SpeciesListDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setSpecies(toReferentialReferenceList(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + + } + + @Override + public ReferentialReference<SpeciesListDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesList entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SpeciesListDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesListDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesStatusBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesStatusBinder.java new file mode 100644 index 0000000..b2b2624 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesStatusBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.SpeciesStatus; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SpeciesStatusBinder extends ReferentialBinderSupport<SpeciesStatus, SpeciesStatusDto> { + + public SpeciesStatusBinder() { + super(SpeciesStatus.class, SpeciesStatusDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SpeciesStatusDto dto, SpeciesStatus entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SpeciesStatus entity, SpeciesStatusDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SpeciesStatusDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesStatus entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SpeciesStatusDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesStatusDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/StomacFullnessBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/StomacFullnessBinder.java new file mode 100644 index 0000000..0eb7842 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/StomacFullnessBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.StomacFullness; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.StomacFullnessDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class StomacFullnessBinder extends ReferentialBinderSupport<StomacFullness, StomacFullnessDto> { + + public StomacFullnessBinder() { + super(StomacFullness.class, StomacFullnessDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, StomacFullnessDto dto, StomacFullness entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, StomacFullness entity, StomacFullnessDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<StomacFullnessDto> toReferentialReference(ReferentialLocale referentialLocale, StomacFullness entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<StomacFullnessDto> toReferentialReference(ReferentialLocale referentialLocale, StomacFullnessDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SurroundingActivityBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SurroundingActivityBinder.java new file mode 100644 index 0000000..e2ef9b7 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SurroundingActivityBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.SurroundingActivity; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SurroundingActivityBinder extends ReferentialBinderSupport<SurroundingActivity, SurroundingActivityDto> { + + public SurroundingActivityBinder() { + super(SurroundingActivity.class, SurroundingActivityDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SurroundingActivityDto dto, SurroundingActivity entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SurroundingActivity entity, SurroundingActivityDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SurroundingActivityDto> toReferentialReference(ReferentialLocale referentialLocale, SurroundingActivity entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SurroundingActivityDto> toReferentialReference(ReferentialLocale referentialLocale, SurroundingActivityDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TransmittingBuoyOperationBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TransmittingBuoyOperationBinder.java new file mode 100644 index 0000000..16023ab --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TransmittingBuoyOperationBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TransmittingBuoyOperationBinder extends ReferentialBinderSupport<TransmittingBuoyOperation, TransmittingBuoyOperationDto> { + + public TransmittingBuoyOperationBinder() { + super(TransmittingBuoyOperation.class, TransmittingBuoyOperationDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TransmittingBuoyOperationDto dto, TransmittingBuoyOperation entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TransmittingBuoyOperation entity, TransmittingBuoyOperationDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<TransmittingBuoyOperationDto> toReferentialReference(ReferentialLocale referentialLocale, TransmittingBuoyOperation entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<TransmittingBuoyOperationDto> toReferentialReference(ReferentialLocale referentialLocale, TransmittingBuoyOperationDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TransmittingBuoyTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TransmittingBuoyTypeBinder.java new file mode 100644 index 0000000..0046115 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TransmittingBuoyTypeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TransmittingBuoyTypeBinder extends ReferentialBinderSupport<TransmittingBuoyType, TransmittingBuoyTypeDto> { + + public TransmittingBuoyTypeBinder() { + super(TransmittingBuoyType.class, TransmittingBuoyTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TransmittingBuoyTypeDto dto, TransmittingBuoyType entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TransmittingBuoyType entity, TransmittingBuoyTypeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<TransmittingBuoyTypeDto> toReferentialReference(ReferentialLocale referentialLocale, TransmittingBuoyType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<TransmittingBuoyTypeDto> toReferentialReference(ReferentialLocale referentialLocale, TransmittingBuoyTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TripTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TripTypeBinder.java new file mode 100644 index 0000000..0d303e3 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TripTypeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.TripType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.TripTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripTypeBinder extends ReferentialBinderSupport<TripType, TripTypeDto> { + + public TripTypeBinder() { + super(TripType.class, TripTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TripTypeDto dto, TripType entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TripType entity, TripTypeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<TripTypeDto> toReferentialReference(ReferentialLocale referentialLocale, TripType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<TripTypeDto> toReferentialReference(ReferentialLocale referentialLocale, TripTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselActivityLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselActivityLonglineBinder.java new file mode 100644 index 0000000..bdac460 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselActivityLonglineBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.VesselActivityLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class VesselActivityLonglineBinder extends ReferentialBinderSupport<VesselActivityLongline, VesselActivityLonglineDto> { + + public VesselActivityLonglineBinder() { + super(VesselActivityLongline.class, VesselActivityLonglineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, VesselActivityLonglineDto dto, VesselActivityLongline entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, VesselActivityLongline entity, VesselActivityLonglineDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<VesselActivityLonglineDto> toReferentialReference(ReferentialLocale referentialLocale, VesselActivityLongline entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<VesselActivityLonglineDto> toReferentialReference(ReferentialLocale referentialLocale, VesselActivityLonglineDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselActivitySeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselActivitySeineBinder.java new file mode 100644 index 0000000..df98152 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselActivitySeineBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.VesselActivitySeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class VesselActivitySeineBinder extends ReferentialBinderSupport<VesselActivitySeine, VesselActivitySeineDto> { + + public VesselActivitySeineBinder() { + super(VesselActivitySeine.class, VesselActivitySeineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, VesselActivitySeineDto dto, VesselActivitySeine entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, VesselActivitySeine entity, VesselActivitySeineDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<VesselActivitySeineDto> toReferentialReference(ReferentialLocale referentialLocale, VesselActivitySeine entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<VesselActivitySeineDto> toReferentialReference(ReferentialLocale referentialLocale, VesselActivitySeineDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselBinder.java new file mode 100644 index 0000000..8142d8c --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselBinder.java @@ -0,0 +1,84 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.entities.referentiel.Vessel; +import fr.ird.observe.entities.referentiel.VesselSizeCategory; +import fr.ird.observe.entities.referentiel.VesselType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; +import fr.ird.observe.services.dto.referential.VesselTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class VesselBinder extends ReferentialBinderSupport<Vessel, VesselDto> { + + public VesselBinder() { + super(Vessel.class, VesselDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, VesselDto dto, Vessel entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setVesselSizeCategory(toEntity(dto.getVesselSizeCategory(), VesselSizeCategory.class)); + entity.setVesselType(toEntity(dto.getVesselType(), VesselType.class)); + entity.setFlagCountry(toEntity(dto.getFlagCountry(), Country.class)); + entity.setFleetCountry(dto.getFleetCountry()); + entity.setKeelCode(dto.getKeelCode()); + entity.setChangeDate(dto.getChangeDate()); + entity.setYearService(dto.getYearService()); + entity.setLength(dto.getLength()); + entity.setCapacity(dto.getCapacity()); + entity.setPower(dto.getPower()); + entity.setSearchMaximum(dto.getSearchMaximum()); + entity.setComment(dto.getComment()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Vessel entity, VesselDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setVesselSizeCategory(toReferentialReference(referentialLocale, entity.getVesselSizeCategory(), VesselSizeCategoryDto.class)); + dto.setVesselType(toReferentialReference(referentialLocale, entity.getVesselType(), VesselTypeDto.class)); + dto.setFlagCountry(toReferentialReference(referentialLocale, entity.getFlagCountry(), CountryDto.class)); + dto.setFleetCountry(entity.getFleetCountry()); + dto.setKeelCode(entity.getKeelCode()); + dto.setChangeDate(entity.getChangeDate()); + dto.setYearService(entity.getYearService()); + dto.setLength(entity.getLength()); + dto.setCapacity(entity.getCapacity()); + dto.setPower(entity.getPower()); + dto.setSearchMaximum(entity.getSearchMaximum()); + dto.setComment(entity.getComment()); + + } + + @Override + public ReferentialReference<VesselDto> toReferentialReference(ReferentialLocale referentialLocale, Vessel entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<VesselDto> toReferentialReference(ReferentialLocale referentialLocale, VesselDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselSizeCategoryBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselSizeCategoryBinder.java new file mode 100644 index 0000000..42deded --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselSizeCategoryBinder.java @@ -0,0 +1,60 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.VesselSizeCategory; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class VesselSizeCategoryBinder extends ReferentialBinderSupport<VesselSizeCategory, VesselSizeCategoryDto> { + + public VesselSizeCategoryBinder() { + super(VesselSizeCategory.class, VesselSizeCategoryDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, VesselSizeCategoryDto dto, VesselSizeCategory entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + entity.setGaugeLabel(dto.getGaugeLabel()); + entity.setCapacityLabel(dto.getCapacityLabel()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, VesselSizeCategory entity, VesselSizeCategoryDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + dto.setGaugeLabel(entity.getGaugeLabel()); + dto.setCapacityLabel(entity.getCapacityLabel()); + + } + + @Override + public ReferentialReference<VesselSizeCategoryDto> toReferentialReference(ReferentialLocale referentialLocale, VesselSizeCategory entity) { + + return toReferentialReference(entity, + entity.getCode(), + entity.getGaugeLabel(), + entity.getCapacityLabel()); + + } + + @Override + public ReferentialReference<VesselSizeCategoryDto> toReferentialReference(ReferentialLocale referentialLocale, VesselSizeCategoryDto dto) { + + return toReferentialReference(dto, + dto.getCode(), + dto.getGaugeLabel(), + dto.getCapacityLabel()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselTypeBinder.java new file mode 100644 index 0000000..d9d2154 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselTypeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.VesselType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.VesselTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class VesselTypeBinder extends ReferentialBinderSupport<VesselType, VesselTypeDto> { + + public VesselTypeBinder() { + super(VesselType.class, VesselTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, VesselTypeDto dto, VesselType entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, VesselType entity, VesselTypeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<VesselTypeDto> toReferentialReference(ReferentialLocale referentialLocale, VesselType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<VesselTypeDto> toReferentialReference(ReferentialLocale referentialLocale, VesselTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WeightCategoryBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WeightCategoryBinder.java new file mode 100644 index 0000000..61d3760 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WeightCategoryBinder.java @@ -0,0 +1,60 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.seine.WeightCategory; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class WeightCategoryBinder extends ReferentialBinderSupport<WeightCategory, WeightCategoryDto> { + + public WeightCategoryBinder() { + super(WeightCategory.class, WeightCategoryDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, WeightCategoryDto dto, WeightCategory entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, WeightCategory entity, WeightCategoryDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + + } + + @Override + public ReferentialReference<WeightCategoryDto> toReferentialReference(ReferentialLocale referentialLocale, WeightCategory entity) { + + return toReferentialReference(entity, + getLabel(referentialLocale, entity), + toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + + } + + @Override + public ReferentialReference<WeightCategoryDto> toReferentialReference(ReferentialLocale referentialLocale, WeightCategoryDto dto) { + + return toReferentialReference(dto, + getLabel(referentialLocale, dto), + toEntity(dto.getSpecies(), Species.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WeightMeasureTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WeightMeasureTypeBinder.java new file mode 100644 index 0000000..6f108e9 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WeightMeasureTypeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.WeightMeasureType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class WeightMeasureTypeBinder extends ReferentialBinderSupport<WeightMeasureType, WeightMeasureTypeDto> { + + public WeightMeasureTypeBinder() { + super(WeightMeasureType.class, WeightMeasureTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, WeightMeasureTypeDto dto, WeightMeasureType entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, WeightMeasureType entity, WeightMeasureTypeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<WeightMeasureTypeDto> toReferentialReference(ReferentialLocale referentialLocale, WeightMeasureType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<WeightMeasureTypeDto> toReferentialReference(ReferentialLocale referentialLocale, WeightMeasureTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WindBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WindBinder.java new file mode 100644 index 0000000..3d39011 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WindBinder.java @@ -0,0 +1,57 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.Wind; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.WindDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class WindBinder extends ReferentialBinderSupport<Wind, WindDto> { + + public WindBinder() { + super(Wind.class, WindDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, WindDto dto, Wind entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + entity.setSpeedRange(dto.getSpeedRange()); + entity.setWaveHeight(dto.getWaveHeight()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Wind entity, WindDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + dto.setSpeedRange(entity.getSpeedRange()); + dto.setWaveHeight(entity.getWaveHeight()); + + } + + @Override + public ReferentialReference<WindDto> toReferentialReference(ReferentialLocale referentialLocale, Wind entity) { + + return toReferentialReference(entity, + getLabel(referentialLocale, entity), + entity.getSpeedRange()); + + } + + @Override + public ReferentialReference<WindDto> toReferentialReference(ReferentialLocale referentialLocale, WindDto dto) { + + return toReferentialReference(dto, + getLabel(referentialLocale, dto), + dto.getSpeedRange()); + } +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineMetadataTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineMetadataTest.java new file mode 100644 index 0000000..2c51a58 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineMetadataTest.java @@ -0,0 +1,167 @@ +package fr.ird.observe.services.binder; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Sets; +import fr.ird.observe.ObserveEntityEnum; +import fr.ird.observe.entities.LastUpdateType; +import fr.ird.observe.entities.longline.TdrRecord; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.binder.data.DataBinderSupport; +import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.nuiton.topia.persistence.TopiaEntity; + +import java.lang.reflect.Modifier; +import java.util.LinkedHashSet; +import java.util.Set; + +/** + * Created on 26/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BinderEngineMetadataTest { + + private BinderEngine binderEngine; + + @Before + public void setUp() throws Exception { + + binderEngine = BinderEngine.get(); + + } + + @Test + public void testGetBinder() throws Exception { + + binderEngine = BinderEngine.get(); + for (Class<? extends ReferentialDto> dtoType : binderEngine.getReferentialDtoToEntityTypes().keySet()) { + + ReferentialBinderSupport<ReferenceEntity, ? extends ReferentialDto> referentialBinder = binderEngine.getReferentialBinder(dtoType); + Assert.assertNotNull(referentialBinder); + + } + + for (Class<? extends DataDto> dtoType : binderEngine.getDataDtoToEntityTypes().keySet()) { + + DataBinderSupport<TopiaEntity, ? extends DataDto> referentialBinder = binderEngine.getDataBinder(dtoType); + Assert.assertNotNull("No binder for " + dtoType, referentialBinder); + + } + + } + + @Test + public void testGetReferentialEntityType() throws Exception { + + ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> referentialDtoToEntityTypes = binderEngine.getReferentialDtoToEntityTypes(); + + Assert.assertNotNull(referentialDtoToEntityTypes); + Assert.assertEquals(59, referentialDtoToEntityTypes.size()); + + Set<Class<? extends ReferenceEntity>> entityTypesFromEngine = Sets.newHashSet(referentialDtoToEntityTypes.values()); + Set<Class<? extends ReferenceEntity>> referentialEntityTypesFromTopia = getReferentialEntityTypes(); + Assert.assertEquals(referentialEntityTypesFromTopia.size(), entityTypesFromEngine.size()); + + for (Class<? extends ReferentialDto> dtoType : referentialDtoToEntityTypes.keySet()) { + + Class<? extends ReferenceEntity> entityType = binderEngine.getReferentialEntityType(dtoType); + Assert.assertNotNull(entityType); + + } + + } + + @Test + public void testGetDataEntityType() throws Exception { + + ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypes = binderEngine.getDataDtoToEntityTypes(); + Assert.assertNotNull(dataDtoToEntityTypes); + Assert.assertEquals(55, dataDtoToEntityTypes.size()); + + Set<Class<? extends TopiaEntity>> entityTypesFromEngine = Sets.newConcurrentHashSet(dataDtoToEntityTypes.values()); + Set<Class<? extends TopiaEntity>> dataEntityTypesFromTopia = getDataEntityTypesFromTopia(); + Assert.assertEquals(dataEntityTypesFromTopia.size(), entityTypesFromEngine.size()); + + for (Class<? extends DataDto> dtoType : dataDtoToEntityTypes.keySet()) { + + Class<TopiaEntity> entityType = binderEngine.getDataEntityType(dtoType); + Assert.assertNotNull(entityType); + + } + + } + + @Test + public void testGetReferentialDtoType() throws Exception { + + ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> referentialDtoToEntityTypes = binderEngine.getReferentialEntityToDtoTypes(); + + Assert.assertNotNull(referentialDtoToEntityTypes); + Assert.assertEquals(2 * 59, referentialDtoToEntityTypes.size()); + + for (Class<? extends ReferenceEntity> entityType : referentialDtoToEntityTypes.keySet()) { + + Class<? extends ReferentialDto> dtoType = binderEngine.getReferentialDtoType(entityType); + Assert.assertNotNull(dtoType); + + } + + } + + @Test + public void testGetDataDtoType() throws Exception { + + ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> referentialDtoToEntityTypes = binderEngine.getDataEntityToDtoTypes(); + + Assert.assertNotNull(referentialDtoToEntityTypes); + Assert.assertEquals(2 * 35, referentialDtoToEntityTypes.size()); + + for (Class<? extends TopiaEntity> entityType : referentialDtoToEntityTypes.keySet()) { + + Class<? extends DataDto> dtoType = binderEngine.getDataDtoType(entityType); + Assert.assertNotNull(dtoType); + + } + + } + + protected Set<Class<? extends ReferenceEntity>> getReferentialEntityTypes() { + + Set<Class<? extends ReferenceEntity>> result = new LinkedHashSet<>(); + + for (ObserveEntityEnum observeEntityEnum : ObserveEntityEnum.values()) { + + Class<? extends TopiaEntity> contract = observeEntityEnum.getContract(); + if (ReferenceEntity.class.isAssignableFrom(contract) && !Modifier.isAbstract(observeEntityEnum.getImplementation().getModifiers())) { + + result.add((Class<? extends ReferenceEntity>) contract); + } + } + return result; + + } + + protected Set<Class<? extends TopiaEntity>> getDataEntityTypesFromTopia() { + + Set<Class<? extends TopiaEntity>> result = new LinkedHashSet<>(); + + for (ObserveEntityEnum observeEntityEnum : ObserveEntityEnum.values()) { + + if (!ReferenceEntity.class.isAssignableFrom(observeEntityEnum.getContract()) && !Modifier.isAbstract(observeEntityEnum.getImplementation().getModifiers())) { + result.add(observeEntityEnum.getContract()); + } + } + + result.remove(LastUpdateType.class); + result.remove(TdrRecord.class); + + return result; + + } + +} \ No newline at end of file diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java new file mode 100644 index 0000000..7a4cec6 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java @@ -0,0 +1,373 @@ +package fr.ird.observe.services.binder; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineStubDto; +import fr.ird.observe.services.dto.longline.BaitsCompositionDto; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; +import fr.ird.observe.services.dto.longline.CatchLonglineDto; +import fr.ird.observe.services.dto.longline.EncounterDto; +import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; +import fr.ird.observe.services.dto.longline.HooksCompositionDto; +import fr.ird.observe.services.dto.longline.SectionDto; +import fr.ird.observe.services.dto.longline.SensorUsedDto; +import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; +import fr.ird.observe.services.dto.longline.SetLonglineDto; +import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; +import fr.ird.observe.services.dto.longline.SetLonglineStubDto; +import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; +import fr.ird.observe.services.dto.longline.SizeMeasureDto; +import fr.ird.observe.services.dto.longline.TdrDto; +import fr.ird.observe.services.dto.longline.TripLonglineActivityDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; +import fr.ird.observe.services.dto.longline.WeightMeasureDto; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.FpaZoneDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; +import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.OrganismDto; +import fr.ird.observe.services.dto.referential.PersonDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.SexDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.SpeciesGroupDto; +import fr.ird.observe.services.dto.referential.SpeciesListDto; +import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; +import fr.ird.observe.services.dto.referential.VesselTypeDto; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; +import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; +import fr.ird.observe.services.dto.referential.longline.HealthnessDto; +import fr.ird.observe.services.dto.referential.longline.HookPositionDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto; +import fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksColorDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.dto.referential.longline.MaturityStatusDto; +import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; +import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; +import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; +import fr.ird.observe.services.dto.referential.longline.SettingShapeDto; +import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; +import fr.ird.observe.services.dto.referential.longline.StomacFullnessDto; +import fr.ird.observe.services.dto.referential.longline.TripTypeDto; +import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; +import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; +import fr.ird.observe.services.dto.referential.seine.DetectionModeDto; +import fr.ird.observe.services.dto.referential.seine.ObjectFateDto; +import fr.ird.observe.services.dto.referential.seine.ObjectOperationDto; +import fr.ird.observe.services.dto.referential.seine.ObjectTypeDto; +import fr.ird.observe.services.dto.referential.seine.ObservedSystemDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; +import fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; +import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; +import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; +import fr.ird.observe.services.dto.referential.seine.WindDto; +import fr.ird.observe.services.dto.seine.ActivitySeineDto; +import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; +import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; +import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; +import fr.ird.observe.services.dto.seine.NonTargetCatchDto; +import fr.ird.observe.services.dto.seine.NonTargetLengthDto; +import fr.ird.observe.services.dto.seine.NonTargetSampleDto; +import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.RouteDto; +import fr.ird.observe.services.dto.seine.RouteStubDto; +import fr.ird.observe.services.dto.seine.SchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; +import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; +import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; +import fr.ird.observe.services.dto.seine.TargetCatchDto; +import fr.ird.observe.services.dto.seine.TargetLengthDto; +import fr.ird.observe.services.dto.seine.TargetSampleDto; +import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; +import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.services.service.BabModelVersionException; +import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; +import fr.ird.observe.services.service.DatabaseNotFoundException; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.nuiton.topia.persistence.TopiaDao; +import org.nuiton.topia.persistence.TopiaEntity; + +import java.util.List; +import java.util.Set; + +/** + * Created on 26/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BinderEngineTest extends AbstractServiceTopiaTest { + + /** Logger. */ + private static final Log log = LogFactory.getLog(BinderEngineTest.class); + + private BinderEngine binderEngine; + + @Override + @Before + public void setUp() throws Exception { + + super.setUp(); + binderEngine = BinderEngine.get(); + + } + + @Test + public void testTransformEntityToReferentialDto() throws Exception { + + transformReferentialEntityToDto(CountryDto.class); + transformReferentialEntityToDto(FpaZoneDto.class); + transformReferentialEntityToDto(GearDto.class); + transformReferentialEntityToDto(GearCaracteristicDto.class); + transformReferentialEntityToDto(GearCaracteristicTypeDto.class); + transformReferentialEntityToDto(HarbourDto.class); + transformReferentialEntityToDto(LengthWeightParameterDto.class); + transformReferentialEntityToDto(OceanDto.class); + transformReferentialEntityToDto(OrganismDto.class); + transformReferentialEntityToDto(PersonDto.class); + transformReferentialEntityToDto(ProgramDto.class); + transformReferentialEntityToDto(SexDto.class); + transformReferentialEntityToDto(SpeciesDto.class); + transformReferentialEntityToDto(SpeciesGroupDto.class); + transformReferentialEntityToDto(SpeciesListDto.class); + transformReferentialEntityToDto(VesselDto.class); + transformReferentialEntityToDto(VesselSizeCategoryDto.class); + transformReferentialEntityToDto(VesselTypeDto.class); + transformReferentialEntityToDto(BaitHaulingStatusDto.class); + transformReferentialEntityToDto(BaitSettingStatusDto.class); + transformReferentialEntityToDto(BaitTypeDto.class); + transformReferentialEntityToDto(CatchFateLonglineDto.class); + transformReferentialEntityToDto(EncounterTypeDto.class); + transformReferentialEntityToDto(HealthnessDto.class); + transformReferentialEntityToDto(HookPositionDto.class); + transformReferentialEntityToDto(HookSizeDto.class); + transformReferentialEntityToDto(HookTypeDto.class); + transformReferentialEntityToDto(ItemHorizontalPositionDto.class); + transformReferentialEntityToDto(ItemVerticalPositionDto.class); + transformReferentialEntityToDto(LightsticksColorDto.class); + transformReferentialEntityToDto(LightsticksTypeDto.class); + transformReferentialEntityToDto(LineTypeDto.class); + transformReferentialEntityToDto(MaturityStatusDto.class); + transformReferentialEntityToDto(MitigationTypeDto.class); + transformReferentialEntityToDto(SensorBrandDto.class); + transformReferentialEntityToDto(SensorDataFormatDto.class); + transformReferentialEntityToDto(SensorTypeDto.class); + transformReferentialEntityToDto(SettingShapeDto.class); + transformReferentialEntityToDto(SizeMeasureTypeDto.class); + transformReferentialEntityToDto(StomacFullnessDto.class); + transformReferentialEntityToDto(TripTypeDto.class); + transformReferentialEntityToDto(VesselActivityLonglineDto.class); + transformReferentialEntityToDto(WeightMeasureTypeDto.class); + transformReferentialEntityToDto(DetectionModeDto.class); + transformReferentialEntityToDto(ObjectFateDto.class); + transformReferentialEntityToDto(ObjectOperationDto.class); + transformReferentialEntityToDto(ObjectTypeDto.class); + transformReferentialEntityToDto(ObservedSystemDto.class); + transformReferentialEntityToDto(ReasonForDiscardDto.class); + transformReferentialEntityToDto(ReasonForNoFishingDto.class); + transformReferentialEntityToDto(ReasonForNullSetDto.class); + transformReferentialEntityToDto(SpeciesFateDto.class); + transformReferentialEntityToDto(SpeciesStatusDto.class); + transformReferentialEntityToDto(SurroundingActivityDto.class); + transformReferentialEntityToDto(TransmittingBuoyOperationDto.class); + transformReferentialEntityToDto(TransmittingBuoyTypeDto.class); + transformReferentialEntityToDto(VesselActivitySeineDto.class); + transformReferentialEntityToDto(WeightCategoryDto.class); + transformReferentialEntityToDto(WindDto.class); + + } + + @Test + public void testTransformEntityToDataDto() throws Exception { + + transformDataEntityToDto(ActivityLonglineDto.class); + transformDataEntityToDto(ActivityLonglineEncouterDto.class); + transformDataEntityToDto(ActivityLonglineSensorUsedDto.class); + transformDataEntityToDto(ActivityLonglineStubDto.class); + transformDataEntityToDto(BaitsCompositionDto.class); + transformDataEntityToDto(BasketDto.class); + transformDataEntityToDto(BranchlineDto.class); + transformDataEntityToDto(BranchlinesCompositionDto.class); + transformDataEntityToDto(CatchLonglineDto.class); + transformDataEntityToDto(EncounterDto.class); + transformDataEntityToDto(FloatlinesCompositionDto.class); + transformDataEntityToDto(GearUseFeaturesLonglineDto.class); + transformDataEntityToDto(GearUseFeaturesMeasurementLonglineDto.class); + transformDataEntityToDto(HooksCompositionDto.class); + transformDataEntityToDto(SectionDto.class); + transformDataEntityToDto(SensorUsedDto.class); + transformDataEntityToDto(SetLonglineDto.class); + transformDataEntityToDto(SetLonglineCatchDto.class); + transformDataEntityToDto(SetLonglineDetailCompositionDto.class); + transformDataEntityToDto(SetLonglineGlobalCompositionDto.class); + transformDataEntityToDto(SetLonglineStubDto.class); + transformDataEntityToDto(SetLonglineTdrDto.class); + transformDataEntityToDto(SizeMeasureDto.class); + transformDataEntityToDto(TdrDto.class); + transformDataEntityToDto(TripLonglineDto.class); + transformDataEntityToDto(TripLonglineActivityDto.class); + transformDataEntityToDto(TripLonglineGearUseDto.class); + transformDataEntityToDto(WeightMeasureDto.class); + transformDataEntityToDto(ActivitySeineDto.class); + transformDataEntityToDto(ActivitySeineObservedSystemDto.class); + transformDataEntityToDto(ActivitySeineStubDto.class); + transformDataEntityToDto(FloatingObjectDto.class); + transformDataEntityToDto(FloatingObjectObservedSpeciesDto.class); + transformDataEntityToDto(FloatingObjectSchoolEstimateDto.class); + transformDataEntityToDto(FloatingObjectTransmittingBuoyDto.class); + transformDataEntityToDto(GearUseFeaturesMeasurementSeineDto.class); + transformDataEntityToDto(GearUseFeaturesSeineDto.class); + transformDataEntityToDto(NonTargetCatchDto.class); + transformDataEntityToDto(NonTargetLengthDto.class); + transformDataEntityToDto(NonTargetSampleDto.class); + transformDataEntityToDto(ObjectObservedSpeciesDto.class); + transformDataEntityToDto(ObjectSchoolEstimateDto.class); + transformDataEntityToDto(RouteDto.class); + transformDataEntityToDto(RouteStubDto.class); + transformDataEntityToDto(SchoolEstimateDto.class); + transformDataEntityToDto(SetSeineDto.class); + transformDataEntityToDto(SetSeineNonTargetCatchDto.class); + transformDataEntityToDto(SetSeineSchoolEstimateDto.class); + transformDataEntityToDto(SetSeineTargetCatchDto.class); + transformDataEntityToDto(TargetCatchDto.class); + transformDataEntityToDto(TargetLengthDto.class); + transformDataEntityToDto(TargetSampleDto.class); + transformDataEntityToDto(TransmittingBuoyDto.class); + transformDataEntityToDto(TripSeineDto.class); + transformDataEntityToDto(TripSeineGearUseDto.class); + + + } + + @Override + public Set<String> getTestNamesChangeDataBase() { + return ImmutableSet.of(); + } + + @Override + public String getScriptName() { + return "dataForTestSeine"; + } + + protected <D extends DataDto, E extends TopiaEntity> void transformDataEntityToDto(Class<D> dtoType) throws DatabaseNotFoundException, BabModelVersionException, DatabaseConnexionNotAuthorizedException { + + Class<E> entityType = binderEngine.getDataEntityType(dtoType); + + try (ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.getTopiaApplicationContext().newPersistenceContext()) { + + TopiaDao<E> dao = persistenceContext.getDao(entityType); + List<E> entities = dao.findAll(); + + if (!entities.isEmpty()) { + E entity = entities.get(0); + + if (log.isInfoEnabled()) { + log.info("transform " + entity.getTopiaId() + " to " + dtoType.getName()); + } + D dto = binderEngine.transformEntityToDataDto(ReferentialLocale.FR, entity); + + Assert.assertNotNull(dto); + Assert.assertEquals(entity.getTopiaId(), dto.getId()); +// Assert.assertEquals(entity.getTopiaCreateDate(), dto.getCreateDate()); +// Assert.assertEquals(entity.getTopiaVersion(), dto.getVersion()); + + E entity2 = binderEngine.transformDataDtoToEntity(ReferentialLocale.FR, dto); + + Assert.assertNotNull(entity2); + Assert.assertEquals(entity.getTopiaId(), entity.getTopiaId()); +// Assert.assertEquals(entity.getTopiaCreateDate(), entity.getTopiaCreateDate()); +// Assert.assertEquals(entity.getTopiaVersion(), entity.getTopiaVersion()); + + } + + } + + } + + protected <D extends ReferentialDto, E extends ReferenceEntity> void transformReferentialEntityToDto(Class<D> dtoType) throws DatabaseNotFoundException, BabModelVersionException, DatabaseConnexionNotAuthorizedException { + + Class<E> entityType = binderEngine.getReferentialEntityType(dtoType); + + try (ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.getTopiaApplicationContext().newPersistenceContext()) { + + TopiaDao<E> dao = persistenceContext.getDao(entityType); + List<E> entities = dao.findAll(); + + E entity = entities.get(0); + + if (log.isInfoEnabled()) { + log.info("transform " + entity.getTopiaId() + " to " + dtoType.getName()); + } + D dto = binderEngine.transformEntityToReferentialDto(ReferentialLocale.FR, entity); + + Assert.assertNotNull(dto); + Assert.assertEquals(entity.getTopiaId(), dto.getId()); + Assert.assertEquals(entity.getTopiaCreateDate(), dto.getCreateDate()); + Assert.assertEquals(entity.getTopiaVersion(), dto.getVersion()); + Assert.assertEquals(entity.getLastUpdate(), dto.getLastUpdate()); + Assert.assertEquals(entity.isNeedComment(), dto.isNeedComment()); + Assert.assertEquals(entity.isEnabled(), dto.isEnabled()); + Assert.assertEquals(entity.getUri(), dto.getUri()); + Assert.assertEquals(entity.getCode(), dto.getCode()); + + E entity2 = binderEngine.transformReferentialDtoToEntity(ReferentialLocale.FR, dto); + + Assert.assertNotNull(entity2); + Assert.assertEquals(entity.getTopiaId(), entity.getTopiaId()); + Assert.assertEquals(entity.getTopiaCreateDate(), entity.getTopiaCreateDate()); + Assert.assertEquals(entity.getTopiaVersion(), entity.getTopiaVersion()); + Assert.assertEquals(entity.getLastUpdate(), entity.getLastUpdate()); + Assert.assertEquals(entity.isNeedComment(), entity.isNeedComment()); + Assert.assertEquals(entity.isEnabled(), entity.isEnabled()); + Assert.assertEquals(entity.getUri(), entity.getUri()); + Assert.assertEquals(entity.getCode(), entity.getCode()); + + } + + } + +} \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.