This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository observe. See http://git.codelutin.com/observe.git commit fc387c6790581496e9d9940c482dbc78bbcef3ab Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 30 01:09:22 2015 +0100 Faire fonctionner les listes de réferentielsobserve-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java --- .../java/fr/ird/observe/ui/DecoratorService.java | 2 +- .../ird/observe/ui/content/ContentUIHandler.java | 46 +++-- .../observe/ui/content/ref/ContentReferenceUI.css | 2 +- .../observe/ui/content/ref/ContentReferenceUI.jaxx | 29 +-- .../ui/content/ref/ContentReferenceUIHandler.java | 45 ++--- .../ReferentialReferenceSetDefinitions.java | 2 +- .../request/ReferenceSetRequestDefinition.java | 20 +- .../request/ReferenceSetRequestDefinitions.java | 213 +++++++++++++++++---- .../referential/LengthWeightParameterBinder.java | 13 +- 9 files changed, 245 insertions(+), 127 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java index db34b07..ef4d553 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java @@ -433,7 +433,7 @@ public class DecoratorService extends DecoratorProvider { // LengthWeightParameter decorator registerDecorator(new LengthWeightParameterDecorator()); registerReferentialReferenceDecorator(LengthWeightParameterDto.class, - "${sex/label}$s##${ocean/label}$s##${species/scientificLabel}$s##" + t("observe.common.lengthWeightFormula") + " ${lengthWeightFormula}$s"); + "${sex}$s##${ocean}$s##${species}$s##" + t("observe.common.lengthWeightFormula") + " ${lengthWeightFormula}$s"); registerDefaultReferentialAndReferentialReferenceDecorator(SexDto.class, libelle); //FIXME Use startDate - endDate diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index a7f08f2..2e7d081 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -539,35 +539,41 @@ public abstract class ContentUIHandler<E extends IdDto> { String requestName = form.getReferentialReferenceSetsRequestName(); - ImmutableMap.Builder<String, ReferentialReferenceSet<?>> modelReferentialReferenceSets = ImmutableMap.builder(); - if (requestName != null) { - if (log.isInfoEnabled()) { - log.info("Update referential reference sets for: " + requestName); - } + loadReferentialReferenceSetsInModel(requestName); - // mettre à jour le cache de référentiel - ImmutableMap<Class<?>, ReferentialReferenceSet<?>> referentialReferenceSetsByType = getDataSource().updateReferentialReferenceSetsCache(requestName); + } - // calculer les listes de référentiels à utiliser dans le modèle + } - ReferenceSetRequestDefinition requestDefinition = ReferenceSetRequestDefinitions.get(requestName); + protected void loadReferentialReferenceSetsInModel(String requestName) { - for (ReferenceSetRequestKeyDefinition propertyDefinition : requestDefinition.getPropertyDefinitions()) { + ImmutableMap.Builder<String, ReferentialReferenceSet<?>> modelReferentialReferenceSets = ImmutableMap.builder(); - if (!propertyDefinition.isReferential()) { - continue; - } + if (log.isInfoEnabled()) { + log.info("Update referential reference sets for: " + requestName); + } + + // mettre à jour le cache de référentiel + ImmutableMap<Class<?>, ReferentialReferenceSet<?>> referentialReferenceSetsByType = getDataSource().updateReferentialReferenceSetsCache(requestName); + + // calculer les listes de référentiels à utiliser dans le modèle - String propertyName = propertyDefinition.getName(); - ReferentialReferenceSet referentialReferenceSet = referentialReferenceSetsByType.get(propertyDefinition.getType()); - ReferentialReferenceSet filteredReferentialReferenceSet = filtredReferentialReferenceSet(propertyDefinition, referentialReferenceSet); + ReferenceSetRequestDefinition requestDefinition = ReferenceSetRequestDefinitions.get(requestName); - modelReferentialReferenceSets.put(propertyName, filteredReferentialReferenceSet); + for (ReferenceSetRequestKeyDefinition propertyDefinition : requestDefinition.getPropertyDefinitions()) { + if (!propertyDefinition.isReferential()) { + continue; } + String propertyName = propertyDefinition.getName(); + ReferentialReferenceSet referentialReferenceSet = referentialReferenceSetsByType.get(propertyDefinition.getType()); + ReferentialReferenceSet filteredReferentialReferenceSet = filterReferentialReferenceSet(propertyDefinition, referentialReferenceSet); + + modelReferentialReferenceSets.put(propertyName, filteredReferentialReferenceSet); + } getModel().setReferentialReferenceSets(modelReferentialReferenceSets.build()); @@ -938,7 +944,7 @@ public abstract class ContentUIHandler<E extends IdDto> { String propertyName = list.getName(); - if (BooleanUtils.isTrue(noLoad) || getModel().getForm() == null) { + if (!"referentialListHeader".equals(propertyName) && (BooleanUtils.isTrue(noLoad) || getModel().getForm() == null)) { if (log.isInfoEnabled()) { log.info(String.format("Skip loading of BeanListHeader [%s-%s] (listNoLoad property found or form is null)", dtoClass.getSimpleName(), propertyName)); @@ -1080,8 +1086,8 @@ public abstract class ContentUIHandler<E extends IdDto> { return getDecoratorService().getReferentialReferenceDecorator(dtoType); } - private final <D extends ReferentialDto> ReferentialReferenceSet<D> filtredReferentialReferenceSet(ReferenceSetRequestKeyDefinition<D> propertyDefinition, - ReferentialReferenceSet<D> incomingReferentialReferenceSet) { + private final <D extends ReferentialDto> ReferentialReferenceSet<D> filterReferentialReferenceSet(ReferenceSetRequestKeyDefinition<D> propertyDefinition, + ReferentialReferenceSet<D> incomingReferentialReferenceSet) { Class<D> dtoType = propertyDefinition.getType(); String propertyName = propertyDefinition.getName(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css index 182cb6d..40cddf2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css @@ -49,7 +49,7 @@ layout:{new BorderLayout()}; } -#listHeader { +#referentialListHeader { beanType:{(Class)ReferentialReference.class}; showReset:true; list:{list}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx index b7ab6e1..8ac51ef 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx @@ -81,13 +81,12 @@ viewLayout.addLayoutComponent(editView, DETAIL_VIEW); <JPanel id="body"> <JPanel id="listView" constraints="LIST_VIEW"> - <JScrollPane id='listPane' constraints='BorderLayout.CENTER' - columnHeaderView='{listHeader}'> + <JScrollPane id='listPane' constraints='BorderLayout.CENTER' columnHeaderView='{referentialListHeader}'> <JList id='list' onValueChanged='getHandler().selectBean((ReferentialReference<E>)getSelectedBean(list))' onMouseClicked='if (event.getClickCount() == 2) { getHandler().modifyUI(); }'/> - <BeanListHeader id='listHeader' genericType='ReferentialReference<E>' _entityClass="getModel().getBeanType()"/> + <BeanListHeader id='referentialListHeader' genericType='ReferentialReference<E>' _entityClass="getModel().getBeanType()"/> </JScrollPane> </JPanel> @@ -137,20 +136,16 @@ viewLayout.addLayoutComponent(editView, DETAIL_VIEW); <Table id='actions' fill='both' weightx='1' insets='0'> <row> <cell> - <Table id="listActions" fill="both" weightx="1" insets="1" - visible='{!model.isEditing()}'> + <Table id="listActions" fill="both" weightx="1" insets="1" visible='{!model.isEditing()}'> <row> <cell> - <JButton id='create' - onActionPerformed='getHandler().createUI()'/> + <JButton id='create' onActionPerformed='getHandler().createUI()'/> </cell> <cell> - <JButton id='modify' - onActionPerformed='getHandler().modifyUI()'/> + <JButton id='modify' onActionPerformed='getHandler().modifyUI()'/> </cell> <cell> - <JButton id='detail' - onActionPerformed='getHandler().modifyUI()'/> + <JButton id='detail' onActionPerformed='getHandler().modifyUI()'/> </cell> <cell> <JButton id='deleteFromList' styleClass='delete'/> @@ -165,8 +160,7 @@ viewLayout.addLayoutComponent(editView, DETAIL_VIEW); visible='{model.isEditing()}'> <row> <cell fill="both" weightx="1"> - <Table fill="both" weightx="1" insets="1" - visible='{!model.isReadingMode()}'> + <Table fill="both" weightx="1" insets="1" visible='{!model.isReadingMode()}'> <row> <cell> <JButton id='reset'/> @@ -183,8 +177,7 @@ viewLayout.addLayoutComponent(editView, DETAIL_VIEW); </row> <row> <cell fill="both" weightx="1"> - <JButton id='backToList' - onActionPerformed='getHandler().backToList()'/> + <JButton id='backToList' onActionPerformed='getHandler().backToList()'/> <!--onActionPerformed='getHandelr().backToList();if (!model.isModified() || fr.ird.observe.ui.content.ContentUIHandler.checkEdit(this)) { stopEdit(); }'/--> </cell> </row> @@ -195,11 +188,9 @@ viewLayout.addLayoutComponent(editView, DETAIL_VIEW); <JPanel id="invisible"> - <JButton id="showUsages" - onActionPerformed='getHandler().showUsages()'/> + <JButton id="showUsages" onActionPerformed='getHandler().showUsages()'/> - <JButton id='showUniqueKeys' - onActionPerformed='getHandler().showUniqueKeys((JButton) event.getSource());'/> + <JButton id='showUniqueKeys' onActionPerformed='getHandler().showUniqueKeys((JButton) event.getSource());'/> <JButton id='showTechnicalInformations' onActionPerformed='getHandler().showTechnicalInformations((JButton) event.getSource());'/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java index 6f1015a..9d96dc0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java @@ -29,6 +29,7 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.constants.ReferenceStatus; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.I18nReferentialDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; @@ -372,8 +373,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content Decorator<?> decorator = dService.getDecoratorByType(bean.getClass()); String type = DecoratorService.getEntityLabel(bean.getClass()); type = t(type); - String message = t("observe.message.show.usages", type, - decorator.toString(bean)); + String message = t("observe.message.show.usages", type, decorator.toString(bean)); ContentReferenceUI<E> ui = getUi(); @@ -384,8 +384,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content t("observe.title.show.usage"), usagesUI, JOptionPane.INFORMATION_MESSAGE, - new Object[]{ - t("observe.choice.quit")}, + new Object[]{t("observe.choice.quit")}, 0); } @@ -460,6 +459,9 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content ContentReferenceUIModel<E> model = getModel(); + ReferenceSetRequestDefinitions requestDefinition = ReferenceSetRequestDefinitions.get(getBeanType()); + loadReferentialReferenceSetsInModel(requestDefinition.name()); + // Chargement des données updateUiWithReferenceSetsFromModel(); @@ -498,8 +500,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content model.setMode(mode); if (mode != ContentMode.READ) { //FIXME le binding ne marche pas en init - ui.processDataBinding( - ContentReferenceUI.BINDING_DELETE_FROM_LIST_ENABLED); + ui.processDataBinding(ContentReferenceUI.BINDING_DELETE_FROM_LIST_ENABLED); } } @@ -579,7 +580,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content @Override protected void prepareValidationContext() { super.prepareValidationContext(); - BeanListHeader<ReferentialReference<E>> jList = getUi().getListHeader(); + BeanListHeader<ReferentialReference<E>> jList = getUi().getReferentialListHeader(); List<ReferentialReference<E>> data = jList.getData(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); ValidationContext validationContext = applicationContext.getValidationContext(); @@ -661,15 +662,13 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content if (!model.isModified() || checkEdit(getUi())) { getUi().stopEdit(); - // then resynch the selected bean to edit bean (used for - // example to delete)... + // then resynch the selected bean to edit bean (used for example to delete)... // repush selected bean to bean copyIntoBean(model.getSelectedBean(), getBean()); } } - //FIXME @Override protected boolean doSave(E bean) throws Exception { @@ -682,8 +681,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content } SaveResultDto saveResult = getReferentialService().save(bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); if (bean instanceof ProgramDto) { @@ -738,8 +736,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // sauvegarde du bean d'edition dans le bean de la base SaveResultDto saveResult = getReferentialService().save(bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); if (bean instanceof ProgramDto) { @@ -751,17 +748,6 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content return true; } - //FIXME -// @Override -// protected E onUpdate(TopiaContext tx, -// Object parentBean, -// E beanToSave) throws TopiaException { -// -// getLoadBinder().copy(getBean(), beanToSave); -// return beanToSave; -// } - - //FIXME @Override protected boolean doDelete(E bean) throws Exception { @@ -805,15 +791,6 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content return true; } - //FIXME -// @Override -// protected void onDelete(TopiaContext tx, -// Object parentBean, -// E beanToDelete) throws TopiaException { -// TopiaDAO<E> dao = getDataSource().getDAO(tx, beanToDelete); -// dao.delete(beanToDelete); -// } - protected void afterSave(boolean refresh) { super.afterSave(refresh); getUi().stopEdit(); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java index 532f659..f575b20 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java @@ -84,7 +84,7 @@ public enum ReferentialReferenceSetDefinitions { FPA_ZONE(newDefaultDefinitionBuilder(FpaZoneDto.class)), - GEAR_CARACTERISTIC(newDefinitionBuilder(GearCaracteristicDto.class) + GEAR_CARACTERISTIC(newDefaultDefinitionBuilder(GearCaracteristicDto.class) .addProperty(String.class, GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE)), GEAR_CARACTERISTIC_TYPE(newDefaultDefinitionBuilder(GearCaracteristicTypeDto.class)), diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinition.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinition.java index 32796d3..78acc59 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinition.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinition.java @@ -22,16 +22,19 @@ public class ReferenceSetRequestDefinition implements Serializable { private final ImmutableSet<ReferenceSetDefinition<? extends DataDto>> dataReferenceSetDefinitions; + private final Class<? extends IdDto> type; + private final ImmutableSet<ReferenceSetRequestKeyDefinition<?>> propertyDefinitions; private final ImmutableSet<ReferenceSetDefinition<? extends ReferentialDto>> referentialReferenceSetDefinitions; - public static Builder builder() { - return new Builder(); + public static Builder builder(Class<? extends IdDto> type) { + return new Builder(type); } - public ReferenceSetRequestDefinition(ImmutableSet<ReferenceSetRequestKeyDefinition<?>> propertyDefinitions, ImmutableSet<ReferenceSetDefinition<? extends ReferentialDto>> referentialReferenceSetDefinitions, + public ReferenceSetRequestDefinition(Class<? extends IdDto> type, ImmutableSet<ReferenceSetRequestKeyDefinition<?>> propertyDefinitions, ImmutableSet<ReferenceSetDefinition<? extends ReferentialDto>> referentialReferenceSetDefinitions, ImmutableSet<ReferenceSetDefinition<? extends DataDto>> dataReferenceSetDefinitions) { + this.type = type; this.propertyDefinitions = propertyDefinitions; this.referentialReferenceSetDefinitions = referentialReferenceSetDefinitions; this.dataReferenceSetDefinitions = dataReferenceSetDefinitions; @@ -49,15 +52,22 @@ public class ReferenceSetRequestDefinition implements Serializable { return propertyDefinitions; } + public Class<? extends IdDto> getType() { + return type; + } + public static class Builder { + private final Class<? extends IdDto> type; + private final ImmutableSet.Builder<ReferenceSetRequestKeyDefinition<?>> propertiesBuilder; private final ImmutableSet.Builder<ReferenceSetDefinition<? extends ReferentialDto>> referentialSetsBuilder; private final ImmutableSet.Builder<ReferenceSetDefinition<? extends DataDto>> dataSetsBuilder; - public Builder() { + public Builder(Class<? extends IdDto> type) { + this.type = type; this.propertiesBuilder = ImmutableSet.builder(); this.referentialSetsBuilder = ImmutableSet.builder(); this.dataSetsBuilder = ImmutableSet.builder(); @@ -70,7 +80,7 @@ public class ReferenceSetRequestDefinition implements Serializable { } public ReferenceSetRequestDefinition build() { - return new ReferenceSetRequestDefinition(propertiesBuilder.build(), referentialSetsBuilder.build(), dataSetsBuilder.build()); + return new ReferenceSetRequestDefinition(type, propertiesBuilder.build(), referentialSetsBuilder.build(), dataSetsBuilder.build()); } protected <D extends IdDto> void addKey(String name, ReferenceSetDefinition<D> definition) { diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinitions.java index 6d9158d..65d5cd2 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinitions.java @@ -1,5 +1,6 @@ package fr.ird.observe.services.dto.reference.request; +import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.BaitsCompositionDto; import fr.ird.observe.services.dto.longline.BranchlineDto; @@ -11,23 +12,74 @@ 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.SensorUsedDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; import fr.ird.observe.services.dto.longline.SizeMeasureDto; import fr.ird.observe.services.dto.longline.TdrDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.longline.WeightMeasureDto; +import fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.FpaZoneDto; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; import fr.ird.observe.services.dto.referential.GearDto; import fr.ird.observe.services.dto.referential.HarbourDto; import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; +import fr.ird.observe.services.dto.referential.OceanDto; import fr.ird.observe.services.dto.referential.OrganismDto; import fr.ird.observe.services.dto.referential.PersonDto; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.SexDto; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.SpeciesGroupDto; import fr.ird.observe.services.dto.referential.SpeciesListDto; import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; +import fr.ird.observe.services.dto.referential.VesselTypeDto; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; +import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; +import fr.ird.observe.services.dto.referential.longline.HealthnessDto; +import fr.ird.observe.services.dto.referential.longline.HookPositionDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto; +import fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksColorDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.dto.referential.longline.MaturityStatusDto; +import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; +import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; +import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; +import fr.ird.observe.services.dto.referential.longline.SettingShapeDto; +import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; +import fr.ird.observe.services.dto.referential.longline.StomacFullnessDto; +import fr.ird.observe.services.dto.referential.longline.TripTypeDto; +import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; +import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; +import fr.ird.observe.services.dto.referential.seine.DetectionModeDto; +import fr.ird.observe.services.dto.referential.seine.ObjectFateDto; +import fr.ird.observe.services.dto.referential.seine.ObjectOperationDto; +import fr.ird.observe.services.dto.referential.seine.ObjectTypeDto; +import fr.ird.observe.services.dto.referential.seine.ObservedSystemDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; +import fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; +import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; +import fr.ird.observe.services.dto.referential.seine.WindDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; @@ -61,6 +113,7 @@ import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefin import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.HOOK_TYPE; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.ITEM_HORIZONTAL_POSITION; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.ITEM_VERTICAL_POSITION; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.LENGTH_WEIGHT_PARAMETER; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.LIGHTSTICKS_COLOR; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.LIGHTSTICKS_TYPE; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.LINE_TYPE; @@ -86,6 +139,7 @@ import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefin import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES_FATE; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES_GROUP; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES_LIST; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES_STATUS; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.STOMAC_FULLNESS; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SURROUNDING_ACTIVITY; @@ -117,7 +171,7 @@ public enum ReferenceSetRequestDefinitions { // LONGLINE DATA TRIP_LONGLINE_FORM( - newBuilder() + newBuilder(TripLonglineDto.class) .addKey(TripLonglineDto.PROPERTY_TRIP_TYPE, TRIP_TYPE) .addKey(TripLonglineDto.PROPERTY_OBSERVER, PERSON) .addKey(TripLonglineDto.PROPERTY_VESSEL, VESSEL) @@ -129,28 +183,28 @@ public enum ReferenceSetRequestDefinitions { .addKey(TripLonglineDto.PROPERTY_LANDING_HARBOUR, HARBOUR)), TRIP_LONGLINE_GEAR_USE_FORM( - newBuilder() + newBuilder(GearUseFeaturesLonglineDto.class) .addKey(GearUseFeaturesLonglineDto.PROPERTY_GEAR, GEAR) .addKey(GearUseFeaturesMeasurementLonglineDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC)), ACTIVITY_LONGLINE_FORM( - newBuilder() + newBuilder(ActivityLonglineDto.class) .addKey(ActivityLonglineDto.PROPERTY_FPA_ZONE, FPA_ZONE) .addKey(ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, VESSEL_ACTIVITY_LONGLINE)), ACTIVITY_LONGLINE_SENSOR_USED_FORM( - newBuilder() + newBuilder(SensorUsedDto.class) .addKey(SensorUsedDto.PROPERTY_SENSOR_TYPE, SENSOR_TYPE) .addKey(SensorUsedDto.PROPERTY_SENSOR_BRAND, SENSOR_BRAND) .addKey(SensorUsedDto.PROPERTY_SENSOR_DATA_FORMAT, SENSOR_DATA_FORMAT)), ACTIVITY_LONGLINE_ENCOUTER_FORM( - newBuilder() + newBuilder(EncounterDto.class) .addKey(EncounterDto.PROPERTY_ENCOUNTER_TYPE, ENCOUNTER_TYPE) .addKey(EncounterDto.PROPERTY_SPECIES, SPECIES)), BRANCHLINE_FORM( - newBuilder() + newBuilder(BranchlineDto.class) .addKey(BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, BAIT_SETTING_STATUS) .addKey(BranchlineDto.PROPERTY_HOOK_SIZE, HOOK_SIZE) .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS) @@ -160,7 +214,7 @@ public enum ReferenceSetRequestDefinitions { .addKey(BranchlineDto.PROPERTY_BAIT_TYPE, BAIT_TYPE)), SET_LONGLINE_GLOBAL_COMPOSITION_FORM( - newBuilder() + newBuilder(SetLonglineGlobalCompositionDto.class) .addKey(SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE, MITIGATION_TYPE) .addKey(FloatlinesCompositionDto.PROPERTY_LINE_TYPE, LINE_TYPE) .addKey(BranchlinesCompositionDto.PROPERTY_TOP_TYPE, LINE_TYPE) @@ -171,7 +225,7 @@ public enum ReferenceSetRequestDefinitions { .addKey(BaitsCompositionDto.PROPERTY_BAIT_TYPE, BAIT_TYPE)), SET_LONGLINE_DETAIL_COMPOSITION_FORM( - newBuilder() + newBuilder(SetLonglineDetailCompositionDto.class) .addKey(BranchlineDto.PROPERTY_TOP_TYPE, LINE_TYPE) .addKey(BranchlineDto.PROPERTY_TRACELINE_TYPE, LINE_TYPE) .addKey(BranchlineDto.PROPERTY_HOOK_TYPE, HOOK_TYPE) @@ -181,14 +235,14 @@ public enum ReferenceSetRequestDefinitions { .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS)), SET_LONGLINE_FORM( - newBuilder() + newBuilder(SetLonglineDto.class) .addKey(SetLonglineDto.PROPERTY_SETTING_SHAPE, SETTING_SHAPE) .addKey(SetLonglineDto.PROPERTY_LINE_TYPE, LINE_TYPE) .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_TYPE, LIGHTSTICKS_TYPE) .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_COLOR, LIGHTSTICKS_COLOR)), SET_LONGLINE_CATCH_FORM( - newBuilder() + newBuilder(CatchLonglineDto.class) .addKey(CatchLonglineDto.PROPERTY_SPECIES_CATCH, SPECIES) .addKey(CatchLonglineDto.PROPERTY_CATCH_HEALTHNESS, HEALTHNESS) .addKey(CatchLonglineDto.PROPERTY_HOOK_POSITION, HOOK_POSITION) @@ -203,7 +257,7 @@ public enum ReferenceSetRequestDefinitions { .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS)), SET_LONGLINE_TDR_FORM( - newBuilder() + newBuilder(TdrDto.class) .addKey(TdrDto.PROPERTY_SENSOR_BRAND, SENSOR_BRAND) .addKey(TdrDto.PROPERTY_ITEM_HORIZONTAL_POSITION, ITEM_HORIZONTAL_POSITION) .addKey(TdrDto.PROPERTY_ITEM_VERTICAL_POSITION, ITEM_VERTICAL_POSITION) @@ -212,7 +266,7 @@ public enum ReferenceSetRequestDefinitions { // SEINE DATA TRIP_SEINE_FORM( - newBuilder() + newBuilder(TripSeineDto.class) .addKey(TripSeineDto.PROPERTY_OBSERVER, PERSON) .addKey(TripSeineDto.PROPERTY_CAPTAIN, PERSON) .addKey(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) @@ -223,12 +277,12 @@ public enum ReferenceSetRequestDefinitions { .addKey(TripSeineDto.PROPERTY_PROGRAM, PROGRAM)), TRIP_SEINE_GEAR_USE_FORM( - newBuilder() + newBuilder(GearUseFeaturesSeineDto.class) .addKey(GearUseFeaturesSeineDto.PROPERTY_GEAR, GEAR) .addKey(GearUseFeaturesMeasurementSeineDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC)), ACTIVITY_SEINE_FORM( - newBuilder() + newBuilder(ActivitySeineDto.class) .addKey(ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, VESSEL_ACTIVITY_SEINE) .addKey(ActivitySeineDto.PROPERTY_SURROUNDING_ACTIVITY, SURROUNDING_ACTIVITY) .addKey(ActivitySeineDto.PROPERTY_WIND, WIND) @@ -239,114 +293,172 @@ public enum ReferenceSetRequestDefinitions { .addKey(ActivitySeineDto.PROPERTY_NEXT_FPA_ZONE, FPA_ZONE)), ACTIVITY_SEINE_OBSERVED_SYSTEM_FORM( - newBuilder() + newBuilder(ActivitySeineObservedSystemDto.class) .addKey(ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM, OBSERVED_SYSTEM)), SET_SEINE_FORM( - newBuilder() + newBuilder(SetSeineDto.class) .addKey(SetSeineDto.PROPERTY_REASON_FOR_NULL_SET, REASON_FOR_NULL_SET)), SET_SEINE_SCHOOL_ESTIMATE_FORM( - newBuilder() + newBuilder(SchoolEstimateDto.class) .addKey(SchoolEstimateDto.PROPERTY_SPECIES, SPECIES)), SET_SEINE_TARGET_CATCH_FORM( - newBuilder() + newBuilder(TargetCatchDto.class) .addKey(TargetCatchDto.PROPERTY_SPECIES, SPECIES) .addKey(TargetCatchDto.PROPERTY_REASON_FOR_DISCARD, REASON_FOR_DISCARD) .addKey(TargetCatchDto.PROPERTY_WEIGHT_CATEGORY, WEIGHT_CATEGORY)), SET_SEINE_NON_TARGET_CATCH_FORM( - newBuilder() + newBuilder(NonTargetCatchDto.class) .addKey(NonTargetCatchDto.PROPERTY_SPECIES, SPECIES) .addKey(NonTargetCatchDto.PROPERTY_SPECIES_FATE, SPECIES_FATE) .addKey(NonTargetCatchDto.PROPERTY_REASON_FOR_DISCARD, REASON_FOR_DISCARD)), TARGET_SAMPLE_FORM( - newBuilder() + newBuilder(TargetLengthDto.class) .addKey(TargetLengthDto.PROPERTY_SPECIES, SPECIES)), NON_TARGET_SAMPLE_FORM( - newBuilder() + newBuilder(NonTargetLengthDto.class) .addKey(NonTargetLengthDto.PROPERTY_SPECIES, SPECIES) .addKey(NonTargetLengthDto.PROPERTY_SEX, SEX)), FLOATING_OBJECT_FORM( - newBuilder() + newBuilder(FloatingObjectDto.class) .addKey(FloatingObjectDto.PROPERTY_OBJECT_TYPE, OBJECT_TYPE) .addKey(FloatingObjectDto.PROPERTY_OBJECT_OPERATION, OBJECT_OPERATION) .addKey(FloatingObjectDto.PROPERTY_OBJECT_FATE, OBJECT_FATE)), FLOATING_OBJECT_OBSERVED_SPECIES_FORM( - newBuilder() + newBuilder(ObjectObservedSpeciesDto.class) .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES, SPECIES) .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES_STATUS, SPECIES_STATUS)), FLOATING_OBJECT_SCHOOL_ESTIMATE_FORM( - newBuilder() + newBuilder(ObjectObservedSpeciesDto.class) .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES, SPECIES)), FLOATING_OBJECT_TRANSMITTING_BUOY_FORM( - newBuilder() + newBuilder(TransmittingBuoyDto.class) .addKey(TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_OPERATION, TRANSMITTING_BUOY_OPERATION) .addKey(TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_TYPE, TRANSMITTING_BUOY_TYPE) .addKey(TransmittingBuoyDto.PROPERTY_COUNTRY, COUNTRY)), - // REFERENTIAL + // COMMON REFERENTIAL GEAR_CARACTERISTIC_FORM( - newBuilder() + newReferentialBuilder(GearCaracteristicDto.class, GEAR_CARACTERISTIC) .addKey(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE, GEAR_CARACTERISTIC_TYPE)), GEAR_FORM( - newBuilder() + newReferentialBuilder(GearDto.class, GEAR) .addKey(GearDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC)), HARBOUR_FORM( - newBuilder() + newReferentialBuilder(HarbourDto.class, HARBOUR) .addKey(HarbourDto.PROPERTY_COUNTRY, COUNTRY)), LENGTH_WEIGHT_PARAMETER_FORM( - newBuilder() + newReferentialBuilder(LengthWeightParameterDto.class, LENGTH_WEIGHT_PARAMETER) .addKey(LengthWeightParameterDto.PROPERTY_SPECIES, SPECIES) .addKey(LengthWeightParameterDto.PROPERTY_OCEAN, OCEAN) .addKey(LengthWeightParameterDto.PROPERTY_SEX, SEX)), ORGANISM_FORM( - newBuilder() + newReferentialBuilder(OrganismDto.class, ORGANISM) .addKey(OrganismDto.PROPERTY_COUNTRY, COUNTRY)), PERSON_FORM( - newBuilder() + newReferentialBuilder(PersonDto.class, PERSON) .addKey(PersonDto.PROPERTY_COUNTRY, COUNTRY)), PROGRAM_FORM( - newBuilder() + newReferentialBuilder(ProgramDto.class, PROGRAM) .addKey(ProgramDto.PROPERTY_ORGANISM, ORGANISM)), SPECIES_FORM( - newBuilder() + newReferentialBuilder(SpeciesDto.class, SPECIES) .addKey(SpeciesDto.PROPERTY_OCEAN, OCEAN) .addKey(SpeciesDto.PROPERTY_SPECIES_GROUP, SPECIES_GROUP)), SPECIES_LIST_FORM( - newBuilder() + newReferentialBuilder(SpeciesListDto.class, SPECIES_LIST) .addKey(SpeciesListDto.PROPERTY_SPECIES, SPECIES)), VESSEL_FORM( - newBuilder() + newReferentialBuilder(VesselDto.class, VESSEL) .addKey(VesselDto.PROPERTY_FLAG_COUNTRY, COUNTRY) .addKey(VesselDto.PROPERTY_VESSEL_TYPE, VESSEL_TYPE) .addKey(VesselDto.PROPERTY_VESSEL_SIZE_CATEGORY, VESSEL_SIZE_CATEGORY)), + COUNTRY_FORM(newReferentialBuilder(CountryDto.class, COUNTRY)), + FPA_ZONE_FORM(newReferentialBuilder(FpaZoneDto.class, FPA_ZONE)), + GEAR_CARACTERISTIC_TYPE_FORM(newReferentialBuilder(GearCaracteristicTypeDto.class, GEAR_CARACTERISTIC_TYPE)), + OCEAN_FORM(newReferentialBuilder(OceanDto.class, OCEAN)), + SEX_FORM(newReferentialBuilder(SexDto.class, SEX)), + SPECIES_GROUP_FORM(newReferentialBuilder(SpeciesGroupDto.class, SPECIES_GROUP)), + VESSEL_SIZE_CATEGORY_FORM(newReferentialBuilder(VesselSizeCategoryDto.class, VESSEL_SIZE_CATEGORY)), + VESSEL_TYPE_FORM(newReferentialBuilder(VesselTypeDto.class, VESSEL_TYPE)), + + // LONGLINE REFERENTIAL + + BAIT_HAULING_STATUS_FORM(newReferentialBuilder(BaitHaulingStatusDto.class, BAIT_HAULING_STATUS)), + BAIT_SETTING_STATUS_FORM(newReferentialBuilder(BaitSettingStatusDto.class, BAIT_SETTING_STATUS)), + BAIT_TYPE_FORM(newReferentialBuilder(BaitTypeDto.class, BAIT_TYPE)), + CATCH_FATE_LONGLINE_FORM(newReferentialBuilder(CatchFateLonglineDto.class, CATCH_FATE_LONGLINE)), + ENCOUNTER_TYPE_FORM(newReferentialBuilder(EncounterTypeDto.class, ENCOUNTER_TYPE)), + HEALTHNESS_FORM(newReferentialBuilder(HealthnessDto.class, HEALTHNESS)), + HOOK_POSITION_FORM(newReferentialBuilder(HookPositionDto.class, HOOK_POSITION)), + HOOK_SIZE_FORM(newReferentialBuilder(HookSizeDto.class, HOOK_SIZE)), + HOOK_TYPE_FORM(newReferentialBuilder(HookTypeDto.class, HOOK_TYPE)), + ITEM_HORIZONTAL_POSITION_FORM(newReferentialBuilder(ItemHorizontalPositionDto.class, ITEM_HORIZONTAL_POSITION)), + ITEM_VERTICAL_POSITION_FORM(newReferentialBuilder(ItemVerticalPositionDto.class, ITEM_VERTICAL_POSITION)), + LIGHTSTICKS_COLOR_FORM(newReferentialBuilder(LightsticksColorDto.class, LIGHTSTICKS_COLOR)), + LIGHTSTICKS_TYPE_FORM(newReferentialBuilder(LightsticksTypeDto.class, LIGHTSTICKS_TYPE)), + LINE_TYPE_FORM(newReferentialBuilder(LineTypeDto.class, LINE_TYPE)), + MATURITY_STATUS_FORM(newReferentialBuilder(MaturityStatusDto.class, MATURITY_STATUS)), + MITIGATION_TYPE_FORM(newReferentialBuilder(MitigationTypeDto.class, MITIGATION_TYPE)), + SENSOR_BRAND_FORM(newReferentialBuilder(SensorBrandDto.class, SENSOR_BRAND)), + SENSOR_DATA_FORMAT_FORM(newReferentialBuilder(SensorDataFormatDto.class, SENSOR_DATA_FORMAT)), + SENSOR_TYPE_FORM(newReferentialBuilder(SensorTypeDto.class, SENSOR_TYPE)), + SETTING_SHAPE_FORM(newReferentialBuilder(SettingShapeDto.class, SETTING_SHAPE)), + SIZE_MEASURE_TYPE_FORM(newReferentialBuilder(SizeMeasureTypeDto.class, SIZE_MEASURE_TYPE)), + STOMAC_FULLNESS_FORM(newReferentialBuilder(StomacFullnessDto.class, STOMAC_FULLNESS)), + TRIP_TYPE_FORM(newReferentialBuilder(TripTypeDto.class, TRIP_TYPE)), + VESSEL_ACTIVITY_LONGLINE_FORM(newReferentialBuilder(VesselActivityLonglineDto.class, VESSEL_ACTIVITY_LONGLINE)), + WEIGHT_MEASURE_TYPE_FORM(newReferentialBuilder(WeightMeasureTypeDto.class, WEIGHT_MEASURE_TYPE)), + + // SEINE REFERENTIAL + + DETECTION_MODE_FORM(newReferentialBuilder(DetectionModeDto.class, DETECTION_MODE)), + OBJECT_FATE_FORM(newReferentialBuilder(ObjectFateDto.class, OBJECT_FATE)), + OBJECT_OPERATION_FORM(newReferentialBuilder(ObjectOperationDto.class, OBJECT_OPERATION)), + OBJECT_TYPE_FORM(newReferentialBuilder(ObjectTypeDto.class, OBJECT_TYPE)), + OBSERVED_SYSTEM_FORM(newReferentialBuilder(ObservedSystemDto.class, OBSERVED_SYSTEM)), + REASON_FOR_DISCARD_FORM(newReferentialBuilder(ReasonForDiscardDto.class, REASON_FOR_DISCARD)), + REASON_FOR_NO_FISHING_FORM(newReferentialBuilder(ReasonForNoFishingDto.class, REASON_FOR_NO_FISHING)), + REASON_FOR_NULL_SET_FORM(newReferentialBuilder(ReasonForNullSetDto.class, REASON_FOR_NULL_SET)), + SPECIES_FATE_FORM(newReferentialBuilder(SpeciesFateDto.class, SPECIES_FATE)), + SPECIES_STATUS_FORM(newReferentialBuilder(SpeciesStatusDto.class, SPECIES_STATUS)), + SURROUNDING_ACTIVITY_FORM(newReferentialBuilder(SurroundingActivityDto.class, SURROUNDING_ACTIVITY)), + TRANSMITTING_BUOY_OPERATION_FORM(newReferentialBuilder(TransmittingBuoyOperationDto.class, TRANSMITTING_BUOY_OPERATION)), + TRANSMITTING_BUOY_TYPE_FORM(newReferentialBuilder(TransmittingBuoyTypeDto.class, TRANSMITTING_BUOY_TYPE)), + VESSEL_ACTIVITY_SEINE_FORM(newReferentialBuilder(VesselActivitySeineDto.class, VESSEL_ACTIVITY_SEINE)), WEIGHT_CATEGORY_FORM( - newBuilder() - .addKey(WeightCategoryDto.PROPERTY_SPECIES, SPECIES)); + newReferentialBuilder(WeightCategoryDto.class, WEIGHT_CATEGORY) + .addKey(WeightCategoryDto.PROPERTY_SPECIES, SPECIES)), + WIND_FORM(newReferentialBuilder(WindDto.class, WIND)); private final ReferenceSetRequestDefinition definition; - private static ReferenceSetRequestDefinition.Builder newBuilder() { - return new ReferenceSetRequestDefinition.Builder(); + private static ReferenceSetRequestDefinition.Builder newBuilder(Class<? extends IdDto> type) { + return new ReferenceSetRequestDefinition.Builder(type); + } + + private static ReferenceSetRequestDefinition.Builder newReferentialBuilder(Class<? extends ReferentialDto> type, ReferentialReferenceSetDefinitions propertyDefinition) { + return new ReferenceSetRequestDefinition.Builder(type).addKey("referentialListHeader", propertyDefinition); } ReferenceSetRequestDefinitions(ReferenceSetRequestDefinition.Builder definitionBuilder) { @@ -361,11 +473,30 @@ public enum ReferenceSetRequestDefinitions { ReferenceSetRequestDefinitions requestDefinitions = valueOf(definitionName); if (requestDefinitions == null) { - throw new IllegalArgumentException("No definition with name " + definitionName + "registred"); + throw new IllegalArgumentException("No definition with name " + definitionName + " registred"); } return requestDefinitions.getDefinition(); } + public static ReferenceSetRequestDefinitions get(Class<? extends IdDto> type) { + + ReferenceSetRequestDefinitions requestDefinitions = null; + + for (ReferenceSetRequestDefinitions definitions : values()) { + if (type.equals(definitions.getDefinition().getType())) { + requestDefinitions = definitions; + break; + } + } + + if (requestDefinitions == null) { + throw new IllegalArgumentException("No definition with type " + type.getName() + " registred"); + } + + return requestDefinitions; + + } + } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java index eb6593e..d211144 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java @@ -50,11 +50,12 @@ public class LengthWeightParameterBinder extends ReferentialBinderSupport<Length public ReferentialReference<LengthWeightParameterDto> toReferentialReference(ReferentialLocale referentialLocale, LengthWeightParameter entity) { return toReferentialReference(entity, - getLabel(referentialLocale, entity.getSex()), + entity.getCode(), getLabel(referentialLocale, entity.getOcean()), getLabel(referentialLocale, entity.getSpecies()), - entity.getStartDate() - ); + getLabel(referentialLocale, entity.getSex()), + entity.getLengthWeightFormula(), + entity.getWeightLengthFormula()); } @@ -62,10 +63,12 @@ public class LengthWeightParameterBinder extends ReferentialBinderSupport<Length public ReferentialReference<LengthWeightParameterDto> toReferentialReference(ReferentialLocale referentialLocale, LengthWeightParameterDto dto) { return toReferentialReference(dto, - getLabel(referentialLocale, dto.getSex()), + dto.getCode(), getLabel(referentialLocale, dto.getOcean()), getLabel(referentialLocale, dto.getSpecies()), - dto.getStartDate()); + getLabel(referentialLocale, dto.getSex()), + dto.getLengthWeightFormula(), + dto.getWeightLengthFormula()); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.