mailman.cloud.codelutin.com
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Observe-commits

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2013 -----
  • December
  • November
  • October
  • September
observe-commits@list.forge.codelutin.com

July 2020

  • 1 participants
  • 91 discussions
[Git][ultreiaio/ird-observe][develop-7.x] 5 commits: Problème de traduction sur les validations taille/poids des espèces - Closes #1571
by Tony CHEMIT 05 Jul '20

05 Jul '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 1e1d39b2 by Tony Chemit at 2020-07-05T14:03:39+02:00 Problème de traduction sur les validations taille/poids des espèces - Closes #1571 - - - - - 56869aeb by Tony Chemit at 2020-07-05T14:03:41+02:00 Pouvoir changer l'espèce d'un enregistrement - See #1565 Rendre toutes les colonnes modifiables dans les modèles de tableau - - - - - 1ef3123d by Tony Chemit at 2020-07-05T14:03:41+02:00 Pouvoir changer l'espèce d'un enregistrement - See #1565 Rendre toutes les propriétés modifiables dans les formulaires - - - - - 6feb3c21 by Tony Chemit at 2020-07-05T14:03:41+02:00 Pouvoir changer l'espèce d'un enregistrement - Close #1565 Bien restituer les listes de données pour modification (et non plus juste la valeur sélectionnée) Revue du focus suite à une modification de ligne dans le tableau - - - - - f6db1c0f by Tony Chemit at 2020-07-05T14:03:41+02:00 Amélioration des logs - Closes #1574 - - - - - 30 changed files: - client-configuration/src/main/resources/log4j2.xml - client-configuration/src/main/resources/observe-log4j2.xml - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/BaitsCompositionUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/BranchlinesCompositionUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/CatchLonglineTableModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/CatchLonglineUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/EncounterUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/FloatlinesCompositionUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/GearUseFeaturesLonglineTableModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/GearUseFeaturesLonglineUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/HooksCompositionUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/SensorUsedUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/TdrUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/GearUseFeaturesSeineTableModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/GearUseFeaturesSeineUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchReleaseTableModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchReleaseUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchReleaseUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetSampleUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetSampleUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/ObjectObservedSpeciesUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/ObjectSchoolEstimateUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/ObjectSchoolEstimateUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/SchoolEstimateUI.jcss - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/SchoolEstimateUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/SchoolEstimateUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/TargetCatchUI.jcss - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/TargetCatchUIHandler.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/99e5728613c8e452124e770f… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/99e5728613c8e452124e770f… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] Amélioration des logs - Closes #1574
by Tony CHEMIT 05 Jul '20

05 Jul '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 99e57286 by Tony Chemit at 2020-07-05T13:55:55+02:00 Amélioration des logs - Closes #1574 - - - - - 5 changed files: - client-configuration/src/main/resources/log4j2.xml - client-configuration/src/main/resources/observe-log4j2.xml - server-configuration/src/main/resources/log4j2.xml - server-configuration/src/main/resources/observeweb-log4j2.xml - test/src/main/resources/log4j2.xml Changes: ===================================== client-configuration/src/main/resources/log4j2.xml ===================================== @@ -21,7 +21,7 @@ #L% --> -<Configuration status="error"> +<Configuration strict="true" status="error"> <Appenders> <Console name="console" target="SYSTEM_OUT"> <PatternLayout pattern="%-5p %d{ISO8601} [%t] %40C{1} :%4L - %m%n"/> @@ -37,57 +37,49 @@ </RollingFile> </Appenders> <Loggers> - <Root level="warn"> - <AppenderRef ref="console"/> - <AppenderRef ref="File"/> - </Root> - <Logger name="fr.ird.observe" level="info" additivity="false"> - <AppenderRef ref="console"/> - <AppenderRef ref="File"/> - </Logger> - <Logger name="org.nuiton" level="warn" additivity="false"> + <Logger name="org.hibernate.orm.deprecation" level="error" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.nuiton.topia" level="info" additivity="false"> + <Logger name="com.zaxxer.hikari.HikariDataSource" level="error" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.nuiton.jaxx.validator.swing.SwingValidator" level="error" additivity="false"> + <Logger name="org.nuiton.validator.xwork2.XWork2ScopeValidator" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="fr.ird.observe.client.validators" level="warn" additivity="false"> + <Logger name="com.opensymphony.xwork2.validator.validators" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="io.ultreia" level="info" additivity="false"> + <Logger name="org.nuiton.validator.xwork2.field" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.hibernate" level="warn" additivity="false"> + <Logger name="fr.ird.observe.spi.DtoModelHelper" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.nuiton.jaxx.validator.swing.SwingValidator" level="error" additivity="false"> + <Logger name="org.nuiton.topia" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.hibernate.orm.deprecation" level="error" additivity="false"> + <Logger name="org.hibernate" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="com.zaxxer.hikari.HikariDataSource" level="error" additivity="false"> + <Logger name="fr.ird.observe.services.service.referential.differential.DifferentialModel" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="com.opensymphony.xwork2.validator.validators" level="error" additivity="false"> + <Logger name="fr.ird.observe" level="info" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.nuiton.validator.xwork2.field" level="error" additivity="false"> + <Root level="error"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> - </Logger> + </Root> </Loggers> -</Configuration> +</Configuration> \ No newline at end of file ===================================== client-configuration/src/main/resources/observe-log4j2.xml ===================================== @@ -21,7 +21,7 @@ #L% --> -<Configuration status="error"> +<Configuration strict="true" status="error"> <Appenders> <Console name="console" target="SYSTEM_OUT"> <PatternLayout pattern="%-5p %d{ISO8601} [%t] %40C{1} :%4L - %m%n"/> @@ -37,31 +37,31 @@ </RollingFile> </Appenders> <Loggers> - <Logger name="fr.ird.observe" level="info" additivity="false"> + <Logger name="org.hibernate.orm.deprecation" level="error" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.nuiton" level="warn" additivity="false"> + <Logger name="com.zaxxer.hikari.HikariDataSource" level="error" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.nuiton.i18n.editor" level="info" additivity="false"> + <Logger name="org.nuiton.validator.xwork2.XWork2ScopeValidator" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.nuiton.topia" level="info" additivity="false"> + <Logger name="com.opensymphony.xwork2.validator.validators" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.nuiton.jaxx.validator.swing.SwingValidator" level="error" additivity="false"> + <Logger name="org.nuiton.validator.xwork2.field" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="fr.ird.observe.client.validators" level="warn" additivity="false"> + <Logger name="fr.ird.observe.spi.DtoModelHelper" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="io.ultreia" level="info" additivity="false"> + <Logger name="org.nuiton.topia" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> @@ -69,29 +69,17 @@ <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.hibernate.orm.deprecation" level="error" additivity="false"> - <AppenderRef ref="console"/> - <AppenderRef ref="File"/> - </Logger> - <Logger name="com.zaxxer.hikari.HikariDataSource" level="error" additivity="false"> - <AppenderRef ref="console"/> - <AppenderRef ref="File"/> - </Logger> - <Logger name="com.opensymphony.xwork2.validator.validators" level="error" additivity="false"> - <AppenderRef ref="console"/> - <AppenderRef ref="File"/> - </Logger> - <Logger name="org.nuiton.validator.xwork2.field" level="error" additivity="false"> + <Logger name="fr.ird.observe.services.service.referential.differential.DifferentialModel" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.nuiton.jaxx.validator.swing.SwingValidator" level="error" additivity="false"> + <Logger name="fr.ird.observe" level="info" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="io.ultreia.java4all.jaxx.widgets.combobox" level="info" additivity="false"> + <Root level="error"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> - </Logger> + </Root> </Loggers> </Configuration> ===================================== server-configuration/src/main/resources/log4j2.xml ===================================== @@ -20,50 +20,45 @@ <http://www.gnu.org/licenses/gpl-3.0.html>. #L% --> - -<Configuration status="error"> +<Configuration strict="true" status="error"> <Appenders> <Console name="console" target="SYSTEM_OUT"> <PatternLayout pattern="%-5p %d{ISO8601} [%t] %40C{1} :%4L - %m%n"/> </Console> </Appenders> <Loggers> - <Logger name="fr.ird.observe" level="info" additivity="false"> - <AppenderRef ref="console"/> - </Logger> - <Logger name="org.nuiton" level="warn" additivity="false"> + <Logger name="org.hibernate.orm.deprecation" level="error" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="org.nuiton.topia" level="info" additivity="false"> + <Logger name="com.zaxxer.hikari.HikariDataSource" level="error" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="org.nuiton.jaxx.validator.swing.SwingValidator" level="error" additivity="false"> + <Logger name="org.nuiton.validator.xwork2.XWork2ScopeValidator" level="warn" additivity="false"> <AppenderRef ref="console"/> - <AppenderRef ref="File"/> </Logger> - <Logger name="fr.ird.observe.client.validators" level="warn" additivity="false"> + <Logger name="com.opensymphony.xwork2.validator.validators" level="warn" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="org.debux" level="info" additivity="false"> + <Logger name="org.nuiton.validator.xwork2.field" level="warn" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="io.ultreia" level="info" additivity="false"> + <Logger name="fr.ird.observe.spi.DtoModelHelper" level="warn" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="org.hibernate" level="info" additivity="false"> + <Logger name="org.nuiton.topia" level="warn" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="org.hibernate.orm.deprecation" level="error" additivity="false"> + <Logger name="org.hibernate" level="warn" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="com.zaxxer.hikari.HikariDataSource" level="error" additivity="false"> + <Logger name="fr.ird.observe.services.service.referential.differential.DifferentialModel" level="warn" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="com.opensymphony.xwork2.validator.validators" level="error" additivity="false"> + <Logger name="fr.ird.observe" level="info" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="org.nuiton.validator.xwork2.field" level="error" additivity="false"> + <Root level="error"> <AppenderRef ref="console"/> - </Logger> + </Root> </Loggers> -</Configuration> +</Configuration> \ No newline at end of file ===================================== server-configuration/src/main/resources/observeweb-log4j2.xml ===================================== @@ -22,7 +22,7 @@ --> -<Configuration status="error"> +<Configuration strict="true" status="error"> <Appenders> <Console name="console" target="SYSTEM_OUT"> <PatternLayout pattern="%-5p %d{ISO8601} [%t] %40C{1} :%4L - %m%n"/> @@ -38,31 +38,31 @@ </RollingFile> </Appenders> <Loggers> - <Logger name="fr.ird.observe" level="info" additivity="false"> + <Logger name="org.hibernate.orm.deprecation" level="error" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.nuiton" level="warn" additivity="false"> + <Logger name="com.zaxxer.hikari.HikariDataSource" level="error" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.nuiton.topia" level="info" additivity="false"> + <Logger name="org.nuiton.validator.xwork2.XWork2ScopeValidator" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.nuiton.jaxx.validator.swing.SwingValidator" level="error" additivity="false"> + <Logger name="com.opensymphony.xwork2.validator.validators" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="fr.ird.observe.client.validators" level="warn" additivity="false"> + <Logger name="org.nuiton.validator.xwork2.field" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.debux" level="info" additivity="false"> + <Logger name="fr.ird.observe.spi.DtoModelHelper" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="io.ultreia" level="info" additivity="false"> + <Logger name="org.nuiton.topia" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> @@ -70,21 +70,17 @@ <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.hibernate.orm.deprecation" level="error" additivity="false"> - <AppenderRef ref="console"/> - <AppenderRef ref="File"/> - </Logger> - <Logger name="com.zaxxer.hikari.HikariDataSource" level="error" additivity="false"> + <Logger name="fr.ird.observe.services.service.referential.differential.DifferentialModel" level="warn" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="com.opensymphony.xwork2.validator.validators" level="error" additivity="false"> + <Logger name="fr.ird.observe" level="info" additivity="false"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> </Logger> - <Logger name="org.nuiton.validator.xwork2.field" level="error" additivity="false"> + <Root level="error"> <AppenderRef ref="console"/> <AppenderRef ref="File"/> - </Logger> + </Root> </Loggers> </Configuration> ===================================== test/src/main/resources/log4j2.xml ===================================== @@ -21,33 +21,45 @@ #L% --> -<Configuration status="error"> +<Configuration strict="true" status="warn"> <Appenders> <Console name="console" target="SYSTEM_OUT"> <PatternLayout pattern="%-5p %d{ISO8601} [%t] %40C{1} :%4L - %m%n"/> </Console> </Appenders> <Loggers> - <Logger name="fr.ird.observe" level="info" additivity="false"> + <Logger name="org.hibernate.orm.deprecation" level="error" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="org.nuiton.topia" level="info" additivity="false"> + <Logger name="com.zaxxer.hikari.HikariDataSource" level="error" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="org.hibernate" level="info" additivity="false"> + <Logger name="org.nuiton.validator.xwork2.XWork2ScopeValidator" level="warn" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="org.hibernate.orm.deprecation" level="error" additivity="false"> + <Logger name="com.opensymphony.xwork2.validator.validators" level="warn" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="com.zaxxer.hikari.HikariDataSource" level="error" additivity="false"> + <Logger name="org.nuiton.validator.xwork2.field" level="warn" additivity="false"> + <AppenderRef ref="console"/> + </Logger> + <Logger name="fr.ird.observe.spi.DtoModelHelper" level="warn" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="com.opensymphony.xwork2.validator.validators" level="error" additivity="false"> + <Logger name="org.nuiton.topia" level="warn" additivity="false"> <AppenderRef ref="console"/> </Logger> - <Logger name="org.nuiton.validator.xwork2.field" level="error" additivity="false"> + <Logger name="org.hibernate" level="warn" additivity="false"> <AppenderRef ref="console"/> </Logger> + <Logger name="fr.ird.observe.services.service.referential.differential.DifferentialModel" level="warn" additivity="false"> + <AppenderRef ref="console"/> + </Logger> + <Logger name="fr.ird.observe" level="info" additivity="false"> + <AppenderRef ref="console"/> + </Logger> + <Root level="error"> + <AppenderRef ref="console"/> + </Root> </Loggers> </Configuration> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/99e5728613c8e452124e770f3… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/99e5728613c8e452124e770f3… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] 6 commits: Deux coquilles dans les validations - Closes #1572
by Tony CHEMIT 05 Jul '20

05 Jul '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 51e68e52 by Tony Chemit at 2020-07-05T09:40:52+02:00 Deux coquilles dans les validations - Closes #1572 - - - - - 3e940e79 by Tony Chemit at 2020-07-05T10:37:28+02:00 Problème de traduction sur les validations taille/poids des espèces - Closes #1571 - - - - - 63a6b6a5 by Tony Chemit at 2020-07-05T13:03:38+02:00 Pouvoir changer l&#39;espèce d&#39;un enregistrement - See #1565 Rendre toutes les colonnes modifiables dans les modèles de tableau - - - - - b49b81b4 by Tony Chemit at 2020-07-05T13:04:33+02:00 Pouvoir changer l&#39;espèce d&#39;un enregistrement - See #1565 Rendre toutes les propriétés modifiables dans les formulaires - - - - - 14c7ea5e by Tony Chemit at 2020-07-05T13:07:48+02:00 Pouvoir changer l&#39;espèce d&#39;un enregistrement - Close #1565 Bien restituer les listes de données pour modification (et non plus juste la valeur sélectionnée) Revue du focus suite à une modification de ligne dans le tableau - - - - - 41c36826 by Tony Chemit at 2020-07-05T13:55:04+02:00 Amélioration des logs - Closes #1474 - - - - - 30 changed files: - client-configuration/src/main/resources/log4j2.xml - client-configuration/src/main/resources/observe-log4j2.xml - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/BaitsCompositionUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/BranchlinesCompositionUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/CatchLonglineTableModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/CatchLonglineUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/EncounterUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/FloatlinesCompositionUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/GearUseFeaturesLonglineTableModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/GearUseFeaturesLonglineUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/HooksCompositionUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/SensorUsedUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/longline/TdrUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/GearUseFeaturesSeineTableModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/GearUseFeaturesSeineUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchReleaseTableModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchReleaseUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchReleaseUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetSampleUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetSampleUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/ObjectObservedSpeciesUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/ObjectSchoolEstimateUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/ObjectSchoolEstimateUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/SchoolEstimateUI.jcss - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/SchoolEstimateUIHandler.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/SchoolEstimateUIModel.java - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/TargetCatchUI.jcss - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/TargetCatchUIHandler.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/82cbd449c24922b1cbf24145… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/82cbd449c24922b1cbf24145… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] [LL][Echantillon logbook] Cosmétique (Partie ui)- Closes #1536
by Tony CHEMIT 04 Jul '20

04 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: feeb5bf5 by Tony Chemit at 2020-07-04T18:27:05+02:00 [LL][Echantillon logbook] Cosmétique (Partie ui)- Closes #1536 - - - - - 30 changed files: - client-configuration/src/main/i18n/getters/java-enumeration.getter - client-configuration/src/main/java/fr/ird/observe/client/constants/AcquisitionMode.java - client-datasource-editor-common/src/main/i18n/getters/java.getter - client-datasource-editor-common/src/main/i18n/getters/jaxx.getter - + client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/sample/SampleUI.java - + client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/sample/SampleUIHandler.java - + client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/sample/SampleUIModel.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleUI.jcss → client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/sample/actions/ResetSizeMeasureType.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/TargetSampleCaptureUI.jcss → client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/sample/actions/ResetWeightMeasureType.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/TargetSampleRejeteUI.jcss → client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/sample/actions/SampleUIActionSupport.java - client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/ref/common/SpeciesUI.jaxx - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/AbstractSampleUI.jcss → client-datasource-editor-common/src/main/resources/fr/ird/observe/client/datasource/editor/content/data/sample/CommonSample.jcss - client-datasource-editor-ll/src/main/i18n/getters/jaxx.getter - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/CatchUI.jcss - + client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/SampleImplHandler.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/SamplePartUI.jaxx - − client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/SamplePartUI.jcss - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/SamplePartUIHandler.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/SamplePartUIModel.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/CatchUI.jaxx - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/observation/CatchUI.jcss - client-datasource-editor-ps/src/main/i18n/getters/jaxx.getter - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/AbstractSampleUIHandler.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetCatchReleaseUI.jaxx - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetCatchReleaseUI.jcss - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetCatchReleaseUIHandler.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetCatchReleaseUIModel.java - + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleImplHandler.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleUI.jaxx - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleUIHandler.java The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/feeb5bf51f33af0f4a3479bf2… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/feeb5bf51f33af0f4a3479bf2… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] [LL][Echantillon logbook] Cosmétique (Partie ui ps)- See #1536
by Tony CHEMIT 04 Jul '20

04 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 609458e5 by Tony Chemit at 2020-07-04T08:32:24+02:00 [LL][Echantillon logbook] Cosmétique (Partie ui ps)- See #1536 - - - - - 11 changed files: - client-datasource-editor-ps/src/main/i18n/getters/jaxx.getter - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/AbstractSampleUI.jcss - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/AbstractSampleUIHandler.java - + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleImplHandler.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleUI.jaxx - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleUIHandler.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleUIModel.java - + client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/TargetSampleImplHandler.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/TargetSampleUI.jaxx - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/TargetSampleUIHandler.java - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/TargetSampleUIModel.java Changes: ===================================== client-datasource-editor-ps/src/main/i18n/getters/jaxx.getter ===================================== @@ -5,6 +5,7 @@ observe.Id.ocean observe.Id.sex observe.Id.sizeMeasureType observe.Id.species +observe.Id.weightMeasureType observe.Id.whenArriving observe.Id.whenLeaving observe.action.reset @@ -22,6 +23,7 @@ observe.data.Data.startDate observe.data.Data.vessel observe.data.Data.weightMeasureMethod observe.data.Sample.action.resetDefaultSizeMeasureType.tip +observe.data.Sample.action.resetDefaultWeightMeasureType.tip observe.data.ps.common.GearUseFeatures.action.create.tip observe.data.ps.common.GearUseFeatures.action.create.tip.tip observe.data.ps.common.GearUseFeatures.gear ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/AbstractSampleUI.jcss ===================================== @@ -20,45 +20,6 @@ * #L% */ -#acquisitionModeGroup { - selectedValue:{AcquisitionMode.valueOf(tableEditBean.getAcquisitionMode())}; -} - -#acquisitionModePanel { - border:{new TitledBorder(t("observe.data.Data.acquisitionMode"))}; -} - -#acquisitionModeEffectif { - buttonGroup:"acquisitionModeGroup"; - value:{AcquisitionMode.byEffectif}; - text:{AcquisitionMode.byEffectif.toString()}; - selected:{tableEditBean.getAcquisitionMode() == 0}; - enabled:{!tableModel.isEditable() || tableModel.isCreate()}; -} - -#acquisitionModeIndividu { - buttonGroup:"acquisitionModeGroup"; - value:{AcquisitionMode.byIndividu}; - text:{AcquisitionMode.byIndividu.toString()}; - selected:{tableEditBean.getAcquisitionMode() == 1}; - enabled:{!tableModel.isEditable() || tableModel.isCreate()}; -} - -#sizeMeasureTypePanel { - border:{new TitledBorder(t("observe.data.Data.speciesAndSizeMeasure"))}; -} - -#sizeMeasureType { - enabled:{tableEditBean.getSpecies() != null}; -} - -#defaultSizeMeasureType { - actionIcon:combobox-reset2; - toolTipText:"observe.data.Sample.action.resetDefaultSizeMeasureType.tip"; - enabled:{model.getDefaultSizeMeasureType() != null}; - focusable:false; -} - #lengthSourceInformation { disabledIcon: {iconDataObserve}; icon: {iconDataCalcule}; @@ -73,7 +34,7 @@ #weightSourceInformation { disabledIcon: {iconDataObserve}; icon: {iconDataCalcule}; - enabled: {tableEditBean.isIsWeightComputed()}; + enabled: {tableEditBean.getAcquisitionMode() == 1 && tableEditBean.isIsWeightComputed()}; toolTipText:{getWeightDataTip(tableEditBean.isIsWeightComputed())}; } ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/AbstractSampleUIHandler.java ===================================== @@ -31,6 +31,7 @@ import fr.ird.observe.dto.data.ps.observation.NonTargetLengthDto; import fr.ird.observe.dto.data.ps.observation.TargetLengthDto; import fr.ird.observe.dto.referential.common.SizeMeasureTypeReference; import fr.ird.observe.dto.referential.common.SpeciesReference; +import fr.ird.observe.dto.referential.common.WeightMeasureTypeReference; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -83,6 +84,7 @@ public abstract class AbstractSampleUIHandler<E extends DataDto, D extends DataD final PropertyChangeListener speciesChanged; private ImmutableMap<String, SizeMeasureTypeReference> sizeMeasureTypeReferenceMap; + private ImmutableMap<String, WeightMeasureTypeReference> weightMeasureTypeReferenceMap; AbstractSampleUIHandler() { super(); @@ -104,6 +106,8 @@ public abstract class AbstractSampleUIHandler<E extends DataDto, D extends DataD void loadSizeMeasureTypes() { List<SizeMeasureTypeReference> sizeMeasureTypeReferences = getModel().getReferenceCache().getReferentialReferences(NonTargetLengthDto.PROPERTY_SIZE_MEASURE_TYPE); sizeMeasureTypeReferenceMap = Maps.uniqueIndex(sizeMeasureTypeReferences, SizeMeasureTypeReference::getId); + List<WeightMeasureTypeReference> weightMeasureTypeReferences = getModel().getReferenceCache().getReferentialReferences(NonTargetLengthDto.PROPERTY_WEIGHT_MEASURE_TYPE); + weightMeasureTypeReferenceMap = Maps.uniqueIndex(weightMeasureTypeReferences, WeightMeasureTypeReference::getId); } Optional<SizeMeasureTypeReference> getSpeciesDefaultSizeMeasureType(SpeciesReference species) { @@ -113,7 +117,19 @@ public abstract class AbstractSampleUIHandler<E extends DataDto, D extends DataD result = sizeMeasureTypeReferenceMap.get(sizeMeasureId); log.info("Use as default size measure type: " + result); } else { - log.info("No default size measure type defined (species is null, or no default size measure definied on it."); + log.info("No default size measure type defined (species is null, or no default size measure defined on it."); + } + return Optional.ofNullable(result); + } + + Optional<WeightMeasureTypeReference> getSpeciesDefaultWeightMeasureType(SpeciesReference species) { + WeightMeasureTypeReference result = null; + if (species != null && species.getSizeMeasureTypeId() != null) { + String weightMeasureId = species.getWeightMeasureTypeId(); + result = weightMeasureTypeReferenceMap.get(weightMeasureId); + log.info("Use as default weight measure type: " + result); + } else { + log.info("No default weight measure type defined (species is null, or no default weight measure defined on it."); } return Optional.ofNullable(result); } ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleImplHandler.java ===================================== @@ -0,0 +1,116 @@ +package fr.ird.observe.client.datasource.editor.content.data.ps.observation; + +/*- + * #%L + * ObServe :: Client DataSource Editor PS + * %% + * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ird.observe.client.datasource.editor.content.data.sample.SampleUIHandler; +import fr.ird.observe.dto.data.ps.observation.NonTargetLengthDto; +import fr.ird.observe.dto.data.ps.observation.NonTargetSampleDto; + +import javax.swing.JComponent; + +public class NonTargetSampleImplHandler extends SampleUIHandler<NonTargetSampleDto, NonTargetLengthDto, NonTargetSampleUI> { + + private final NonTargetSampleUI ui; + + public NonTargetSampleImplHandler(NonTargetSampleUI ui) { + this.ui = ui; + } + + @Override + public NonTargetSampleUIModel getModel() { + return (NonTargetSampleUIModel) super.getModel(); + } + + @Override + protected void onWeightChanged(Float newValue) { + NonTargetSampleUIModel model = getModel(); + model.getTableEditBean().setIsWeightComputed(false); + NonTargetLengthDto tableEditBean = model.getTableEditBean(); + if (newValue == null) { + tableEditBean.setWeightMeasureMethod(null); + } + } + + @Override + protected void onLengthChanged(Float newValue) { + NonTargetSampleUIModel model = getModel(); + model.getTableEditBean().setIsLengthComputed(false); + NonTargetLengthDto tableEditBean = model.getTableEditBean(); + if (newValue == null) { + tableEditBean.setLengthMeasureMethod(null); + } + } + + @Override + protected void onAcquisitionModeChangedToEffectif(boolean createMode, NonTargetLengthDto editBean) { + + // weight not enabled + ui.getWeight().setEnabled(false); +// ui.getWeightMeasureType().setEnabled(false); + ui.getWeightMeasureMethod().setEnabled(false); + + // count enabled + ui.getCount().setEnabled(true); + + if (createMode) { + + // delete any weight value + editBean.setWeight(null); + editBean.setWeightMeasureType(null); + editBean.setWeightMeasureMethod(null); + // delete count (force use to reset it) + editBean.setCount(null); + } + + } + + @Override + protected void onAcquisitionModeChangedToIndividual(boolean createMode, NonTargetLengthDto editBean) { + + // weight enabled + ui.getWeight().setEnabled(true); +// ui.getWeightMeasureType().setEnabled(true); + ui.getWeightMeasureMethod().setEnabled(true); + + // count not enabled (set to one) + ui.getCount().setEnabled(false); + if (createMode) { + // Always set to one + editBean.setCount(1); + editBean.setWeightMeasureType(getModel().getDefaultWeightMeasureType()); + } + } + + @Override + protected void setFormFocusOwner(JComponent requestFocus) { + ui.getHandler().setFormFocusOwner(requestFocus); + } + + @Override + protected JComponent getNewFormFocusOwner(boolean create, boolean modelCreate, boolean unsetSpecies, boolean withPrevious) { + if (create && !withPrevious) { + return ui.getSpecies(); + } + return ui.getSex(); + } +} ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleUI.jaxx ===================================== @@ -21,17 +21,19 @@ <fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUI beanScope="bean" i18n="fr.ird.observe.dto.data.ps.observation.NonTargetLengthDto" superGenericType='NonTargetSampleDto, NonTargetLengthDto, NonTargetSampleUI' - implements="fr.ird.observe.client.datasource.editor.content.data.table.SortableTableUI" + implements="fr.ird.observe.client.datasource.editor.content.data.sample.SampleUI&lt;NonTargetSampleDto, NonTargetLengthDto, NonTargetSampleUI&gt;, fr.ird.observe.client.datasource.editor.content.data.table.SortableTableUI" contentTitle='{n("observe.data.ps.observation.NonTargetSample.title")}' saveNewEntryText='{n("observe.data.ps.observation.NonTargetSample.action.create")}' saveNewEntryTip='{n("observe.data.ps.observation.NonTargetSample.action.create.tip")}'> <style source="classpath:/fr/ird/observe/client/datasource/editor/content/data/CommonTable.jcss"/> + <style source="classpath:/fr/ird/observe/client/datasource/editor/content/data/sample/CommonSample.jcss"/> <style source="AbstractSampleUI.jcss"/> <import> fr.ird.observe.dto.referential.common.SexReference fr.ird.observe.dto.referential.common.SizeMeasureTypeReference + fr.ird.observe.dto.referential.common.WeightMeasureTypeReference fr.ird.observe.dto.referential.common.SpeciesReference fr.ird.observe.dto.referential.common.LengthMeasureMethodReference fr.ird.observe.dto.referential.common.WeightMeasureMethodReference @@ -55,6 +57,8 @@ <!-- model --> <NonTargetSampleUIModel id='model' constructorParams='this'/> + <NonTargetSampleImplHandler id='sampleHandler' initializer="getContextValue(NonTargetSampleImplHandler.class)"/> + <!-- edit bean --> <NonTargetSampleDto id='bean'/> @@ -76,16 +80,13 @@ </BeanValidator> <ButtonGroup id='acquisitionModeGroup' - onStateChanged='getHandler().updateAcquisitionMode((AcquisitionMode) acquisitionModeGroup.getSelectedValue())'/> + onStateChanged='getSampleHandler().updateAcquisitionMode((AcquisitionMode) acquisitionModeGroup.getSelectedValue())'/> <script><![CDATA[ -public String getWeightDataTip(boolean computed) { - return computed ? t(NonTargetSampleUIHandler.POIDS_COMPUTED_TIP) : t(NonTargetSampleUIHandler.POIDS_OBSERVED_TIP); -} - -public String getLengthDataTip(boolean computed) { - return computed ? t(NonTargetSampleUIHandler.LONGUEUR_COMPUTED_TIP) : t(NonTargetSampleUIHandler.LONGUEUR_OBSERVED_TIP); +@Override +public NonTargetSampleUIModel getSampleModel() { + return getModel(); } ]]> @@ -118,10 +119,19 @@ public String getLengthDataTip(boolean computed) { </cell> <cell> <JPanel layout='{new BorderLayout()}'> - <JaxxComboBox id='sizeMeasureType' genericType='SizeMeasureTypeReference' - constructorParams='this' constraints="BorderLayout.CENTER"/> - <JButton id="defaultSizeMeasureType" constraints="BorderLayout.EAST" - onActionPerformed="getHandler().resetDefaultSizeMeasureType()"/> + <JaxxComboBox id='sizeMeasureType' genericType='SizeMeasureTypeReference' constructorParams='this' constraints="BorderLayout.CENTER"/> + <JButton id="defaultSizeMeasureType" constraints="BorderLayout.EAST"/> + </JPanel> + </cell> + </row> + <row> + <cell> + <JLabel id='weightMeasureTypeLabel' styleClass="i18n"/> + </cell> + <cell> + <JPanel layout='{new BorderLayout()}'> + <JaxxComboBox id='weightMeasureType' genericType='WeightMeasureTypeReference' constructorParams='this' constraints="BorderLayout.CENTER"/> + <JButton id="defaultWeightMeasureType" constraints="BorderLayout.EAST"/> </JPanel> </cell> </row> ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleUIHandler.java ===================================== @@ -22,7 +22,7 @@ package fr.ird.observe.client.datasource.editor.content.data.ps.observation; import fr.ird.observe.client.constants.AcquisitionMode; -import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableModel; +import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUIHandler; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUILayoutFocusTraversalPolicy; import fr.ird.observe.client.datasource.editor.content.spi.ContentUIReferenceCache; import fr.ird.observe.client.datasource.editor.content.spi.ReferentialReferencesFilter; @@ -44,15 +44,12 @@ import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.runtime.spi.UIHandler; import org.nuiton.validator.NuitonValidatorScope; -import javax.swing.JComponent; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import java.awt.Component; import java.awt.Container; -import java.util.Collections; import java.util.LinkedList; import java.util.List; -import java.util.Optional; import static io.ultreia.java4all.i18n.I18n.n; import static io.ultreia.java4all.i18n.I18n.t; @@ -61,10 +58,12 @@ import static io.ultreia.java4all.i18n.I18n.t; * @author Tony Chemit - dev(a)tchemit.fr * @since 1.0 */ -public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetSampleDto, NonTargetLengthDto, NonTargetSampleUI> implements UIHandler<NonTargetSampleUI> { +public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSampleDto, NonTargetLengthDto, NonTargetSampleUI> implements UIHandler<NonTargetSampleUI> { private static final Logger log = LogManager.getLogger(NonTargetSampleUIHandler.class); + private NonTargetSampleImplHandler sampleHandler; + @Override public NonTargetSampleUIModel getModel() { return ui.getModel(); @@ -73,11 +72,16 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS @Override public void beforeInit(NonTargetSampleUI ui) { super.beforeInit(ui); + sampleHandler = new NonTargetSampleImplHandler(ui); + sampleHandler.beforeInit(ui); + ui.setContextValue(sampleHandler); } @Override public void afterInit(NonTargetSampleUI ui) { super.afterInit(ui); + sampleHandler.init(); + ui.removeContextValue(NonTargetSampleImplHandler.class); } // @Override @@ -202,94 +206,106 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS // // normalement cela est fait quand on fait le setForm (mais ici le setForm est fait trop tôt) // getModel().updateUiWithReferenceSetsFromModel(); - loadSizeMeasureTypes(); + model.loadSizeMeasureTypes(); form.getObject().copy(model.getBean()); } @Override protected void onSelectedRowChanged(int editingRow, NonTargetLengthDto bean, boolean create) { - ContentTableModel<NonTargetSampleDto, NonTargetLengthDto> model = getTableModel(); - if (!model.isEditable()) { - return; - } - NonTargetLengthDto tableEditBean = getModel().getTableEditBean(); - tableEditBean.removePropertyChangeListener(NonTargetLengthDto.PROPERTY_WEIGHT, weightChanged); - tableEditBean.removePropertyChangeListener(NonTargetLengthDto.PROPERTY_LENGTH, lengthChanged); - tableEditBean.removePropertyChangeListener(NonTargetLengthDto.PROPERTY_SPECIES, speciesChanged); - - SpeciesReference species = bean.getSpecies(); - log.debug(prefix + "selected species " + species); - List<SpeciesReference> availableSpecies; - JComponent requestFocus; - Optional<SizeMeasureTypeReference> sizeMeasureType = Optional.empty(); - - if (create) { - - Optional<SizeMeasureTypeReference> defaultSizeMeasureType; - - boolean unsetSpecies = true; - if (model.isCreate()) { - - // on passe le mode de saisie en count - AcquisitionMode acquisitionMode = AcquisitionMode.byEffectif; - - if (editingRow > 0) { - unsetSpecies = false; - // get previous row - NonTargetLengthDto editBean = model.getValueAt(editingRow - 1); - // get previous species - species = editBean.getSpecies(); - // get previous acquisition mode - acquisitionMode = AcquisitionMode.valueOf(editBean.getAcquisitionMode()); - // get previous size measure type - sizeMeasureType = Optional.ofNullable(editBean.getSizeMeasureType()); - } - - updateAcquisitionMode0(acquisitionMode); - - } - - availableSpecies = getModel().getReferenceCache().getReferentialReferences(NonTargetLengthDto.PROPERTY_SPECIES); - - // get default size measure type - defaultSizeMeasureType = getSpeciesDefaultSizeMeasureType(species); - - if (unsetSpecies) { - // unset species (this will not set again species in widget) - species = null; - sizeMeasureType = defaultSizeMeasureType; - requestFocus = ui.getSpecies(); - } else { - requestFocus = ui.getLength(); - } + sampleHandler.onSelectedRowChanged(editingRow, bean, create); - // use default size measure type - ui.getModel().setDefaultSizeMeasureType(defaultSizeMeasureType.orElse(null)); - - } else { - requestFocus = ui.getCount(); - updateAcquisitionMode0(AcquisitionMode.valueOf(bean.getAcquisitionMode())); - availableSpecies = Collections.singletonList(species); - species = null; - sizeMeasureType = Optional.ofNullable(bean.getSizeMeasureType()); - } - - ui.getSizeMeasureType().setSelectedItem(null); - sizeMeasureType.ifPresent(ui.getSizeMeasureType()::setSelectedItem); - - ui.getSpecies().setData(availableSpecies); - if (species != null) { - log.info(String.format("Will set species : %s", species)); - ui.getSpecies().setSelectedItem(null); - ui.getSpecies().setSelectedItem(species); - } - - setFormFocusOwner(requestFocus); - - tableEditBean.addPropertyChangeListener(NonTargetLengthDto.PROPERTY_WEIGHT, weightChanged); - tableEditBean.addPropertyChangeListener(NonTargetLengthDto.PROPERTY_LENGTH, lengthChanged); - tableEditBean.addPropertyChangeListener(NonTargetLengthDto.PROPERTY_SPECIES, speciesChanged); +// ContentTableModel<NonTargetSampleDto, NonTargetLengthDto> model = getTableModel(); +// if (!model.isEditable()) { +// return; +// } +// NonTargetLengthDto tableEditBean = getModel().getTableEditBean(); +// tableEditBean.removePropertyChangeListener(NonTargetLengthDto.PROPERTY_WEIGHT, weightChanged); +// tableEditBean.removePropertyChangeListener(NonTargetLengthDto.PROPERTY_LENGTH, lengthChanged); +// tableEditBean.removePropertyChangeListener(NonTargetLengthDto.PROPERTY_SPECIES, speciesChanged); +// +// SpeciesReference species = bean.getSpecies(); +// log.debug(prefix + "selected species " + species); +// List<SpeciesReference> availableSpecies; +// JComponent requestFocus; +// Optional<SizeMeasureTypeReference> sizeMeasureType = Optional.empty(); +// Optional<WeightMeasureTypeReference> weightMeasureType = Optional.empty(); +// +// if (create) { +// +// Optional<SizeMeasureTypeReference> defaultSizeMeasureType; +// Optional<WeightMeasureTypeReference> defaultWeightMeasureType; +// +// boolean unsetSpecies = true; +// if (model.isCreate()) { +// +// // on passe le mode de saisie en count +// AcquisitionMode acquisitionMode = AcquisitionMode.byEffectif; +// +// if (editingRow > 0) { +// unsetSpecies = false; +// // get previous row +// NonTargetLengthDto editBean = model.getValueAt(editingRow - 1); +// // get previous species +// species = editBean.getSpecies(); +// // get previous acquisition mode +// acquisitionMode = AcquisitionMode.valueOf(editBean.getAcquisitionMode()); +// // get previous size measure type +// sizeMeasureType = Optional.ofNullable(editBean.getSizeMeasureType()); +// weightMeasureType = Optional.ofNullable(editBean.getWeightMeasureType()); +// } +// +// updateAcquisitionMode0(acquisitionMode); +// +// } +// +// availableSpecies = getModel().getReferenceCache().getReferentialReferences(NonTargetLengthDto.PROPERTY_SPECIES); +// +// // get default size measure type +// defaultSizeMeasureType = getSpeciesDefaultSizeMeasureType(species); +// defaultWeightMeasureType = getSpeciesDefaultWeightMeasureType(species); +// +// if (unsetSpecies) { +// // unset species (this will not set again species in widget) +// species = null; +// sizeMeasureType = defaultSizeMeasureType; +// weightMeasureType = defaultWeightMeasureType; +// requestFocus = ui.getSpecies(); +// } else { +// requestFocus = ui.getLength(); +// } +// +// // use default size measure type +// ui.getModel().setDefaultSizeMeasureType(defaultSizeMeasureType.orElse(null)); +// ui.getModel().setDefaultWeightMeasureType(defaultWeightMeasureType.orElse(null)); +// +// } else { +// requestFocus = ui.getCount(); +// updateAcquisitionMode0(AcquisitionMode.valueOf(bean.getAcquisitionMode())); +// availableSpecies = Collections.singletonList(species); +// species = null; +// sizeMeasureType = Optional.ofNullable(bean.getSizeMeasureType()); +// weightMeasureType = Optional.ofNullable(bean.getWeightMeasureType()); +// } +// +// ui.getSizeMeasureType().setSelectedItem(null); +// sizeMeasureType.ifPresent(ui.getSizeMeasureType()::setSelectedItem); +// +// ui.getWeightMeasureType().setSelectedItem(null); +// weightMeasureType.ifPresent(ui.getWeightMeasureType()::setSelectedItem); +// +// ui.getSpecies().setData(availableSpecies); +// if (species != null) { +// log.info(String.format("Will set species : %s", species)); +// ui.getSpecies().setSelectedItem(null); +// ui.getSpecies().setSelectedItem(species); +// } +// +// setFormFocusOwner(requestFocus); +// +// tableEditBean.addPropertyChangeListener(NonTargetLengthDto.PROPERTY_WEIGHT, weightChanged); +// tableEditBean.addPropertyChangeListener(NonTargetLengthDto.PROPERTY_LENGTH, lengthChanged); +// tableEditBean.addPropertyChangeListener(NonTargetLengthDto.PROPERTY_SPECIES, speciesChanged); } @Override @@ -307,66 +323,81 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS saveResult.toDto(bean); } - @Override + // @Override public void resetIsWeightComputed() { getModel().getTableEditBean().setIsWeightComputed(false); ui.getWeight().grabFocus(); } - @Override + // @Override public void resetIsLengthComputed() { getModel().getTableEditBean().setIsLengthComputed(false); ui.getLength().grabFocus(); } - - @Override - protected void onWeightChanged(Float newValue) { - getModel().getTableEditBean().setIsWeightComputed(false); - } - - @Override - protected void onLengthChanged(Float newValue) { - getModel().getTableEditBean().setIsLengthComputed(false); - } - - @Override - protected void onSpeciesChanged(SpeciesReference species) { - - Optional<SizeMeasureTypeReference> oldSizeMeasureType = Optional.ofNullable(getModel().getTableEditBean()).map(NonTargetLengthDto::getSizeMeasureType); - Optional<SizeMeasureTypeReference> sizeMeasureType = getSpeciesDefaultSizeMeasureType(species); - log.debug(prefix + "Default size measure " + sizeMeasureType.orElse(null)); - ui.getModel().setDefaultSizeMeasureType(sizeMeasureType.orElse(null)); - resetDefaultSizeMeasureType(); - oldSizeMeasureType.ifPresent(sizeMeasureTypeReference -> getModel().getTableEditBean().setSizeMeasureType(sizeMeasureTypeReference)); - } - - public void resetDefaultSizeMeasureType() { - ui.getSizeMeasureType().setSelectedItem(null); - ui.getSizeMeasureType().setSelectedItem(ui.getModel().getDefaultSizeMeasureType()); - } - -// @Override -// protected ContentMode computeWritableContentMode() { -// ContentMode mode = super.computeWritableContentMode(); // -// String selectedId = getSelectedId(); +// @Override +// protected void onWeightChanged(Float newValue) { +// getModel().getTableEditBean().setIsWeightComputed(false); +// } // -// boolean showData = getNonTargetSampleService().canUseNonTargetSample(selectedId); +// @Override +// protected void onLengthChanged(Float newValue) { +// getModel().getTableEditBean().setIsLengthComputed(false); +// } + +// @Override +// protected void onSpeciesChanged(SpeciesReference species) { // -// ui.getModel().setShowData(showData); +// recomputeDefaultSizeMeasureType(species); // -// if (mode == ContentMode.UPDATE && !showData) { +// recomputeDefaultWeightMeasureType(species); +// } // -// // on repasse en mode resteint car on ne peut pas éditer l'écran -// mode = ContentMode.READ; +// @Override +// protected void onWeightChanged(Float newValue) { +// getModel().getTableEditBean().setIsWeightComputed(false); +// } +//// +// @Override +// protected void onWeightChanged(Float newValue) { +// getModel().getTableEditBean().setIsWeightComputed(false); +// } // -// addMessage(ui, -// NuitonValidatorScope.INFO, -// getTypeI18nKey(SetDto.class), -// t("observe.data.ps.observation.Set.message.no.nonTargetDiscarded")); -// } -// return mode; +// @Override +// protected void onLengthChanged(Float newValue) { +// getModel().getTableEditBean().setIsLengthComputed(false); +// } + +// @Override +// protected void onLengthChanged(Float newValue) { +// getModel().getTableEditBean().setIsLengthComputed(false); +// } +// protected void recomputeDefaultWeightMeasureType(SpeciesReference species) { +// Optional<WeightMeasureTypeReference> oldWeightMeasureType = Optional.ofNullable(getModel().getTableEditBean()).map(NonTargetLengthDto::getWeightMeasureType); +// Optional<WeightMeasureTypeReference> weightMeasureType = getSpeciesDefaultWeightMeasureType(species); +// log.debug(String.format("%sDefault weight measure %s", prefix, weightMeasureType.orElse(null))); +// ui.getModel().setDefaultWeightMeasureType(weightMeasureType.orElse(null)); +// resetDefaultWeightMeasureType(); +// oldWeightMeasureType.ifPresent(weightMeasureTypeReference -> getModel().getTableEditBean().setWeightMeasureType(weightMeasureTypeReference)); +// } + +// protected void recomputeDefaultSizeMeasureType(SpeciesReference species) { +// Optional<SizeMeasureTypeReference> oldSizeMeasureType = Optional.ofNullable(getModel().getTableEditBean()).map(NonTargetLengthDto::getSizeMeasureType); +// Optional<SizeMeasureTypeReference> sizeMeasureType = getSpeciesDefaultSizeMeasureType(species); +// log.debug(String.format("%sDefault size measure %s", prefix, sizeMeasureType.orElse(null))); +// ui.getModel().setDefaultSizeMeasureType(sizeMeasureType.orElse(null)); +// resetDefaultSizeMeasureType(); +// oldSizeMeasureType.ifPresent(sizeMeasureTypeReference -> getModel().getTableEditBean().setSizeMeasureType(sizeMeasureTypeReference)); +// } + +// public void resetDefaultSizeMeasureType() { +// ui.getSizeMeasureType().setSelectedItem(null); +// ui.getSizeMeasureType().setSelectedItem(ui.getModel().getDefaultSizeMeasureType()); +// } +// public void resetDefaultWeightMeasureType() { +// ui.getWeightMeasureType().setSelectedItem(null); +// ui.getWeightMeasureType().setSelectedItem(ui.getModel().getDefaultWeightMeasureType()); // } /** @@ -388,12 +419,14 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS // le weight n'est pas modifiable ui.getWeight().setEnabled(false); ui.getWeightMeasureMethod().setEnabled(false); + ui.getWeightMeasureType().setEnabled(false); // l'count est modifiable ui.getCount().setEnabled(true); if (createMode) { // on supprime le weight (si il a été saisie) editBean.setWeight(null); editBean.setWeightMeasureMethod(null); + editBean.setWeightMeasureType(null); // on supprime aussi l'count (pour forcer la saisie) editBean.setCount(null); } @@ -402,6 +435,7 @@ public class NonTargetSampleUIHandler extends AbstractSampleUIHandler<NonTargetS // le weight est pas modifiable ui.getWeight().setEnabled(true); ui.getWeightMeasureMethod().setEnabled(true); + ui.getWeightMeasureType().setEnabled(true); // l'count n'est pas modifiable et est toujours de 1 ui.getCount().setEnabled(false); ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetSampleUIModel.java ===================================== @@ -22,17 +22,20 @@ package fr.ird.observe.client.datasource.editor.content.data.ps.observation; * #L% */ +import fr.ird.observe.client.constants.AcquisitionMode; import fr.ird.observe.client.datasource.api.ObserveDataSourcesManagerApplicationComponent; import fr.ird.observe.client.datasource.api.ObserveSwingDataSource; import fr.ird.observe.client.datasource.editor.content.ContentMode; +import fr.ird.observe.client.datasource.editor.content.data.sample.SampleUIModel; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableMeta; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableModel; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUI; -import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUIModel; import fr.ird.observe.dto.data.ps.observation.NonTargetLengthDto; import fr.ird.observe.dto.data.ps.observation.NonTargetLengthHelper; import fr.ird.observe.dto.data.ps.observation.NonTargetSampleDto; import fr.ird.observe.dto.referential.common.SizeMeasureTypeReference; +import fr.ird.observe.dto.referential.common.SpeciesReference; +import fr.ird.observe.dto.referential.common.WeightMeasureTypeReference; import fr.ird.observe.navigation.model.select.ObserveSelectModelApplicationComponent; import fr.ird.observe.navigation.model.select.ObserveSelectNode; @@ -47,10 +50,7 @@ import java.util.List; * @author Tony Chemit - dev(a)tchemit.fr * @since XXX */ -public class NonTargetSampleUIModel extends ContentTableUIModel<NonTargetSampleDto, NonTargetLengthDto> { - - public static final String PROPERTY_DEFAULT_SIZE_MEASURE_TYPE = "defaultSizeMeasureType"; - private SizeMeasureTypeReference defaultSizeMeasureType; +public class NonTargetSampleUIModel extends SampleUIModel<NonTargetSampleDto, NonTargetLengthDto> { public NonTargetSampleUIModel(NonTargetSampleUI ui) { @@ -121,16 +121,6 @@ public class NonTargetSampleUIModel extends ContentTableUIModel<NonTargetSampleD return ObserveSelectModelApplicationComponent.value().getSeine().getSet(); } - public SizeMeasureTypeReference getDefaultSizeMeasureType() { - return defaultSizeMeasureType; - } - - public void setDefaultSizeMeasureType(SizeMeasureTypeReference defaultSizeMeasureType) { - SizeMeasureTypeReference oldValue = getDefaultSizeMeasureType(); - this.defaultSizeMeasureType = defaultSizeMeasureType; - firePropertyChange(PROPERTY_DEFAULT_SIZE_MEASURE_TYPE, oldValue, defaultSizeMeasureType); - } - @Override protected boolean computeShowData(ContentMode contentMode) { String selectedId = getSelectedId(); @@ -138,15 +128,43 @@ public class NonTargetSampleUIModel extends ContentTableUIModel<NonTargetSampleD return mainDataSource.getPsObservationNonTargetSampleService().canUseNonTargetSample(selectedId); } - //FIXME Voir pourquoi c'est le seul modèle qui surcharge ça ??? -// @Override -// public <D extends ReferentialDto, R extends ReferentialDtoReference<D, R>> Optional<Set<R>> tryToGetReferentialReferenceSet(String propertyName) { -// //noinspection unchecked -// ReferentialDtoReferenceSet<R> referenceSet = (ReferentialDtoReferenceSet) getReferentialReferenceSets().get(propertyName); -// Set<R> references = null; -// if (referenceSet != null) { -// references = referenceSet.toSet(); -// } -// return Optional.ofNullable(references); -// } + @Override + public SpeciesReference getSpecies() { + return getTableEditBean().getSpecies(); + } + + @Override + public SizeMeasureTypeReference getSizeMeasureType() { + return getTableEditBean().getSizeMeasureType(); + } + + @Override + public WeightMeasureTypeReference getWeightMeasureType() { + return getTableEditBean().getWeightMeasureType(); + } + + @Override + public int getAcquisitionMode() { + return getTableEditBean().getAcquisitionMode(); + } + + @Override + public void setAcquisitionMode(int acquisitionMode) { + getTableEditBean().setAcquisitionMode(acquisitionMode); + } + + @Override + public AcquisitionMode getDefaultAcquisitionMode() { + return AcquisitionMode.byEffectif; + } + + @Override + public void setWeightMeasureType(WeightMeasureTypeReference weightMeasureType) { + getTableEditBean().setWeightMeasureType(weightMeasureType); + } + + @Override + public void setSizeMeasureType(SizeMeasureTypeReference sizeMeasureType) { + getTableEditBean().setSizeMeasureType(sizeMeasureType); + } } ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/TargetSampleImplHandler.java ===================================== @@ -0,0 +1,119 @@ +package fr.ird.observe.client.datasource.editor.content.data.ps.observation; + +/*- + * #%L + * ObServe :: Client DataSource Editor PS + * %% + * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ird.observe.client.datasource.editor.content.data.sample.SampleUI; +import fr.ird.observe.client.datasource.editor.content.data.sample.SampleUIHandler; +import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUI; +import fr.ird.observe.dto.data.ps.observation.TargetLengthDto; +import fr.ird.observe.dto.data.ps.observation.TargetSampleDto; + +import javax.swing.JComponent; + +public class TargetSampleImplHandler<U extends ContentTableUI<TargetSampleDto, TargetLengthDto, U> & SampleUI<TargetSampleDto, TargetLengthDto, U>> extends SampleUIHandler<TargetSampleDto, TargetLengthDto, U> { + + private final U ui; + + public TargetSampleImplHandler(U ui) { + this.ui = ui; + } + + @Override + public TargetSampleUIModel getModel() { + return (TargetSampleUIModel) super.getModel(); + } + + @Override + protected void onWeightChanged(Float newValue) { + TargetSampleUIModel model = getModel(); + model.getTableEditBean().setIsWeightComputed(false); + TargetLengthDto tableEditBean = model.getTableEditBean(); + if (newValue == null) { + tableEditBean.setWeightMeasureMethod(null); + } + } + + @Override + protected void onLengthChanged(Float newValue) { + TargetSampleUIModel model = getModel(); + model.getTableEditBean().setIsLengthComputed(false); + TargetLengthDto tableEditBean = model.getTableEditBean(); + if (newValue == null) { + tableEditBean.setLengthMeasureMethod(null); + } + } + + @Override + protected void onAcquisitionModeChangedToEffectif(boolean createMode, TargetLengthDto editBean) { + TargetSampleUI ui = (TargetSampleUI) this.ui; + // weight not enabled + ui.getWeight().setEnabled(false); +// ui.getWeightMeasureType().setEnabled(false); + ui.getWeightMeasureMethod().setEnabled(false); + + // count enabled + ui.getCount().setEnabled(true); + + if (createMode) { + + // delete any weight value + editBean.setWeight(null); + editBean.setWeightMeasureType(null); + editBean.setWeightMeasureMethod(null); + // delete count (force use to reset it) + editBean.setCount(null); + } + + } + + @Override + protected void onAcquisitionModeChangedToIndividual(boolean createMode, TargetLengthDto editBean) { + TargetSampleUI ui = (TargetSampleUI) this.ui; + // weight enabled + ui.getWeight().setEnabled(true); +// ui.getWeightMeasureType().setEnabled(true); + ui.getWeightMeasureMethod().setEnabled(true); + + // count not enabled (set to one) + ui.getCount().setEnabled(false); + if (createMode) { + // Always set to one + editBean.setCount(1); + editBean.setWeightMeasureType(getModel().getDefaultWeightMeasureType()); + } + } + + @Override + protected void setFormFocusOwner(JComponent requestFocus) { + ui.getHandler().setFormFocusOwner(requestFocus); + } + + @Override + protected JComponent getNewFormFocusOwner(boolean create, boolean modelCreate, boolean unsetSpecies, boolean withPrevious) { + TargetSampleUI ui = (TargetSampleUI) this.ui; + if (create && !withPrevious) { + return ui.getSpecies(); + } + return ui.getSex(); + } +} ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/TargetSampleUI.jaxx ===================================== @@ -21,9 +21,10 @@ <fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUI beanScope="bean" abstract="true" i18n="fr.ird.observe.dto.data.ps.observation.TargetLengthDto" superGenericType='TargetSampleDto, TargetLengthDto, TargetSampleUI' - implements="fr.ird.observe.client.datasource.editor.content.data.table.SortableTableUI"> + implements="fr.ird.observe.client.datasource.editor.content.data.sample.SampleUI&lt;TargetSampleDto, TargetLengthDto, TargetSampleUI&gt;, fr.ird.observe.client.datasource.editor.content.data.table.SortableTableUI"> <style source="classpath:/fr/ird/observe/client/datasource/editor/content/data/CommonTable.jcss"/> + <style source="classpath:/fr/ird/observe/client/datasource/editor/content/data/sample/CommonSample.jcss"/> <style source="AbstractSampleUI.jcss"/> <import> @@ -33,6 +34,7 @@ fr.ird.observe.dto.referential.common.SpeciesReference fr.ird.observe.dto.referential.common.SexReference fr.ird.observe.dto.referential.common.SizeMeasureTypeReference + fr.ird.observe.dto.referential.common.WeightMeasureTypeReference fr.ird.observe.dto.referential.common.LengthMeasureMethodReference fr.ird.observe.dto.referential.common.WeightMeasureMethodReference fr.ird.observe.client.datasource.editor.content.data.table.* @@ -51,6 +53,8 @@ <!-- model --> <TargetSampleUIModel id='model' constructorParams='this'/> + <TargetSampleImplHandler id='sampleHandler' initializer="getContextValue(TargetSampleImplHandler.class)"/> + <!-- edit bean --> <TargetSampleDto id='bean'/> @@ -73,19 +77,16 @@ errorTableModel='{getErrorTableModel()}' context='update' parentValidator='{validator}'/> <ButtonGroup id='acquisitionModeGroup' - onStateChanged='TargetSampleUIHandler.updateModeSaisie(this, (AcquisitionMode) acquisitionModeGroup.getSelectedValue())'/> + onStateChanged='getSampleHandler().updateAcquisitionMode((AcquisitionMode) acquisitionModeGroup.getSelectedValue())'/> <script><![CDATA[ @Override public abstract TargetSampleUIHandler getHandler(); -public String getWeightDataTip(boolean computed) { - return computed ? t(TargetSampleUIHandler.POIDS_COMPUTED_TIP) : t(TargetSampleUIHandler.POIDS_OBSERVED_TIP); -} - -public String getLengthDataTip(boolean computed) { - return computed ? t(TargetSampleUIHandler.LONGUEUR_COMPUTED_TIP) : t(TargetSampleUIHandler.LONGUEUR_OBSERVED_TIP); +@Override +public TargetSampleUIModel getSampleModel() { + return getModel(); } ]]> </script> @@ -114,10 +115,19 @@ public String getLengthDataTip(boolean computed) { </cell> <cell> <JPanel layout='{new BorderLayout()}'> - <JaxxComboBox id='sizeMeasureType' genericType='SizeMeasureTypeReference' - constructorParams='this' constraints="BorderLayout.CENTER"/> - <JButton id="defaultSizeMeasureType" constraints="BorderLayout.EAST" - onActionPerformed="getHandler().resetDefaultSizeMeasureType()"/> + <JaxxComboBox id='sizeMeasureType' genericType='SizeMeasureTypeReference' constructorParams='this' constraints="BorderLayout.CENTER"/> + <JButton id="defaultSizeMeasureType" constraints="BorderLayout.EAST"/> + </JPanel> + </cell> + </row> + <row> + <cell> + <JLabel id='weightMeasureTypeLabel' styleClass="i18n"/> + </cell> + <cell> + <JPanel layout='{new BorderLayout()}'> + <JaxxComboBox id='weightMeasureType' genericType='WeightMeasureTypeReference' constructorParams='this' constraints="BorderLayout.CENTER"/> + <JButton id="defaultWeightMeasureType" constraints="BorderLayout.EAST"/> </JPanel> </cell> </row> @@ -160,7 +170,7 @@ public String getLengthDataTip(boolean computed) { </cell> </row> - <!-- weight individuel --> + <!-- weight --> <row> <cell> <JLabel id='weightLabel' styleClass="i18n"/> ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/TargetSampleUIHandler.java ===================================== @@ -22,9 +22,10 @@ package fr.ird.observe.client.datasource.editor.content.data.ps.observation; import fr.ird.observe.client.configuration.WithClientConfig; -import fr.ird.observe.client.constants.AcquisitionMode; +import fr.ird.observe.client.datasource.editor.content.data.sample.SampleUI; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableModel; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUI; +import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUIHandler; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUILayoutFocusTraversalPolicy; import fr.ird.observe.client.datasource.editor.content.spi.ContentUIReferenceCache; import fr.ird.observe.client.datasource.editor.content.spi.ReferentialReferencesFilter; @@ -40,13 +41,13 @@ import fr.ird.observe.dto.referential.common.SpeciesDto; import fr.ird.observe.dto.referential.common.SpeciesReference; import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.spi.DtoModelHelper; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.nuiton.validator.NuitonValidatorScope; -import javax.swing.JComponent; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import java.util.List; -import java.util.Optional; import static io.ultreia.java4all.i18n.I18n.n; import static io.ultreia.java4all.i18n.I18n.t; @@ -55,7 +56,8 @@ import static io.ultreia.java4all.i18n.I18n.t; * @author Tony Chemit - dev(a)tchemit.fr * @since 1.0 */ -public class TargetSampleUIHandler<U extends ContentTableUI<TargetSampleDto, TargetLengthDto, U>> extends AbstractSampleUIHandler<TargetSampleDto, TargetLengthDto, U> implements WithClientConfig { +public class TargetSampleUIHandler<U extends ContentTableUI<TargetSampleDto, TargetLengthDto, U> & SampleUI<TargetSampleDto, TargetLengthDto, U>> extends ContentTableUIHandler<TargetSampleDto, TargetLengthDto, U> implements WithClientConfig { + private static final Logger log = LogManager.getLogger(TargetSampleUIHandler.class); /** * Pour différencier positionner l'invariant de l'écran @@ -64,71 +66,25 @@ public class TargetSampleUIHandler<U extends ContentTableUI<TargetSampleDto, Tar * @since 1.5 */ private final boolean discarded; + private TargetSampleImplHandler<U> sampleHandler; public TargetSampleUIHandler(boolean discarded) { this.discarded = discarded; } - /** - * Le mode de saisie a été mis à jour. - * - * @param newMode le nouveau de mode de saisie à utiliser - * @since 1.8 - */ - static void updateModeSaisie(TargetSampleUI ui, AcquisitionMode newMode) { - - if (newMode == null) { - - // mode null (cela peut arriver avec les bindings) - return; - } - boolean createMode = ui.getTableModel().isCreate(); - - TargetLengthDto editBean = ui.getTableEditBean(); - switch (newMode) { - - case byEffectif: - - // le weight n'est pas modifiable - ui.getWeight().setEnabled(false); - ui.getWeightMeasureMethod().setEnabled(false); - - // l'count est modifiable - ui.getCount().setEnabled(true); - - if (createMode) { - - // on supprime le weight (si il a été saisie) - editBean.setWeight(null); - editBean.setWeightMeasureMethod(null); - // on supprime aussi l'count (pour forcer la saisie) - editBean.setCount(null); - } - break; - - case byIndividu: - - // le weight est pas modifiable - ui.getWeight().setEnabled(true); - ui.getWeightMeasureMethod().setEnabled(true); - - // l'count n'est pas modifiable et est toujours de 1 - ui.getCount().setEnabled(false); - - - if (createMode) { - - // on positionne l'count à 1 (seule valeur possible) - editBean.setCount(1); - } - break; - } - - if (createMode) { + @Override + public void beforeInit(U ui) { + super.beforeInit(ui); + sampleHandler = new TargetSampleImplHandler<>(ui); + sampleHandler.beforeInit(ui); + ui.setContextValue(sampleHandler); + } - // on propage le mode de saisie dans le bean - editBean.setAcquisitionMode(newMode.ordinal()); - } + @Override + public void afterInit(U ui) { + super.afterInit(ui); + sampleHandler.init(); + ui.removeContextValue(TargetSampleImplHandler.class); } boolean isDiscarded() { @@ -191,11 +147,16 @@ public class TargetSampleUIHandler<U extends ContentTableUI<TargetSampleDto, Tar log.info(prefix + "Using " + data.size() + " size measure type(s)."); // We need to fill the referential cache (normally this is done in onOpenModel method) getModel().getReferenceCache().loadReferentialReferenceSetsInModel(DtoModelHelper.getOptionalFormDefinition(TargetSampleDto.class).get(), true); - loadSizeMeasureTypes(); + getModel().loadSizeMeasureTypes(); checkSizeMeasureTypes(data); ((TargetSampleUI) ui).getSizeMeasureType().setData(data); } + @Override + public TargetSampleUIModel getModel() { + return (TargetSampleUIModel) super.getModel(); + } + @Override protected boolean onOpenComputeShowData() { return getPsObservationTargetSampleService().canUseTargetSample(getModel().getSelectedId(), discarded); @@ -238,105 +199,113 @@ public class TargetSampleUIHandler<U extends ContentTableUI<TargetSampleDto, Tar @Override protected void onSelectedRowChanged(int editingRow, TargetLengthDto bean, boolean create) { + sampleHandler.onSelectedRowChanged(editingRow, bean, create); ContentTableModel<TargetSampleDto, TargetLengthDto> model = getTableModel(); - TargetSampleUI ui = (TargetSampleUI) getUi(); +// TargetSampleUI ui = (TargetSampleUI) getUi(); if (!model.isEditable()) { return; } TargetLengthDto tableEditBean = getModel().getTableEditBean(); - tableEditBean.removePropertyChangeListener(TargetLengthDto.PROPERTY_WEIGHT, weightChanged); - tableEditBean.removePropertyChangeListener(TargetLengthDto.PROPERTY_LENGTH, lengthChanged); - tableEditBean.removePropertyChangeListener(TargetLengthDto.PROPERTY_SPECIES, speciesChanged); - - SpeciesReference species = bean.getSpecies(); - - JComponent requestFocus; - - AcquisitionMode acquisitionMode; - Optional<SizeMeasureTypeReference> sizeMeasureType = Optional.empty(); - - if (create) { - - acquisitionMode = AcquisitionMode.byEffectif; - if (model.isCreate()) { - - if (editingRow > 0) { - // on recupere l'species de la ligne precedente - TargetLengthDto editBean = model.getValueAt(editingRow - 1); - species = editBean.getSpecies(); - acquisitionMode = AcquisitionMode.valueOf(editBean.getAcquisitionMode()); - } - - // on utilise le code par defaut de l'espèce - sizeMeasureType = getSpeciesDefaultSizeMeasureType(species); - if (!sizeMeasureType.isPresent()) { - // au cas où, on repasse toujours sur lf - sizeMeasureType = Optional.of(SizeMeasureTypeReference.getLf(ui.getSizeMeasureType().getModel().getData())); - } - ui.getModel().setDefaultSizeMeasureType(sizeMeasureType.orElse(null)); - } - requestFocus = ui.getSpecies(); - } else { - requestFocus = ui.getCount(); - acquisitionMode = AcquisitionMode.valueOf(bean.getAcquisitionMode()); - sizeMeasureType = Optional.ofNullable(bean.getSizeMeasureType()); - } + sampleHandler.onLengthChanged(tableEditBean.getLength()); + sampleHandler.onWeightChanged(tableEditBean.getWeight()); - ui.getAcquisitionModeGroup().setSelectedValue(null); - ui.getAcquisitionModeGroup().setSelectedValue(acquisitionMode); - - ui.getSizeMeasureType().setSelectedItem(null); - sizeMeasureType.ifPresent(sizeMeasureTypeDtoReferentialReference -> ui.getSizeMeasureType().setSelectedItem(sizeMeasureTypeDtoReferentialReference)); - - // on met a jour l'espece - ui.getSpecies().setSelectedItem(null); - if (species != null) { - log.debug(prefix + "species to use " + species); - ui.getSpecies().setSelectedItem(species); - } - setFormFocusOwner(requestFocus); - - tableEditBean.addPropertyChangeListener(TargetLengthDto.PROPERTY_WEIGHT, weightChanged); - tableEditBean.addPropertyChangeListener(TargetLengthDto.PROPERTY_LENGTH, lengthChanged); - tableEditBean.addPropertyChangeListener(TargetLengthDto.PROPERTY_SPECIES, speciesChanged); +// tableEditBean.removePropertyChangeListener(TargetLengthDto.PROPERTY_WEIGHT, weightChanged); +// tableEditBean.removePropertyChangeListener(TargetLengthDto.PROPERTY_LENGTH, lengthChanged); +// tableEditBean.removePropertyChangeListener(TargetLengthDto.PROPERTY_SPECIES, speciesChanged); +// +// SpeciesReference species = bean.getSpecies(); +// +// JComponent requestFocus; +// +// AcquisitionMode acquisitionMode; +// Optional<SizeMeasureTypeReference> sizeMeasureType = Optional.empty(); +// Optional<WeightMeasureTypeReference> weightMeasureType = Optional.empty(); +// +// if (create) { +// +// acquisitionMode = AcquisitionMode.byEffectif; +// if (model.isCreate()) { +// +// if (editingRow > 0) { +// // on recupere l'species de la ligne precedente +// TargetLengthDto editBean = model.getValueAt(editingRow - 1); +// species = editBean.getSpecies(); +// acquisitionMode = AcquisitionMode.valueOf(editBean.getAcquisitionMode()); +// } +// +// // on utilise le code par defaut de l'espèce +// sizeMeasureType = getSpeciesDefaultSizeMeasureType(species); +// ui.getModel().setDefaultSizeMeasureType(sizeMeasureType.orElse(null)); +// if (!sizeMeasureType.isPresent()) { +// // au cas où, on repasse toujours sur lf +// sizeMeasureType = Optional.of(SizeMeasureTypeReference.getLf(ui.getSizeMeasureType().getModel().getData())); +// } +// weightMeasureType = getSpeciesDefaultWeightMeasureType(species); +// ui.getModel().setDefaultWeightMeasureType(weightMeasureType.orElse(null)); +// } +// requestFocus = ui.getSpecies(); +// } else { +// requestFocus = ui.getCount(); +// acquisitionMode = AcquisitionMode.valueOf(bean.getAcquisitionMode()); +// sizeMeasureType = Optional.ofNullable(bean.getSizeMeasureType()); +// weightMeasureType = Optional.ofNullable(bean.getWeightMeasureType()); +// } +// +// ui.getAcquisitionModeGroup().setSelectedValue(null); +// ui.getAcquisitionModeGroup().setSelectedValue(acquisitionMode); +// +// ui.getSizeMeasureType().setSelectedItem(null); +// sizeMeasureType.ifPresent(sizeMeasureTypeDtoReferentialReference -> ui.getSizeMeasureType().setSelectedItem(sizeMeasureTypeDtoReferentialReference)); +// +// ui.getWeightMeasureType().setSelectedItem(null); +// weightMeasureType.ifPresent(weightMeasureTypeDtoReferentialReference -> ui.getWeightMeasureType().setSelectedItem(weightMeasureTypeDtoReferentialReference)); +// +// // on met a jour l'espece +// ui.getSpecies().setSelectedItem(null); +// if (species != null) { +// log.debug(prefix + "species to use " + species); +// ui.getSpecies().setSelectedItem(species); +// } +// setFormFocusOwner(requestFocus); +// +// tableEditBean.addPropertyChangeListener(TargetLengthDto.PROPERTY_WEIGHT, weightChanged); +// tableEditBean.addPropertyChangeListener(TargetLengthDto.PROPERTY_LENGTH, lengthChanged); +// tableEditBean.addPropertyChangeListener(TargetLengthDto.PROPERTY_SPECIES, speciesChanged); } - @Override + // @Override public void resetIsWeightComputed() { getModel().getTableEditBean().setIsWeightComputed(false); ((TargetSampleUI) ui).getWeight().grabFocus(); } - @Override + // @Override public void resetIsLengthComputed() { getModel().getTableEditBean().setIsLengthComputed(false); ((TargetSampleUI) ui).getLength().grabFocus(); } - @Override - protected void onSpeciesChanged(SpeciesReference species) { - // on utilise le code par defaut de l'espèce - Optional<SizeMeasureTypeReference> sizeMeasureType = getSpeciesDefaultSizeMeasureType(species); - ((TargetSampleUI) ui).getModel().setDefaultSizeMeasureType(sizeMeasureType.orElse(null)); - resetDefaultSizeMeasureType(); - } - - @Override - protected void onWeightChanged(Float newValue) { - getModel().getTableEditBean().setIsWeightComputed(false); - } +// @Override +// protected void onSpeciesChanged(SpeciesReference species) { +// // on utilise le code par defaut de l'espèce +// Optional<SizeMeasureTypeReference> sizeMeasureType = getSpeciesDefaultSizeMeasureType(species); +// ((TargetSampleUI) ui).getModel().setDefaultSizeMeasureType(sizeMeasureType.orElse(null)); +// resetDefaultSizeMeasureType(); +// Optional<WeightMeasureTypeReference> weightMeasureType = getSpeciesDefaultWeightMeasureType(species); +// ((TargetSampleUI) ui).getModel().setDefaultWeightMeasureType(weightMeasureType.orElse(null)); +// resetDefaultWeightMeasureType(); +// } - @Override - protected void onLengthChanged(Float newValue) { - getModel().getTableEditBean().setIsLengthComputed(false); - } +// @Override +// protected void onWeightChanged(Float newValue) { +// getModel().getTableEditBean().setIsWeightComputed(false); +// } - public void resetDefaultSizeMeasureType() { - TargetSampleUI ui = (TargetSampleUI) getUi(); - ui.getSizeMeasureType().setSelectedItem(null); - ui.getSizeMeasureType().setSelectedItem(ui.getModel().getDefaultSizeMeasureType()); - } +// @Override +// protected void onLengthChanged(Float newValue) { +// getModel().getTableEditBean().setIsLengthComputed(false); +// } private void checkSizeMeasureTypes(List<SizeMeasureTypeReference> data) { if (data.size() != 2) { @@ -344,29 +313,4 @@ public class TargetSampleUIHandler<U extends ContentTableUI<TargetSampleDto, Tar } } -// @Override -// protected ContentMode computeWritableContentMode() { -// ContentMode mode = super.computeWritableContentMode(); -// -// String selectedId = getSelectedId(); -// -// boolean showData = getTargetSampleService().canUseTargetSample(selectedId, discarded); -// -// getModel().setShowData(showData); -// -// if (mode == ContentMode.UPDATE && !showData) { -// -// mode = ContentMode.READ; -// -// addMessage(ui, -// NuitonValidatorScope.INFO, -// getTypeI18nKey(SetDto.class), -// discarded ? -// t("observe.data.ps.observation.Set.message.no.targetCatch") : -// t("observe.data.ps.observation.Set.message.no.targetDiscarded") -// ); -// } -// return mode; -// } - } ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/TargetSampleUIModel.java ===================================== @@ -22,17 +22,20 @@ package fr.ird.observe.client.datasource.editor.content.data.ps.observation; * #L% */ +import fr.ird.observe.client.constants.AcquisitionMode; import fr.ird.observe.client.datasource.api.ObserveDataSourcesManagerApplicationComponent; import fr.ird.observe.client.datasource.api.ObserveSwingDataSource; import fr.ird.observe.client.datasource.editor.content.ContentMode; +import fr.ird.observe.client.datasource.editor.content.data.sample.SampleUIModel; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableMeta; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableModel; import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUI; -import fr.ird.observe.client.datasource.editor.content.data.table.ContentTableUIModel; import fr.ird.observe.dto.data.ps.observation.TargetLengthDto; import fr.ird.observe.dto.data.ps.observation.TargetLengthHelper; import fr.ird.observe.dto.data.ps.observation.TargetSampleDto; import fr.ird.observe.dto.referential.common.SizeMeasureTypeReference; +import fr.ird.observe.dto.referential.common.SpeciesReference; +import fr.ird.observe.dto.referential.common.WeightMeasureTypeReference; import fr.ird.observe.navigation.model.select.ObserveSelectModelApplicationComponent; import fr.ird.observe.navigation.model.select.ObserveSelectNode; @@ -47,10 +50,7 @@ import java.util.List; * @author Tony Chemit - dev(a)tchemit.fr * @since XXX */ -public class TargetSampleUIModel extends ContentTableUIModel<TargetSampleDto, TargetLengthDto> { - - public static final String PROPERTY_DEFAULT_SIZE_MEASURE_TYPE = "defaultSizeMeasureType"; - private SizeMeasureTypeReference defaultSizeMeasureType; +public class TargetSampleUIModel extends SampleUIModel<TargetSampleDto, TargetLengthDto> { public TargetSampleUIModel(TargetSampleUI ui) { @@ -120,13 +120,43 @@ public class TargetSampleUIModel extends ContentTableUIModel<TargetSampleDto, Ta return mainDataSource.getPsObservationTargetSampleService().canUseTargetSample(selectedId, ((TargetSampleUI)ui).getHandler().isDiscarded()); } - public SizeMeasureTypeReference getDefaultSizeMeasureType() { - return defaultSizeMeasureType; + @Override + public SpeciesReference getSpecies() { + return getTableEditBean().getSpecies(); + } + + @Override + public SizeMeasureTypeReference getSizeMeasureType() { + return getTableEditBean().getSizeMeasureType(); + } + + @Override + public WeightMeasureTypeReference getWeightMeasureType() { + return getTableEditBean().getWeightMeasureType(); + } + + @Override + public int getAcquisitionMode() { + return getTableEditBean().getAcquisitionMode(); } - public void setDefaultSizeMeasureType(SizeMeasureTypeReference defaultSizeMeasureType) { - SizeMeasureTypeReference oldValue = getDefaultSizeMeasureType(); - this.defaultSizeMeasureType = defaultSizeMeasureType; - firePropertyChange(PROPERTY_DEFAULT_SIZE_MEASURE_TYPE, oldValue, defaultSizeMeasureType); + @Override + public void setAcquisitionMode(int acquisitionMode) { + getTableEditBean().setAcquisitionMode(acquisitionMode); + } + + @Override + public AcquisitionMode getDefaultAcquisitionMode() { + return AcquisitionMode.byEffectif; + } + + @Override + public void setWeightMeasureType(WeightMeasureTypeReference weightMeasureType) { + getTableEditBean().setWeightMeasureType(weightMeasureType); + } + + @Override + public void setSizeMeasureType(SizeMeasureTypeReference sizeMeasureType) { + getTableEditBean().setSizeMeasureType(sizeMeasureType); } } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/609458e569676062840eccc58… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/609458e569676062840eccc58… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 3 commits: [LL][Echantillon logbook] Cosmétique (Partie dto, persistence)- See #1536
by Tony CHEMIT 03 Jul '20

03 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 784f68dc by Tony Chemit at 2020-07-03T20:02:16+02:00 [LL][Echantillon logbook] Cosmétique (Partie dto, persistence)- See #1536 - - - - - fb6242ad by Tony Chemit at 2020-07-03T20:02:35+02:00 [LL][Echantillon logbook] Cosmétique (Partie ui commune)- See #1536 - - - - - 48fc9d3c by Tony Chemit at 2020-07-03T20:02:41+02:00 [LL][Echantillon logbook] Cosmétique (Partie ui ll)- See #1536 - - - - - 30 changed files: - client-core/src/main/java/fr/ird/observe/client/util/ObserveKeyStrokesSupport.java - client-datasource-editor-common/src/main/i18n/getters/java.getter - client-datasource-editor-common/src/main/i18n/getters/jaxx.getter - + client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/sample/SampleUI.java - + client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/sample/SampleUIHandler.java - + client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/sample/SampleUIModel.java - + client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/sample/actions/ResetSizeMeasureType.java - + client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/sample/actions/ResetWeightMeasureType.java - + client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/data/sample/actions/SampleUIActionSupport.java - client-datasource-editor-common/src/main/java/fr/ird/observe/client/datasource/editor/content/ref/common/SpeciesUI.jaxx - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/SamplePartUI.jcss → client-datasource-editor-common/src/main/resources/fr/ird/observe/client/datasource/editor/content/data/sample/CommonSample.jcss - client-datasource-editor-ll/src/main/i18n/getters/jaxx.getter - + client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/SampleImplHandler.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/SamplePartUI.jaxx - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/SamplePartUIHandler.java - client-datasource-editor-ll/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ll/logbook/SamplePartUIModel.java - dto/src/main/models/Observe-01-referential-common.model - dto/src/main/models/Observe-20-data-ps-observation.model - observe-i18n/src/main/i18n/translations/observe_en_GB.properties - observe-i18n/src/main/i18n/translations/observe_es_ES.properties - observe-i18n/src/main/i18n/translations/observe_fr_FR.properties - persistence/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_8_0.java - persistence/src/main/models/Observe-01-referential-common.model - persistence/src/main/models/Observe-20-data-ps-observation.model - persistence/src/main/resources/db/migration/8.0/101_create_common_schema-common.sql - persistence/src/main/resources/db/migration/8.0/103_create_ps_observation_schema-common.sql - services-local/src/test/java/fr/ird/observe/services/local/service/actions/synchro/UnidirectionalSynchronizeReferentialTest.java - test/src/main/resources/db/8.0/dataForTestLongline.sql.gz - test/src/main/resources/db/8.0/dataForTestSeine.sql.gz - test/src/main/resources/db/8.0/empty_h2.sql.gz The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5fed91105ea933babc780ad8… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5fed91105ea933babc780ad8… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 2 commits: [PS] Pratiques de remise à l'eau, cétacés non trouvés - Closes #1564 (report v8)
by Tony CHEMIT 03 Jul '20

03 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 602e639c by Tony Chemit at 2020-07-02T12:20:58+02:00 [PS] Pratiques de remise à l&#39;eau, cétacés non trouvés - Closes #1564 (report v8) - - - - - 5fed9110 by Tony Chemit at 2020-07-03T19:24:41+02:00 le reset reste actif sur les éditeurs de nombres même si ceci ne sont pas actif - Closes #1568 le reset des combo box ne fonctionne pas bien (alors que l&#39;action associée Ctrl+D est ok) - Closes #1569 - - - - - 10 changed files: - client-configuration/src/main/config/Client.ini - client-configuration/src/main/i18n/getters/config.getter - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetCatchReleaseUIHandler.java - observe-i18n/src/main/i18n/translations/observe_en_GB.properties - observe-i18n/src/main/i18n/translations/observe_es_ES.properties - observe-i18n/src/main/i18n/translations/observe_fr_FR.properties - pom.xml - server-core/src/main/filtered-resources/mapping - services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java - services/src/main/java/fr/ird/observe/services/service/referential/ReferentialService.java Changes: ===================================== client-configuration/src/main/config/Client.ini ===================================== @@ -402,12 +402,6 @@ key = sizeMeasureType.seine.observation.targetSample type = String[] defaultValue = [\"fr.ird.referential.common.SizeMeasureType#1433499466774#0.529249255312607\", \"fr.ird.referential.common.SizeMeasureType#1433499465700#0.0902433863375336\"] -[option speciesGroupSeineObservationNonTargetCatchReleaseId] -description = observe.config.speciesGroup.seine.observation.nonTargetCatchRelease -key = speciesGroup.seine.observation.nonTargetCatchRelease -type = String[] -defaultValue = [\"fr.ird.referential.common.SpeciesGroup#1445863056144#0.9820877553253712\", \"fr.ird.referential.common.SpeciesGroup#1239832683690#0.24333033683679461\", \"fr.ird.referential.common.SpeciesGroup#1446014286433#0.6480183366605247\", \"fr.ird.referential.common.SpeciesGroup#1239832683689#0.7120116158620075\"] - [option speciesListSeineObservationSchoolEstimateId] description = observe.config.speciesList.seine.observation.schoolEstimate key = speciesList.seine.observation.schoolEstimate ===================================== client-configuration/src/main/i18n/getters/config.getter ===================================== @@ -77,7 +77,6 @@ observe.config.showMigrationSql observe.config.showSql observe.config.simplifiedObjectTypeSpecializedRules.description observe.config.sizeMeasureType.seine.observation.targetSample -observe.config.speciesGroup.seine.observation.nonTargetCatchRelease observe.config.speciesList.longline.common.trip observe.config.speciesList.longline.depredator observe.config.speciesList.longline.landing ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetCatchReleaseUIHandler.java ===================================== @@ -115,7 +115,8 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetNon private ReferentialReferencesFilter<SpeciesDto, SpeciesReference> newSpeciesList() { return incomingReferences -> { - ReferentialDtoReferenceSet<SpeciesReference> sampleSpecies = getPsObservationNonTargetCatchReleaseService().getSampleSpecies(getModel().getSelectedId(), getClientConfig().getSpeciesGroupSeineObservationNonTargetCatchReleaseId()); + String[] speciesGroupIds = speciesGroupDtoMap.keySet().toArray(new String[0]); + ReferentialDtoReferenceSet<SpeciesReference> sampleSpecies = getPsObservationNonTargetCatchReleaseService().getSampleSpecies(getModel().getSelectedId(), speciesGroupIds); return new LinkedList<>(sampleSpecies.toSet()); }; } @@ -124,7 +125,7 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetNon public void afterInit(NonTargetCatchReleaseUI ui) { super.afterInit(ui); speciesGroupDtoMap = new TreeMap<>(); - getReferentialService().getReferentialDtoSet(SpeciesGroupDto.class, null, getClientConfig().getSpeciesGroupSeineObservationNonTargetCatchReleaseId()).forEach(id -> speciesGroupDtoMap.put(id.getId(), id)); + getReferentialService().loadSensibleSpeciesGroup().forEach(id -> speciesGroupDtoMap.put(id.getId(), id)); } @Override ===================================== observe-i18n/src/main/i18n/translations/observe_en_GB.properties ===================================== @@ -529,7 +529,6 @@ observe.config.showMigrationSql=Show migration sql queries observe.config.showSql=Show sql observe.config.simplifiedObjectTypeSpecializedRules.description=simplified object type specialized rules observe.config.sizeMeasureType.seine.observation.targetSample=Size measure types used to filter target sample species -observe.config.speciesGroup.seine.observation.nonTargetCatchRelease=Species groups used to filter non target catch release species observe.config.speciesList.longline.common.trip=Species for trip longline observe.config.speciesList.longline.depredator=Species for observation depredator observe.config.speciesList.longline.landing=Species for logbook landings ===================================== observe-i18n/src/main/i18n/translations/observe_es_ES.properties ===================================== @@ -529,7 +529,6 @@ observe.config.showMigrationSql=Mostrar en los logs las consultas realizadas dur observe.config.showSql=Mostrar en todas las consultas sql ejecutadas observe.config.simplifiedObjectTypeSpecializedRules.description=simplified object type specialized rules \#TODO observe.config.sizeMeasureType.seine.observation.targetSample=Size measure types used to filter target sample species \#TODO -observe.config.speciesGroup.seine.observation.nonTargetCatchRelease=Species groups used to filter non target catch release species \#TODO observe.config.speciesList.longline.common.trip=Espèces ciébles pour les marées Palangre observe.config.speciesList.longline.depredator=Espèces pour les déprédations observe.config.speciesList.longline.landing=Espèces pour les débarquements Logbook ===================================== observe-i18n/src/main/i18n/translations/observe_fr_FR.properties ===================================== @@ -529,7 +529,6 @@ observe.config.showMigrationSql=Afficher dans les logs les requêtes jouées lor observe.config.showSql=Afficher dans les logs toutes les requêtes sql executées observe.config.simplifiedObjectTypeSpecializedRules.description=Liste des règles supplémantaires pour la détermination du type simplifié d'un DCP observe.config.sizeMeasureType.seine.observation.targetSample=Types de mesures de taille utilisées dans les captures d'espèces ciblées -observe.config.speciesGroup.seine.observation.nonTargetCatchRelease=Groupes d'espèces utilisés dans les mode de libération observe.config.speciesList.longline.common.trip=Espèces ciébles pour les marées Palangre observe.config.speciesList.longline.depredator=Espèces pour les déprédations observe.config.speciesList.longline.landing=Espèces pour les débarquements Logbook ===================================== pom.xml ===================================== @@ -170,7 +170,7 @@ <!-- <lib.version.java4all.topia>1.17</lib.version.java4all.topia>--> <!-- <lib.version.java4all.eugene>3.0-alpha-34-SNAPSHOT</lib.version.java4all.eugene>--> -<!-- <lib.version.java4all.jaxx>3.0-alpha-72-SNAPSHOT</lib.version.java4all.jaxx>--> + <lib.version.java4all.jaxx>3.0-alpha-74</lib.version.java4all.jaxx> <!--<lib.version.java4all.application-context>1.0.3-SNAPSHOT</lib.version.java4all.application-context>--> <!--<lib.version.java4all.application-template>1.0.2-SNAPSHOT</lib.version.java4all.application-template>--> <!--<lib.version.java4all.i18n>4.0-beta-3-SNAPSHOT</lib.version.java4all.i18n>--> ===================================== server-core/src/main/filtered-resources/mapping ===================================== @@ -271,6 +271,7 @@ GET /api/v1/referential/ReferentialService/loadDto POST /api/v1/referential/ReferentialService/loadDtoList v1.referential.ReferentialServiceRestApi.loadDtoList GET /api/v1/referential/ReferentialService/loadForm v1.referential.ReferentialServiceRestApi.loadForm GET /api/v1/referential/ReferentialService/loadReference v1.referential.ReferentialServiceRestApi.loadReference +GET /api/v1/referential/ReferentialService/loadSensibleSpeciesGroup v1.referential.ReferentialServiceRestApi.loadSensibleSpeciesGroup GET /api/v1/referential/ReferentialService/preCreate v1.referential.ReferentialServiceRestApi.preCreate POST /api/v1/referential/ReferentialService/replaceReference v1.referential.ReferentialServiceRestApi.replaceReference POST /api/v1/referential/ReferentialService/save v1.referential.ReferentialServiceRestApi.save ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java ===================================== @@ -33,6 +33,7 @@ import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; import fr.ird.observe.dto.referential.ReferenceStatus; import fr.ird.observe.dto.referential.ReferentialDto; import fr.ird.observe.dto.referential.ReferentialLocale; +import fr.ird.observe.dto.referential.common.SpeciesGroupDto; import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.entities.ObserveEntityEnum; import fr.ird.observe.entities.ObserveTopiaPersistenceContext; @@ -135,6 +136,12 @@ public class ReferentialServiceLocal extends ObserveServiceLocal implements Refe return spi.toDto(getReferentialLocale(), type, entities); } + @Override + public ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup() { + ImmutableSet<SpeciesGroupDto> speciesGroups = loadDtoList(SpeciesGroupDto.class); + return ImmutableSet.copyOf(speciesGroups.stream().filter(t -> !t.isSpeciesGroupReleaseModeEmpty()).collect(Collectors.toSet())); + } + @Override public <D extends ReferentialDto> D loadDto(Class<D> type, String id) { ReferentialEntity<D, ?> entity = loadEntity(type, id); ===================================== services/src/main/java/fr/ird/observe/services/service/referential/ReferentialService.java ===================================== @@ -28,6 +28,7 @@ import fr.ird.observe.dto.form.Form; import fr.ird.observe.dto.reference.ReferentialDtoReference; import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; import fr.ird.observe.dto.referential.ReferentialDto; +import fr.ird.observe.dto.referential.common.SpeciesGroupDto; import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.services.service.ObserveService; import fr.ird.observe.services.spi.ReadDataPermission; @@ -67,6 +68,10 @@ public interface ReferentialService extends ObserveService { @ReadReferentialPermission <D extends ReferentialDto> ImmutableSet<D> getReferentialDtoSet(Class<D> type, @Nullable Date lastUpdateDate, String... ids); + @ReadReferentialPermission + @Get + ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup(); + @ReadReferentialPermission @Get <D extends ReferentialDto> D loadDto(Class<D> type, String id); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/9cb293850605b3ecb0a92206… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/9cb293850605b3ecb0a92206… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] le reset reste actif sur les éditeurs de nombres même si ceci ne sont pas actif - Closes #1568
by Tony CHEMIT 03 Jul '20

03 Jul '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 82cbd449 by Tony Chemit at 2020-07-03T19:25:23+02:00 le reset reste actif sur les éditeurs de nombres même si ceci ne sont pas actif - Closes #1568 le reset des combo box ne fonctionne pas bien (alors que l&#39;action associée Ctrl+D est ok) - Closes #1569 - - - - - 1 changed file: - pom.xml Changes: ===================================== pom.xml ===================================== @@ -166,7 +166,7 @@ <observeToolkitVersion>3.7.29</observeToolkitVersion> <!--<lib.version.java4all.http>1.0.13</lib.version.java4all.http>--> <!--<lib.version.java4all.config>1.0.3</lib.version.java4all.config>--> - <!--<lib.version.java4all.jaxx>3.0-alpha-69-SNAPSHOT</lib.version.java4all.jaxx>--> + <lib.version.java4all.jaxx>3.0-alpha-74</lib.version.java4all.jaxx> <!--<lib.version.java4all.i18n>4.0-beta-8-SNAPSHOT</lib.version.java4all.i18n>--> <!--<lib.version.nuiton.topia>3.6-SNAPSHOT</lib.version.nuiton.topia>--> <!--<lib.version.java4all.eugene>3.0-alpha-21</lib.version.java4all.eugene>--> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/82cbd449c24922b1cbf241457… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/82cbd449c24922b1cbf241457… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] [PS] Pratiques de remise à l'eau, cétacés non trouvés - Closes #1564 (report v8)
by Tony CHEMIT 02 Jul '20

02 Jul '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 9cb29385 by Tony Chemit at 2020-07-02T12:17:19+02:00 [PS] Pratiques de remise à l&#39;eau, cétacés non trouvés - Closes #1564 (report v8) - - - - - 8 changed files: - client-configuration/src/main/config/Client.ini - client-configuration/src/main/i18n/getters/config.getter - client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetCatchReleaseUIHandler.java - observe-i18n/src/main/i18n/translations/observe_en_GB.properties - observe-i18n/src/main/i18n/translations/observe_es_ES.properties - observe-i18n/src/main/i18n/translations/observe_fr_FR.properties - services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java - services/src/main/java/fr/ird/observe/services/service/referential/ReferentialService.java Changes: ===================================== client-configuration/src/main/config/Client.ini ===================================== @@ -402,12 +402,6 @@ key = sizeMeasureType.seine.observation.targetSample type = String[] defaultValue = [\"fr.ird.referential.common.SizeMeasureType#1433499466774#0.529249255312607\", \"fr.ird.referential.common.SizeMeasureType#1433499465700#0.0902433863375336\"] -[option speciesGroupSeineObservationNonTargetCatchReleaseId] -description = observe.config.speciesGroup.seine.observation.nonTargetCatchRelease -key = speciesGroup.seine.observation.nonTargetCatchRelease -type = String[] -defaultValue = [\"fr.ird.referential.common.SpeciesGroup#1445863056144#0.9820877553253712\", \"fr.ird.referential.common.SpeciesGroup#1239832683690#0.24333033683679461\", \"fr.ird.referential.common.SpeciesGroup#1446014286433#0.6480183366605247\", \"fr.ird.referential.common.SpeciesGroup#1239832683689#0.7120116158620075\"] - [option speciesListSeineObservationSchoolEstimateId] description = observe.config.speciesList.seine.observation.schoolEstimate key = speciesList.seine.observation.schoolEstimate ===================================== client-configuration/src/main/i18n/getters/config.getter ===================================== @@ -77,7 +77,6 @@ observe.config.showMigrationSql observe.config.showSql observe.config.simplifiedObjectTypeSpecializedRules.description observe.config.sizeMeasureType.seine.observation.targetSample -observe.config.speciesGroup.seine.observation.nonTargetCatchRelease observe.config.speciesList.longline.common.trip observe.config.speciesList.longline.depredator observe.config.speciesList.longline.landing ===================================== client-datasource-editor-ps/src/main/java/fr/ird/observe/client/datasource/editor/content/data/ps/observation/NonTargetCatchReleaseUIHandler.java ===================================== @@ -115,7 +115,8 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetNon private ReferentialReferencesFilter<SpeciesDto, SpeciesReference> newSpeciesList() { return incomingReferences -> { - ReferentialDtoReferenceSet<SpeciesReference> sampleSpecies = getPsObservationNonTargetCatchReleaseService().getSampleSpecies(getModel().getSelectedId(), getClientConfig().getSpeciesGroupSeineObservationNonTargetCatchReleaseId()); + String[] speciesGroupIds = speciesGroupDtoMap.keySet().toArray(new String[0]); + ReferentialDtoReferenceSet<SpeciesReference> sampleSpecies = getPsObservationNonTargetCatchReleaseService().getSampleSpecies(getModel().getSelectedId(), speciesGroupIds); return new LinkedList<>(sampleSpecies.toSet()); }; } @@ -124,7 +125,7 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetNon public void afterInit(NonTargetCatchReleaseUI ui) { super.afterInit(ui); speciesGroupDtoMap = new TreeMap<>(); - getReferentialService().getReferentialDtoSet(SpeciesGroupDto.class, null, getClientConfig().getSpeciesGroupSeineObservationNonTargetCatchReleaseId()).forEach(id -> speciesGroupDtoMap.put(id.getId(), id)); + getReferentialService().loadSensibleSpeciesGroup().forEach(id -> speciesGroupDtoMap.put(id.getId(), id)); } @Override ===================================== observe-i18n/src/main/i18n/translations/observe_en_GB.properties ===================================== @@ -529,7 +529,6 @@ observe.config.showMigrationSql=Show migration sql queries observe.config.showSql=Show sql observe.config.simplifiedObjectTypeSpecializedRules.description=simplified object type specialized rules observe.config.sizeMeasureType.seine.observation.targetSample=Size measure types used to filter target sample species -observe.config.speciesGroup.seine.observation.nonTargetCatchRelease=Species groups used to filter non target catch release species observe.config.speciesList.longline.common.trip=Species for trip longline observe.config.speciesList.longline.depredator=Species for observation depredator observe.config.speciesList.longline.landing=Species for logbook landings ===================================== observe-i18n/src/main/i18n/translations/observe_es_ES.properties ===================================== @@ -529,7 +529,6 @@ observe.config.showMigrationSql=Mostrar en los logs las consultas realizadas dur observe.config.showSql=Mostrar en todas las consultas sql ejecutadas observe.config.simplifiedObjectTypeSpecializedRules.description=simplified object type specialized rules \#TODO observe.config.sizeMeasureType.seine.observation.targetSample=Size measure types used to filter target sample species \#TODO -observe.config.speciesGroup.seine.observation.nonTargetCatchRelease=Species groups used to filter non target catch release species \#TODO observe.config.speciesList.longline.common.trip=Espèces ciébles pour les marées Palangre observe.config.speciesList.longline.depredator=Espèces pour les déprédations observe.config.speciesList.longline.landing=Espèces pour les débarquements Logbook ===================================== observe-i18n/src/main/i18n/translations/observe_fr_FR.properties ===================================== @@ -529,7 +529,6 @@ observe.config.showMigrationSql=Afficher dans les logs les requêtes jouées lor observe.config.showSql=Afficher dans les logs toutes les requêtes sql executées observe.config.simplifiedObjectTypeSpecializedRules.description=Liste des règles supplémantaires pour la détermination du type simplifié d'un DCP observe.config.sizeMeasureType.seine.observation.targetSample=Types de mesures de taille utilisées dans les captures d'espèces ciblées -observe.config.speciesGroup.seine.observation.nonTargetCatchRelease=Groupes d'espèces utilisés dans les mode de libération observe.config.speciesList.longline.common.trip=Espèces ciébles pour les marées Palangre observe.config.speciesList.longline.depredator=Espèces pour les déprédations observe.config.speciesList.longline.landing=Espèces pour les débarquements Logbook ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java ===================================== @@ -33,6 +33,7 @@ import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; import fr.ird.observe.dto.referential.ReferenceStatus; import fr.ird.observe.dto.referential.ReferentialDto; import fr.ird.observe.dto.referential.ReferentialLocale; +import fr.ird.observe.dto.referential.common.SpeciesGroupDto; import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.entities.ObserveEntityEnum; import fr.ird.observe.entities.ObserveTopiaPersistenceContext; @@ -135,6 +136,12 @@ public class ReferentialServiceLocal extends ObserveServiceLocal implements Refe return spi.toDto(getReferentialLocale(), type, entities); } + @Override + public ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup() { + ImmutableSet<SpeciesGroupDto> speciesGroups = loadDtoList(SpeciesGroupDto.class); + return ImmutableSet.copyOf(speciesGroups.stream().filter(t -> !t.isSpeciesGroupReleaseModeEmpty()).collect(Collectors.toSet())); + } + @Override public <D extends ReferentialDto> D loadDto(Class<D> type, String id) { ReferentialEntity<D, ?> entity = loadEntity(type, id); ===================================== services/src/main/java/fr/ird/observe/services/service/referential/ReferentialService.java ===================================== @@ -28,6 +28,7 @@ import fr.ird.observe.dto.form.Form; import fr.ird.observe.dto.reference.ReferentialDtoReference; import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; import fr.ird.observe.dto.referential.ReferentialDto; +import fr.ird.observe.dto.referential.common.SpeciesGroupDto; import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.services.service.ObserveService; import fr.ird.observe.services.spi.ReadDataPermission; @@ -67,6 +68,10 @@ public interface ReferentialService extends ObserveService { @ReadReferentialPermission <D extends ReferentialDto> ImmutableSet<D> getReferentialDtoSet(Class<D> type, @Nullable Date lastUpdateDate, String... ids); + @ReadReferentialPermission + @Get + ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup(); + @ReadReferentialPermission @Get <D extends ReferentialDto> D loadDto(Class<D> type, String id); View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/9cb293850605b3ecb0a92206e… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/9cb293850605b3ecb0a92206e… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop-7.x] [PS] Pratiques de remise à l'eau, cétacés non trouvés - Closes #1564
by Tony CHEMIT 02 Jul '20

02 Jul '20
Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: b5a3eb17 by Tony Chemit at 2020-07-02T12:10:40+02:00 [PS] Pratiques de remise à l&#39;eau, cétacés non trouvés - Closes #1564 - - - - - 5 changed files: - client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchReleaseUIHandler.java - − dto/src/main/java/fr/ird/observe/dto/referential/SpeciesGroupHelper.java - services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/NonTargetCatchReleaseServiceLocal.java - services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java - services/src/main/java/fr/ird/observe/services/service/data/seine/NonTargetCatchReleaseService.java Changes: ===================================== client-core/src/main/java/fr/ird/observe/client/ui/content/data/seine/NonTargetCatchReleaseUIHandler.java ===================================== @@ -21,6 +21,7 @@ */ package fr.ird.observe.client.ui.content.data.seine; +import com.google.common.collect.ImmutableSet; import fr.ird.observe.client.constants.AcquisitionMode; import fr.ird.observe.client.db.constants.DataContextType; import fr.ird.observe.client.ui.content.ContentMode; @@ -42,8 +43,8 @@ import fr.ird.observe.dto.referential.seine.NonTargetCatchReleaseConformityRefer import fr.ird.observe.dto.referential.seine.NonTargetCatchReleaseStatusReference; import fr.ird.observe.dto.referential.seine.NonTargetCatchReleasingTimeReference; import fr.ird.observe.dto.result.SaveResultDto; -import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.runtime.spi.UIHandler; import org.nuiton.validator.NuitonValidatorScope; @@ -85,8 +86,11 @@ public class NonTargetCatchReleaseUIHandler extends ContentTableUIHandler<SetSei updateSpecies(species); } }; + addReferentialFilter(NonTargetCatchReleaseDto.PROPERTY_SPECIES, incomingReferences -> { - ReferentialDtoReferenceSet<SpeciesReference> sampleSpecies = getNonTargetCatchReleaseService().getSampleSpecies(getSelectedParentId()); + + ImmutableSet<String> speciesGroupIds = ImmutableSet.copyOf(speciesGroupDtoMap.keySet()); + ReferentialDtoReferenceSet<SpeciesReference> sampleSpecies = getNonTargetCatchReleaseService().getSampleSpecies(getSelectedParentId(), speciesGroupIds); return new LinkedList<>(sampleSpecies.toSet()); }); } ===================================== dto/src/main/java/fr/ird/observe/dto/referential/SpeciesGroupHelper.java deleted ===================================== @@ -1,36 +0,0 @@ -package fr.ird.observe.dto.referential; - -/*- - * #%L - * ObServe :: Dto - * %% - * Copyright (C) 2008 - 2020 IRD, Code Lutin, Ultreia.io - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import java.util.Arrays; -import java.util.List; - -public class SpeciesGroupHelper extends GeneratedSpeciesGroupHelper { - //FIXME PROTECTED-ID - public static final List<String> SPECIES_GROUP_IDS = Arrays.asList( - "fr.ird.observe.entities.referentiel.SpeciesGroup#1445863056144#0.9820877553253712", - "fr.ird.observe.entities.referentiel.SpeciesGroup#1239832683690#0.24333033683679461", - "fr.ird.observe.entities.referentiel.SpeciesGroup#1446014286433#0.6480183366605247", - "fr.ird.observe.entities.referentiel.SpeciesGroup#1239832683689#0.7120116158620075" - ); -} ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/data/seine/NonTargetCatchReleaseServiceLocal.java ===================================== @@ -22,11 +22,11 @@ package fr.ird.observe.services.local.service.data.seine; * #L% */ +import com.google.common.collect.ImmutableSet; import fr.ird.observe.dto.data.seine.SetSeineNonTargetCatchReleaseDto; import fr.ird.observe.dto.form.Form; import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; import fr.ird.observe.dto.referential.SpeciesReference; -import fr.ird.observe.dto.referential.SpeciesGroupHelper; import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.entities.seine.NonTargetCatch; import fr.ird.observe.entities.seine.SetSeine; @@ -45,7 +45,7 @@ public class NonTargetCatchReleaseServiceLocal extends ObserveServiceLocal imple private static final Logger log = LogManager.getLogger(NonTargetCatchReleaseServiceLocal.class); @Override - public ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId) { + public ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId, ImmutableSet<String> speciesGroupIds) { if (log.isTraceEnabled()) { log.trace("getSampleSpecies(" + setSeineId + ")"); } @@ -55,7 +55,7 @@ public class NonTargetCatchReleaseServiceLocal extends ObserveServiceLocal imple return SPECIES_SPI.toReferentialReferenceSet(setSeine.getNonTargetCatch().stream() .map(NonTargetCatch::getSpecies) .distinct() - .filter(s -> SpeciesGroupHelper.SPECIES_GROUP_IDS.contains(s.getSpeciesGroup().getTopiaId())) + .filter(s -> speciesGroupIds.contains(s.getSpeciesGroup().getTopiaId())) .collect(Collectors.toList()), getReferentialLocale(), null); } ===================================== services-local/src/main/java/fr/ird/observe/services/local/service/referential/ReferentialServiceLocal.java ===================================== @@ -43,7 +43,6 @@ import fr.ird.observe.dto.referential.ReferentialDto; import fr.ird.observe.dto.referential.ReferentialLocale; import fr.ird.observe.dto.referential.SpeciesDto; import fr.ird.observe.dto.referential.SpeciesGroupDto; -import fr.ird.observe.dto.referential.SpeciesGroupHelper; import fr.ird.observe.dto.referential.seine.ObservedSystemReference; import fr.ird.observe.dto.result.SaveResultDto; import fr.ird.observe.entities.ObserveDataEntity; @@ -96,6 +95,7 @@ import java.util.Objects; import java.util.Optional; import java.util.Set; import java.util.function.Predicate; +import java.util.stream.Collector; import java.util.stream.Collectors; /** @@ -169,11 +169,8 @@ public class ReferentialServiceLocal extends ObserveServiceLocal implements Refe @Override public ImmutableSet<SpeciesGroupDto> loadSensibleSpeciesGroup() { - ImmutableSet.Builder<SpeciesGroupDto> result = ImmutableSet.builder(); - for (String speciesGroupId : SpeciesGroupHelper.SPECIES_GROUP_IDS) { - result.add(loadSpeciesGroup(speciesGroupId)); - } - return result.build(); + ImmutableSet<SpeciesGroupDto> speciesGroups = loadDtoList(SpeciesGroupDto.class); + return ImmutableSet.copyOf(speciesGroups.stream().filter(t -> !t.isSpeciesGroupReleaseModeEmpty()).collect(Collectors.toSet())); } @Override @@ -307,13 +304,13 @@ public class ReferentialServiceLocal extends ObserveServiceLocal implements Refe try { lastUpdateOptional = getLastUpdate(dtoType); } catch (Exception e) { - throw new IllegalStateException("Can't find lastUpdateDate for referential: "+dtoType.getName()); + throw new IllegalStateException("Can't find lastUpdateDate for referential: " + dtoType.getName()); } ReferentialDtoReferenceSet<R> result = null; if (lastUpdateOptional.isPresent() && (lastUpdateDate == null || lastUpdateOptional.get().after(lastUpdateDate))) { List<E> entities = getTopiaPersistenceContext().loadEntities(entityType); - if (filter!=null) { - entities = entities.stream().filter(filter).collect(Collectors.toList()); + if (filter != null) { + entities = entities.stream().filter(filter).collect(Collectors.toList()); } result = toReferentialReferenceSet(spi.toEntityReferenceBinder(), entities, lastUpdateOptional.get()); } ===================================== services/src/main/java/fr/ird/observe/services/service/data/seine/NonTargetCatchReleaseService.java ===================================== @@ -22,6 +22,7 @@ package fr.ird.observe.services.service.data.seine; * #L% */ +import com.google.common.collect.ImmutableSet; import fr.ird.observe.dto.data.seine.SetSeineNonTargetCatchReleaseDto; import fr.ird.observe.dto.form.Form; import fr.ird.observe.dto.reference.ReferentialDtoReferenceSet; @@ -41,7 +42,7 @@ public interface NonTargetCatchReleaseService extends ObserveService { @Get @ReadDataPermission - ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId); + ReferentialDtoReferenceSet<SpeciesReference> getSampleSpecies(String setSeineId, ImmutableSet<String> speciesGroupIds); @Get @ReadDataPermission View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/b5a3eb17f937f8e7aea6b7ad1… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/b5a3eb17f937f8e7aea6b7ad1… You're receiving this email because of your account on gitlab.com.
1 0
0 0
  • ← Newer
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.