branch feature/refactor_reference updated (9539790 -> fc387c6)
This is an automated email from the git hooks/post-receive script. New change to branch feature/refactor_reference in repository observe. See http://git.codelutin.com/observe.git from 9539790 Récupération de la liste des catégories de poids à partir d'une espèce new 03caee1 Ne pas charger les référentiels si aucune définition n'est disponible dans le formulaire) new 158b566 Par défaut on mets des modèles de références vides new a972a5b Ne pas charger les listes via les mises à jour pour les écrans de type List new e7e6142 Ne pas charger les composants BeanListHeader si un marqueur de non chargement est présent new fc387c6 Faire fonctionner les listes de réferentielsobserve-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java The 5 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 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 commit e7e6142cf75dc98461b88ddc08dbbcf835592457 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 23:12:19 2015 +0100 Ne pas charger les composants BeanListHeader si un marqueur de non chargement est présent commit a972a5b24e3088787ba80a6625a0c70d49b0d3ee Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 23:11:47 2015 +0100 Ne pas charger les listes via les mises à jour pour les écrans de type List commit 158b566ea808727847b966b5a64de4bcb42b684c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 23:11:24 2015 +0100 Par défaut on mets des modèles de références vides commit 03caee1ac8e7c497fdc36385fe7befe0814d4348 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 22:17:38 2015 +0100 Ne pas charger les référentiels si aucune définition n'est disponible dans le formulaire) Summary of changes: .../java/fr/ird/observe/ui/DecoratorService.java | 2 +- .../ird/observe/ui/content/ContentUIHandler.java | 50 ++++- .../fr/ird/observe/ui/content/ContentUIModel.java | 8 +- .../ird/observe/ui/content/list/ContentListUI.css | 1 + .../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 +- 11 files changed, 265 insertions(+), 120 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
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 03caee1ac8e7c497fdc36385fe7befe0814d4348 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 22:17:38 2015 +0100 Ne pas charger les référentiels si aucune définition n'est disponible dans le formulaire) --- .../ird/observe/ui/content/ContentUIHandler.java | 34 +++++++++++++--------- 1 file changed, 21 insertions(+), 13 deletions(-) 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 0e10462..807f709 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,26 +539,34 @@ public abstract class ContentUIHandler<E extends IdDto> { String requestName = form.getReferentialReferenceSetsRequestName(); - // mettre à jour le cache de référentiel - ImmutableMap<Class<?>, ReferentialReferenceSet<?>> referentialReferenceSetsByType = getDataSource().updateReferentialReferenceSetsCache(requestName); + ImmutableMap.Builder<String, ReferentialReferenceSet<?>> modelReferentialReferenceSets = ImmutableMap.builder(); - // calculer les listes de référentiels à utiliser dans le modèle + if (requestName != null) { - ReferenceSetRequestDefinition requestDefinition = ReferenceSetRequestDefinitions.get(requestName); + if (log.isInfoEnabled()) { + log.info("Update referential reference sets for: " + requestName); + } - ImmutableMap.Builder<String, ReferentialReferenceSet<?>> modelReferentialReferenceSets = ImmutableMap.builder(); + // mettre à jour le cache de référentiel + ImmutableMap<Class<?>, ReferentialReferenceSet<?>> referentialReferenceSetsByType = getDataSource().updateReferentialReferenceSetsCache(requestName); - for (ReferenceSetRequestKeyDefinition propertyDefinition : requestDefinition.getPropertyDefinitions()) { + // calculer les listes de référentiels à utiliser dans le modèle - if (!propertyDefinition.isReferential()) { - continue; - } + ReferenceSetRequestDefinition requestDefinition = ReferenceSetRequestDefinitions.get(requestName); - String propertyName = propertyDefinition.getName(); - ReferentialReferenceSet referentialReferenceSet = referentialReferenceSetsByType.get(propertyDefinition.getType()); - ReferentialReferenceSet filteredReferentialReferenceSet = filtredReferentialReferenceSet(propertyDefinition, referentialReferenceSet); + for (ReferenceSetRequestKeyDefinition propertyDefinition : requestDefinition.getPropertyDefinitions()) { - modelReferentialReferenceSets.put(propertyName, filteredReferentialReferenceSet); + if (!propertyDefinition.isReferential()) { + continue; + } + + String propertyName = propertyDefinition.getName(); + ReferentialReferenceSet referentialReferenceSet = referentialReferenceSetsByType.get(propertyDefinition.getType()); + ReferentialReferenceSet filteredReferentialReferenceSet = filtredReferentialReferenceSet(propertyDefinition, referentialReferenceSet); + + modelReferentialReferenceSets.put(propertyName, filteredReferentialReferenceSet); + + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
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 158b566ea808727847b966b5a64de4bcb42b684c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 23:11:24 2015 +0100 Par défaut on mets des modèles de références vides --- .../src/main/java/fr/ird/observe/ui/content/ContentUIModel.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java index bcfbb0c..710cf57 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java @@ -98,12 +98,12 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab /** * Les référentiels qu'on peut utiliser, ils sont chargés depuis le cache des référentiels et peuvent être filtrés. */ - protected ImmutableMap<String, ReferentialReferenceSet<?>> referentialReferenceSetsByPropertyName; + protected ImmutableMap<String, ReferentialReferenceSet<?>> referentialReferenceSetsByPropertyName = ImmutableMap.of(); /** * Les données métier qu'on peut utiliser. */ - protected ImmutableMap<String, DataReferenceSet<?>> dataReferenceSetsByPropertyName; + protected ImmutableMap<String, DataReferenceSet<?>> dataReferenceSetsByPropertyName = ImmutableMap.of(); public static <E extends IdDto> ContentUIModel<E> newModel(ObserveContentUI<E> ui) { @@ -260,7 +260,7 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab public <D extends ReferentialDto> Set<ReferentialReference<D>> getReferentialReferences(String name) { ReferentialReferenceSet<D> referentialReferenceSet = getReferentialReferenceSet(name); - Set<ReferentialReference<D>> references =referentialReferenceSet.getReferences(); + Set<ReferentialReference<D>> references = referentialReferenceSet.getReferences(); return references; } @@ -268,7 +268,7 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab public <D extends DataDto> Set<DataReference<D>> getDataReferences(String name) { DataReferenceSet<D> referentialReferenceSet = getDataReferenceSet(name); - Set<DataReference<D>> references =referentialReferenceSet.getReferences(); + Set<DataReference<D>> references = referentialReferenceSet.getReferences(); return references; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
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 a972a5b24e3088787ba80a6625a0c70d49b0d3ee Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 23:11:47 2015 +0100 Ne pas charger les listes via les mises à jour pour les écrans de type List --- .../src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css | 1 + 1 file changed, 1 insertion(+) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css index 967e396..4fa62ac 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css @@ -29,6 +29,7 @@ } #listHeader { + _listNoLoad: true; beanType:{(Class)DataReference.class}; _doInit:{getModel().getChildType()}; showReset:true; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
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 e7e6142cf75dc98461b88ddc08dbbcf835592457 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 23:12:19 2015 +0100 Ne pas charger les composants BeanListHeader si un marqueur de non chargement est présent --- .../ird/observe/ui/content/ContentUIHandler.java | 26 ++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) 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 807f709..a7f08f2 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 @@ -932,13 +932,22 @@ public abstract class ContentUIHandler<E extends IdDto> { protected <R extends ReferentialDto> void updateReferentialBeanListHeader(Class<R> dtoClass, BeanListHeader<ReferentialReference<R>> list) { + Boolean noLoad = (Boolean) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); + List<ReferentialReference<R>> data; - if (getModel().getForm() == null) { + String propertyName = list.getName(); + + if (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)); + } data = Collections.emptyList(); + } else { - Set<ReferentialReference<R>> referenceSetDto = getModel().getReferentialReferences(list.getName()); + Set<ReferentialReference<R>> referenceSetDto = getModel().getReferentialReferences(propertyName); data = new ArrayList<>(referenceSetDto); } @@ -954,13 +963,22 @@ public abstract class ContentUIHandler<E extends IdDto> { protected <R extends DataDto> void updateDataBeanListHeader(Class<R> dtoClass, BeanListHeader<DataReference<R>> list) { + Boolean noLoad = (Boolean) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); + List<DataReference<R>> data; - if (getModel().getForm() == null) { + String propertyName = list.getName(); + + if (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)); + } data = Collections.emptyList(); + } else { - Set<DataReference<R>> referenceSetDto = getModel().getDataReferences(list.getName()); + Set<DataReference<R>> referenceSetDto = getModel().getDataReferences(propertyName); data = new ArrayList<>(referenceSetDto); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
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>.
participants (1)
-
codelutin.com scm