branch develop updated (e9f885a -> 541900b)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from e9f885a La boîte Informations sur la source n'affiche plus l'URL de la base (Fixes #8933) new 2574d55 La suppression d'un équipement dans le référentiel ne fonctionne pas (Fixes #8937) new 541900b Lors de la suppression d'un programme, l'UI propose des programmes qui ne sont pas du type de la marée (Fixes #8935) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 541900b93ca45109f3db5e13208f696edcb72b91 Author: Tony CHEMIT <dev@tchemit.fr> Date: Tue Jan 10 10:42:21 2017 +0100 Lors de la suppression d'un programme, l'UI propose des programmes qui ne sont pas du type de la marée (Fixes #8935) 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) Summary of changes: .../swing/decoration/DecoratorService.java | 1088 ++++++++++++++------ .../ui/content/ref/ContentReferenceUIHandler.java | 14 +- .../services/dto/referential/ProgramHelper.java | 8 + 3 files changed, 798 insertions(+), 312 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop 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>.
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 541900b93ca45109f3db5e13208f696edcb72b91 Author: Tony CHEMIT <dev@tchemit.fr> Date: Tue Jan 10 10:42:21 2017 +0100 Lors de la suppression d'un programme, l'UI propose des programmes qui ne sont pas du type de la marée (Fixes #8935) --- .../swing/ui/content/ref/ContentReferenceUIHandler.java | 14 +++++++++++--- .../observe/services/dto/referential/ProgramHelper.java | 8 ++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java index 79d5f9c..6c65fbe 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/ref/ContentReferenceUIHandler.java @@ -43,19 +43,20 @@ import fr.ird.observe.services.dto.reference.ReferenceMap; import fr.ird.observe.services.dto.reference.ReferentialReference; import fr.ird.observe.services.dto.referential.I18nReferentialDto; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ProgramHelper; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.observe.services.service.referential.ReferentialService; -import org.nuiton.jaxx.runtime.swing.CardLayout2Ext; -import org.nuiton.jaxx.widgets.select.BeanListHeader; -import org.nuiton.jaxx.validator.swing.SwingValidatorUtil; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; +import org.nuiton.jaxx.runtime.swing.CardLayout2Ext; +import org.nuiton.jaxx.validator.swing.SwingValidatorUtil; +import org.nuiton.jaxx.widgets.select.BeanListHeader; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; @@ -680,6 +681,10 @@ public class ContentReferenceUIHandler<E extends ReferentialDto, U extends Conte .filter(r -> !bean.getId().equals(r.getId())) .collect(Collectors.toList()); + if (ProgramDto.class.equals(getBeanType())) { + referenceList = (List)ProgramHelper.filterGearType((List) referenceList, ((ProgramDto) getBean()).getGearType()); + } + Pair<Boolean, ReferentialReference<E>> result = showUsagesForDesactivated(bean, usages, referenceList); boolean willsave = result.getLeft(); @@ -748,6 +753,9 @@ public class ContentReferenceUIHandler<E extends ReferentialDto, U extends Conte .filter(r -> !bean.getId().equals(r.getId())) .collect(Collectors.toList()); + if (ProgramDto.class.equals(getBeanType())) { + referenceList = (List)ProgramHelper.filterGearType((List) referenceList, ((ProgramDto) getBean()).getGearType()); + } if (log.isDebugEnabled()) { log.debug("found some usages, ask user to select a replacement"); } diff --git a/services/src/main/java/fr/ird/observe/services/dto/referential/ProgramHelper.java b/services/src/main/java/fr/ird/observe/services/dto/referential/ProgramHelper.java index d32bd09..95b4bea 100644 --- a/services/src/main/java/fr/ird/observe/services/dto/referential/ProgramHelper.java +++ b/services/src/main/java/fr/ird/observe/services/dto/referential/ProgramHelper.java @@ -29,6 +29,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.TreeMap; +import java.util.stream.Collectors; public class ProgramHelper extends GeneratedProgramHelper { @@ -72,4 +73,11 @@ public class ProgramHelper extends GeneratedProgramHelper { return new ArrayList<>(map.values()); } + public static List<ReferentialReference<ProgramDto>> filterGearType(List<ReferentialReference<ProgramDto>> programs, GearType gearType) { + + return programs.stream() + .filter(r -> gearType.equals(r.getPropertyValue(ProgramDto.PROPERTY_GEAR_TYPE))) + .collect(Collectors.toList()); + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm