branch develop-5.x updated (f9aafd0 -> f145c1b)
This is an automated email from the git hooks/post-receive script. New change to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from f9aafd0 [jgitflow-maven-plugin]Updating develop poms back to pre merge state new f145c1b La suppression d'un équipement dans le référentiel ne fonctionne pas (Fixes #8937) The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit f145c1bb03616c82c4e39b39918a3aab7cfee397 Author: Tony CHEMIT <dev@tchemit.fr> Date: Tue Jan 10 10:06:43 2017 +0100 La suppression d'un équipement dans le référentiel ne fonctionne pas (Fixes #8937) Summary of changes: .../swing/decoration/DecoratorService.java | 1284 +++++++++++++------- 1 file changed, 819 insertions(+), 465 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop-5.x in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit f145c1bb03616c82c4e39b39918a3aab7cfee397 Author: Tony CHEMIT <dev@tchemit.fr> Date: Tue Jan 10 10:06:43 2017 +0100 La suppression d'un équipement dans le référentiel ne fonctionne pas (Fixes #8937) --- .../swing/decoration/DecoratorService.java | 1284 +++++++++++++------- 1 file changed, 819 insertions(+), 465 deletions(-) diff --git a/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java b/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java index 2844bd6..1d18ca3 100644 --- a/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java +++ b/application-swing-decoration/src/main/java/fr/ird/observe/application/swing/decoration/DecoratorService.java @@ -2,7 +2,7 @@ * #%L * ObServe :: Application Swing Decoration * %% - * Copyright (C) 2008 - 2016 IRD, Codelutin, Tony Chemit + * Copyright (C) 2008 - 2017 IRD, Code Lutin, Tony Chemit * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as @@ -22,6 +22,7 @@ package fr.ird.observe.application.swing.decoration; import fr.ird.observe.application.swing.decoration.decorators.DataReferenceDecorator; +import fr.ird.observe.application.swing.decoration.decorators.LengthLengthParameterDecorator; import fr.ird.observe.application.swing.decoration.decorators.LengthWeightParameterDecorator; import fr.ird.observe.application.swing.decoration.decorators.NonTargetCatchDecorator; import fr.ird.observe.application.swing.decoration.decorators.NonTargetLengthDecorator; @@ -32,42 +33,59 @@ import fr.ird.observe.application.swing.decoration.decorators.SpeciesDecorator; import fr.ird.observe.application.swing.decoration.decorators.TargetCatchDecorator; import fr.ird.observe.application.swing.decoration.decorators.TripLonglineDecorator; import fr.ird.observe.application.swing.decoration.decorators.TripSeineDecorator; +import fr.ird.observe.common.GPSPoint; import fr.ird.observe.services.dto.DataDto; -import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ObserveModelInitializer; +import fr.ird.observe.services.dto.ObserveModelInitializerRunner; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +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.SectionTemplate; import fr.ird.observe.services.dto.longline.SensorUsedDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; +import fr.ird.observe.services.dto.longline.SizeMeasureDto; import fr.ird.observe.services.dto.longline.TdrDto; 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.presets.RemoteDataSourceConfiguration; +import fr.ird.observe.services.dto.presets.ServerDataSourceConfiguration; +import fr.ird.observe.services.dto.reference.DataReference; +import fr.ird.observe.services.dto.reference.ReferentialReference; 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.LengthLengthParameterDto; 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.ReferentialReference; import fr.ird.observe.services.dto.referential.SexDto; +import fr.ird.observe.services.dto.referential.ShipOwnerDto; +import fr.ird.observe.services.dto.referential.SizeMeasureTypeDto; 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.WeightMeasureTypeDto; 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; @@ -88,11 +106,9 @@ 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; @@ -116,6 +132,7 @@ 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.NonTargetSampleDto; import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; @@ -132,38 +149,24 @@ 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.util.GPSPoint; import org.nuiton.decorator.Decorator; import org.nuiton.decorator.DecoratorProvider; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; import java.util.Locale; -import java.util.Map; import static org.nuiton.i18n.I18n.l; -import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; /** * Le service de décoration. * - * @author Tony Chemit - chemit@codelutin.com + * @author Tony Chemit - dev@tchemit.fr * @since 1.3 */ public class DecoratorService extends DecoratorProvider { -// /** Logger */ -// private static final Log log = LogFactory.getLog(DecoratorService.class); - -// /** Le pattern pour utiliser les clef i18n generees dans les entites */ -// private static final Pattern LABEL_PATTERN = Pattern.compile("observe\\.common\\.(.+)"); - public static final String HAULING_IDENTIFIER = "haulingIdentifier"; - public static final String TRIP_CONTEXT = "Trip"; /** la locale du referentiel. */ @@ -182,178 +185,6 @@ public class DecoratorService extends DecoratorProvider { this.referentialLocale = referentialLocale; } -// public Matcher getPropertyMatch(String regex) { -// return LABEL_PATTERN.matcher(regex); -// } - - public String decorate(Object o) { - return decorate(null, o); - - } - - private String decorate(String context, Object o) { - //FIXME - if (o == null) { - return null; - } - Decorator<Object> decorator = getDecorator(o, context); - String result = ""; - if (decorator != null) { - result = decorator.toString(o); - } - return result; - } - - static { - // pour avoir les traduction sur le nom de la propriété - n("observe.common.vesselActivitySeine/label1"); - n("observe.common.vesselActivitySeine/label2"); - n("observe.common.vesselActivitySeine/label3"); - n("observe.common.vesselActivitySeine/label4"); - n("observe.common.vesselActivitySeine/label5"); - n("observe.common.vesselActivitySeine/label6"); - n("observe.common.vesselActivitySeine/label7"); - n("observe.common.vesselActivitySeine/label8"); - - n("observe.common.vessel/label1"); - n("observe.common.vessel/label2"); - n("observe.common.vessel/label3"); - n("observe.common.vessel/label4"); - n("observe.common.vessel/label5"); - n("observe.common.vessel/label6"); - n("observe.common.vessel/label7"); - n("observe.common.vessel/label8"); - - n("observe.common.ocean/label1"); - n("observe.common.ocean/label2"); - n("observe.common.ocean/label3"); - n("observe.common.ocean/label4"); - n("observe.common.ocean/label5"); - n("observe.common.ocean/label6"); - n("observe.common.ocean/label7"); - n("observe.common.ocean/label8"); - - n("observe.common.species/scientificLabel"); - n("observe.common.observerLabel"); - n("observe.common.label"); - - -// n("observe.common.targetSample"); -// n("observe.common.targetLength"); -// n("observe.common.nonTargetSample"); -// n("observe.common.nonTargetLength"); -// n("observe.common.nonTargetCatch"); -// n("observe.common.setSeine"); -// n("observe.common.targetCatch"); -// n("observe.common.transmittingBuoy"); -// n("observe.common.objectObservedSpecies"); -// n("observe.common.schoolEstimate"); -// n("observe.common.objectSchoolEstimate"); -// n("observe.common.floatingObject"); -// n("observe.common.activitySeine"); -// n("observe.common.route"); -// n("observe.common.tripSeine"); - -// n("observe.common.activityLongline"); -// n("observe.common.baitsComposition"); -// n("observe.common.basket"); -// n("observe.common.branchline"); -// n("observe.common.branchlinesComposition"); -// n("observe.common.catchLongline"); -// n("observe.common.encounter"); -// n("observe.common.setLongline"); -// n("observe.common.time"); -// n("observe.common.floatlinesComposition"); -// n("observe.common.hooksComposition"); -// n("observe.common.section"); -// n("observe.common.sensorUsed"); -// n("observe.common.sizeMeasure"); -// n("observe.common.tdr"); -// n("observe.common.tdrRecord"); -// n("observe.common.tripLongline"); -// n("observe.common.weightMeasure"); -// n("observe.common.gearUseFeaturesSeine"); -// n("observe.common.gearUseFeaturesLongline"); -// n("observe.common.longlineDetailComposition"); - -// n("observe.common.vesselSizeCategory"); -// n("observe.common.harbour"); -// n("observe.common.country"); -// n("observe.common.vesselType"); -// n("observe.common.vessel"); -// n("observe.common.speciesGroup"); -// n("observe.common.species"); -// n("observe.common.sex"); -// n("observe.common.fpaZone"); -// n("observe.common.speciesList"); -// n("observe.common.person"); -// n("observe.common.ocean"); -// n("observe.common.organism"); -// n("observe.common.lengthWeightParameter"); -// n("observe.common.program"); - -// n("observe.common.vesselActivitySeine"); -// n("observe.common.surroundingActivity"); -// n("observe.common.reasonForNullSet"); -// n("observe.common.reasonForNoFishing"); -// n("observe.common.speciesFate"); -// n("observe.common.objectFate"); -// n("observe.common.weightCategory"); -// n("observe.common.detectionMode"); -// n("observe.common.transmittingBuoyOperation"); -// n("observe.common.objectOperation"); -// n("observe.common.reasonForDiscard"); -// n("observe.common.speciesStatus"); -// n("observe.common.observedSystem"); -// n("observe.common.transmittingBuoyType"); -// n("observe.common.objectType"); -// n("observe.common.wind"); -// -// n("observe.common.baitHaulingStatus"); -// n("observe.common.baitSettingStatus"); -// n("observe.common.baitType"); -// n("observe.common.catchFateLongline"); -// n("observe.common.encounterType"); -// n("observe.common.healthness"); -// n("observe.common.hookPosition"); -// n("observe.common.hookSize"); -// n("observe.common.hookType"); -// n("observe.common.itemVerticalPosition"); -// n("observe.common.itemHorizontalPosition"); -// n("observe.common.lightsticksColor"); -// n("observe.common.lightsticksType"); -// n("observe.common.lineType"); -// n("observe.common.maturityStatus"); -// n("observe.common.mitigationType"); -// n("observe.common.sensorBrand"); -// n("observe.common.sensorDataFormat"); -// n("observe.common.sensorPosition"); -// n("observe.common.sensorType"); -// n("observe.common.settingShape"); -// n("observe.common.sizeMeasureType"); -// n("observe.common.stomacFullness"); -// n("observe.common.tripType"); -// n("observe.common.vesselActivityLongline"); -// n("observe.common.weightMeasureType"); -// n("observe.common.id"); -// n("observe.common.floatlineLengths"); -// n("observe.common.locode"); -// n("observe.common.name"); -// n("observe.common.gearCaracteristicType"); -// n("observe.common.gearCaracteristic"); -// n("observe.common.gear"); -// n("observe.common.gender"); - -// n("observe.common.floatline1Length"); -// n("observe.common.floatline2Length"); -// n("observe.common.branchlineLength"); -// n("observe.common.tracelineLength"); - -// n("observe.common.gearUseFeaturesMeasurementSeine"); -// n("observe.common.gearUseFeaturesMeasurementLongline"); - - } - @Override protected void loadDecorators() { if (referentialLocale == null) { @@ -362,330 +193,853 @@ public class DecoratorService extends DecoratorProvider { return; } - Locale locale = referentialLocale.getLocale(); - - String libelle = referentialLocale.getLibelle(); - - registerReferentialAndReferentialReferenceDecorator(ProgramDto.class, - "[${gearTypePrefix}$s] " + t("observe.common.program") + " ${" + libelle + "}$s", - "[${gearTypePrefix}$s] " + t("observe.common.program") + " ${label}$s"); - registerReferentialAndReferentialReferenceDecorator(PersonDto.class, "${lastName}$s##${firstName}$s"); - registerReferentialAndReferentialReferenceDecorator(VesselSizeCategoryDto.class, "${code}$s##${gaugeLabel}$s##${capacityLabel}$s"); - registerReferentialAndReferentialReferenceDecorator(WindDto.class, "${code}$s##${label}$s##${speedRange}$s"); - - registerReferentialAndReferentialReferenceDecorator(SensorBrandDto.class, "${code}$s##${brandName}$s"); - registerReferentialAndReferentialReferenceDecorator(HarbourDto.class, "${code}$s##${name}$s##${locode}$s"); - // Species decorator - registerDecorator(new SpeciesDecorator()); - registerReferentialReferenceDecorator(SpeciesDto.class, "${faoCode}$s##${scientificLabel}$s"); - - // LengthWeightParameter decorator - registerDecorator(new LengthWeightParameterDecorator()); - registerReferentialReferenceDecorator(LengthWeightParameterDto.class, - "${sex}$s##${ocean}$s##${species}$s##" + t("observe.common.lengthWeightFormula") + " ${lengthWeightFormula}$s"); - - registerDefaultReferentialAndReferentialReferenceDecorator(SexDto.class, libelle); - //FIXME Use startDate - endDate - registerDefaultReferentialAndReferentialReferenceDecorator(FpaZoneDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(OceanDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(DetectionModeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(VesselDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(CountryDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(VesselTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(VesselActivitySeineDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(SurroundingActivityDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(ObservedSystemDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(ObjectFateDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(OrganismDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(ObjectTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(ObjectOperationDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesStatusDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(TransmittingBuoyTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(TransmittingBuoyOperationDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(ReasonForNullSetDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(ReasonForNoFishingDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(WeightCategoryDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(ReasonForDiscardDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesFateDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesGroupDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesListDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(BaitHaulingStatusDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(BaitSettingStatusDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(BaitTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(CatchFateLonglineDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(EncounterTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(HealthnessDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(HookPositionDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(HookSizeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(HookTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(ItemVerticalPositionDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(ItemHorizontalPositionDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(LightsticksColorDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(LightsticksTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(LineTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(MaturityStatusDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(MitigationTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(SensorDataFormatDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(SensorTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(SettingShapeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(SizeMeasureTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(StomacFullnessDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(TripTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(VesselActivityLonglineDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(WeightMeasureTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(GearCaracteristicTypeDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(GearCaracteristicDto.class, libelle); - registerDefaultReferentialAndReferentialReferenceDecorator(GearDto.class, libelle); - - // Data decorators - - registerDataAndDataReferenceDecorator(RouteDto.class, "${date}$td/%1$tm/%1$tY"); - registerDataAndDataReferenceDecorator(RouteStubDto.class, "${date}$td/%1$tm/%1$tY"); - registerDataAndDataReferenceDecorator(ActivitySeineDto.class, - "${time}$tH:%1$tM##${vesselActivitySeine/label}$s", - "${time}$tH:%1$tM##${vesselActivitySeine}$s", - " - "); - registerDataAndDataReferenceDecorator(ActivitySeineStubDto.class, "${time}$tH:%1$tM"); - - registerDataAndDataReferenceDecorator(ActivityLonglineDto.class, - "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline/label}$s", - "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline}$s", - " - "); - registerDataAndDataReferenceDecorator(SetSeineDto.class, t("observe.type.setSeine")); - registerDataAndDataReferenceDecorator(SetLonglineDto.class, t("observe.type.setLongline")); - registerDataAndDataReferenceDecorator(TripSeineGearUseDto.class, t("observe.type.tripSeineGearUse")); - registerDataAndDataReferenceDecorator(TripLonglineGearUseDto.class, t("observe.type.tripLonglineGearUse")); - registerDataAndDataReferenceDecorator(SetSeineSchoolEstimateDto.class, t("observe.type.setSeineSchoolEstimate")); - registerDataAndDataReferenceDecorator(SetSeineTargetCatchDto.class, t("observe.type.setSeineTargetCatch")); - registerDataAndDataReferenceDecorator(SetSeineNonTargetCatchDto.class, t("observe.type.setSeineNonTargetCatch")); - registerDataAndDataReferenceDecorator(NonTargetSampleDto.class, t("observe.type.nonTargetSample")); - registerDataAndDataReferenceDecorator(TargetSampleDto.class, t("observe.type.targetSample")); - registerDataAndDataReferenceDecorator(FloatingObjectTransmittingBuoyDto.class, t("observe.type.floatingObjectTransmittingBuoy")); - registerDataAndDataReferenceDecorator(FloatingObjectSchoolEstimateDto.class, t("observe.type.floatingObjectSchoolEstimate")); - registerDataAndDataReferenceDecorator(FloatingObjectObservedSpeciesDto.class, t("observe.type.floatingObjectObservedSpecies")); - registerDataAndDataReferenceDecorator(ObjectSchoolEstimateDto.class, - "${species/scientificLabel}$s##${weight}$d", - "${species}$s##${weight}$d"); - registerDataAndDataReferenceDecorator(SchoolEstimateDto.class, - "${species/scientificLabel}$s##${totalWeight}$d##${meanWeight}$d", - "${species}$s##${totalWeight}$d##${meanWeight}$d"); - - registerDataAndDataReferenceDecorator(TargetLengthDto.class, - "${species/scientificLabel}$s##${length}$f##${count}$d", - "${species}$s##${length}$f##${count}$d"); - - registerDataAndDataReferenceDecorator(TransmittingBuoyDto.class, - "${transmittingBuoyType/label}$s##${transmittingBuoyOperation/label}$s##${code}$s"); - - registerDataAndDataReferenceDecorator(FloatingObjectDto.class, - "DCP ${objectType/label}$s", "DCP ${objectType}$s", " - "); - - String settingIdentifier = l(locale, "observe.common.settingIdentifier"); - String haulingIdentifier = l(locale, "observe.common.haulingIdentifier"); - - registerDataAndDataReferenceDecorator(SectionDto.class, - " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); - - registerDataAndDataReferenceDecorator(BasketDto.class, - " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); - - registerDataAndDataReferenceDecorator(BranchlineDto.class, - " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); - - registerDataAndDataReferenceDecorator(HAULING_IDENTIFIER, SectionDto.class, "${haulingIdentifier}$s"); - registerDataAndDataReferenceDecorator(HAULING_IDENTIFIER, BasketDto.class, "${haulingIdentifier}$s"); - registerDataAndDataReferenceDecorator(HAULING_IDENTIFIER, BranchlineDto.class, "${haulingIdentifier}$s"); - - // TripSeine decorator - registerDecorator(new TripSeineDecorator()); - registerDataReferenceDecorator(TripSeineDto.class, - "${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s"); - - // TripLongline decorator - registerDecorator(new TripLonglineDecorator()); - registerDataReferenceDecorator(TripLonglineDto.class, - "${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s"); - - // Trip commun decorator - registerDecorator(TRIP_CONTEXT, - new DataReferenceDecorator("${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s")); - - // ObjectObservedSpecies decorator - registerDecorator(new ObjectObservedSpeciesDecorator()); - registerDataReferenceDecorator(ObjectObservedSpeciesDto.class, "${species}$s##${count}$d"); - - - // TargetLength decorator - registerDecorator(new TargetCatchDecorator()); - - // NonTargetCatch decorator - registerDecorator(new NonTargetCatchDecorator()); - registerDataReferenceDecorator(NonTargetCatchDto.class, "${species}$s##${speciesFate}$s"); - - // NonTargetLength decorator - registerDecorator(new NonTargetLengthDecorator()); - - registerDataAndDataReferenceDecorator(CatchLonglineDto.class, "${homeId}$s"); - - registerDataAndDataReferenceDecorator(TdrDto.class, "${homeId}$s"); - - //FIXME how to decorate ? - registerDataAndDataReferenceDecorator(GearUseFeaturesMeasurementSeineDto.class, "${id}$s"); - - registerDataAndDataReferenceDecorator(EncounterDto.class, - "${encounterType/label}$s##${species/label}$s", - "${encounterType}$s##${species}$s", - " - "); - - registerDataAndDataReferenceDecorator(SensorUsedDto.class, - "${sensorType/label}$s", - "${sensorType}$s"); - - - // gps decorators - registerObserveDecorator("activity-gps", - ActivitySeineDto.class, - t("observe.common.gps.activity")); - registerObserveDecorator("gpsPoint-gps", - GPSPoint.class, - t("observe.common.gps.gpsPoint")); - - registerObserveDecorator(GPSPoint.class, - "${time}$td/%1$tm/%1$tY %1$tH:%1$tM##${latitude}$s##${longitude}$s", - " "); - - registerObserveDecorator(SectionTemplate.class, "${id}$s##${floatlineLengths}$s", " "); + ObserveModelInitializerRunner.init(modelInitializer); + } + public <T extends ReferentialDto> ReferentialReferenceDecorator<T> getReferentialReferenceDecorator(Class<T> referenceType) { + return (ReferentialReferenceDecorator) getDecoratorByType(ReferentialReference.class, referenceType.getSimpleName()); } - public <T extends ReferentialDto> void sort(Class<T> type, List<ReferentialReference<T>> data) { + public <T extends ReferentialDto> void sort(Class<T> type, List<ReferentialReference<T>> data) { new ReferentialReferenceComparator<>(type).sort(data); } - public <T extends ReferentialDto> ReferentialReferenceDecorator<T> getReferentialReferenceDecorator(Class<T> referenceType) { - return (ReferentialReferenceDecorator<T>) (ReferentialReferenceDecorator) getDecoratorByType(ReferentialReference.class, referenceType.getSimpleName()); +private class ReferentialReferenceComparator<T extends ReferentialDto> implements Comparator<ReferentialReference<T>> { + + private final ReferentialReferenceDecorator<T> decorator; + + private final Map<ReferentialReference<T>, String> cache = new HashMap<>(); + + private ReferentialReferenceComparator(Class<T> type) { + decorator = getReferentialReferenceDecorator(type); + } + + private String get(ReferentialReference<T> id) { + String value = cache.get(id); + if (value == null) { + value = decorator.toString(id); + cache.put(id, value); + } + return value; + } + + @Override + public int compare(ReferentialReference<T> o1, ReferentialReference<T> o2) { + return get(o1).compareTo(get(o2)); + } + + public void sort(List<ReferentialReference<T>> data) { + Collections.sort(data, this); + cache.clear(); + } } public <T extends DataDto> DataReferenceDecorator<T> getDataReferenceDecorator(Class<T> referenceType) { - return (DataReferenceDecorator<T>) (DataReferenceDecorator) getDecoratorByType(DataReference.class, referenceType.getSimpleName()); + return (DataReferenceDecorator) getDecoratorByType(DataReference.class, referenceType.getSimpleName()); } public <T extends DataDto> DataReferenceDecorator<T> getDataReferenceDecorator(Class<T> referenceType, String context) { - return (DataReferenceDecorator<T>) (DataReferenceDecorator) getDecoratorByType(DataReference.class, referenceType.getSimpleName() + context); + return (DataReferenceDecorator) getDecoratorByType(DataReference.class, referenceType.getSimpleName() + context); } - public Decorator getReferenceDecorator(Class referenceType) { - Decorator decorator; + public <D extends IdDto> Decorator<D> getReferenceDecorator(Class<D> referenceType) { + Decorator<D> decorator; if (DataDto.class.isAssignableFrom(referenceType)) { - decorator = this.getDataReferenceDecorator(referenceType); + decorator = getDataReferenceDecorator((Class) referenceType); } else { - decorator = this.getReferentialReferenceDecorator(referenceType); + decorator = getReferentialReferenceDecorator((Class) referenceType); } return decorator; } - public DataReferenceDecorator getTripReferenceDecorator(DataReference tripDto) { - DataReferenceDecorator decorator; + public DataReferenceDecorator<?> getTripReferenceDecorator(DataReference<?> tripDto) { + DataReferenceDecorator<?> decorator; if (tripDto.getType().isAssignableFrom(TripSeineDto.class)) { - decorator = (DataReferenceDecorator) getDataReferenceDecorator(TripSeineDto.class); + decorator = getDataReferenceDecorator(TripSeineDto.class); } else { - decorator = (DataReferenceDecorator) getDataReferenceDecorator(TripLonglineDto.class); + decorator = getDataReferenceDecorator(TripLonglineDto.class); } return decorator; } - private <T extends ReferentialDto> void registerDefaultReferentialAndReferentialReferenceDecorator(Class<T> referenceType, String libelle) { - registerReferentialReferenceDecorator(referenceType, "${code}$s##${label}$s"); - registerObserveDecorator(referenceType, "${code}$s##${" + libelle + "}$s", " "); - } + private final ObserveModelInitializer modelInitializer = new ObserveModelInitializer() { - private <T extends ReferentialDto> void registerReferentialAndReferentialReferenceDecorator(Class<T> referenceType, String expression) { - registerReferentialReferenceDecorator(referenceType, expression); - registerObserveDecorator(referenceType, expression); - } + private String haulingIdentifier; + private String settingIdentifier; + private String libelle; + private Locale locale; - private <T extends ReferentialDto> void registerReferentialAndReferentialReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression) { - registerReferentialReferenceDecorator(referenceType, referenceExpression); - registerObserveDecorator(referenceType, expression); - } + @Override + public void start() { - private <T extends ReferentialDto> void registerReferentialReferenceDecorator(Class<T> referenceType, String referenceExpression) { - registerDecorator(referenceType.getSimpleName(), new ReferentialReferenceDecorator<>(referenceExpression)); - } + locale = referentialLocale.getLocale(); + libelle = referentialLocale.getLibelle(); + settingIdentifier = l(locale, "observe.common.settingIdentifier"); + haulingIdentifier = l(locale, "observe.common.haulingIdentifier"); - private <T extends IdDto> void registerDataAndDataReferenceDecorator(String context, Class<T> referenceType, String expression) { - registerDataReferenceDecorator(context, referenceType, expression); - registerObserveDecorator(context, referenceType, expression, " "); - } + } - private <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression) { - registerDataReferenceDecorator(referenceType, expression); - registerObserveDecorator(referenceType, expression, " "); - } + @Override + public void end() { + // Trip commun decorator + registerDecorator(TRIP_CONTEXT, + new DataReferenceDecorator<>("${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s")); + + // gps decorators + registerObserveDecorator("activity-gps", + ActivitySeineDto.class, + t("observe.common.gps.activity")); + registerObserveDecorator("gpsPoint-gps", + GPSPoint.class, + t("observe.common.gps.gpsPoint")); + + registerObserveDecorator(GPSPoint.class, + "${time}$td/%1$tm/%1$tY %1$tH:%1$tM##${latitude}$s##${longitude}$s", + " "); + + registerObserveDecorator(SectionTemplate.class, "${id}$s##${floatlineLengths}$s", " "); + registerObserveDecorator(RemoteDataSourceConfiguration.class, "${name}$s", " "); + registerObserveDecorator(ServerDataSourceConfiguration.class, "${name}$s", " "); - private <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression) { - registerDataReferenceDecorator(referenceType, referenceExpression); - registerObserveDecorator(referenceType, expression, " "); - } + } - private <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression, String separator) { - registerDataReferenceDecorator(referenceType, referenceExpression); - registerObserveDecorator(referenceType, expression, separator); - } + @Override + public void initCommentableDto() { + // rien à faire + } - private <T extends IdDto> void registerDataReferenceDecorator(Class<T> referenceType, String referenceExpression) { - registerDataReferenceDecorator(null, referenceType, referenceExpression); - } + @Override + public void initDataDto() { + // rien à faire + } - private <T extends IdDto> void registerDataReferenceDecorator(String context, Class<T> referenceType, String referenceExpression) { - registerDecorator(referenceType.getSimpleName() + (context == null ? "" : context), new DataReferenceDecorator<>(referenceExpression)); - } + @Override + public void initDataFileDto() { + // rien à faire + } - private <T> void registerObserveDecorator(Class<T> referenceType, String expression) { - registerDecorator(new ObserveDecorator<>(referenceType, expression)); - } + @Override + public void initIdDto() { + // rien à faire + } - private <T> void registerObserveDecorator(Class<T> referenceType, String expression, String separator) { - registerDecorator(new ObserveDecorator<>(referenceType, expression, separator)); - } + @Override + public void initObserveDbUserDto() { - private <T> void registerObserveDecorator(String context, Class<T> referenceType, String expression) { - registerDecorator(context, new ObserveDecorator<>(referenceType, expression)); - } + } - private <T> void registerObserveDecorator(String context, Class<T> referenceType, String expression, String separator) { - registerDecorator(context, new ObserveDecorator<>(referenceType, expression, separator)); - } + @Override + public void initOpenableDto() { + // rien à faire + } - private class ReferentialReferenceComparator<T extends ReferentialDto> implements Comparator<ReferentialReference<T>> { + @Override + public void initTripMapDto() { + // rien à faire + } - private final ReferentialReferenceDecorator<T> decorator; + @Override + public void initActivityLonglineDto() { + registerDataAndDataReferenceDecorator(ActivityLonglineDto.class, + "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline/label}$s", + "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline}$s", + " - "); + } - private final Map<ReferentialReference<T>, String> cache = new HashMap<>(); + @Override + public void initActivityLonglineEncounterDto() { + // rien à faire + } - private ReferentialReferenceComparator(Class<T> type) { - decorator = getReferentialReferenceDecorator(type); + @Override + public void initActivityLonglineSensorUsedDto() { + // rien à faire } - private String get(ReferentialReference<T> id) { - String value = cache.get(id); - if (value == null) { - value = decorator.toString(id); - cache.put(id, value); - } - return value; + @Override + public void initActivityLonglineStubDto() { + // rien à faire } @Override - public int compare(ReferentialReference<T> o1, ReferentialReference<T> o2) { - return get(o1).compareTo(get(o2)); + public void initBaitsCompositionDto() { + registerDataAndDataReferenceDecorator(BaitsCompositionDto.class, "${baitType/label}$s##${proportion}$s"); } - public void sort(List<ReferentialReference<T>> data) { - Collections.sort(data, this); - cache.clear(); + @Override + public void initBasketDto() { + registerDataAndDataReferenceDecorator(HAULING_IDENTIFIER, BasketDto.class, "${haulingIdentifier}$s"); + registerDataAndDataReferenceDecorator(BasketDto.class, + " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); + } - } + + @Override + public void initBranchlineDto() { + registerDataAndDataReferenceDecorator(HAULING_IDENTIFIER, BranchlineDto.class, "${haulingIdentifier}$s"); + registerDataAndDataReferenceDecorator(BranchlineDto.class, + " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); + + } + + @Override + public void initBranchlinesCompositionDto() { + registerDataAndDataReferenceDecorator(BranchlinesCompositionDto.class, "${length}$s##${proportion}$s"); + } + + @Override + public void initCatchLonglineDto() { + registerDataAndDataReferenceDecorator(CatchLonglineDto.class, "${homeId}$s"); + } + + @Override + public void initEncounterDto() { + registerDataAndDataReferenceDecorator(EncounterDto.class, + "${encounterType/label}$s##${species/label}$s", + "${encounterType}$s##${species}$s", + " - "); + } + + @Override + public void initFloatlinesCompositionDto() { + registerDataAndDataReferenceDecorator(FloatlinesCompositionDto.class, "${lineType/label}$s##${proportion}$s"); + } + + @Override + public void initGearUseFeaturesLonglineDto() { + registerDataAndDataReferenceDecorator(GearUseFeaturesLonglineDto.class, "${gear/label}$s##${number}$s"); + } + + @Override + public void initGearUseFeaturesMeasurementLonglineDto() { + registerDataAndDataReferenceDecorator(GearUseFeaturesMeasurementLonglineDto.class, "${id}$s"); + } + + @Override + public void initHooksCompositionDto() { + registerDataAndDataReferenceDecorator(HooksCompositionDto.class, "${hookType/label}$s##${proportion}$s"); + } + + @Override + public void initSectionDto() { + registerDataAndDataReferenceDecorator(SectionDto.class, + " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); + registerDataAndDataReferenceDecorator(HAULING_IDENTIFIER, SectionDto.class, "${haulingIdentifier}$s"); + } + + @Override + public void initSensorUsedDto() { + //FIXME how to decorate ? + registerDataAndDataReferenceDecorator(SensorUsedDto.class, + "${sensorType/label}$s", + "${sensorType}$s"); + } + + @Override + public void initSetLonglineDto() { + registerDataAndDataReferenceDecorator(SetLonglineDto.class, t("observe.type.setLongline")); + } + + @Override + public void initSetLonglineCatchDto() { + // rien à faire + } + + @Override + public void initSetLonglineDetailCompositionDto() { + // rien à faire + } + + @Override + public void initSetLonglineGlobalCompositionDto() { + // rien à faire + } + + @Override + public void initSetLonglineStubDto() { + // rien à faire + } + + @Override + public void initSetLonglineTdrDto() { + // rien à faire + } + + @Override + public void initSizeMeasureDto() { + registerDataAndDataReferenceDecorator(SizeMeasureDto.class, "${sizeType/label}$s##${size}$s"); + } + + @Override + public void initTdrDto() { + registerDataAndDataReferenceDecorator(TdrDto.class, "${homeId}$s"); + } + + @Override + public void initTripLonglineDto() { + registerDecorator(new TripLonglineDecorator()); + registerDataReferenceDecorator(TripLonglineDto.class, + "${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s"); + } + + @Override + public void initTripLonglineActivityDto() { + + } + + @Override + public void initTripLonglineGearUseDto() { + registerDataAndDataReferenceDecorator(TripLonglineGearUseDto.class, t("observe.type.tripLonglineGearUse")); + } + + @Override + public void initWeightMeasureDto() { + registerDataAndDataReferenceDecorator(WeightMeasureDto.class, "${weightMeasureType/label}$s##${weight}$s"); + } + + @Override + public void initCountryDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(CountryDto.class, libelle); + } + + @Override + public void initFpaZoneDto() { + //FIXME Use startDate - endDate + registerDefaultReferentialAndReferentialReferenceDecorator(FpaZoneDto.class, libelle); + } + + @Override + public void initGearDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(GearDto.class, libelle); + } + + @Override + public void initGearCaracteristicDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(GearCaracteristicDto.class, libelle); + } + + @Override + public void initGearCaracteristicTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(GearCaracteristicTypeDto.class, libelle); + } + + @Override + public void initHarbourDto() { + registerReferentialAndReferentialReferenceDecorator(HarbourDto.class, "${code}$s##${name}$s##${locode}$s"); + } + + @Override + public void initI18nReferentialDto() { + // rien à faire + } + + @Override + public void initLengthLengthParameterDto() { + registerDecorator(new LengthLengthParameterDecorator()); + registerReferentialReferenceDecorator(LengthLengthParameterDto.class, "${inputSizeMeasureType}$s##${outputSizeMeasureType}$s##" + + t("observe.common.inputOutputFormula") + " ${inputOutputFormula}$s"); + } + + @Override + public void initLengthWeightParameterDto() { + registerDecorator(new LengthWeightParameterDecorator()); + registerReferentialReferenceDecorator(LengthWeightParameterDto.class, + "${sex}$s##${ocean}$s##${species}$s##" + t("observe.common.lengthWeightFormula") + " ${lengthWeightFormula}$s"); + } + + @Override + public void initOceanDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(OceanDto.class, libelle); + } + + @Override + public void initOrganismDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(OrganismDto.class, libelle); + } + + @Override + public void initPersonDto() { + registerReferentialAndReferentialReferenceDecorator(PersonDto.class, "${lastName}$s##${firstName}$s"); + } + + @Override + public void initProgramDto() { + registerReferentialAndReferentialReferenceDecorator(ProgramDto.class, + "[${gearTypePrefix}$s] " + t("observe.common.program") + " ${" + libelle + "}$s", + "[${gearTypePrefix}$s] " + t("observe.common.program") + " ${label}$s"); + + } + + @Override + public void initReferentialDto() { + // rien à faire + } + + @Override + public void initSexDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(SexDto.class, libelle); + } + + @Override + public void initShipOwnerDto() { + registerReferentialAndReferentialReferenceDecorator(ShipOwnerDto.class, "${code}$s##${label}$s"); + } + + @Override + public void initSizeMeasureTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(SizeMeasureTypeDto.class, libelle); + } + + @Override + public void initSpeciesDto() { + registerDecorator(new SpeciesDecorator()); + registerReferentialReferenceDecorator(SpeciesDto.class, "${faoCode}$s##${scientificLabel}$s"); + } + + @Override + public void initSpeciesGroupDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesGroupDto.class, libelle); + } + + @Override + public void initSpeciesListDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesListDto.class, libelle); + } + + @Override + public void initVesselDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(VesselDto.class, libelle); + } + + @Override + public void initVesselSizeCategoryDto() { + registerReferentialAndReferentialReferenceDecorator(VesselSizeCategoryDto.class, "${code}$s##${gaugeLabel}$s##${capacityLabel}$s"); + } + + @Override + public void initVesselTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(VesselTypeDto.class, libelle); + } + + @Override + public void initWeightMeasureTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(WeightMeasureTypeDto.class, libelle); + } + + @Override + public void initBaitHaulingStatusDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(BaitHaulingStatusDto.class, libelle); + } + + @Override + public void initBaitSettingStatusDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(BaitSettingStatusDto.class, libelle); + } + + @Override + public void initBaitTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(BaitTypeDto.class, libelle); + } + + @Override + public void initCatchFateLonglineDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(CatchFateLonglineDto.class, libelle); + } + + @Override + public void initEncounterTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(EncounterTypeDto.class, libelle); + } + + @Override + public void initHealthnessDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(HealthnessDto.class, libelle); + } + + @Override + public void initHookPositionDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(HookPositionDto.class, libelle); + } + + @Override + public void initHookSizeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(HookSizeDto.class, libelle); + } + + @Override + public void initHookTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(HookTypeDto.class, libelle); + } + + @Override + public void initItemHorizontalPositionDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(ItemHorizontalPositionDto.class, libelle); + } + + @Override + public void initItemVerticalPositionDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(ItemVerticalPositionDto.class, libelle); + } + + @Override + public void initLightsticksColorDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(LightsticksColorDto.class, libelle); + } + + @Override + public void initLightsticksTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(LightsticksTypeDto.class, libelle); + } + + @Override + public void initLineTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(LineTypeDto.class, libelle); + } + + @Override + public void initMaturityStatusDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(MaturityStatusDto.class, libelle); + } + + @Override + public void initMitigationTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(MitigationTypeDto.class, libelle); + } + + @Override + public void initSensorBrandDto() { + registerReferentialAndReferentialReferenceDecorator(SensorBrandDto.class, "${code}$s##${brandName}$s"); + } + + @Override + public void initSensorDataFormatDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(SensorDataFormatDto.class, libelle); + } + + @Override + public void initSensorTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(SensorTypeDto.class, libelle); + } + + @Override + public void initSettingShapeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(SettingShapeDto.class, libelle); + } + + @Override + public void initStomacFullnessDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(StomacFullnessDto.class, libelle); + } + + @Override + public void initTripTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(TripTypeDto.class, libelle); + } + + @Override + public void initVesselActivityLonglineDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(VesselActivityLonglineDto.class, libelle); + } + + @Override + public void initDetectionModeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(DetectionModeDto.class, libelle); + } + + @Override + public void initObjectFateDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(ObjectFateDto.class, libelle); + } + + @Override + public void initObjectOperationDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(ObjectOperationDto.class, libelle); + } + + @Override + public void initObjectTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(ObjectTypeDto.class, libelle); + } + + @Override + public void initObservedSystemDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(ObservedSystemDto.class, libelle); + } + + @Override + public void initReasonForDiscardDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(ReasonForDiscardDto.class, libelle); + } + + @Override + public void initReasonForNoFishingDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(ReasonForNoFishingDto.class, libelle); + } + + @Override + public void initReasonForNullSetDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(ReasonForNullSetDto.class, libelle); + } + + @Override + public void initSpeciesFateDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesFateDto.class, libelle); + } + + @Override + public void initSpeciesStatusDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesStatusDto.class, libelle); + } + + @Override + public void initSurroundingActivityDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(SurroundingActivityDto.class, libelle); + } + + @Override + public void initTransmittingBuoyOperationDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(TransmittingBuoyOperationDto.class, libelle); + } + + @Override + public void initTransmittingBuoyTypeDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(TransmittingBuoyTypeDto.class, libelle); + } + + @Override + public void initVesselActivitySeineDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(VesselActivitySeineDto.class, libelle); + } + + @Override + public void initWeightCategoryDto() { + registerDefaultReferentialAndReferentialReferenceDecorator(WeightCategoryDto.class, libelle); + } + + @Override + public void initWindDto() { + registerReferentialAndReferentialReferenceDecorator(WindDto.class, "${code}$s##${label}$s##${speedRange}$s"); + } + + @Override + public void initSaveResultDto() { + // rien à faire + } + + @Override + public void initTripChildSaveResultDto() { + // rien à faire + } + + @Override + public void initActivitySeineDto() { + registerDataAndDataReferenceDecorator(ActivitySeineDto.class, + "${time}$tH:%1$tM##${vesselActivitySeine/label}$s", + "${time}$tH:%1$tM##${vesselActivitySeine}$s", + " - "); + } + + @Override + public void initActivitySeineStubDto() { + registerDataAndDataReferenceDecorator(ActivitySeineStubDto.class, "${time}$tH:%1$tM"); + } + + @Override + public void initFloatingObjectDto() { + registerDataAndDataReferenceDecorator(FloatingObjectDto.class, + "DCP ${objectType/label}$s", "DCP ${objectType}$s", " - "); + } + + @Override + public void initFloatingObjectObservedSpeciesDto() { + registerDataAndDataReferenceDecorator(FloatingObjectObservedSpeciesDto.class, t("observe.type.floatingObjectObservedSpecies")); + } + + @Override + public void initFloatingObjectSchoolEstimateDto() { + registerDataAndDataReferenceDecorator(FloatingObjectSchoolEstimateDto.class, t("observe.type.floatingObjectSchoolEstimate")); + } + + @Override + public void initFloatingObjectTransmittingBuoyDto() { + registerDataAndDataReferenceDecorator(FloatingObjectTransmittingBuoyDto.class, t("observe.type.floatingObjectTransmittingBuoy")); + } + + @Override + public void initGearUseFeaturesMeasurementSeineDto() { + registerDataAndDataReferenceDecorator(GearUseFeaturesMeasurementSeineDto.class, "${id}$s"); + } + + @Override + public void initGearUseFeaturesSeineDto() { + registerDataAndDataReferenceDecorator(GearUseFeaturesSeineDto.class, "${gear/label}$s##${number}$s"); + } + + @Override + public void initNonTargetCatchDto() { + registerDecorator(new NonTargetCatchDecorator()); + registerDataReferenceDecorator(NonTargetCatchDto.class, "${species}$s##${speciesFate}$s"); + } + + @Override + public void initNonTargetLengthDto() { + registerDecorator(new NonTargetLengthDecorator()); + } + + @Override + public void initNonTargetSampleDto() { + registerDataAndDataReferenceDecorator(NonTargetSampleDto.class, t("observe.type.nonTargetSample")); + } + + @Override + public void initObjectObservedSpeciesDto() { + registerDecorator(new ObjectObservedSpeciesDecorator()); + registerDataReferenceDecorator(ObjectObservedSpeciesDto.class, "${species}$s##${count}$d"); + } + + @Override + public void initObjectSchoolEstimateDto() { + registerDataAndDataReferenceDecorator(ObjectSchoolEstimateDto.class, + "${species/scientificLabel}$s##${totalWeight}$d", + "${species}$s##${totalWeight}$d"); + } + + @Override + public void initRouteDto() { + registerDataAndDataReferenceDecorator(RouteDto.class, "${date}$td/%1$tm/%1$tY"); + } + + @Override + public void initRouteStubDto() { + registerDataAndDataReferenceDecorator(RouteStubDto.class, "${date}$td/%1$tm/%1$tY"); + } + + @Override + public void initSchoolEstimateDto() { + registerDataAndDataReferenceDecorator(SchoolEstimateDto.class, + "${species/scientificLabel}$s##${totalWeight}$d##${meanWeight}$d", + "${species}$s##${totalWeight}$d##${meanWeight}$d"); + } + + @Override + public void initSetSeineDto() { + registerDataAndDataReferenceDecorator(SetSeineDto.class, t("observe.type.setSeine")); + } + + @Override + public void initSetSeineNonTargetCatchDto() { + registerDataAndDataReferenceDecorator(SetSeineNonTargetCatchDto.class, t("observe.type.setSeineNonTargetCatch")); + } + + @Override + public void initSetSeineSchoolEstimateDto() { + registerDataAndDataReferenceDecorator(SetSeineSchoolEstimateDto.class, t("observe.type.setSeineSchoolEstimate")); + } + + @Override + public void initSetSeineTargetCatchDto() { + registerDataAndDataReferenceDecorator(SetSeineTargetCatchDto.class, t("observe.type.setSeineTargetCatch")); + } + + @Override + public void initTargetCatchDto() { + registerDecorator(new TargetCatchDecorator()); + } + + @Override + public void initTargetLengthDto() { + registerDataAndDataReferenceDecorator(TargetLengthDto.class, + "${species/scientificLabel}$s##${length}$f##${count}$d", + "${species}$s##${length}$f##${count}$d"); + } + + @Override + public void initTargetSampleDto() { + registerDataAndDataReferenceDecorator(TargetSampleDto.class, t("observe.type.targetSample")); + } + + @Override + public void initTransmittingBuoyDto() { + registerDataAndDataReferenceDecorator(TransmittingBuoyDto.class, + "${transmittingBuoyType/label}$s##${transmittingBuoyOperation/label}$s##${code}$s"); + } + + @Override + public void initTripSeineDto() { + registerDecorator(new TripSeineDecorator()); + registerDataReferenceDecorator(TripSeineDto.class, + "${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s"); + } + + @Override + public void initTripSeineGearUseDto() { + registerDataAndDataReferenceDecorator(TripSeineGearUseDto.class, t("observe.type.tripSeineGearUse")); + } + + + private <T extends ReferentialDto> void registerDefaultReferentialAndReferentialReferenceDecorator(Class<T> referenceType, String libelle) { + registerReferentialReferenceDecorator(referenceType, "${code}$s##${label}$s"); + registerObserveDecorator(referenceType, "${code}$s##${" + libelle + "}$s", " "); + } + + private <T extends ReferentialDto> void registerReferentialAndReferentialReferenceDecorator(Class<T> referenceType, String expression) { + registerReferentialReferenceDecorator(referenceType, expression); + registerObserveDecorator(referenceType, expression); + } + + private <T extends ReferentialDto> void registerReferentialAndReferentialReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression) { + registerReferentialReferenceDecorator(referenceType, referenceExpression); + registerObserveDecorator(referenceType, expression); + } + + private <T extends ReferentialDto> void registerReferentialReferenceDecorator(Class<T> referenceType, String referenceExpression) { + registerDecorator(referenceType.getSimpleName(), new ReferentialReferenceDecorator<>(referenceExpression)); + } + + private <T extends IdDto> void registerDataAndDataReferenceDecorator(String context, Class<T> referenceType, String expression) { + registerDataReferenceDecorator(context, referenceType, expression); + registerObserveDecorator(context, referenceType, expression, " "); + } + + private <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression) { + registerDataReferenceDecorator(referenceType, expression); + registerObserveDecorator(referenceType, expression, " "); + } + + private <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression) { + registerDataReferenceDecorator(referenceType, referenceExpression); + registerObserveDecorator(referenceType, expression, " "); + } + + private <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression, String separator) { + registerDataReferenceDecorator(referenceType, referenceExpression); + registerObserveDecorator(referenceType, expression, separator); + } + + private <T extends IdDto> void registerDataReferenceDecorator(Class<T> referenceType, String referenceExpression) { + registerDataReferenceDecorator(null, referenceType, referenceExpression); + } + + private <T extends IdDto> void registerDataReferenceDecorator(String context, Class<T> referenceType, String referenceExpression) { + registerDecorator(referenceType.getSimpleName() + (context == null ? "" : context), new DataReferenceDecorator<>(referenceExpression)); + } + + private <T> void registerObserveDecorator(Class<T> referenceType, String expression) { + registerDecorator(new ObserveDecorator<>(referenceType, expression)); + } + + private <T> void registerObserveDecorator(Class<T> referenceType, String expression, String separator) { + registerDecorator(new ObserveDecorator<>(referenceType, expression, separator)); + } + + private <T> void registerObserveDecorator(String context, Class<T> referenceType, String expression) { + registerDecorator(context, new ObserveDecorator<>(referenceType, expression)); + } + + private <T> void registerObserveDecorator(String context, Class<T> referenceType, String expression, String separator) { + registerDecorator(context, new ObserveDecorator<>(referenceType, expression, separator)); + } + }; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm