This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 2574d559fcc3675fcb39df2b682d1676a79ff1b2 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 | 1088 ++++++++++++++------ 1 file changed, 779 insertions(+), 309 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 4c143a1..b48b0e4 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 @@ -33,24 +33,36 @@ 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.reference.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; @@ -64,7 +76,6 @@ 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.reference.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; @@ -121,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; @@ -137,14 +149,12 @@ 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.common.GPSPoint; import org.nuiton.decorator.Decorator; import org.nuiton.decorator.DecoratorProvider; import java.util.Locale; import static org.nuiton.i18n.I18n.l; -import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -157,44 +167,8 @@ import static org.nuiton.i18n.I18n.t; public class DecoratorService extends DecoratorProvider { public static final String HAULING_IDENTIFIER = "haulingIdentifier"; - public static final String TRIP_CONTEXT = "Trip"; - 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"); - - } - /** la locale du referentiel. */ private ReferentialLocale referentialLocale; @@ -211,24 +185,6 @@ public class DecoratorService extends DecoratorProvider { this.referentialLocale = referentialLocale; } -// 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; -// } - @Override protected void loadDecorators() { if (referentialLocale == null) { @@ -237,208 +193,7 @@ 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(ShipOwnerDto.class, "${code}$s##${label}$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"); - - // LengthLengthParameter decorator - registerDecorator(new LengthLengthParameterDecorator()); - registerReferentialReferenceDecorator(LengthLengthParameterDto.class, "${inputSizeMeasureType}$s##${outputSizeMeasureType}$s##" + - t("observe.common.inputOutputFormula") + " ${inputOutputFormula}$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##${totalWeight}$d", - "${species}$s##${totalWeight}$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", " "); - registerObserveDecorator(RemoteDataSourceConfiguration.class, "${name}$s", " "); - registerObserveDecorator(ServerDataSourceConfiguration.class, "${name}$s", " "); - + ObserveModelInitializerRunner.init(modelInitializer); } public <T extends ReferentialDto> ReferentialReferenceDecorator<T> getReferentialReferenceDecorator(Class<T> referenceType) { @@ -475,67 +230,782 @@ public class DecoratorService extends DecoratorProvider { 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")); - private <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression) { - registerDataReferenceDecorator(referenceType, referenceExpression); - registerObserveDecorator(referenceType, expression, " "); - } + // gps decorators + registerObserveDecorator("activity-gps", + ActivitySeineDto.class, + t("observe.common.gps.activity")); + registerObserveDecorator("gpsPoint-gps", + GPSPoint.class, + t("observe.common.gps.gpsPoint")); - private <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression, String separator) { - registerDataReferenceDecorator(referenceType, referenceExpression); - registerObserveDecorator(referenceType, expression, separator); - } + registerObserveDecorator(GPSPoint.class, + "${time}$td/%1$tm/%1$tY %1$tH:%1$tM##${latitude}$s##${longitude}$s", + " "); - private <T extends IdDto> void registerDataReferenceDecorator(Class<T> referenceType, String referenceExpression) { - registerDataReferenceDecorator(null, referenceType, referenceExpression); - } + registerObserveDecorator(SectionTemplate.class, "${id}$s##${floatlineLengths}$s", " "); + registerObserveDecorator(RemoteDataSourceConfiguration.class, "${name}$s", " "); + registerObserveDecorator(ServerDataSourceConfiguration.class, "${name}$s", " "); - 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)); - } + @Override + public void initCommentableDto() { + // rien à faire + } - private <T> void registerObserveDecorator(Class<T> referenceType, String expression, String separator) { - registerDecorator(new ObserveDecorator<>(referenceType, expression, separator)); - } + @Override + public void initDataDto() { + // rien à faire + } - private <T> void registerObserveDecorator(String context, Class<T> referenceType, String expression) { - registerDecorator(context, new ObserveDecorator<>(referenceType, expression)); - } + @Override + public void initDataFileDto() { + // rien à faire + } - private <T> void registerObserveDecorator(String context, Class<T> referenceType, String expression, String separator) { - registerDecorator(context, new ObserveDecorator<>(referenceType, expression, separator)); - } + @Override + public void initIdDto() { + // rien à faire + } + + @Override + public void initObserveDbUserDto() { + + } + + @Override + public void initOpenableDto() { + // rien à faire + } + + @Override + public void initTripMapDto() { + // rien à faire + } + + @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", + " - "); + } + + @Override + public void initActivityLonglineEncounterDto() { + // rien à faire + } + + @Override + public void initActivityLonglineSensorUsedDto() { + // rien à faire + } + + @Override + public void initActivityLonglineStubDto() { + // rien à faire + } + + @Override + public void initBaitsCompositionDto() { + registerDataAndDataReferenceDecorator(BaitsCompositionDto.class, "${baitType/label}$s##${proportion}$s"); + } + + @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>.