This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 8e036f2c6ce94b92508cdbd673d91992b50b2c70 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Dec 5 13:56:51 2016 +0100 [iso] amélioration code de chargement de certaines actions --- .../ui/actions/content/MoveTripsUIAction.java | 12 ++++--- .../impl/longline/ActivityLonglineUIHandler.java | 2 +- .../open/impl/seine/ActivitySeineUIHandler.java | 2 +- .../tree/ObserveNavigationTreeShowPopupAction.java | 23 +++++++++---- ...java => MoveTripLonglineNodeMenuPopulator.java} | 38 ++++++---------------- ...or.java => MoveTripSeineNodeMenuPopulator.java} | 34 ++++++------------- .../i18n/application-swing_en_GB.properties | 3 +- .../i18n/application-swing_es_ES.properties | 3 +- .../i18n/application-swing_fr_FR.properties | 3 +- 9 files changed, 53 insertions(+), 67 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/content/MoveTripsUIAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/content/MoveTripsUIAction.java index 3b8d7df..e81796f 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/content/MoveTripsUIAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/content/MoveTripsUIAction.java @@ -26,10 +26,11 @@ import fr.ird.observe.application.swing.ObserveSwingApplicationContext; import fr.ird.observe.application.swing.ui.ObserveMainUI; import fr.ird.observe.application.swing.ui.content.ContentUI; import fr.ird.observe.application.swing.ui.content.list.ContentListUIModel; -import fr.ird.observe.application.swing.ui.tree.menu.MoveTripNodeMenuPopulator; +import fr.ird.observe.application.swing.ui.tree.menu.MoveTripLonglineNodeMenuPopulator; +import fr.ird.observe.application.swing.ui.tree.menu.MoveTripSeineNodeMenuPopulator; import fr.ird.observe.application.swing.ui.tree.navigation.NavigationTree; -import fr.ird.observe.application.swing.ui.tree.navigation.nodes.RootNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.NavigationTreeNodeSupport; +import fr.ird.observe.application.swing.ui.tree.navigation.nodes.RootNavigationTreeNode; import fr.ird.observe.application.swing.ui.util.DecoratedNodeEntity; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.DataReference; @@ -110,8 +111,11 @@ public abstract class MoveTripsUIAction<T extends DataDto> extends AbstractConte //on crée un tableau avec un programme en moins car on ne propose pas le programme actuel List<DecoratedNodeEntity> decoratedProgramList = new ArrayList<>(); - MoveTripNodeMenuPopulator.createPossibleParents(oldProgramId, decoratedProgramList, geartype, rootNode); - + if (geartype == GearType.seine) { + MoveTripSeineNodeMenuPopulator.createPossibleParents(oldProgramId, decoratedProgramList, rootNode); + } else if (geartype == GearType.longline) { + MoveTripLonglineNodeMenuPopulator.createPossibleParents(oldProgramId, decoratedProgramList, rootNode); + } DecoratedNodeEntity[] decoratedPrograms = decoratedProgramList.toArray(new DecoratedNodeEntity[decoratedProgramList.size()]); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/longline/ActivityLonglineUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/longline/ActivityLonglineUIHandler.java index d31b3a5..c35bbfd 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/longline/ActivityLonglineUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/longline/ActivityLonglineUIHandler.java @@ -76,7 +76,7 @@ class ActivityLonglineUIHandler extends ContentOpenableUIHandler<ActivityLonglin protected boolean doOpenData() { boolean result = getOpenDataManager().canOpenActivityLongline(getSelectedParentId()); if (result) { - String setLonglineId = Optional.of(getBean().getSetLongline()).map(DataReference::getId).orElse(null); + String setLonglineId = Optional.ofNullable(getBean().getSetLongline()).map(DataReference::getId).orElse(null); getOpenDataManager().openActivityLongline(getSelectedParentId(), getSelectedId(), setLonglineId); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIHandler.java index 94adf8a..dcfe28e 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/content/open/impl/seine/ActivitySeineUIHandler.java @@ -92,7 +92,7 @@ class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySeineDto, protected boolean doOpenData() { boolean result = getOpenDataManager().canOpenActivitySeine(getSelectedParentId()); if (result) { - String setSeineId = Optional.of(getBean().getSetSeine()).map(DataReference::getId).orElse(null); + String setSeineId = Optional.ofNullable(getBean().getSetSeine()).map(DataReference::getId).orElse(null); getOpenDataManager().openActivitySeine(getSelectedParentId(), getSelectedId(), setSeineId); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/ObserveNavigationTreeShowPopupAction.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/ObserveNavigationTreeShowPopupAction.java index 9010e0e..f9257ad 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/ObserveNavigationTreeShowPopupAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/ObserveNavigationTreeShowPopupAction.java @@ -33,7 +33,8 @@ import fr.ird.observe.application.swing.ui.tree.menu.MoveActivityLonglineNodeMen import fr.ird.observe.application.swing.ui.tree.menu.MoveActivitySeineNodeMenuPopulator; import fr.ird.observe.application.swing.ui.tree.menu.MoveNodeMenuPopulator; import fr.ird.observe.application.swing.ui.tree.menu.MoveRouteNodeMenuPopulator; -import fr.ird.observe.application.swing.ui.tree.menu.MoveTripNodeMenuPopulator; +import fr.ird.observe.application.swing.ui.tree.menu.MoveTripLonglineNodeMenuPopulator; +import fr.ird.observe.application.swing.ui.tree.menu.MoveTripSeineNodeMenuPopulator; import fr.ird.observe.application.swing.ui.tree.navigation.NavigationTree; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.ReferenceNavigationTreeNodeSupport; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.NavigationTreeNodeSupport; @@ -76,13 +77,15 @@ public class ObserveNavigationTreeShowPopupAction { /** Logger. */ private static final Log log = LogFactory.getLog(ObserveNavigationTreeShowPopupAction.class); - private static final String TRIP_MENU_ITEMS = "trip"; + private static final String TRIP_SEINE_MENU_ITEMS = "tripSeine"; + private static final String TRIP_LONGLINE_MENU_ITEMS = "tripLongline"; private static final String ROUTE_MENU_ITEMS = "route"; private static final String ACTIVITY_SEINE_MENU_ITEMS = "activitySeine"; private static final String ACTIVITY_LONGLINE_MENU_ITEMS = "activityLongline"; static { - n("observe.navigationMenu.move.trip"); + n("observe.navigationMenu.move.tripSeine"); + n("observe.navigationMenu.move.tripLongline"); n("observe.navigationMenu.move.route"); n("observe.navigationMenu.move.activitySeine"); n("observe.navigationMenu.move.activityLongline"); @@ -137,7 +140,8 @@ public class ObserveNavigationTreeShowPopupAction { this.moveAction = moveComponent; this.deleteAction = deleteActionComponent; - moveNodeDataByNodeType = ImmutableMap.of(TRIP_MENU_ITEMS, new MoveTripNodeMenuPopulator(), + moveNodeDataByNodeType = ImmutableMap.of(TRIP_SEINE_MENU_ITEMS, new MoveTripSeineNodeMenuPopulator(), + TRIP_LONGLINE_MENU_ITEMS, new MoveTripLonglineNodeMenuPopulator(), ROUTE_MENU_ITEMS, new MoveRouteNodeMenuPopulator(), ACTIVITY_SEINE_MENU_ITEMS, new MoveActivitySeineNodeMenuPopulator(), ACTIVITY_LONGLINE_MENU_ITEMS, new MoveActivityLonglineNodeMenuPopulator()); @@ -264,9 +268,16 @@ public class ObserveNavigationTreeShowPopupAction { } Class dataType = selectedNode.getDataType(); - if (TripSeineDto.class.equals(dataType) || TripLonglineDto.class.equals(dataType)) { + if (TripSeineDto.class.equals(dataType)) { - beforeOpenMenu((ReferenceNavigationTreeNodeSupport) selectedNode, TRIP_MENU_ITEMS); + beforeOpenMenu((ReferenceNavigationTreeNodeSupport) selectedNode, TRIP_SEINE_MENU_ITEMS); + + openAction.setEnabled(!dataContext.isOpenTrip()); + closeAction.setEnabled(closeActionEnabled); + + } else if (TripLonglineDto.class.equals(dataType)) { + + beforeOpenMenu((ReferenceNavigationTreeNodeSupport) selectedNode, TRIP_LONGLINE_MENU_ITEMS); openAction.setEnabled(!dataContext.isOpenTrip()); closeAction.setEnabled(closeActionEnabled); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/menu/MoveTripNodeMenuPopulator.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/menu/MoveTripLonglineNodeMenuPopulator.java similarity index 68% copy from application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/menu/MoveTripNodeMenuPopulator.java copy to application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/menu/MoveTripLonglineNodeMenuPopulator.java index 4c42e43..5e2a348 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/menu/MoveTripNodeMenuPopulator.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/menu/MoveTripLonglineNodeMenuPopulator.java @@ -27,14 +27,13 @@ import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferen import fr.ird.observe.application.swing.ui.tree.actions.ChangeTripProgramActionListener; import fr.ird.observe.application.swing.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.application.swing.ui.tree.navigation.NavigationTree; -import fr.ird.observe.application.swing.ui.tree.navigation.nodes.RootNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.NavigationTreeNodeSupport; +import fr.ird.observe.application.swing.ui.tree.navigation.nodes.ReferenceNavigationTreeNodeSupport; +import fr.ird.observe.application.swing.ui.tree.navigation.nodes.RootNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.longline.ProgramLonglineNavigationTreeNode; -import fr.ird.observe.application.swing.ui.tree.navigation.nodes.seine.ProgramSeineNavigationTreeNode; import fr.ird.observe.application.swing.ui.util.DecoratedNodeEntity; -import fr.ird.observe.services.dto.IdHelper; -import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import java.util.ArrayList; import java.util.List; @@ -43,7 +42,7 @@ import java.util.List; * @author Kevin Morin (Code Lutin) * @since 5.0 */ -public class MoveTripNodeMenuPopulator extends MoveNodeMenuPopulator { +public class MoveTripLonglineNodeMenuPopulator extends MoveNodeMenuPopulator { @Override public NodeChangeActionListener createChangeActionListener(NavigationTree tree, @@ -61,40 +60,23 @@ public class MoveTripNodeMenuPopulator extends MoveNodeMenuPopulator { // programmes du même type que le noeud de marée, sans le parent actuel List<DecoratedNodeEntity> possibleParents = new ArrayList<>(); - // noeud longline ? - GearType gearType = IdHelper.isLonglineId(tripNode.getId()) ? GearType.longline : GearType.seine; - - // racine - RootNavigationTreeNode rootNode = tripNode.getRoot(); - - createPossibleParents(parentNode.getId(), possibleParents, gearType, rootNode); + createPossibleParents(parentNode.getId(), possibleParents, tripNode.getRoot()); return possibleParents; } - public static void createPossibleParents(String oldProgramId, List<DecoratedNodeEntity> possibleParents, GearType gearType, NavigationTreeNodeSupport rootNode) { + public static void createPossibleParents(String oldProgramId, List<DecoratedNodeEntity> possibleParents, RootNavigationTreeNode rootNode) { ReferentialReferenceDecorator<ProgramDto> programDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(ProgramDto.class); - for (int i = 0, n = rootNode.getChildCount(); i < n; i++) { - - NavigationTreeNodeSupport programNode = (NavigationTreeNodeSupport) rootNode.getChildAt(i); + for (ReferenceNavigationTreeNodeSupport<ProgramDto, ReferentialReference<ProgramDto>> programNode : rootNode) { String programId = programNode.getId(); // si le noeud programme n'est pas le même que le parent actuel - // si le noeud est bien un noeud de programme - if (IdHelper.isProgramId(programId) && !oldProgramId.equals(programId)) { - - if (programNode instanceof ProgramSeineNavigationTreeNode && GearType.seine == gearType) { - - ProgramSeineNavigationTreeNode node = (ProgramSeineNavigationTreeNode) programNode; - possibleParents.add(DecoratedNodeEntity.newDecoratedNodeEntity(node, programDecorator)); - - } else if (programNode instanceof ProgramLonglineNavigationTreeNode && GearType.longline == gearType) { - - ProgramLonglineNavigationTreeNode node = (ProgramLonglineNavigationTreeNode) programNode; - possibleParents.add(DecoratedNodeEntity.newDecoratedNodeEntity(node, programDecorator)); + if (!oldProgramId.equals(programId)) { + if (programNode instanceof ProgramLonglineNavigationTreeNode) { + possibleParents.add(DecoratedNodeEntity.newDecoratedNodeEntity(programNode, programDecorator)); } } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/menu/MoveTripNodeMenuPopulator.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/menu/MoveTripSeineNodeMenuPopulator.java similarity index 71% rename from application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/menu/MoveTripNodeMenuPopulator.java rename to application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/menu/MoveTripSeineNodeMenuPopulator.java index 4c42e43..a561667 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/menu/MoveTripNodeMenuPopulator.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/tree/menu/MoveTripSeineNodeMenuPopulator.java @@ -27,14 +27,13 @@ import fr.ird.observe.application.swing.decoration.decorators.ReferentialReferen import fr.ird.observe.application.swing.ui.tree.actions.ChangeTripProgramActionListener; import fr.ird.observe.application.swing.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.application.swing.ui.tree.navigation.NavigationTree; -import fr.ird.observe.application.swing.ui.tree.navigation.nodes.RootNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.NavigationTreeNodeSupport; -import fr.ird.observe.application.swing.ui.tree.navigation.nodes.longline.ProgramLonglineNavigationTreeNode; +import fr.ird.observe.application.swing.ui.tree.navigation.nodes.ReferenceNavigationTreeNodeSupport; +import fr.ird.observe.application.swing.ui.tree.navigation.nodes.RootNavigationTreeNode; import fr.ird.observe.application.swing.ui.tree.navigation.nodes.seine.ProgramSeineNavigationTreeNode; import fr.ird.observe.application.swing.ui.util.DecoratedNodeEntity; -import fr.ird.observe.services.dto.IdHelper; -import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import java.util.ArrayList; import java.util.List; @@ -43,7 +42,7 @@ import java.util.List; * @author Kevin Morin (Code Lutin) * @since 5.0 */ -public class MoveTripNodeMenuPopulator extends MoveNodeMenuPopulator { +public class MoveTripSeineNodeMenuPopulator extends MoveNodeMenuPopulator { @Override public NodeChangeActionListener createChangeActionListener(NavigationTree tree, @@ -61,40 +60,27 @@ public class MoveTripNodeMenuPopulator extends MoveNodeMenuPopulator { // programmes du même type que le noeud de marée, sans le parent actuel List<DecoratedNodeEntity> possibleParents = new ArrayList<>(); - // noeud longline ? - GearType gearType = IdHelper.isLonglineId(tripNode.getId()) ? GearType.longline : GearType.seine; - // racine RootNavigationTreeNode rootNode = tripNode.getRoot(); - createPossibleParents(parentNode.getId(), possibleParents, gearType, rootNode); + createPossibleParents(parentNode.getId(), possibleParents, rootNode); return possibleParents; } - public static void createPossibleParents(String oldProgramId, List<DecoratedNodeEntity> possibleParents, GearType gearType, NavigationTreeNodeSupport rootNode) { + public static void createPossibleParents(String oldProgramId, List<DecoratedNodeEntity> possibleParents, RootNavigationTreeNode rootNode) { ReferentialReferenceDecorator<ProgramDto> programDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(ProgramDto.class); - for (int i = 0, n = rootNode.getChildCount(); i < n; i++) { + for (ReferenceNavigationTreeNodeSupport<ProgramDto, ReferentialReference<ProgramDto>> programNode : rootNode) { - NavigationTreeNodeSupport programNode = (NavigationTreeNodeSupport) rootNode.getChildAt(i); String programId = programNode.getId(); // si le noeud programme n'est pas le même que le parent actuel - // si le noeud est bien un noeud de programme - if (IdHelper.isProgramId(programId) && !oldProgramId.equals(programId)) { - - if (programNode instanceof ProgramSeineNavigationTreeNode && GearType.seine == gearType) { - - ProgramSeineNavigationTreeNode node = (ProgramSeineNavigationTreeNode) programNode; - possibleParents.add(DecoratedNodeEntity.newDecoratedNodeEntity(node, programDecorator)); - - } else if (programNode instanceof ProgramLonglineNavigationTreeNode && GearType.longline == gearType) { - - ProgramLonglineNavigationTreeNode node = (ProgramLonglineNavigationTreeNode) programNode; - possibleParents.add(DecoratedNodeEntity.newDecoratedNodeEntity(node, programDecorator)); + if (!oldProgramId.equals(programId)) { + if (programNode instanceof ProgramSeineNavigationTreeNode) { + possibleParents.add(DecoratedNodeEntity.newDecoratedNodeEntity(programNode, programDecorator)); } } diff --git a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties index fb784e1..584f3fd 100644 --- a/application-swing/src/main/resources/i18n/application-swing_en_GB.properties +++ b/application-swing/src/main/resources/i18n/application-swing_en_GB.properties @@ -1537,7 +1537,8 @@ observe.message.warning.will.be.delete=%1$s\n\nBe ware, export will replace exis observe.navigationMenu.move.activityLongline=Change trip observe.navigationMenu.move.activitySeine=change route observe.navigationMenu.move.route=Change trip -observe.navigationMenu.move.trip=Change program +observe.navigationMenu.move.tripLongline=Change program +observe.navigationMenu.move.tripSeine=Change program observe.navigationMenu.noAction=< No action > observe.runner.config.loaded=Configuration d'ObServe v. %1$s chargée. observe.runner.context.loaded=Initialisation du contexte terminée en %1$s. diff --git a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties index 1a7dde7..bc08238 100644 --- a/application-swing/src/main/resources/i18n/application-swing_es_ES.properties +++ b/application-swing/src/main/resources/i18n/application-swing_es_ES.properties @@ -1537,7 +1537,8 @@ observe.message.warning.will.be.delete=%1$s\n\nAtención, la exportación reempl observe.navigationMenu.move.activityLongline=Cambiar de marea observe.navigationMenu.move.activitySeine=Cambiar de ruta observe.navigationMenu.move.route=Cambiar de marea -observe.navigationMenu.move.trip=Reasignación del programa +observe.navigationMenu.move.tripLongline=Reasignación del programa +observe.navigationMenu.move.tripSeine=Reasignación del programa observe.navigationMenu.noAction=< Ninguna acción definida > observe.runner.config.loaded=Configuración de Observe v. %1$s cargada. observe.runner.context.loaded=Finlazada la inicialización del contexto en %1$s. diff --git a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties index 842fc0c..529b960 100644 --- a/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties +++ b/application-swing/src/main/resources/i18n/application-swing_fr_FR.properties @@ -1537,7 +1537,8 @@ observe.message.warning.will.be.delete=%1$s\n\nAttention, l'export remplacera la observe.navigationMenu.move.activityLongline=Changer de marée observe.navigationMenu.move.activitySeine=Changer de route observe.navigationMenu.move.route=Changer de marée -observe.navigationMenu.move.trip=Réallocation du programme +observe.navigationMenu.move.tripLongline=Réallocation du programme +observe.navigationMenu.move.tripSeine=Réallocation du programme observe.navigationMenu.noAction=< Aucune action définie > observe.runner.config.loaded=Configuration d'ObServe v. %1$s chargée. observe.runner.context.loaded=Initialisation du contexte terminée en %1$s. -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.