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>.