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

December 2020

  • 1 participants
  • 96 discussions
[Git][ultreiaio/ird-observe][develop] [LL][Logbook] Quadrant - Closes #1675
by Tony CHEMIT 17 Dec '20

17 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: fb0090f8 by Tony Chemit at 2020-12-17T22:52:49+01:00 [LL][Logbook] Quadrant - Closes #1675 - - - - - 2 changed files: - services/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/ActivityDto-create-error-validation.xml - services/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/ActivityDto-update-error-validation.xml Changes: ===================================== services/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/ActivityDto-create-error-validation.xml ===================================== @@ -105,7 +105,7 @@ <field name="quadrant"> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ quadrant != null || latitude != null || longitude != null ]]> + <![CDATA[ quadrant != null || (latitude == null && longitude == null )]]> </param> <message>observe.data.Data.validation.required.quadrant</message> </field-validator> @@ -117,7 +117,7 @@ <field name="latitude"> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ quadrant != null || latitude != null || longitude != null ]]> + <![CDATA[ latitude != null || ( quadrant == null && longitude == null )]]> </param> <message>observe.Id.validation.required.latitude</message> </field-validator> @@ -129,7 +129,7 @@ <field name="longitude"> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ quadrant != null || latitude != null || longitude != null ]]> + <![CDATA[ longitude != null || ( quadrant == null && latitude == null )]]> </param> <message>observe.Id.validation.required.longitude</message> </field-validator> ===================================== services/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/ActivityDto-update-error-validation.xml ===================================== @@ -60,7 +60,7 @@ <field name="quadrant"> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ quadrant != null || latitude != null || longitude != null ]]> + <![CDATA[ quadrant != null || (latitude == null && longitude == null )]]> </param> <message>observe.data.Data.validation.required.quadrant</message> </field-validator> @@ -72,7 +72,7 @@ <field name="latitude"> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ quadrant != null || latitude != null || longitude != null ]]> + <![CDATA[ latitude != null || ( quadrant == null && longitude == null )]]> </param> <message>observe.Id.validation.required.latitude</message> </field-validator> @@ -84,7 +84,7 @@ <field name="longitude"> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ quadrant != null || latitude != null || longitude != null ]]> + <![CDATA[ longitude != null || ( quadrant == null && latitude == null )]]> </param> <message>observe.Id.validation.required.longitude</message> </field-validator> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/fb0090f8d4acbb49eb2c8c1bb… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/fb0090f8d4acbb49eb2c8c1bb… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] [LL][Logbooks] Pêche / Onglet cyalumes - Closes #1677
by Tony CHEMIT 17 Dec '20

17 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: a64ad720 by Tony Chemit at 2020-12-17T22:43:45+01:00 [LL][Logbooks] Pêche / Onglet cyalumes - Closes #1677 - - - - - 1 changed file: - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetUIHandler.java Changes: ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetUIHandler.java ===================================== @@ -118,19 +118,22 @@ class SetUIHandler extends GeneratedSetUIHandler { SetDto tableEditBean = getModel().getStates().getBean(); if (Objects.equals(true, newValue)) { - // depredated + // with lightsticks ui.getTotalLightsticksCount().setEnabled(true); ui.getLightsticksType().setEnabled(true); ui.getLightsticksColor().setEnabled(true); + ui.getLightsticksPerBasketCount().setEnabled(true); } else { - // not depredated + // without lightsticks ui.getTotalLightsticksCount().setEnabled(false); ui.getLightsticksType().setEnabled(false); ui.getLightsticksColor().setEnabled(false); + ui.getLightsticksPerBasketCount().setEnabled(false); tableEditBean.setTotalLightsticksCount(null); tableEditBean.setLightsticksType(null); tableEditBean.setLightsticksColor(null); + tableEditBean.setLightsticksPerBasketCount(null); } } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/a64ad7200f18f562af17771bb… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/a64ad7200f18f562af17771bb… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] [LL][Logbook] Quadrant - Closes #1675
by Tony CHEMIT 17 Dec '20

17 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: a5ac56b6 by Tony Chemit at 2020-12-17T22:37:40+01:00 [LL][Logbook] Quadrant - Closes #1675 - - - - - 2 changed files: - services/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/ActivityDto-create-error-validation.xml - services/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/ActivityDto-update-error-validation.xml Changes: ===================================== services/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/ActivityDto-create-error-validation.xml ===================================== @@ -103,18 +103,36 @@ </field-validator> </field> <field name="quadrant"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ quadrant != null || latitude != null || longitude != null ]]> + </param> + <message>observe.data.Data.validation.required.quadrant</message> + </field-validator> <field-validator type="quadrantDto" short-circuit="true"> <param name="ocean">currentLlCommonTrip.ocean</param> <message/> </field-validator> </field> <field name="latitude"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ quadrant != null || latitude != null || longitude != null ]]> + </param> + <message>observe.Id.validation.required.latitude</message> + </field-validator> <field-validator type="coordinateLatitudeDto" short-circuit="true"> <param name="editorName">coordinate</param> <message/> </field-validator> </field> <field name="longitude"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ quadrant != null || latitude != null || longitude != null ]]> + </param> + <message>observe.Id.validation.required.longitude</message> + </field-validator> <field-validator type="coordinateLongitudeDto" short-circuit="true"> <param name="editorName">coordinate</param> <message/> ===================================== services/validation/src/main/resources/fr/ird/observe/dto/data/ll/logbook/ActivityDto-update-error-validation.xml ===================================== @@ -56,19 +56,38 @@ <message/> </field-validator> </field> + <field name="quadrant"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ quadrant != null || latitude != null || longitude != null ]]> + </param> + <message>observe.data.Data.validation.required.quadrant</message> + </field-validator> <field-validator type="quadrantDto" short-circuit="true"> <param name="ocean">currentLlCommonTrip.ocean</param> <message/> </field-validator> </field> <field name="latitude"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ quadrant != null || latitude != null || longitude != null ]]> + </param> + <message>observe.Id.validation.required.latitude</message> + </field-validator> <field-validator type="coordinateLatitudeDto" short-circuit="true"> <param name="editorName">coordinate</param> <message/> </field-validator> </field> <field name="longitude"> + <field-validator type="fieldexpression" short-circuit="true"> + <param name="expression"> + <![CDATA[ quadrant != null || latitude != null || longitude != null ]]> + </param> + <message>observe.Id.validation.required.longitude</message> + </field-validator> <field-validator type="coordinateLongitudeDto" short-circuit="true"> <param name="editorName">coordinate</param> <message/> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/a5ac56b6f5f569078b3ed0a3c… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/a5ac56b6f5f569078b3ed0a3c… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 2 commits: [LL][Logbook] Quadrant - See #1675
by Tony CHEMIT 17 Dec '20

17 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: cc1912bb by Tony Chemit at 2020-12-17T22:13:26+01:00 [LL][Logbook] Quadrant - See #1675 ajout du validateur sur le quadrant - - - - - 63b22d79 by Tony Chemit at 2020-12-17T22:36:42+01:00 go to jaxx snapshot - - - - - 2 changed files: - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUI.jaxx - pom.xml Changes: ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUI.jaxx ===================================== @@ -55,6 +55,7 @@ errorTableModel='{getErrorTableModel()}' context='create'> <field name='longitude' component='coordinate'/> <field name='latitude' component='coordinate'/> + <field name='quadrant' component='coordinate'/> <field name='endDate' component='endTimeStamp'/> <field name='endTime' component='endTimeStamp'/> <field name='startDate' component='startTimeStamp'/> ===================================== pom.xml ===================================== @@ -155,7 +155,7 @@ <!-- <lib.version.java4all.topia>1.31</lib.version.java4all.topia>--> <!-- <lib.version.java4all.eugene>3.0-alpha-38</lib.version.java4all.eugene>--> -<!-- <lib.version.java4all.jaxx>3.0-alpha-84</lib.version.java4all.jaxx>--> + <lib.version.java4all.jaxx>3.0-alpha-85-SNAPSHOT</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>--> View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/fa41288eef2e2d823a2fb58b… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/fa41288eef2e2d823a2fb58b… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 10 commits: show error when can not load a content
by Tony CHEMIT 17 Dec '20

17 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: a2e34b84 by Tony Chemit at 2020-12-17T19:49:47+01:00 show error when can not load a content - - - - - fbf9c9d1 by Tony Chemit at 2020-12-17T19:50:24+01:00 Move editor is AbstractButton but not JButton - - - - - 947474e0 by Tony Chemit at 2020-12-17T21:12:11+01:00 Peux-ton afficher ici le racourcis F2 qui permet de basculer lecture/mise à jour ? - Closes #1674 - - - - - d2654a9a by Tony Chemit at 2020-12-17T21:14:52+01:00 Peux-ton afficher ici le racourcis F2 qui permet de basculer lecture/mise à jour ? - Closes #1674 La petite sœur F3 - - - - - 725d52c6 by Tony Chemit at 2020-12-17T21:29:16+01:00 Peux-ton afficher ici le racourcis F2 qui permet de basculer lecture/mise à jour ? - Closes #1674 et les petits frères Alft+F1 - - - - - 06056c4d by Tony Chemit at 2020-12-17T21:34:22+01:00 [LL][Logbooks] Impossible d&#39;afficher le form Débarquements - Closes #1682 - - - - - cf8f0c51 by Tony Chemit at 2020-12-17T21:34:58+01:00 remove unnecessary super method call - - - - - 0ef804b0 by Tony Chemit at 2020-12-17T21:35:26+01:00 Avoid nasty NPe while quitting waiting to refactor focus API - - - - - e3b79bfd by Tony Chemit at 2020-12-17T21:35:41+01:00 remove unnecessary super method call - - - - - fa41288e by Tony Chemit at 2020-12-17T21:36:18+01:00 [LL][Logbooks] Impossible d&#39;afficher le form Echantillons - Closes #1681 - - - - - 29 changed files: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/ToggleConfigure.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/ToggleInsert.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/mode/ChangeMode.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/MoveEdit.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/CollapseAll.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/ExpandAll.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/GoDown.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/GoNext.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/GoPrevious.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/GoUp.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/NavigationConfigUIActionSupport.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/landing/LandingPartUI.jaxx - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/landing/LandingUI.jaxx - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/landing/LandingUI.jcss - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/landing/LandingUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivitySampleUI.jaxx - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivitySampleUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SamplePartUIModel.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SampleUI.jaxx - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SampleUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetGlobalCompositionUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetGlobalCompositionUIHandler.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/DiscardedTargetSampleUIHandler.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/KeptTargetSampleUIHandler.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/NonTargetSampleUIHandler.java - client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/data/table/GenerateContentTableUIHandler.java Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorHandler.java ===================================== @@ -108,6 +108,7 @@ public class DataSourceEditorHandler implements UIHandler<DataSourceEditor>, Wit } catch (Exception e) { setNoContent(); ui.getModel().setContent(null); + throw e; } finally { contentAdjusting = false; } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIHandler.java ===================================== @@ -427,6 +427,9 @@ public abstract class ContentUIHandler<U extends ContentUI> implements ObserveSe if (newValue == null) { return; } + if (getClientUIContext().getMainUIModel() == null) { + return; + } if (getClientUIContext().getMainUIModel().isBlockFocus()) { return; } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/ToggleConfigure.java ===================================== @@ -45,7 +45,7 @@ import static io.ultreia.java4all.i18n.I18n.n; public class ToggleConfigure<U extends ContentUI> extends ContentUIActionSupport<U> { public ToggleConfigure() { - super(null, n("observe.ui.content.action.configure.tip"), "generate", ObserveKeyStrokesEditorApi.KEY_STROKE_NAVIGATION_CONFIGURE); + super("", n("observe.ui.content.action.configure.tip"), "generate", ObserveKeyStrokesEditorApi.KEY_STROKE_NAVIGATION_CONFIGURE); // setIcon(getContentScaledImage("configure")); } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/ToggleInsert.java ===================================== @@ -44,7 +44,7 @@ import static io.ultreia.java4all.i18n.I18n.n; public class ToggleInsert<U extends ContentUI> extends ContentUIActionSupport<U> { public ToggleInsert() { - super(null, n("observe.ui.content.action.insert.tip"), "add", ObserveKeyStrokesEditorApi.KEY_STROKE_INSERT_CONFIGURE); + super("", n("observe.ui.content.action.insert.tip"), "add", ObserveKeyStrokesEditorApi.KEY_STROKE_INSERT_CONFIGURE); // setIcon(getContentScaledImage("add",22)); } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/mode/ChangeMode.java ===================================== @@ -103,7 +103,7 @@ public class ChangeMode<U extends ContentUI> extends ContentUIActionSupport<U> { } public ChangeMode(ChangeModeRequest request, ChangeModeProducer<U> changeModeProducer, ChangeModeExecutor<U> executor) { - super(null, null, null, ObserveKeyStrokesEditorApi.KEY_STROKE_CONTENT_CHANGE_MODE); + super("", null, null, ObserveKeyStrokesEditorApi.KEY_STROKE_CONTENT_CHANGE_MODE); this.request = Objects.requireNonNull(request); this.changeModeProducer = Objects.requireNonNull(changeModeProducer); this.executor = executor; @@ -229,6 +229,7 @@ public class ChangeMode<U extends ContentUI> extends ContentUIActionSupport<U> { setIcon(icon); KeyStroke acceleratorKey = getAcceleratorKey(); if (!editable) { + removeKeyStrokeToText(); setKeyStroke(null); } updateToolTipText(tip); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/MoveEdit.java ===================================== @@ -32,7 +32,7 @@ import fr.ird.observe.client.datasource.editor.api.content.data.edit.ContentEdit import fr.ird.observe.client.datasource.editor.api.content.data.open.ContentOpenableUII18nHelper; import fr.ird.observe.dto.data.DataDto; -import javax.swing.JButton; +import javax.swing.AbstractButton; import java.awt.event.ActionEvent; import java.util.Objects; import java.util.function.BiConsumer; @@ -52,7 +52,7 @@ public final class MoveEdit<D extends DataDto, U extends ContentEditUI<D, U>> ex public static <D extends DataDto, U extends ContentEditUI<D, U>> void installAction(U ui, Supplier<MoveRequestBuilder.StepBuild> requestBuilderSupplier, Function<MoveRequest, BiConsumer<String, ImmutableSet<String>>> requestConsumer, Function<MoveRequest, MoveTreeAdapter> treeAdapter) { MoveExecutor moveExecutor = new MoveExecutor(requestBuilderSupplier, requestConsumer, treeAdapter); MoveEdit<D, U> action = new MoveEdit<>(ui.getModel().getSource().getScope().getMainType(), moveExecutor); - init(ui, (JButton) Objects.requireNonNull(ui).getObjectById("move"), action); + init(ui, (AbstractButton) Objects.requireNonNull(ui).getObjectById("move"), action); } protected MoveEdit(Class<D> dataType, MoveExecutor executor) { ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/CollapseAll.java ===================================== @@ -34,6 +34,7 @@ public class CollapseAll extends NavigationConfigUIActionSupport { public CollapseAll() { super(n("observe.ui.tree.action.collapseAll.tip"), "collapse", ObserveKeyStrokesEditorApi.KEY_STROKE_COLLAPSE_TREE_TABLE_NODE); + setText(null); } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/ExpandAll.java ===================================== @@ -34,6 +34,7 @@ public class ExpandAll extends NavigationConfigUIActionSupport { public ExpandAll() { super(n("observe.ui.tree.action.expandAll.tip"), "expand", ObserveKeyStrokesEditorApi.KEY_STROKE_EXPAND_TREE_TABLE_NODE); + setText(null); } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/GoDown.java ===================================== @@ -51,6 +51,7 @@ public class GoDown extends NavigationConfigUIActionSupport implements ReloadAct public GoDown() { super(n("observe.ui.action.goDown.tip"), "navigate-down", ObserveKeyStrokesEditorApi.KEY_STROKE_GO_DOWN); + setText(null); } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/GoNext.java ===================================== @@ -48,6 +48,7 @@ public class GoNext extends NavigationConfigUIActionSupport implements ReloadAct public GoNext() { super(n("observe.ui.tree.action.goNext.tip"), "navigate-next", ObserveKeyStrokesEditorApi.KEY_STROKE_GO_NEXT); + setText(null); } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/GoPrevious.java ===================================== @@ -48,6 +48,7 @@ public class GoPrevious extends NavigationConfigUIActionSupport implements Reloa public GoPrevious() { super(n("observe.ui.tree.action.goPrevious.tip"), "navigate-previous", ObserveKeyStrokesEditorApi.KEY_STROKE_GO_PREVIOUS); + setText(null); } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/GoUp.java ===================================== @@ -49,6 +49,7 @@ public class GoUp extends NavigationConfigUIActionSupport implements ReloadActio public GoUp() { super(n("observe.ui.action.goUp.tip"), "navigate-up", ObserveKeyStrokesEditorApi.KEY_STROKE_GO_UP); + setText(null); } @Override ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/NavigationConfigUIActionSupport.java ===================================== @@ -49,7 +49,7 @@ abstract class NavigationConfigUIActionSupport extends JComponentActionSupport<N } NavigationConfigUIActionSupport(String shortDescription, String actionIcon, KeyStroke acceleratorKey) { - super(null, shortDescription, actionIcon, acceleratorKey); + super("", shortDescription, actionIcon, acceleratorKey); } @Override ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/landing/LandingPartUI.jaxx ===================================== @@ -20,7 +20,7 @@ <fr.ird.observe.client.datasource.editor.api.content.data.table.ContentTableUI beanScope="bean" i18n="fr.ird.observe.dto.data.ll.landing.LandingPartDto" superGenericType='LandingDto, LandingPartDto, LandingPartUI' - implements='fr.ird.observe.client.datasource.editor.api.content.NotStandaloneContentUI&lt;LandingDto&gt;'> + implements='fr.ird.observe.client.datasource.editor.api.content.NotStandaloneContentUI&lt;LandingDto&gt;, fr.ird.observe.client.datasource.editor.api.content.data.table.SortableTableUI'> <import> fr.ird.observe.dto.data.ll.landing.LandingDto ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/landing/LandingUI.jaxx ===================================== @@ -174,5 +174,5 @@ </JPanel> <Object id="delegateContentUI" initializer="mainTabbedPane"/> - <ContentTableUIModelStates id='landingPartStates' genericType='LandingDto, LandingPartDto' initializer="getModel().getLandingPartUIModel().getStates()"/> + <ContentTableUIModelStates id='landingPartStates' genericType='LandingDto, LandingPartDto' initializer="landingPartUI.getModel().getStates()"/> </fr.ird.observe.client.datasource.editor.api.content.data.open.ContentOpenableUI> ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/landing/LandingUI.jcss ===================================== @@ -28,9 +28,9 @@ enabled:{!states.isReadingMode()}; } -#mainTabbedPane { +/*#mainTabbedPane { _focusComponent:{newComponentArray(dataSource,landingPartUI.getSpecies())}; -} +}*/ #landingPartUI { _tab:{"landingPartTab"}; ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/landing/LandingUIHandler.java ===================================== @@ -22,6 +22,7 @@ package fr.ird.observe.client.datasource.editor.ll.data.landing; * #L% */ +import fr.ird.observe.client.datasource.editor.api.content.ContentUIInitializer; import fr.ird.observe.dto.data.ll.landing.LandingDto; import fr.ird.observe.dto.referential.ll.landing.DataSourceReference; @@ -41,6 +42,12 @@ class LandingUIHandler extends GeneratedLandingUIHandler { dataSourceChanged = evt -> onDataSourceChanged((DataSourceReference) evt.getNewValue()); } + @Override + protected void onBeforeInit(LandingUI ui, ContentUIInitializer<LandingUI> initializer) { + LandingPartUIModel partUIModel = LandingPartUIModel.create(ui); + initializer.registerDependencies(partUIModel); + } + @Override public void onInit(LandingUI ui) { super.onInit(ui); ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivitySampleUI.jaxx ===================================== @@ -61,7 +61,7 @@ </JPanel> <Object id="delegateContentUI" initializer="samplePartPanel"/> - <ContentTableUIModelStates id='samplePartStates' genericType='SampleDto, SamplePartDto' initializer="getModel().getSamplePartUIModel().getStates()"/> + <ContentTableUIModelStates id='samplePartStates' genericType='SampleDto, SamplePartDto' initializer="samplePartUI.getModel().getStates()"/> <JMenuItem id='move' styleClass="ifOpen"/> </fr.ird.observe.client.datasource.editor.api.content.data.edit.ContentEditUI> ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivitySampleUIHandler.java ===================================== @@ -22,6 +22,7 @@ package fr.ird.observe.client.datasource.editor.ll.data.logbook; * #L% */ +import fr.ird.observe.client.datasource.editor.api.content.ContentUIInitializer; import fr.ird.observe.client.datasource.editor.api.content.actions.move.MoveRequestBuilder; import fr.ird.observe.client.datasource.editor.api.content.data.edit.ContentEditUILayoutFocusTraversalPolicy; import fr.ird.observe.client.datasource.editor.api.content.data.edit.actions.MoveEdit; @@ -41,6 +42,11 @@ import java.awt.Container; * @since 3.8 */ public class ActivitySampleUIHandler extends GeneratedActivitySampleUIHandler { + @Override + protected void onBeforeInit(ActivitySampleUI ui, ContentUIInitializer<ActivitySampleUI> initializer) { + SamplePartUIModel partUIModel = SamplePartUIModel.create(ui); + initializer.registerDependencies(partUIModel); + } @Override public void onInit(ActivitySampleUI ui) { ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SamplePartUIModel.java ===================================== @@ -57,6 +57,7 @@ public class SamplePartUIModel extends GeneratedSamplePartUIModel { public static SamplePartUIModel create(ActivitySampleUI parentUI) { ActivitySampleUINavigationNode parentSource = ActivitySampleUI.getNavigationSource(parentUI); SamplePartUINavigationNode node = parentSource.newTableNode(SamplePartUINavigationNode.class, parentSource.getParentReference()); + node.setParent(parentSource); return new SamplePartUIModel(node, parentUI.getBean()); } @@ -114,7 +115,6 @@ public class SamplePartUIModel extends GeneratedSamplePartUIModel { @Override public void onAfterInitAddReferentialFilters(ClientConfig clientConfig, ObserveServicesProvider servicesProvider, ReferencesCache referenceCache) { referenceCache.addReferentialFilter(SamplePartDto.PROPERTY_SPECIES, ReferencesFilterHelper.newLlSpeciesList(servicesProvider, getClientUIContext().getObserveSelectModel(), clientConfig.getSpeciesListLonglineLogbookSampleId())); - } public SampleUIModelSupport<SamplePartDto> getSupport() { ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SampleUI.jaxx ===================================== @@ -97,5 +97,5 @@ </JPanel> <Object id="delegateContentUI" initializer="mainTabbedPane"/> - <ContentTableUIModelStates id='samplePartStates' genericType='SampleDto, SamplePartDto' initializer="getModel().getSamplePartUIModel().getStates()"/> + <ContentTableUIModelStates id='samplePartStates' genericType='SampleDto, SamplePartDto' initializer="samplePartUI.getModel().getStates()"/> </fr.ird.observe.client.datasource.editor.api.content.data.open.ContentOpenableUI> ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SampleUIHandler.java ===================================== @@ -23,6 +23,7 @@ package fr.ird.observe.client.datasource.editor.ll.data.logbook; */ import fr.ird.observe.client.datasource.editor.api.content.ContentMode; +import fr.ird.observe.client.datasource.editor.api.content.ContentUIInitializer; import fr.ird.observe.client.datasource.editor.api.content.actions.move.tree.DefaultSingleMoveTreeAdapter; import fr.ird.observe.client.datasource.editor.api.content.data.open.ContentOpenableUILayoutFocusTraversalPolicy; import fr.ird.observe.client.datasource.editor.api.content.data.open.actions.MoveOpenable; @@ -39,6 +40,11 @@ import java.awt.Container; * @since 3.8 */ class SampleUIHandler extends GeneratedSampleUIHandler { + @Override + protected void onBeforeInit(SampleUI ui, ContentUIInitializer<SampleUI> initializer) { + SamplePartUIModel partUIModel = SamplePartUIModel.create(ui); + initializer.registerDependencies(partUIModel); + } @Override public void onInit(SampleUI ui) { ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/SetGlobalCompositionUIHandler.java ===================================== @@ -40,7 +40,6 @@ class SetGlobalCompositionUIHandler extends GeneratedSetGlobalCompositionUIHandl @Override protected void onBeforeInit(SetGlobalCompositionUI ui, ContentUIInitializer<SetGlobalCompositionUI> initializer) { - super.onBeforeInit(ui, initializer); initializer.registerDependencies( SetFloatlinesCompositionUIModel.create(ui), SetBranchlinesCompositionUIModel.create(ui), ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetDetailCompositionUIHandler.java ===================================== @@ -96,7 +96,6 @@ public class SetDetailCompositionUIHandler extends GeneratedSetDetailComposition @Override protected void onBeforeInit(SetDetailCompositionUI ui, ContentUIInitializer<SetDetailCompositionUI> initializer) { - super.onBeforeInit(ui, initializer); initializer.registerDependencies(BranchlineUIModel.create(ui)); } ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/SetGlobalCompositionUIHandler.java ===================================== @@ -40,7 +40,6 @@ class SetGlobalCompositionUIHandler extends GeneratedSetGlobalCompositionUIHandl @Override protected void onBeforeInit(SetGlobalCompositionUI ui, ContentUIInitializer<SetGlobalCompositionUI> initializer) { - super.onBeforeInit(ui, initializer); initializer.registerDependencies( SetFloatlinesCompositionUIModel.create(ui), SetBranchlinesCompositionUIModel.create(ui), ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/DiscardedTargetSampleUIHandler.java ===================================== @@ -51,7 +51,6 @@ public class DiscardedTargetSampleUIHandler extends GeneratedDiscardedTargetSamp @Override protected void onBeforeInit(DiscardedTargetSampleUI ui, ContentUIInitializer<DiscardedTargetSampleUI> initializer) { - super.onBeforeInit(ui, initializer); initializer.registerDependencies(sampleHandler = new TargetSampleImplHandler<>(ui)); } ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/KeptTargetSampleUIHandler.java ===================================== @@ -51,7 +51,6 @@ public class KeptTargetSampleUIHandler extends GeneratedKeptTargetSampleUIHandle @Override protected void onBeforeInit(KeptTargetSampleUI ui, ContentUIInitializer<KeptTargetSampleUI> initializer) { - super.onBeforeInit(ui, initializer); sampleHandler = new TargetSampleImplHandler<>(ui); initializer.registerDependencies(sampleHandler); } ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/NonTargetSampleUIHandler.java ===================================== @@ -39,7 +39,6 @@ public class NonTargetSampleUIHandler extends GeneratedNonTargetSampleUIHandler @Override protected void onBeforeInit(NonTargetSampleUI ui, ContentUIInitializer<NonTargetSampleUI> initializer) { - super.onBeforeInit(ui, initializer); sampleHandler = new NonTargetSampleImplHandler(ui); ui.setContextValue(sampleHandler); } ===================================== client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/data/table/GenerateContentTableUIHandler.java ===================================== @@ -57,7 +57,6 @@ public class GenerateContentTableUIHandler extends GenerateContentTableUISupport public static final String NOT_STANDALONE_METHODS = "" + " @Override\n" + " protected void onBeforeInit(%1$s ui, ContentUIInitializer<%1$s> initializer) {\n" + - " super.onBeforeInit(ui, initializer);\n" + " EditableContentUI<%2$s> parentUI = initializer.getParentEditUI();\n" + " %1$sModel model = parentUI.getContextValue(%1$sModel.class);\n" + " initializer.registerDependencies(model, new %1$sTableModel(parentUI, ui, model));\n" + View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/01f6ceba96c8fadf630a7f9c… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/01f6ceba96c8fadf630a7f9c… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] Let's generate add edit node :)
by Tony CHEMIT 17 Dec '20

17 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 01f6ceba by Tony Chemit at 2020-12-17T18:19:56+01:00 Let&#39;s generate add edit node :) for special case FOB now we are doing the preset selection in his form and stop pushing in some dark contexts some reference grab later by another handler) : do all the stuff at the right place, and then remove dark references :) - - - - - 13 changed files: - client/configuration/src/main/java/fr/ird/observe/client/datasource/dcp/FloatingObjectPresetsManager.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUI.jaxx - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUIHandler.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUIModel.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/ActivityUIHandler.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/ActivityUIHandler.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/ActivityUIModel.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectUI.jcss - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectUIHandler.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectUIModel.java - client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/CapabilityDescriptor.java - client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/ContentNodeType.java - client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/helper/ContentUIHandlerHelper.java Changes: ===================================== client/configuration/src/main/java/fr/ird/observe/client/datasource/dcp/FloatingObjectPresetsManager.java ===================================== @@ -50,7 +50,6 @@ public class FloatingObjectPresetsManager { private final ClientConfig config; private Map<Path, FloatingObjectPreset> psObservation; private Map<Path, FloatingObjectPreset> psLogbook; - private FloatingObjectPreset referenceToUse; public FloatingObjectPresetsManager(ClientConfig config) { this.config = Objects.requireNonNull(config); @@ -87,7 +86,6 @@ public class FloatingObjectPresetsManager { default: throw new IllegalStateException("Can't deal with model: " + model); } - try { Path nextFilename = FloatingObjectPresetStorage.getNextFilename(directory); Path file = directory.resolve(nextFilename); @@ -100,14 +98,6 @@ public class FloatingObjectPresetsManager { } } - public FloatingObjectPreset getReferenceToUse() { - return referenceToUse; - } - - public void setReferenceToUse(FloatingObjectPreset referenceToUse) { - this.referenceToUse = referenceToUse; - } - public int size() { return getPsLogbook().size() + getPsObservation().size(); } ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUI.jaxx ===================================== @@ -24,6 +24,7 @@ <import> fr.ird.observe.dto.data.ll.logbook.ActivityDto fr.ird.observe.dto.data.ll.logbook.SetDto + fr.ird.observe.dto.data.ll.observation.ActivityReference fr.ird.observe.dto.data.ll.pairing.ActivityPairingResultItem fr.ird.observe.dto.referential.common.FpaZoneReference fr.ird.observe.dto.referential.common.WindReference @@ -170,7 +171,7 @@ <JLabel id='relatedObservedActivityLabel'/> </cell> <cell anchor='east' fill="both"> - <JaxxComboBox id='relatedObservedActivity' genericType='fr.ird.observe.dto.data.ll.observation.ActivityReference' constructorParams='this'/> + <JaxxComboBox id='relatedObservedActivity' genericType='ActivityReference' constructorParams='this'/> </cell> </row> @@ -183,10 +184,7 @@ </Table> </JScrollPane> </JPanel> - - <!-- surcharge des actions (pour appliquer la css specifique) --> <JButton id='actionDown'/> - <JMenuItem id='addSet'/> <JMenuItem id='addSample'/> </fr.ird.observe.client.datasource.editor.api.content.data.open.ContentOpenableUI> ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUIHandler.java ===================================== @@ -22,18 +22,8 @@ package fr.ird.observe.client.datasource.editor.ll.data.logbook; * #L% */ -import fr.ird.observe.client.datasource.editor.api.content.ContentUIInitializer; -import fr.ird.observe.client.datasource.editor.api.content.actions.open.ContentOpen; -import fr.ird.observe.client.datasource.editor.api.content.data.open.ContentOpenableUIOpenExecutor; import fr.ird.observe.client.datasource.editor.api.content.data.open.actions.SaveOpenable; -import fr.ird.observe.client.util.init.DefaultUIInitializerResult; import fr.ird.observe.dto.data.ll.logbook.ActivityDto; -import fr.ird.observe.dto.data.ll.logbook.SampleDto; -import fr.ird.observe.dto.data.ll.logbook.SetDto; -import fr.ird.observe.dto.form.Form; -import fr.ird.observe.services.service.data.ll.pairing.ActivityPairingEngine; - -import java.util.List; /** * Created on 8/29/14. @@ -43,43 +33,6 @@ import java.util.List; */ class ActivityUIHandler extends GeneratedActivityUIHandler { - private ActivityPairingEngine pairingEngine; - - @Override - protected ContentOpen<ActivityUI> createContentOpen(ActivityUI ui) { - ContentOpenableUIOpenExecutor<ActivityDto, ActivityUI> executor = new ContentOpenableUIOpenExecutor<>() { - @Override - public void openModel(ActivityUI ui) { - ActivityUIModel model = getModel(); - List<fr.ird.observe.dto.data.ll.observation.ActivityReference> allActivityLonglineObs = getLlObservationActivityService().getChildren(model.getStates().getSelectedParentId()).toList(); - Form<ActivityDto> form = model.openForm(allActivityLonglineObs, pairingEngine); - onOpenForm(form); - onOpenAfterOpenModel(); - } - }; - return new ContentOpen<>(ui, executor, executor) { - @Override - public DefaultUIInitializerResult init(ContentUIInitializer<ActivityUI> initializer) { - //FIXME Bug in Jaxx - this.getUi().getRelatedObservedActivity().setBeanType(fr.ird.observe.dto.data.ll.observation.ActivityReference.class); - return super.init(initializer); - } - }; - } - - @Override - public void onInit(ActivityUI ui) { - super.onInit(ui); - pairingEngine = new ActivityPairingEngine(getClientConfig().getReferentialLocale(), getLlCommonTripService(), getLlLogbookActivityService()); - } - - @Override - protected void installCreateNewAction() { - super.installCreateNewAction(); - installCreateNewEditableAction(SetDto.class, getModel().getSource()::addEmptySetUINavigationNode); - installCreateNewEditableAction(SampleDto.class, getModel().getSource()::addEmptyActivitySampleUINavigationNode); - } - @Override protected void installSaveAction() { SaveOpenable.installAction(ui, ActivityDto::isSetOperation, ActivityUI::getAddSet); ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUIModel.java ===================================== @@ -59,7 +59,6 @@ public class ActivityUIModel extends GeneratedActivityUIModel { private static final Logger log = LogManager.getLogger(ActivityUIModel.class); - private boolean opening = false; private List<ActivityReference> activityObs; private TripPairingContext pairingContext; @@ -68,22 +67,19 @@ public class ActivityUIModel extends GeneratedActivityUIModel { getStates().getBean().attachSetOperationListener(); getStates().getBean().addPropertyChangeListener(evt -> { String propertyName = evt.getPropertyName(); - if (opening || !PROPERTIES_FOR_UPDATE_ACTIVITIES_OBS_LIST.contains(propertyName)) { + if (!getStates().isOpened() || !PROPERTIES_FOR_UPDATE_ACTIVITIES_OBS_LIST.contains(propertyName)) { return; } updateActivityObsCandidates(); }); } - public Form<ActivityDto> openForm(List<ActivityReference> allActivityObs, ActivityPairingEngine pairingEngine) { + @Override + public Form<ActivityDto> openForm(String selectedId) { + List<fr.ird.observe.dto.data.ll.observation.ActivityReference> allActivityObs = getReferenceCache().getDataSource().getLlObservationActivityService().getChildren(getStates().getSelectedParentId()).toList(); + ActivityPairingEngine pairingEngine = new ActivityPairingEngine(getClientUIContext().getClientConfig().getReferentialLocale(), getReferenceCache().getDataSource().getLlCommonTripService(), getReferenceCache().getDataSource().getLlLogbookActivityService()); this.pairingContext = pairingEngine.newTripContext(getStates().getSelectedParentId(), ImmutableList.copyOf(allActivityObs)); - opening = true; - Form<ActivityDto> form; - try { - form = super.openForm(getStates().getSelectedId()); - } finally { - opening = false; - } + Form<ActivityDto> form = super.openForm(selectedId); updateActivityObsCandidates(); return form; } @@ -97,14 +93,14 @@ public class ActivityUIModel extends GeneratedActivityUIModel { this.activityObs = Objects.requireNonNull(activityObs); boolean removeRelatedObservedActivity = relatedObservedActivity != null && !activityObs.contains(relatedObservedActivity); firePropertyChange(PROPERTY_ACTIVITY_OBS, null, activityObs); - if (removeRelatedObservedActivity) { + if (getStates().isOpened() && removeRelatedObservedActivity) { log.info(String.format("%s Removed not matching related observed activity: %s", getPrefix(), relatedObservedActivity)); getStates().getBean().setRelatedObservedActivity(null); } } private void updateActivityObsCandidates() { - if (opening) { + if (!getStates().isOpened()) { return; } log.info(String.format("%s Will update release observed activities...", getPrefix())); ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/observation/ActivityUIHandler.java ===================================== @@ -24,7 +24,6 @@ package fr.ird.observe.client.datasource.editor.ll.data.observation; import fr.ird.observe.client.datasource.editor.api.content.data.open.actions.SaveOpenable; import fr.ird.observe.dto.data.ll.observation.ActivityDto; -import fr.ird.observe.dto.data.ll.observation.SetDto; /** * Created on 8/29/14. @@ -40,12 +39,6 @@ class ActivityUIHandler extends GeneratedActivityUIHandler { super.onInit(ui); } - @Override - protected void installCreateNewAction() { - super.installCreateNewAction(); - installCreateNewEditableAction(SetDto.class, getModel().getSource()::addEmptySetUINavigationNode); - } - @Override protected void installSaveAction() { SaveOpenable.installAction(ui, ActivityDto::isSetOperation, ActivityUI::getAddSet); ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/ActivityUIHandler.java ===================================== @@ -21,34 +21,12 @@ */ package fr.ird.observe.client.datasource.editor.ps.data.observation; -import fr.ird.observe.client.ClientUIContext; -import fr.ird.observe.client.datasource.dcp.FloatingObjectPresetsManager; import fr.ird.observe.client.datasource.editor.api.content.data.open.actions.SaveOpenable; -import fr.ird.observe.client.datasource.editor.ps.ObservePsKeyStrokes; -import fr.ird.observe.dto.data.ps.dcp.FloatingObjectPreset; -import fr.ird.observe.dto.data.ps.dcp.FloatingObjectPresetModel; import fr.ird.observe.dto.data.ps.observation.ActivityDto; -import fr.ird.observe.dto.data.ps.observation.FloatingObjectDto; -import fr.ird.observe.dto.data.ps.observation.SetDto; -import fr.ird.observe.dto.decoration.WithDecoratorService; import fr.ird.observe.dto.referential.ps.common.VesselActivityReference; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import javax.swing.AbstractAction; -import javax.swing.JButton; -import javax.swing.JComponent; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.KeyStroke; -import java.awt.Font; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; import java.util.List; -import java.util.Objects; -import java.util.Set; -import static fr.ird.observe.client.datasource.editor.api.content.referential.usage.UsageUIHandlerSupport.findButton; import static io.ultreia.java4all.i18n.I18n.t; /** @@ -57,36 +35,6 @@ import static io.ultreia.java4all.i18n.I18n.t; */ class ActivityUIHandler extends GeneratedActivityUIHandler { - private static final Logger log = LogManager.getLogger(ActivityUIHandler.class); - - private static class UsePresetAction extends AbstractAction implements WithDecoratorService { - - private final FloatingObjectPreset preset; - private final KeyStroke keyStroke; - private JOptionPane pane; - - public UsePresetAction(FloatingObjectPreset preset, int index) { - this.preset = Objects.requireNonNull(preset); - this.keyStroke = Objects.requireNonNull(KeyStroke.getKeyStroke("F" + index)); - putValue(UsePresetAction.class.getName(), getClass().getName() + "_" + index); - putValue(NAME, getDecoratorService().getDecoratorByType(preset.getClass()).toString(preset)); - } - - public void install(JButton parent, JOptionPane pane) { - this.pane = pane; - String actionMapKey = (String) getValue(UsePresetAction.class.getName()); - pane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(keyStroke, actionMapKey); - pane.getActionMap().put(actionMapKey, this); - ObservePsKeyStrokes.addKeyStroke(parent, keyStroke); - } - - @Override - public void actionPerformed(ActionEvent e) { - log.info(String.format("Choose dcp preset: %s", preset.getLabel1())); - pane.setValue(preset); - } - } - @Override public void onInit(ActivityUI ui) { super.onInit(ui); @@ -96,64 +44,22 @@ class ActivityUIHandler extends GeneratedActivityUIHandler { ui.vesselActivityInformation.setToolTipText(text); } - @Override - protected void installCreateNewAction() { - super.installCreateNewAction(); - installCreateNewEditableAction(SetDto.class, ui.getModel().getSource()::addEmptySetUINavigationNode); - installCreateNewEditableAction(FloatingObjectDto.class, this::chooseFloatingObjectPreset, ui.getModel().getSource()::addEmptyFloatingObjectUINavigationNode); - } - @Override protected void installSaveAction() { SaveOpenable.installAction(ui, ActivityDto::isStrongSetOperation, ActivityUI::getAddSet); } private String getActivity6Label() { - List<VesselActivityReference> activities = getReferentialReferences(VesselActivityReference.class); - for (VesselActivityReference vesselActivity : activities) { if (ActivityDto.isFishingOperation(vesselActivity)) { - return getDecoratorService().getReferentialReferenceDecorator(VesselActivityReference.class).toString(vesselActivity); + return vesselActivity.toString(); +// return getDecoratorService().getReferentialReferenceDecorator(VesselActivityReference.class).toString(vesselActivity); } } throw new IllegalStateException(t("observe.data.ps.observation.Activity.error.no.activity.6")); } - private boolean chooseFloatingObjectPreset(ActivityDto bean) { - - FloatingObjectPresetsManager floatingObjectPresetsManager = getClientUIContext().getFloatingObjectPresetsManager(); - Set<FloatingObjectPreset> psObservation = floatingObjectPresetsManager.getPresets(FloatingObjectPresetModel.ps_observation); - if (!psObservation.isEmpty()) { - - JPanel userConfigs = new JPanel(new GridLayout(0, 2)); - - String replaceText = t("observe.ui.choice.dcp.default") + " (Enter)"; - Object[] options = {replaceText}; - JOptionPane pane = new JOptionPane(userConfigs, JOptionPane.QUESTION_MESSAGE, JOptionPane.DEFAULT_OPTION, null, options, options[0]); - JButton jButton = Objects.requireNonNull(findButton(pane, replaceText)); - Font font = jButton.getFont().deriveFont(18f); - jButton.setFont(font.deriveFont(Font.ITALIC)); - int index = 0; - for (FloatingObjectPreset preset : psObservation) { - UsePresetAction a = new UsePresetAction(preset, ++index); - JButton b = new JButton(a); - b.setFont(font); - userConfigs.add(b); - a.install(b, pane); - } - int response = ClientUIContext.askUser(pane, t("observe.data.ps.observation.FloatingObjectReference.choose.title"), options); - Object value = pane.getValue(); - if (value instanceof FloatingObjectPreset) { - floatingObjectPresetsManager.setReferenceToUse((FloatingObjectPreset) value); - } else { - return response != JOptionPane.CLOSED_OPTION; - } - } - return true; - } - - // @Override // protected ContentOpenableUILayoutFocusTraversalPolicy<ActivityUI> createFocusTraversalPolicy() { // return new ContentOpenableUILayoutFocusTraversalPolicy<ActivityUI>() { ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/ActivityUIModel.java ===================================== @@ -44,15 +44,6 @@ public class ActivityUIModel extends GeneratedActivityUIModel { boolean newValue = ActivityDto.isChangedZoneOperation(newActivitySeine); firePropertyChange(PROPERTY_CHANGED_ZONE_OPERATION, oldValue, newValue); }); - - } - - public boolean isSetOperation() { - return getStates().getBean().isSetOperation(); - } - - public boolean isDcpOperation() { - return getStates().getBean().isDcpOperation(); } public boolean isChangedZoneOperation() { ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectUI.jcss ===================================== @@ -35,6 +35,10 @@ enabled:{model.isLeaving() && model.isArriving()}; } +#addFloatingObjectPreset { + enabled:{states.isUpdatingMode() && getModel().getReference() == null}; +} + #objectOperation { enabled:{states.isCreatingMode()}; } @@ -68,11 +72,6 @@ text:{model.getComputedWhenLeavingSimplifiedObjectTypeValue()}; } -/*#addFloatingObjectReference { - visible:{states.isUpdatingMode()}; - focusable:false; -}*/ - #typeOperation { selectedItem:{bean.getTypeTransmittingBuoyOperation()}; _skipBindingToBean:true; ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectUIHandler.java ===================================== @@ -280,29 +280,21 @@ public class FloatingObjectUIHandler extends GeneratedFloatingObjectUIHandler { TransmittingBuoyDto transmittingBuoy) { if (transmittingBuoy == null) { - TransmittingBuoyDto.newDto(new Date()).copy(editBean); editBean.setCreateDate(new Date()); editBean.setTransmittingBuoyOperation(operation); - log.debug(String.format("Reuse an empty balise lue for objectOperation %s", operation.getLabel())); - if (isBalisePose(operation)) { - // objectOperation de pose // toujours appartient au navire TransmittingBuoyOwnershipReference r = getModel().getReferenceCache().<TransmittingBuoyOwnershipReference>tryGetReferentialReferenceById(TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_OWNERSHIP, ProtectedIdsPs.PS_COMMON_TRANSMITTING_BUOY_OWNERSHIP_THIS_SHIP_ID).orElse(null); log.info("Using ownership this vessel: " + r); editBean.setTransmittingBuoyOwnership(r); } - } else { - editBean.copy(transmittingBuoy); // TransmittingBuoyHelper.copyTransmittingBuoyDto(editBean, transmittingBuoy); - } - getModel().getStates().getBean().getTransmittingBuoy().add(editBean); } ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/data/observation/FloatingObjectUIModel.java ===================================== @@ -23,16 +23,22 @@ package fr.ird.observe.client.datasource.editor.ps.data.observation; */ import com.google.common.collect.ImmutableSet; +import fr.ird.observe.client.ClientUIContext; import fr.ird.observe.client.WithClientUIContext; +import fr.ird.observe.client.datasource.dcp.FloatingObjectPresetsManager; +import fr.ird.observe.client.datasource.editor.ps.ObservePsKeyStrokes; import fr.ird.observe.dto.I18nEnumHelper; import fr.ird.observe.dto.data.ps.DcpComputedValue; import fr.ird.observe.dto.data.ps.consolidate.dcp.ConsolidateFloatingObjectResult; import fr.ird.observe.dto.data.ps.consolidate.dcp.SimplifiedObjectTypeSpecializedRules; import fr.ird.observe.dto.data.ps.dcp.FloatingObjectPreset; +import fr.ird.observe.dto.data.ps.dcp.FloatingObjectPresetModel; +import fr.ird.observe.dto.data.ps.observation.ActivityDto; import fr.ird.observe.dto.data.ps.observation.FloatingObjectDto; import fr.ird.observe.dto.data.ps.observation.FloatingObjectPartDto; import fr.ird.observe.dto.data.ps.observation.TransmittingBuoyDto; import fr.ird.observe.dto.data.ps.observation.consolidate.ConsolidateFloatingObjectRequest; +import fr.ird.observe.dto.decoration.WithDecoratorService; import fr.ird.observe.dto.form.Form; import fr.ird.observe.dto.form.FormDefinition; import fr.ird.observe.dto.referential.ReferentialLocale; @@ -42,6 +48,15 @@ import fr.ird.observe.spi.module.ObserveBusinessProject; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import javax.swing.AbstractAction; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.KeyStroke; +import java.awt.Font; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; import java.io.File; import java.io.IOException; import java.util.Date; @@ -53,6 +68,7 @@ import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; +import static fr.ird.observe.client.datasource.editor.api.content.referential.usage.UsageUIHandlerSupport.findButton; import static io.ultreia.java4all.i18n.I18n.t; /** @@ -85,6 +101,34 @@ public class FloatingObjectUIModel extends GeneratedFloatingObjectUIModel implem this.whenLeaving = new LinkedHashMap<>(); } + private static class UsePresetAction extends AbstractAction implements WithDecoratorService { + + private final FloatingObjectPreset preset; + private final KeyStroke keyStroke; + private JOptionPane pane; + + public UsePresetAction(FloatingObjectPreset preset, int index) { + this.preset = Objects.requireNonNull(preset); + this.keyStroke = Objects.requireNonNull(KeyStroke.getKeyStroke("F" + index)); + putValue(UsePresetAction.class.getName(), getClass().getName() + "_" + index); + putValue(NAME, getDecoratorService().getDecoratorByType(preset.getClass()).toString(preset)); + } + + public void install(JButton parent, JOptionPane pane) { + this.pane = pane; + String actionMapKey = (String) getValue(UsePresetAction.class.getName()); + pane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(keyStroke, actionMapKey); + pane.getActionMap().put(actionMapKey, this); + ObservePsKeyStrokes.addKeyStroke(parent, keyStroke); + } + + @Override + public void actionPerformed(ActionEvent e) { + log.info(String.format("Choose dcp preset: %s", preset.getLabel1())); + pane.setValue(preset); + } + } + public ImmutableSet<FloatingObjectPartDto> toParts() { ImmutableSet.Builder<FloatingObjectPartDto> result = ImmutableSet.builder(); Date now = new Date(); @@ -131,13 +175,14 @@ public class FloatingObjectUIModel extends GeneratedFloatingObjectUIModel implem @Override public void open() { - Optional<FloatingObjectPreset> floatingObjectReference = Optional.ofNullable(getClientUIContext().getFloatingObjectPresetsManager().getReferenceToUse()); - setReference(floatingObjectReference.orElse(null)); if (reference != null) { log.info(String.format("%s Will use dcp preset: %s", getPrefix(), reference)); } - getClientUIContext().getFloatingObjectPresetsManager().setReferenceToUse(null); super.open(); + if (getStates().isCreatingMode()) { + FloatingObjectPreset reference = chooseFloatingObjectPreset(); + setReference(reference); + } } @Override @@ -152,6 +197,37 @@ public class FloatingObjectUIModel extends GeneratedFloatingObjectUIModel implem fireComputedValuesChanged(); } + private FloatingObjectPreset chooseFloatingObjectPreset() { + + FloatingObjectPresetsManager floatingObjectPresetsManager = getClientUIContext().getFloatingObjectPresetsManager(); + Set<FloatingObjectPreset> psObservation = floatingObjectPresetsManager.getPresets(FloatingObjectPresetModel.ps_observation); + if (!psObservation.isEmpty()) { + + JPanel userConfigs = new JPanel(new GridLayout(0, 2)); + + String replaceText = t("observe.ui.choice.dcp.default") + " (Enter)"; + Object[] options = {replaceText}; + JOptionPane pane = new JOptionPane(userConfigs, JOptionPane.QUESTION_MESSAGE, JOptionPane.DEFAULT_OPTION, null, options, options[0]); + JButton jButton = Objects.requireNonNull(findButton(pane, replaceText)); + Font font = jButton.getFont().deriveFont(18f); + jButton.setFont(font.deriveFont(Font.ITALIC)); + int index = 0; + for (FloatingObjectPreset preset : psObservation) { + UsePresetAction a = new UsePresetAction(preset, ++index); + JButton b = new JButton(a); + b.setFont(font); + userConfigs.add(b); + a.install(b, pane); + } + ClientUIContext.askUser(pane, t("observe.data.ps.observation.FloatingObjectReference.choose.title"), options); + Object value = pane.getValue(); + if (value instanceof FloatingObjectPreset) { + return (FloatingObjectPreset) value; + } + } + return null; + } + public void fireComputedValuesChanged() { firePropertyChange("computedWhenArrivingBiodegradableValue", getComputedWhenArrivingBiodegradableValue()); firePropertyChange("computedWhenArrivingNonEntanglingValue", getComputedWhenArrivingNonEntanglingValue()); @@ -244,7 +320,6 @@ public class FloatingObjectUIModel extends GeneratedFloatingObjectUIModel implem return arriving; } - public void setArriving(boolean arriving) { this.arriving = arriving; log.debug("setArriving: " + arriving); @@ -301,4 +376,5 @@ public class FloatingObjectUIModel extends GeneratedFloatingObjectUIModel implem map.put(dto, value); } } + } ===================================== client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/CapabilityDescriptor.java ===================================== @@ -111,6 +111,8 @@ public class CapabilityDescriptor { " }\n"; public static final String INSTALL_CREATE_NEW_TABLE_ACTION = "" + " installCreateNewTableEntryAction(%1$s.class);\n"; + public static final String INSTALL_CREATE_NEW_EDIT_ACTION = "" + + " installCreateNewEditableAction(%1$sDto.class, getModel().getSource()::addEmpty%2$s);\n"; public static final String INSTALL_CREATE_NEW_ACTION = "" + " installCreateNewOpenableAction(t-> true);\n"; public static final String INSTALL_CREATE_NEW_ACTION_WITH_PREDICATE = "" + @@ -386,8 +388,12 @@ public class CapabilityDescriptor { case TABLE: imports.add(CreateNewContentTableUIEntry.class.getName()); return String.format(INSTALL_CREATE_NEW_TABLE_ACTION, getNodeTypeName()); + case EDIT: - break; + if (dtoType!=null) { + imports.add(dtoType.getName()); + return String.format(INSTALL_CREATE_NEW_EDIT_ACTION, dtoType.getSimpleName().replace("Dto", ""), getNodeTypeSimpleName()); + } case SIMPLE: case ROOT: case REFERENTIAL_HOME: ===================================== client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/ContentNodeType.java ===================================== @@ -156,7 +156,7 @@ public enum ContentNodeType { public Class<? extends IdDto> getDto(BusinessProject businessProject, String nodeTypeName) { - return null; + return getDto0(businessProject, nodeTypeName); } Class<? extends IdDto> getDto0(BusinessProject businessProject, String nodeTypeName) { ===================================== client/datasource/editor/spi/src/main/java/fr/ird/observe/client/datasource/editor/spi/content/helper/ContentUIHandlerHelper.java ===================================== @@ -91,8 +91,15 @@ public class ContentUIHandlerHelper extends ContentUIHelperSupport { } if (generator.capabilitiesDescriptor != null) { for (CapabilityDescriptor capabilityDescriptor : generator.capabilitiesDescriptor) { - if (editNode != null && editNode.getType().equals(capabilityDescriptor.getOptionalDtoType())) { - continue; + + ContentNodeType contentNodeType = capabilityDescriptor.getContentNodeType(); + + Class<? extends IdDto> optionalDtoType = capabilityDescriptor.getOptionalDtoType(); + + if (editNode != null) { + if (editNode.getType().equals(optionalDtoType)) { + continue; + } } String method = capabilityDescriptor.generateAddNewAction(imports, generator); createChildrenMethodBuilder.append(method); @@ -160,6 +167,11 @@ public class ContentUIHandlerHelper extends ContentUIHelperSupport { } extraMethods += generateListCreateNewAction(imports, generator); extraMethods += String.format(INSTALL_MOVE_ACTION, methodName); + generator.capabilitiesDescriptor.forEach(c-> { + if (c.getContentNodeType()==ContentNodeType.EDIT) { + // add + } + }); return generate(ContentUIHandlerHelper.UI_HANDLER_GENERATED2, imports, generator.cleanClassName, uiHandler, dtoType, extraType, extraMethods); } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/01f6ceba96c8fadf630a7f9cd… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/commit/01f6ceba96c8fadf630a7f9cd… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 2 commits: [LL] Bug sur création d'activité logbook LL - Closes #1672
by Tony CHEMIT 17 Dec '20

17 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 09f0824e by Tony Chemit at 2020-12-17T16:20:18+01:00 [LL] Bug sur création d&#39;activité logbook LL - Closes #1672 - - - - - 8a5edc9f by Tony Chemit at 2020-12-17T16:20:41+01:00 Fix bug when collapsing a node (need a second review on those magic listener) - - - - - 2 changed files: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeSelectionListenerImpl.java - client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUIHandler.java Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeSelectionListenerImpl.java ===================================== @@ -84,7 +84,7 @@ class NavigationTreeSelectionListenerImpl implements fr.ird.observe.client.datas @Override public void treeWillCollapse(TreeExpansionEvent event) throws ExpandVetoException { //FIXME check this is working ? - tree.getSelectionModel().fireTreeWillCollapseEvent(event); +// tree.getSelectionModel().fireTreeWillCollapseEvent(event); NavigationNode node = (NavigationNode) event.getPath().getLastPathComponent(); ===================================== client/datasource/editor/ll/src/main/java/fr/ird/observe/client/datasource/editor/ll/data/logbook/ActivityUIHandler.java ===================================== @@ -47,7 +47,7 @@ class ActivityUIHandler extends GeneratedActivityUIHandler { @Override protected ContentOpen<ActivityUI> createContentOpen(ActivityUI ui) { - ContentOpenableUIOpenExecutor<ActivityDto, ActivityUI> executor = new ContentOpenableUIOpenExecutor<ActivityDto, ActivityUI>() { + ContentOpenableUIOpenExecutor<ActivityDto, ActivityUI> executor = new ContentOpenableUIOpenExecutor<>() { @Override public void openModel(ActivityUI ui) { ActivityUIModel model = getModel(); @@ -57,13 +57,12 @@ class ActivityUIHandler extends GeneratedActivityUIHandler { onOpenAfterOpenModel(); } }; - return new ContentOpen<ActivityUI>(ui, executor, executor) { + return new ContentOpen<>(ui, executor, executor) { @Override public DefaultUIInitializerResult init(ContentUIInitializer<ActivityUI> initializer) { //FIXME Bug in Jaxx this.getUi().getRelatedObservedActivity().setBeanType(fr.ird.observe.dto.data.ll.observation.ActivityReference.class); - super.init(initializer); - return null; + return super.init(initializer); } }; } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5094b739a0b7fa39888b0f04… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/5094b739a0b7fa39888b0f04… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 2 commits: Miss a reference contract (no code on RTP)
by Tony CHEMIT 17 Dec '20

17 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: e2ae3d0e by Tony Chemit at 2020-12-17T08:19:32+01:00 Miss a reference contract (no code on RTP) - - - - - 5094b739 by Tony Chemit at 2020-12-17T08:27:37+01:00 Petit problème erratique sur l&#39;ouverture de nœud dans l&#39;arbre - Closes #1667 - - - - - 16 changed files: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorLayerUI.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIManager.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/create/CreateNewContentTableUIEntry.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/mode/ChangeMode.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/TripActionHelper.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/SaveEditUIAdapter.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/SaveOpenableUIAdapter.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTree.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeSelectionListenerImpl.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeShowPopupHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationUIInitializer.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationNode.java - client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/RouteCloseCallback.java - models/dto/src/main/models/Observe-01-referential-common.model Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorHandler.java ===================================== @@ -25,6 +25,7 @@ package fr.ird.observe.client.datasource.editor.api; import fr.ird.observe.client.ClientUIContext; import fr.ird.observe.client.WithClientUIContext; import fr.ird.observe.client.datasource.editor.api.actions.ChangeEditorFocus; +import fr.ird.observe.client.datasource.editor.api.content.ContentUI; import fr.ird.observe.client.datasource.editor.api.content.ContentUIManager; import fr.ird.observe.client.datasource.editor.api.content.validation.ContentMessageTableRenderer; import fr.ird.observe.client.datasource.editor.api.navigation.NavigationTree; @@ -32,12 +33,15 @@ import fr.ird.observe.client.datasource.editor.api.navigation.NavigationTreeMode import fr.ird.observe.client.util.ProgressModel; import fr.ird.observe.client.util.UIHelper; import fr.ird.observe.client.util.init.UIInitHelper; +import fr.ird.observe.client.util.session.ObserveSwingSessionHelper; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.runtime.spi.UIHandler; import org.nuiton.jaxx.validator.swing.SwingValidatorUtil; +import javax.swing.JComponent; import javax.swing.SwingUtilities; +import java.awt.BorderLayout; import java.util.Objects; /** @@ -49,6 +53,8 @@ public class DataSourceEditorHandler implements UIHandler<DataSourceEditor>, Wit private static final Logger log = LogManager.getLogger(DataSourceEditorHandler.class); private DataSourceEditor ui; + private ObserveSwingSessionHelper swingSessionHelper; + private boolean contentAdjusting; @Override public void beforeInit(DataSourceEditor ui) { @@ -57,8 +63,9 @@ public class DataSourceEditorHandler implements UIHandler<DataSourceEditor>, Wit ui.setContextValue(model.getDatasourceMenuModel()); ui.setContextValue(model.getNavigationMenuModel()); ClientUIContext clientUIContext = getClientUIContext(); + swingSessionHelper = clientUIContext.getObserveSwingSessionHelper(); ui.setContextValue(clientUIContext.getClientConfig()); - ui.setContextValue(new ContentUIManager(clientUIContext.getMainUI().getMainUIBodyContentManager(), clientUIContext.getObserveSwingSessionHelper())); + ui.setContextValue(new ContentUIManager(clientUIContext.getMainUI().getMainUIBodyContentManager())); } @Override @@ -77,6 +84,43 @@ public class DataSourceEditorHandler implements UIHandler<DataSourceEditor>, Wit // register this action since there is no editor on which attach this action ChangeEditorFocus.init(ui, null, ChangeEditorFocus.class); + + ui.getModel().addPropertyChangeListener(DataSourceEditorModel.PROPERTY_CONTENT, evt -> onContentChanged((ContentUI) evt.getOldValue(), (ContentUI) evt.getNewValue())); + } + + private void onContentChanged(ContentUI previousContentUI, ContentUI contentUI) { + if (contentAdjusting) { + return; + } + contentAdjusting = true; + try { + log.info(String.format("Content ui changed from: %s to %s", previousContentUI == null ? null : previousContentUI.getModel().getPrefix(), contentUI == null ? null : contentUI.getModel().getPrefix())); + if (previousContentUI != null) { + log.info(String.format("[%s] Will destroy previous content ui", previousContentUI.getClass().getSimpleName())); + previousContentUI.destroy(); + } + if (contentUI == null) { + setNoContent(); + } else { + setContent(contentUI); + openContent(contentUI); + } + } catch (Exception e) { + setNoContent(); + ui.getModel().setContent(null); + } finally { + contentAdjusting = false; + } + } + + private void setNoContent() { + setContent(ui.getEmptySelection()); + } + + private void setContent(JComponent content) { + log.info("Set content: " + content.getName()); + ui.getContent().removeAll(); + ui.getContent().add(content, BorderLayout.CENTER); } public void updateContentSize() { @@ -88,21 +132,28 @@ public class DataSourceEditorHandler implements UIHandler<DataSourceEditor>, Wit ui.getContentSplitPane().setDividerLocation(plusSize); } + public void openContent(ContentUI contentUI) { + log.info(String.format("%sWill open ui", contentUI.getModel().getPrefix())); + contentUI.open(); + updateContentSize(); + swingSessionHelper.addComponent(contentUI, true); + swingSessionHelper.save(); + log.info(String.format("%s opened", contentUI.getModel().getPrefix())); + SwingUtilities.invokeLater(contentUI::opened); + } + /** - * Charge dans l'ui un nouveau modèle de navigation. + * Charge dans l'interface graphique un nouveau modèle de navigation. * - * <b>Note:</b> cette méthode doit être appelée après tout rechargement de modèle de naivgation. + * <b>Note:</b> cette méthode doit être appelée après tout rechargement de modèle de navigation. * * @param progressModel the progress model to interact with ui */ public void loadNavigationUI(ProgressModel progressModel) { - NavigationTree tree = ui.getNavigationUI().getTree(); - NavigationTreeModel treeModel = tree.getModel(); treeModel.populate(false); progressModel.increments(); - // select initial node try { tree.selectInitialNode(); @@ -110,9 +161,7 @@ public class DataSourceEditorHandler implements UIHandler<DataSourceEditor>, Wit log.error("Could not load initial node", e); } progressModel.increments(); - tree.setVisible(true); - ui.getModel().setFocusOnNavigation(true); } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorLayerUI.java ===================================== @@ -117,7 +117,7 @@ public class DataSourceEditorLayerUI extends AbstractLayerUI<JComponent> impleme log.debug("Set focus on content"); editor.getNavigationView().setBorder(getNoFocusBorder()); editor.getContentSplitPane().setBorder(getFocusBorder()); - ContentUI contentUI = editor.getContentUIManager().getSelectedContentUI(); + ContentUI contentUI = editor.getModel().getContent(); if (contentUI != null) { Component focusComponent = contentUI.getModel().getStates().getFormFocusOwner(); if (focusComponent == null) { ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorModel.java ===================================== @@ -39,7 +39,7 @@ import java.util.Objects; public class DataSourceEditorModel extends AbstractJavaBean { public static final String PROPERTY_FOCUS_ON_NAVIGATION = "focusOnNavigation"; - private static final String PROPERTY_CONTENT = "content"; + public static final String PROPERTY_CONTENT = "content"; /** * Shared message table model. */ @@ -78,6 +78,11 @@ public class DataSourceEditorModel extends AbstractJavaBean { return content; } + @SuppressWarnings("unchecked") + public <U extends ContentUI> U getTypedContent() { + return (U) content; + } + public void setContent(ContentUI content) { ContentUI oldValue = getContent(); this.content = content; ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/ContentUIManager.java ===================================== @@ -25,17 +25,11 @@ import fr.ird.observe.client.datasource.editor.api.DataSourceEditor; import fr.ird.observe.client.datasource.editor.api.DataSourceEditorBodyContent; import fr.ird.observe.client.datasource.editor.api.navigation.tree.NavigationNode; import fr.ird.observe.client.main.body.MainUIBodyContentManager; -import fr.ird.observe.client.util.UIHelper; -import fr.ird.observe.client.util.session.ObserveSwingSessionHelper; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.nuiton.jaxx.runtime.JAXXContext; import org.nuiton.jaxx.runtime.context.JAXXInitialContext; -import javax.swing.JPanel; -import javax.swing.SwingUtilities; -import java.awt.BorderLayout; -import java.awt.Component; import java.lang.reflect.Constructor; /** @@ -49,7 +43,6 @@ public class ContentUIManager { private static final Logger log = LogManager.getLogger(ContentUIManager.class); - private final ObserveSwingSessionHelper swingSessionHelper; private final DataSourceEditorBodyContent dataSourceEditorBody; public static JAXXInitialContext newContext(ContentUI parent) { @@ -63,178 +56,54 @@ public class ContentUIManager { .add(dataSourceEditor); } - public ContentUIManager(MainUIBodyContentManager mainUIBodyContentManager, ObserveSwingSessionHelper swingSessionHelper) { - this.swingSessionHelper = swingSessionHelper; + public ContentUIManager(MainUIBodyContentManager mainUIBodyContentManager) { this.dataSourceEditorBody = mainUIBodyContentManager.getBodyTyped(DataSourceEditor.class, DataSourceEditorBodyContent.class); } - public <U extends ContentUI> U getContent() { - JPanel layoutContent = getLayoutContent(); - Component currentContent = layoutContent.getComponent(0); - if (!(currentContent instanceof ContentUI)) { - return null; - } - @SuppressWarnings("unchecked") U content = (U) currentContent; - log.debug(String.format("Will use existing content: %s", content.getClass().getName())); - return content; - } - public void closeSafeSelectedContentUI() { - ContentUI selectedContentUI = getSelectedContentUI(); + ContentUI selectedContentUI = getDataSourceEditor().getModel().getContent(); if (selectedContentUI != null) { selectedContentUI.getHandler().getContentOpen().closeSafeUI(); } } public <U extends ContentUI> U createContent(NavigationNode node, Class<U> uiClass) { - DataSourceEditor dataSourceEditor = getDataSourceEditor(); - JAXXInitialContext jaxxInitialContext = newContext(dataSourceEditor, node); - U result; try { Constructor<U> constructor = uiClass.getConstructor(JAXXContext.class); log.info(String.format("[%s] Will create new ui", uiClass.getSimpleName())); - result = constructor.newInstance(jaxxInitialContext); + JAXXInitialContext jaxxInitialContext = newContext(getDataSourceEditor(), node); + return constructor.newInstance(jaxxInitialContext); } catch (Exception e) { throw new IllegalStateException("Could not create content ui " + uiClass, e); } - try { - // ajout du content dans son parent - getLayoutContent().removeAll(); - getLayoutContent().add(result, BorderLayout.CENTER); - log.debug(String.format("Add new content: %s", result.getClass().getName())); - return result; - } catch (Exception e) { - throw new IllegalStateException("Could not init content ui " + uiClass, e); - } - } - - public void openContent(ContentUI content) { - log.info(String.format("%sWill open ui", content.getModel().getPrefix())); - boolean withError = false; - try { - content.open(); - } catch (Exception e) { - //FIXME:BodyContent See what to do exactly in this case, remove everything ? - UIHelper.handlingError(e); - withError = true; - } finally { - if (!withError) { - getLayoutContent().removeAll(); - getLayoutContent().add(content, BorderLayout.CENTER); - getDataSourceEditor().updateContentSize(); - - swingSessionHelper.addComponent(content, true); - swingSessionHelper.save(); - log.info(String.format("%s opened", content.getModel().getPrefix())); - - SwingUtilities.invokeLater(content::opened); - } - } - } - - public void close() { - getLayoutContent().removeAll(); - getLayoutContent().add(getDataSourceEditor().getEmptySelection(), BorderLayout.CENTER); - } - - public ContentUI getSelectedContentUI() { - return getSelectedContentUI(getDataSourceEditor()); - } - - public boolean closeSelectedContentUI() { - return closeSelectedContentUI(getDataSourceEditor()); } /** * Essaye de fermer l'écran d'édition s'il existe. * - * @param dataSourceEditor l'ui principale - * @return {@code true} si le contenu a bien été fermé, {@code false} si on - * ne peut pas fermer l'écran + * @return {@code true} si le contenu a bien été fermé, {@code false} si on ne peut pas fermer l'écran * @since 1.5 */ - public boolean closeSelectedContentUI(DataSourceEditor dataSourceEditor) { - ContentUI ui = getSelectedContentUI(dataSourceEditor); + public boolean closeSelectedContentUI() { + ContentUI ui = getDataSourceEditor().getModel().getContent(); if (ui == null) { // no content ui return true; } log.info(String.format("[%s] Will close ui", ui.getClass().getSimpleName())); - boolean closed = false; + boolean closed; try { closed = ui.close(); } catch (Exception e) { - UIHelper.handlingError(e); + log.error(String.format("%sCould not close ui", ui.getModel().getPrefix()), e); + // still we accept to qui the content + closed = true; } return closed; } - public void removeSelectedContentUI() { - ContentUI selectedContentUI = getSelectedContentUI(); - if (selectedContentUI != null) { - try { - getLayoutContent().removeAll(); - } catch (Exception e) { - e.printStackTrace(); - } - log.info(String.format("[%s] Will destroy ui", selectedContentUI.getClass().getSimpleName())); - selectedContentUI.destroy(); - } - getLayoutContent().add(getDataSourceEditor().getEmptySelection(), BorderLayout.CENTER); - } - - //FIXME:BodyContent Who used this ? -// public void restartEdit() { -// -// ContentUI selectedUI = getSelectedContentUI(); -// if (selectedUI == null) { -// // pas d'écran selectionne -// return; -// } -// ContentUIModel model = selectedUI.getModel(); -// if (!model.isEditable()) { -// // modele non editable -// return; -// } -// -// if (!model.isUpdatingMode()) { -// // ecran non en mode mis a jour -// return; -// } -// -// log.info(String.format("[%s] Will restart edit ui", selectedUI.getClass().getSimpleName())); -// selectedUI.restartEdit(); -// } - - @Override - protected void finalize() throws Throwable { - super.finalize(); - close(); - } - - private JPanel getLayoutContent() { - return getDataSourceEditor().getContent(); - } - private DataSourceEditor getDataSourceEditor() { return dataSourceEditorBody.get(); } - private ContentUI getSelectedContentUI(DataSourceEditor ui) { - if (ui == null) { - // no ui, so no modification - return null; - } - ContentUI result = null; - JPanel container = ui.getContent(); - if (container.getComponentCount() < 1) { - return null; - } - Component currentContent = container.getComponent(0); - if (currentContent instanceof ContentUI) { - result = (ContentUI) currentContent; - } - return result; - } - } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/create/CreateNewContentTableUIEntry.java ===================================== @@ -83,7 +83,7 @@ public class CreateNewContentTableUIEntry<U extends ContentUI> extends ContentUI ContentTableUI<?, ?, ?> newContentUI; if (!source.equals(selectedNode)) { tree.selectSafeNode(selectedNode); - newContentUI = (ContentTableUI<?, ?, ?>) getDataSourceEditor().getContentUIManager().getSelectedContentUI(); + newContentUI = (ContentTableUI<?, ?, ?>) getDataSourceEditor().getModel().getContent(); } else { newContentUI = (ContentTableUI<?, ?, ?>) ui; } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/mode/ChangeMode.java ===================================== @@ -251,22 +251,18 @@ public class ChangeMode<U extends ContentUI> extends ContentUIActionSupport<U> { } public void rebuildEditableZone(U ui) { -// ui.getActions().setVisible(true); ui.getHandler().getDataSourceEditor().getMessageView().setVisible(true); SwingUtilities.invokeLater(ui.getHandler()::fixFormSize); getDataSourceEditor().updateContentSize(); -// ui.getHandler().fixFormSize(); } protected void rebuildNotEditableZone(U ui) { -// ui.getActions().setVisible(false); ui.getHandler().getDataSourceEditor().getMessageView().setVisible(false); ui.getHandler().fixFormSize(); getDataSourceEditor().updateContentSize(); SwingUtilities.invokeLater(ui.getHandler()::fixFormSize); } - protected void rebuildFocus(U ui, ContentMode mode) { ContentUIModel model = ui.getModel(); model.setFormFocusOwner(null); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/TripActionHelper.java ===================================== @@ -136,7 +136,7 @@ public abstract class TripActionHelper implements WithClientUIContext { NavigationTree tree = ui.getHandler().getDataSourceEditor().getNavigationUI().getTree(); NavigationNode tripNode = tree.getSelectedNode().upToReferenceNode(getReferenceType()); tree.selectSafeNode(tripNode); - TripUI<?> tripUI = (TripUI<?>) ui.getHandler().getDataSourceEditor().getContentUIManager().getSelectedContentUI(); + TripUI<?> tripUI = (TripUI<?>) ui.getHandler().getDataSourceEditor().getModel().getContent(); // set availability flag to true tripUI.getModel().set(availabilityPropertyName, true); // go to meta-data tab ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/edit/actions/SaveEditUIAdapter.java ===================================== @@ -59,7 +59,7 @@ public class SaveEditUIAdapter<U extends ContentEditUI<?, U>> implements SaveAda dataSourceEditor.getNavigationUI().getTree().reSelectSafeNode(node); // apply extra actions from previous opened content (go back to correct tab if any, ...) - U newUi = dataSourceEditor.getContentUIManager().getContent(); + U newUi = dataSourceEditor.getModel().getTypedContent(); newUi.resetFromPreviousUi(ui); } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/open/actions/SaveOpenableUIAdapter.java ===================================== @@ -69,12 +69,12 @@ public class SaveOpenableUIAdapter<U extends ContentOpenableUI<?, U>> implements dataSourceEditor.getNavigationUI().getTree().reSelectSafeNode(node); // apply extra actions from previous opened content (go back to correct tab if any, ...) - U newUi = dataSourceEditor.getContentUIManager().getContent(); + U newUi = dataSourceEditor.getModel().getTypedContent(); newUi.resetFromPreviousUi(ui); if (request.isNotPersisted() && predicate.test(bean)) { // reload ui and do click - U content = dataSourceEditor.getContentUIManager().getContent(); + U content = dataSourceEditor.getModel().getTypedContent(); SwingUtilities.invokeLater(() -> buttonGetter.apply(content).doClick()); } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTree.java ===================================== @@ -45,42 +45,9 @@ public class NavigationTree extends JXTree { public NavigationTree() { super(new NavigationTreeModel()); - setLargeModel(true); setRootVisible(false); - -// addTreeWillExpandListener(new TreeWillExpandListener() { -// -// @Override -// public void treeWillExpand(TreeExpansionEvent event) throws ExpandVetoException { -// getSelectionModel().fireTreeWillExpandEvent(event); -// openNode(event.getPath()); -// } -// -// @Override -// public void treeWillCollapse(TreeExpansionEvent event) throws ExpandVetoException { -// //FIXME check this is working ? -// getSelectionModel().fireTreeWillCollapseEvent(event); -// } -// }); -// addTreeSelectionListener(e -> { -// if (!e.isAddedPath()) { -// return; -// } -// openNode(e.getPath()); -// }); - - } - -// public boolean getScrollableTracksViewportWidth() { -// return true; -// } - -// @Override -// public boolean isFixedRowHeight() { -// return true; -// } - + } @Override public void updateUI() { @@ -157,9 +124,9 @@ public class NavigationTree extends JXTree { NavigationNode selectedNode = getModel().getInitialNode(); log.info(String.format("Initial selected node: %s", selectedNode)); if (selectedNode != null) { - selectSafeNode(selectedNode); + reSelectSafeNode(selectedNode); } - SwingUtilities.invokeLater(this::grabFocus); + SwingUtilities.invokeLater(this::requestFocusInWindow); } /** @@ -180,7 +147,7 @@ public class NavigationTree extends JXTree { selectFirstNode(); } } - SwingUtilities.invokeLater(this::grabFocus); + SwingUtilities.invokeLater(this::requestFocusInWindow); } public void addUnsavedNode(NavigationNode parentNode, NavigationNode result) { ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeSelectionListenerImpl.java ===================================== @@ -24,6 +24,7 @@ package fr.ird.observe.client.datasource.editor.api.navigation; import fr.ird.observe.client.ClientUIContext; import fr.ird.observe.client.datasource.api.ObserveSwingDataSource; +import fr.ird.observe.client.datasource.editor.api.DataSourceEditorModel; import fr.ird.observe.client.datasource.editor.api.content.ContentUI; import fr.ird.observe.client.datasource.editor.api.content.ContentUIManager; import fr.ird.observe.client.datasource.editor.api.navigation.event.NavigationTreeSelectionEvent; @@ -48,9 +49,11 @@ class NavigationTreeSelectionListenerImpl implements fr.ird.observe.client.datas private final ClientUIContext clientUIContext; private final ContentUIManager contentUIManager; private final NavigationUI ui; + private final DataSourceEditorModel dataSourceEditorModel; private final NavigationTree tree; - NavigationTreeSelectionListenerImpl(ContentUIManager contentUIManager, NavigationUI ui, NavigationTree tree) { + NavigationTreeSelectionListenerImpl(DataSourceEditorModel dataSourceEditorModel, ContentUIManager contentUIManager, NavigationUI ui, NavigationTree tree) { + this.dataSourceEditorModel = Objects.requireNonNull(dataSourceEditorModel); this.tree = Objects.requireNonNull(tree); this.clientUIContext = tree.getRootNode().getClientUIContext(); this.contentUIManager = Objects.requireNonNull(contentUIManager); @@ -70,9 +73,8 @@ class NavigationTreeSelectionListenerImpl implements fr.ird.observe.client.datas } @Override - public void treeWillExpand(TreeExpansionEvent event) throws ExpandVetoException { + public void treeWillExpand(TreeExpansionEvent event) { // do nothing -// tree.getSelectionModel().fireTreeWillExpandEvent(event); TreePath path = event.getPath(); NavigationNode node = (NavigationNode) path.getLastPathComponent(); log.info(String.format("Will expand - do open node: %s", node)); @@ -82,7 +84,7 @@ class NavigationTreeSelectionListenerImpl implements fr.ird.observe.client.datas @Override public void treeWillCollapse(TreeExpansionEvent event) throws ExpandVetoException { //FIXME check this is working ? -// tree.getSelectionModel().fireTreeWillCollapseEvent(event); + tree.getSelectionModel().fireTreeWillCollapseEvent(event); NavigationNode node = (NavigationNode) event.getPath().getLastPathComponent(); @@ -111,12 +113,13 @@ class NavigationTreeSelectionListenerImpl implements fr.ird.observe.client.datas if (source == null || !source.isOpen()) { //FIXME Is this can really happen ? not sure // no open data source - log.debug("No open Data source."); + log.warn("No open Data source."); return; } if (tree.isSelectionEmpty()) { - log.debug("No selection, show empty panel..."); - contentUIManager.removeSelectedContentUI(); + log.info("No selection, show empty panel..."); + dataSourceEditorModel.setContent(null); +// contentUIManager.removeSelectedContentUI(); return; } @@ -125,6 +128,7 @@ class NavigationTreeSelectionListenerImpl implements fr.ird.observe.client.datas String params = node.toString(); String message = t("observe.ui.action.open.screen", params); + log.info("Open selection: " + message); node.open(); @@ -137,75 +141,23 @@ class NavigationTreeSelectionListenerImpl implements fr.ird.observe.client.datas // obtain the ui type to show Class<? extends ContentUI> uiClass = node.getScope().getContentUiType(); - log.info(String.format("new selected path = %s, ui = %s", node, uiClass)); + log.info(String.format("Will open content for node = %s, ui = %s", node, uiClass)); - //FIXME Just for test - if (uiClass == null) { - //FIXME We should always have a ui associated to node, improve this code to not accept this state - // no ui found, do nothing - return; - } // compute the selected ids to put in data context node.getContext().storeSelectedNodes(node); - //FIXME:Focus this is not the place to set focus -// boolean focusOnNavigation = false; -// JComponent focusOwner; -// ObserveMainUI mainUI = getClientUIContext().getMainUI(); -// Component focusOwner1 = mainUI.getFocusOwner(); -// if (focusOwner1 == null || focusOwner1.equals(ui) || focusOwner1.equals(mainUI)) { -// focusOnNavigation = true; -// focusOwner = ui.getNavigationUI().getTree(); -// } else { -// focusOwner = (JComponent) mainUI.getFocusOwner(); -// -// if (focusOwner != null) { -// if (ui.getNavigationUI().getTree().equals(focusOwner)) { -// focusOnNavigation = true; -// } -// if (ui.getNavigationUI().equals(focusOwner)) { -// focusOnNavigation = true; -// } -// if (ui.getNavigationView().equals(focusOwner)) { -// focusOnNavigation = true; -// } -// if (!focusOnNavigation) { -// Container focusOwnerParent = focusOwner.getParentReference(); -// while (focusOwnerParent != null) { -// if (ui.getNavigationUI().getTree().equals(focusOwnerParent)) { -// focusOnNavigation = true; -// break; -// } -// if (ui.getNavigationUI().equals(focusOwnerParent)) { -// focusOnNavigation = true; -// break; -// } -// if (ui.getNavigationView().equals(focusOwnerParent)) { -// focusOnNavigation = true; -// break; -// } -// focusOwnerParent = focusOwnerParent.getParentReference(); -// } -// } -// } -// } -// if (focusOnNavigation) { -// log.debug("Focus on navigation: " + focusOwner); +// ContentUI previousSelectedContent = contentUIManager.getSelectedContentUI(); +// if (previousSelectedContent != null) { +// contentUIManager.removeSelectedContentUI(); // } - ContentUI previousSelectedContent = contentUIManager.getSelectedContentUI(); - if (previousSelectedContent != null) { - contentUIManager.removeSelectedContentUI(); - } - // create new content ContentUI content = contentUIManager.createContent(node, node.getScope().getContentUiType()); // open content - contentUIManager.openContent(content); + dataSourceEditorModel.setContent(content); +// contentUIManager.openContent(content); ObserveUtil.cleanMemory(); - -// if (focusOnNavigation) SwingUtilities.invokeLater(focusOwner::requestFocusInWindow); } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationTreeShowPopupHandler.java ===================================== @@ -22,9 +22,9 @@ package fr.ird.observe.client.datasource.editor.api.navigation; * #L% */ +import fr.ird.observe.client.datasource.editor.api.DataSourceEditorModel; import fr.ird.observe.client.datasource.editor.api.content.ContentUI; import fr.ird.observe.client.datasource.editor.api.content.ContentUIHandler; -import fr.ird.observe.client.datasource.editor.api.content.ContentUIManager; import fr.ird.observe.client.datasource.editor.api.navigation.tree.NavigationNode; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -57,10 +57,10 @@ public class NavigationTreeShowPopupHandler implements KeyListener, MouseListene private final JPopupMenu popup; private final NavigationTree tree; private final JMenuItem noAction; - private final ContentUIManager contentUIManager; + private final DataSourceEditorModel dataSourceEditorModel; - NavigationTreeShowPopupHandler(ContentUIManager contentUIManager, NavigationTree tree, JPopupMenu popup, JMenuItem noAction) { - this.contentUIManager = Objects.requireNonNull(contentUIManager); + NavigationTreeShowPopupHandler(DataSourceEditorModel dataSourceEditorModel, NavigationTree tree, JPopupMenu popup, JMenuItem noAction) { + this.dataSourceEditorModel = Objects.requireNonNull(dataSourceEditorModel); this.popup = Objects.requireNonNull(popup); this.tree = Objects.requireNonNull(tree); this.noAction = Objects.requireNonNull(noAction); @@ -84,7 +84,7 @@ public class NavigationTreeShowPopupHandler implements KeyListener, MouseListene // clean popup popup.removeAll(); popup.setLabel(selectedNode.toString()); - ContentUI selectedContentUI = contentUIManager.getSelectedContentUI(); + ContentUI selectedContentUI = dataSourceEditorModel.getContent(); ContentUIHandler<?> handler = selectedContentUI.getHandler(); int length = 0; List<AbstractButton> actions = handler.getNavigationPopupActions(); @@ -187,7 +187,7 @@ public class NavigationTreeShowPopupHandler implements KeyListener, MouseListene // try to change selection TreePath pathForRow = tree.getPathForRow(closestRowForLocation); - if (pathForRow==null) { + if (pathForRow == null) { e.consume(); return; } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationUIInitializer.java ===================================== @@ -23,6 +23,7 @@ package fr.ird.observe.client.datasource.editor.api.navigation; */ import fr.ird.observe.client.configuration.NavigationTreeConfigBean; +import fr.ird.observe.client.datasource.editor.api.DataSourceEditorModel; import fr.ird.observe.client.datasource.editor.api.content.ContentUIManager; import fr.ird.observe.client.datasource.editor.api.navigation.actions.ConfigureMenuAction; import fr.ird.observe.client.util.init.UIInitHelper; @@ -115,9 +116,10 @@ class NavigationUIInitializer extends UIInitializerSupport<NavigationUI, UIIniti editor.setCellRenderer(new NavigationTreeCellRenderer()); editor.getModel().loadConfig(); NavigationUI ui = initializerContext.getUi(); + DataSourceEditorModel dataSourceEditorModel = Objects.requireNonNull(ui.getContextValue(DataSourceEditorModel.class)); ContentUIManager contentUIManager = Objects.requireNonNull(ui.getContextValue(ContentUIManager.class)); - editor.installShowPopupHandler(new NavigationTreeShowPopupHandler(contentUIManager, editor, ui.getNavigationPopup(), ui.getNoAction())); - NavigationTreeSelectionListenerImpl selectionListener = new NavigationTreeSelectionListenerImpl(contentUIManager, ui, editor); + editor.installShowPopupHandler(new NavigationTreeShowPopupHandler(dataSourceEditorModel, editor, ui.getNavigationPopup(), ui.getNoAction())); + NavigationTreeSelectionListenerImpl selectionListener = new NavigationTreeSelectionListenerImpl(dataSourceEditorModel, contentUIManager, ui, editor); editor.addNavigationTreeSelectionListener(selectionListener); editor.addTreeWillExpandListener(selectionListener); editor.addTreeSelectionListener(selectionListener); ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/tree/root/RootNavigationNode.java ===================================== @@ -104,9 +104,9 @@ public class RootNavigationNode extends NavigationNode { public NavigationNode findNodeFromPreviousSelectedNode(NavigationNode oldSelectedNode) { NavigationNode result = this; TreeNode[] pathToRoot = oldSelectedNode.getPath(); - for (int i = 1; i < pathToRoot.length; i++) { + for (TreeNode treeNode : pathToRoot) { NavigationNode next; - NavigationNode oldNode = (NavigationNode) pathToRoot[i]; + NavigationNode oldNode = (NavigationNode) treeNode; if (oldNode.getScope().isSelectNode()) { next = result.findChildByType(oldNode.getClass(), oldNode.getInitializer().getSelectNodeId()); } else { ===================================== client/datasource/editor/ps/src/main/java/fr/ird/observe/client/datasource/editor/ps/RouteCloseCallback.java ===================================== @@ -146,7 +146,7 @@ public class RouteCloseCallback implements EditNodeCloseCallback, WithClientUICo parentNode.addEmptyActivityUINavigationNode(); // on récupère l'écran d'édition - ActivityUI selectedUI = (ActivityUI) dataSourceEditor.getContentUIManager().getSelectedContentUI(); + ActivityUI selectedUI = (ActivityUI) dataSourceEditor.getModel().getContent(); // on recupère l'activité de fin de veille VesselActivityReference vesselActivitySeine = null; ===================================== models/dto/src/main/models/Observe-01-referential-common.model ===================================== @@ -58,7 +58,7 @@ longitude + {*:1} Float | mayNotNull quadrant + {*:1} Integer | mayNotNull country {*:0..1} fr.ird.observe.dto.referential.common.CountryReference | notNull -referential.common.LengthLengthParameter > referential.common.LengthFormulaSupport | references=uri,oceanLabel,sexLabel,species,startDate,endDate,inputSizeMeasureType,outputSizeMeasureType,inputOutputFormula,outputInputFormula +referential.common.LengthLengthParameter > referential.common.LengthFormulaSupport >> reference.ReferentialDtoReferenceWithNoCodeAware | references=uri,oceanLabel,sexLabel,species,startDate,endDate,inputSizeMeasureType,outputSizeMeasureType,inputOutputFormula,outputInputFormula inputOutputFormula + {*:1} String | notNull inputOutputFormulaValid + {*:1} boolean outputInputFormula + {*:1} String | notNull @@ -66,7 +66,7 @@ outputInputFormulaValid + {*:1} boolean inputSizeMeasureType {*:1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference | notNull outputSizeMeasureType {*:1} fr.ird.observe.dto.referential.common.SizeMeasureTypeReference | notNull -referential.common.LengthWeightParameter > referential.common.LengthFormulaSupport | references=uri,oceanLabel,sexLabel,species,startDate,endDate,lengthWeightFormula,weightLengthFormula,sizeMeasureType +referential.common.LengthWeightParameter > referential.common.LengthFormulaSupport >> reference.ReferentialDtoReferenceWithNoCodeAware | references=uri,oceanLabel,sexLabel,species,startDate,endDate,lengthWeightFormula,weightLengthFormula,sizeMeasureType lengthWeightFormula + {*:1} String | notNull weightLengthFormula + {*:1} String | notNull meanLength + {*:1} Float | strictlyPositiveNumber View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/95c108a128ade08e284ab2a4… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/95c108a128ade08e284ab2a4… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 3 commits: Low log level
by Tony CHEMIT 17 Dec '20

17 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 2434a371 by Tony Chemit at 2020-12-17T06:05:56+01:00 Low log level - - - - - 512a2d47 by Tony Chemit at 2020-12-17T06:11:48+01:00 Si on annule le changement d&#39;une source de donnée, la source précédente reste connectée mais on ne voit pas l&#39;arbre de navigation - Closes #1670 - - - - - 95c108a1 by Tony Chemit at 2020-12-17T06:11:48+01:00 Lors d&#39;une action d&#39;import d&#39;une sauvegarde, la source de donnée courante est fermée avant même que l&#39;utilisateur est validé - Closes #1671 - - - - - 4 changed files: - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/create/CreateNewContentTableUIEntry.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIModelSupport.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/menu/actions/ImportStorageFromFileAction.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/menu/actions/LoadStorageActionSupport.java Changes: ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/actions/create/CreateNewContentTableUIEntry.java ===================================== @@ -60,7 +60,7 @@ public class CreateNewContentTableUIEntry<U extends ContentUI> extends ContentUI JMenuItem editor = new JMenuItem(); String fieldName = "add" + StringUtils.capitalize(dtoType.getSimpleName().replace("Dto", "")); editor.setName(fieldName); - log.info("Create new action: " + fieldName); + log.debug("Create new action: " + fieldName); ui.get$objectMap().put(editor.getName(), editor); init(ui, editor, action); return editor; ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/content/data/simple/ContentSimpleUIModelSupport.java ===================================== @@ -99,8 +99,9 @@ public abstract class ContentSimpleUIModelSupport<D extends DataDto> extends Con if (result) { D bean = getStates().getBean(); result = ContentTableUINavigationInitializer.isEnabled(bean, dtoType); - if (result) { // got a matching bean property - log.info(String.format("%sUse dto bean property to enable %s create action.", getPrefix(), dtoType.getName())); + if (result) { + // got a matching bean property + log.debug(String.format("%sUse dto bean property to enable %s create action.", getPrefix(), dtoType.getName())); } return result; } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/menu/actions/ImportStorageFromFileAction.java ===================================== @@ -26,9 +26,7 @@ import fr.ird.observe.client.constants.CreationMode; import fr.ird.observe.client.constants.DbMode; import fr.ird.observe.client.datasource.editor.api.wizard.StorageStep; import fr.ird.observe.client.datasource.editor.api.wizard.StorageUI; -import fr.ird.observe.client.datasource.editor.api.wizard.StorageUILauncher; import fr.ird.observe.client.datasource.editor.api.wizard.StorageUIModel; -import fr.ird.observe.client.main.ObserveMainUI; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -76,19 +74,9 @@ public class ImportStorageFromFileAction extends LoadStorageActionSupport { } } - @Override - protected StorageUILauncher startWizard(ObserveMainUI mainUI) { - if (getObserveDataSourcesManager().getOptionalMainDataSource().isPresent()) { - log.info("Closing datasource..."); - getDataSourceEditorBodyContent().doCloseStorage(); - } - return super.startWizard(mainUI); - } - @Override protected void doChangeStorage(StorageUI ui) { log.info("Start importing new datasource from backup file..."); - super.doChangeStorage(ui); } } ===================================== client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/menu/actions/LoadStorageActionSupport.java ===================================== @@ -22,6 +22,7 @@ package fr.ird.observe.client.datasource.editor.api.menu.actions; * #L% */ +import fr.ird.observe.client.datasource.editor.api.DataSourceEditor; import fr.ird.observe.client.datasource.editor.api.loading.LoadingDataSourceContext; import fr.ird.observe.client.datasource.editor.api.loading.close.CloseDataSourceAction; import fr.ird.observe.client.datasource.editor.api.loading.open.OpenDataSourceAction; @@ -70,9 +71,12 @@ public abstract class LoadStorageActionSupport extends DataSourceEditorMenuActio JAXXContext rootContext = ui == null ? mainUI : ui; return new StorageUILauncher(rootContext, mainUI, getTitle()) { + boolean withPreviousDatasource; + @Override protected void init(StorageUI ui) { super.init(ui); + withPreviousDatasource = getClientUIContext().getDataSourcesManager().getOptionalMainDataSource().isPresent(); LoadStorageActionSupport.this.init(ui); } @@ -82,6 +86,13 @@ public abstract class LoadStorageActionSupport extends DataSourceEditorMenuActio doChangeStorage(ui); } + @Override + public void doClose(StorageUI ui, boolean wasCanceled) { + super.doClose(ui, wasCanceled); + if (wasCanceled && withPreviousDatasource) { + mainUI.changeBodyContent(DataSourceEditor.class); + } + } }; } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/72e7bfd8d4b5854492138778… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/72e7bfd8d4b5854492138778… You're receiving this email because of your account on gitlab.com.
1 0
0 0
[Git][ultreiaio/ird-observe][develop] 2 commits: Improve how to display permission (once for all only one place to get the...
by Tony CHEMIT 17 Dec '20

17 Dec '20
Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 3eeb40a9 by Tony Chemit at 2020-12-17T05:43:32+01:00 Improve how to display permission (once for all only one place to get the correct label): what a really mess in templates (thanks to sbavencoff) - - - - - 72e7bfd8 by Tony Chemit at 2020-12-17T05:48:21+01:00 Revoir le bouton qui permet de voir la base chargée - Closes #1657 - - - - - 30 changed files: - client/core/src/main/i18n/templates/dataSourceInformation_en_GB.ftl - client/core/src/main/i18n/templates/dataSourceInformation_es_ES.ftl - client/core/src/main/i18n/templates/dataSourceInformation_fr_FR.ftl - client/datasource/editor/api/src/main/i18n/templates/storageModelDataSourceConfiguration_en_GB.ftl - client/datasource/editor/api/src/main/i18n/templates/storageModelDataSourceConfiguration_es_ES.ftl - client/datasource/editor/api/src/main/i18n/templates/storageModelDataSourceConfiguration_fr_FR.ftl - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditor.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditor.jcss - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorBodyContent.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/DataSourceEditorModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/menu/DataSourceEditorMenu.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/menu/DataSourceEditorMenu.jcss - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/menu/DataSourceEditorMenuModel.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/menu/DataSourceEditorNavigationMenuHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationUI.jaxx - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationUIHandler.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/NavigationUIInitializer.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/GoDown.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/GoUp.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/NavigationConfigUIActionSupport.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/ToggleConfigure.java - client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/menu/actions/StorageStatusAction.java → client/datasource/editor/api/src/main/java/fr/ird/observe/client/datasource/editor/api/navigation/actions/ToggleInformation.java - services/i18n/src/main/i18n/translations/services_en_GB.properties - services/i18n/src/main/i18n/translations/services_es_ES.properties - services/i18n/src/main/i18n/translations/services_fr_FR.properties - toolkit/dto/src/main/i18n/getters/java.getter - toolkit/dto/src/main/java/fr/ird/observe/security/WithPermission.java - toolkit/service/src/main/i18n/templates/dataSourcePolicy_en_GB.ftl - toolkit/service/src/main/i18n/templates/dataSourcePolicy_es_ES.ftl The diff was not included because it is too large. View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/741ced544142b11a7077fc08… -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/-/compare/741ced544142b11a7077fc08… 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.