branch develop updated (1857d71 -> 9d54b0b)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See http://git.codelutin.com/observe.git from 1857d71 desactiver le menu contextuel 'cloturer' sur une marée quand une route ou une activité sont ouvertes (refs #7621) new 61cbc89 ajout des menus pour les routes (refs #7622) new ac49cd8 actions de déplcement des routes et marées (refs #7622) new 16da14f ajout d'une méthode pour savoir si un noeud est un noeud de route (refs #7622) new 83ab966 ajout des nouveaux menus sur les noeuds de route (refs #7622) new fc73420 i18n (refs #7622) new 6d80401 ajout des méthodes pour déplacer une route (refs #7622) new 2c34abf ajout de l'icone (refs #7622) new 76b94bd ajout d'une methode pour déplacer plusieurs routes (refs #7622) new f7122a1 ajout de l'icone de déplacement de route (refs #7622) new 677e264 refactoring de la sélection des éléments des listes (refs #7622) new 654085f ajout du bouton pour déplacer des routes depuis la liste (refs #7622) new 0b7f406 refactoring des actions du menu contextuel de l'arbre (refs #7622) new b2b70d4 correction des positions (refs #7622) new acbb79d correction de l'action de déplacement des routes depuis la liste (refs #7622) new e5719f9 meilleur gestion de l'activation du menu de fermeture des neouds (refs #7622) new ce9258e fix decorateur (refs #7622) new 9d54b0b correction du déplacement des routes (fixes #7622) The 17 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 9d54b0b11cfacbad2b48b6d5235e247abe1001c9 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 15:35:26 2015 +0100 correction du déplacement des routes (fixes #7622) commit ce9258e37c2e78bd57f48d00d606ac71af0f9a0f Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 14:49:44 2015 +0100 fix decorateur (refs #7622) commit e5719f9824963929eb58d144925cd519c85ed777 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 14:29:31 2015 +0100 meilleur gestion de l'activation du menu de fermeture des neouds (refs #7622) commit acbb79dea874332cc2fc501c960c57723155e564 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:27:19 2015 +0100 correction de l'action de déplacement des routes depuis la liste (refs #7622) commit b2b70d4f41ef2c3740a08a56c2f4016b9dfcd4eb Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:04:10 2015 +0100 correction des positions (refs #7622) commit 0b7f406203cb35c013dc5fc85077d7ddfb6ce4e9 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:00:42 2015 +0100 refactoring des actions du menu contextuel de l'arbre (refs #7622) commit 654085fa132e807bd6538772c6b33dd796baa31f Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:00:02 2015 +0100 ajout du bouton pour déplacer des routes depuis la liste (refs #7622) commit 677e2645628f886a1004921eb55f5a894a628d6f Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:59:07 2015 +0100 refactoring de la sélection des éléments des listes (refs #7622) commit f7122a1ec387232669e46e16cec4e8b4ba0535fb Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:56:13 2015 +0100 ajout de l'icone de déplacement de route (refs #7622) commit 76b94bdbb7df757e7c751c50ba2f9bcf2d69db3e Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:55:45 2015 +0100 ajout d'une methode pour déplacer plusieurs routes (refs #7622) commit 2c34abfa76e68dd55dbccc4fba437bc67ed6cef9 Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:50:19 2015 +0100 ajout de l'icone (refs #7622) commit 6d804015c29ca33ed418c51791c67072e912be94 Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:39:20 2015 +0100 ajout des méthodes pour déplacer une route (refs #7622) commit fc73420684686b7c80307bf43d261d6e684ced06 Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:39:16 2015 +0100 i18n (refs #7622) commit 83ab966a8ad93653a41cb40264c87c614f580eb8 Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:36:05 2015 +0100 ajout des nouveaux menus sur les noeuds de route (refs #7622) commit 16da14f46d07dae50b24bfbf1edc515a512f9e0a Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:35:13 2015 +0100 ajout d'une méthode pour savoir si un noeud est un noeud de route (refs #7622) commit ac49cd8e841eb07e79b497bb4d53e667950b3f6b Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:34:41 2015 +0100 actions de déplcement des routes et marées (refs #7622) commit 61cbc89a60e00e9a34f13b3e6e2e298fe22ae6e5 Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:33:53 2015 +0100 ajout des menus pour les routes (refs #7622) Summary of changes: .../src/main/filters/observe-ui.properties | 3 + .../observe/ObserveSwingApplicationContext.java | 2 + .../main/java/fr/ird/observe/ui/ObserveMainUI.css | 22 +- .../main/java/fr/ird/observe/ui/ObserveMainUI.jaxx | 8 +- .../ui/actions/shared/MoveRoutesUIAction.java | 226 ++++++++++++++++++ .../actions/shared/MoveTripLonglinesUIAction.java | 7 - .../ui/actions/shared/MoveTripSeinesUIAction.java | 7 - .../ui/actions/shared/MoveTripsUIAction.java | 5 +- .../ird/observe/ui/content/list/ContentListUI.css | 10 +- .../ird/observe/ui/content/list/ContentListUI.jaxx | 13 +- .../ui/content/list/ContentListUIModel.java | 25 +- .../content/list/impl/longline/TripLonglinesUI.css | 9 +- .../list/impl/longline/TripLonglinesUI.jaxx | 22 +- .../ui/content/list/impl/seine/RoutesUI.css | 6 + .../ui/content/list/impl/seine/RoutesUI.jaxx | 3 + .../ui/content/list/impl/seine/TripSeinesUI.css | 6 +- .../ui/content/list/impl/seine/TripSeinesUI.jaxx | 22 +- .../content/list/impl/seine/TripSeinesUIModel.java | 26 -- .../tree/ObserveNavigationTreeShowPopupAction.java | 261 ++++++++++++++++----- .../java/fr/ird/observe/ui/tree/ObserveNode.java | 6 + .../actions/ChangeRouteTripActionListener.java | 91 +++++++ .../actions/ChangeTripProgramActionListener.java | 74 ++---- .../ui/tree/actions/NodeChangeActionListener.java | 115 +++++++++ .../observe-application-swing_en_GB.properties | 8 + .../observe-application-swing_es_ES.properties | 8 + .../observe-application-swing_fr_FR.properties | 8 +- .../main/resources/icons/action-move-routes.png | Bin 0 -> 953 bytes .../v1/seine/RouteServiceController.java | 11 + .../services/service/seine/RouteService.java | 9 + .../services/service/seine/RouteServiceTopia.java | 30 +++ .../service/seine/TripSeineServiceTopia.java | 4 + 31 files changed, 803 insertions(+), 244 deletions(-) create mode 100644 observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java create mode 100644 observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeRouteTripActionListener.java create mode 100644 observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/NodeChangeActionListener.java create mode 100644 observe-application-swing/src/main/resources/icons/action-move-routes.png -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 61cbc89a60e00e9a34f13b3e6e2e298fe22ae6e5 Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:33:53 2015 +0100 ajout des menus pour les routes (refs #7622) --- .../main/java/fr/ird/observe/ui/ObserveMainUI.css | 42 ++++++++++++++++++---- .../main/java/fr/ird/observe/ui/ObserveMainUI.jaxx | 6 ++++ .../observe-application-swing_en_GB.properties | 4 +++ .../observe-application-swing_es_ES.properties | 4 +++ .../observe-application-swing_fr_FR.properties | 4 +++ 5 files changed, 54 insertions(+), 6 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css index 82ba5bc..1ce09bd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css @@ -41,18 +41,20 @@ JSplitPane { enabled: {!isBusy()}; } -#navigationMoveTripAction { - text: "observe.navigationMenu.moveTrip"; - toolTipText: "observe.navigationMenu.moveTrip"; - actionIcon: "move-trips"; -} - #navigationNoAction { text: "observe.navigationMenu.noAction"; toolTipText: "observe.navigationMenu.noAction"; enabled: false; } +// trip menu + +#navigationMoveTripAction { + text: "observe.navigationMenu.moveTrip"; + toolTipText: "observe.navigationMenu.moveTrip"; + actionIcon: "move-trips"; +} + #navigationOpenTripAction { text: "observe.navigationMenu.openTripAction"; toolTipText: "observe.navigationMenu.openTripAction"; @@ -73,6 +75,34 @@ JSplitPane { action: {new fr.ird.observe.ui.actions.shared.DeleteDataUIAction(this)}; } +// route menu + +#navigationMoveRouteAction { + text: "observe.navigationMenu.moveRoute"; + toolTipText: "observe.navigationMenu.moveRoute"; + //actionIcon: "move-routes"; +} + +#navigationOpenRouteAction { + text: "observe.navigationMenu.openRouteAction"; + toolTipText: "observe.navigationMenu.openRouteAction"; + enabled: {!dataContext.isOpenRoute()}; + action: {new fr.ird.observe.ui.actions.shared.ReOpenUIAction(this)}; +} + +#navigationCloseRouteAction { + text: "observe.navigationMenu.closeRouteAction"; + toolTipText: "observe.navigationMenu.closeRouteAction"; + enabled: {!dataContext.isOpenActivity()}; + action: {new fr.ird.observe.ui.actions.shared.CloseOpenUIAction(this)}; +} + +#navigationDeleteRouteAction { + text: "observe.navigationMenu.deleteRouteAction"; + toolTipText: "observe.navigationMenu.deleteRouteAction"; + action: {new fr.ird.observe.ui.actions.shared.DeleteDataUIAction(this)}; +} + #menuFile { text: "observe.menu.file"; mnemonic: F; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx index 2c446ef..480b1e3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx @@ -84,10 +84,16 @@ <JPopupMenu id='scopeDownPopup'/> <JPopupMenu id='navigationPopup'> <JMenuItem id="navigationNoAction"/> + <!-- Trip menu --> <JMenu id="navigationMoveTripAction"/> <JMenuItem id="navigationOpenTripAction"/> <JMenuItem id="navigationCloseTripAction"/> <JMenuItem id="navigationDeleteTripAction"/> + <!-- Route menu --> + <JMenu id="navigationMoveRouteAction"/> + <JMenuItem id="navigationOpenRouteAction"/> + <JMenuItem id="navigationCloseRouteAction"/> + <JMenuItem id="navigationDeleteRouteAction"/> </JPopupMenu> <ObserveSwingApplicationConfig id='config' initializer='getContextValue(ObserveSwingApplicationConfig.class)'/> diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties index d97fb75..c07a3b7 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties @@ -1554,10 +1554,14 @@ observe.message.validation.start.referentiel= observe.message.validation.use.storage= observe.message.warning.will.be.delete= observe.model.version= +observe.navigationMenu.closeRouteAction= observe.navigationMenu.closeTripAction= +observe.navigationMenu.deleteRouteAction= observe.navigationMenu.deleteTripAction= +observe.navigationMenu.moveRoute= observe.navigationMenu.moveTrip=Change program observe.navigationMenu.noAction=< No action > +observe.navigationMenu.openRouteAction= observe.navigationMenu.openTripAction= observe.nonTargetCatch.message.table.will.delete.nonTargetSample= observe.nonTargetCatch.table.catchWeight= diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties index ff0694b..d17ed34 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties @@ -1556,10 +1556,14 @@ observe.message.validation.start.referentiel=Validación del referencial de tipo observe.message.validation.use.storage=Se realizará la validación de %1$s observe.message.warning.will.be.delete=%1$s\n\nAtención, la exportación reemplazará la marea existente. observe.model.version= +observe.navigationMenu.closeRouteAction= observe.navigationMenu.closeTripAction= +observe.navigationMenu.deleteRouteAction= observe.navigationMenu.deleteTripAction= +observe.navigationMenu.moveRoute= observe.navigationMenu.moveTrip= observe.navigationMenu.noAction= +observe.navigationMenu.openRouteAction= observe.navigationMenu.openTripAction= observe.nonTargetCatch.message.table.will.delete.nonTargetSample=¡Confirmar la eliminación de los objetos de la copia de seguridad.\!\n\n Las especies siguientes no estarán disponibles en los muestreos\:\n%1$s\nComo consecuencia se suprimiràn los muestreos siguientes \:\n%2$s observe.nonTargetCatch.table.catchWeight=Peso diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties index 0ad8cf2..15af143 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties @@ -1545,10 +1545,14 @@ observe.message.validation.start.referentiel=Validation du référentiel de type observe.message.validation.use.storage=La validation sera effectuée sur %1$s observe.message.warning.will.be.delete=%1$s\n\nAttention, l'export remplacera la marée existante. observe.model.version=Version du modèle de données +observe.navigationMenu.closeRouteAction= observe.navigationMenu.closeTripAction=Clôturer la marée +observe.navigationMenu.deleteRouteAction= observe.navigationMenu.deleteTripAction=Supprimer la marée +observe.navigationMenu.moveRoute= observe.navigationMenu.moveTrip=Réallocation du programme observe.navigationMenu.noAction=< Aucune action définie > +observe.navigationMenu.openRouteAction= observe.navigationMenu.openTripAction=Réouvrir la marée observe.nonTargetCatch.message.table.will.delete.nonTargetSample=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonages \:\n%1$s\nCela entrainera la suppression des échantillonages des ces espèces observe.nonTargetCatch.table.catchWeight=Poids -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit ac49cd8e841eb07e79b497bb4d53e667950b3f6b Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:34:41 2015 +0100 actions de déplcement des routes et marées (refs #7622) --- .../actions/ChangeRouteTripActionListener.java | 91 ++++++++++++++++ .../actions/ChangeTripProgramActionListener.java | 74 +++++-------- .../ui/tree/actions/NodeChangeActionListener.java | 115 +++++++++++++++++++++ 3 files changed, 232 insertions(+), 48 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeRouteTripActionListener.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeRouteTripActionListener.java new file mode 100644 index 0000000..23bdd99 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeRouteTripActionListener.java @@ -0,0 +1,91 @@ +package fr.ird.observe.ui.tree.actions; + +/* + * #%L + * ObServe :: Swing + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + + +import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.service.seine.RouteService; +import fr.ird.observe.ui.DecoratorService; +import fr.ird.observe.ui.tree.ObserveNode; +import fr.ird.observe.ui.tree.ObserveTreeHelper; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * Created on 1/9/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 3.11 + */ +public class ChangeRouteTripActionListener extends NodeChangeActionListener { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ChangeRouteTripActionListener.class); + + public ChangeRouteTripActionListener(ObserveTreeHelper treeHelper, + ObserveSwingDataSource dataSource, + String routeId, + String tripId) { + super(treeHelper, dataSource, routeId, tripId); + } + + @Override + protected ObserveNode getParentNode(ObserveNode node) { + return node.getParent().getParent(); + } + + @Override + protected ObserveNode getNewParentNode(ObserveNode grandParentNode, String parentNodeId) { + ObserveNode tripNode = getTreeHelper().getChild(grandParentNode, parentNodeId); + String routesNodeId = DecoratorService.getPropertyLabel(ObserveTreeHelper.TREE_NODE_PREFIX, + TripSeineDto.PROPERTY_ROUTE); + ObserveNode routesNode = getTreeHelper().getChild(tripNode, routesNodeId); + return routesNode; + } + + @Override + protected void closeParent(String oldParentId) { + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + applicationContext.getOpenDataManager().closeTripSeine(oldParentId); + } + + @Override + protected int moveNodeToParent(String nodeId, String parentNodeId) { + int position; + + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + + RouteService service = applicationContext.newService(RouteService.class); + position = service.moveRouteToTripSeine(nodeId, parentNodeId); + + return position; + } + + @Override + protected void openParent(String parentNodeId, String grandParentNodeId) { + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + applicationContext.getOpenDataManager().openTripSeine(grandParentNodeId, parentNodeId); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeTripProgramActionListener.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeTripProgramActionListener.java index cdf5587..b41f3c4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeTripProgramActionListener.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeTripProgramActionListener.java @@ -33,83 +33,61 @@ import fr.ird.observe.ui.tree.ObserveTreeHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - /** * Created on 1/9/15. * * @author Tony Chemit - chemit@codelutin.com * @since 3.11 */ -public class ChangeTripProgramActionListener implements ActionListener { +public class ChangeTripProgramActionListener extends NodeChangeActionListener { /** Logger. */ private static final Log log = LogFactory.getLog(ChangeTripProgramActionListener.class); - private final String tripId; - - private final String programId; - - private final ObserveTreeHelper treeHelper; - - private final ObserveSwingDataSource dataSource; - public ChangeTripProgramActionListener(ObserveTreeHelper treeHelper, ObserveSwingDataSource dataSource, String tripId, String programId) { - this.tripId = tripId; - this.programId = programId; - this.treeHelper = treeHelper; - this.dataSource = dataSource; + super(treeHelper, dataSource, tripId, programId); } @Override - public void actionPerformed(ActionEvent event) { + protected ObserveNode getParentNode(ObserveNode node) { + return node.getParent(); + } - ObserveNode tripNode = treeHelper.getSelectedNode(); - ObserveNode rootNode = treeHelper.getRootNode(); - ObserveNode newProgramNode = treeHelper.getChild(rootNode, programId); - String oldProgramId = tripNode.getParent().getId(); - ObserveNode oldProgramNode = treeHelper.getChild(rootNode, oldProgramId); + @Override + protected ObserveNode getNewParentNode(ObserveNode grandParentNode, String parentNodeId) { + return getTreeHelper().getChild(grandParentNode, parentNodeId); + } + @Override + protected void closeParent(String oldParentId) { ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + applicationContext.getOpenDataManager().closeProgram(oldParentId); + } - applicationContext.getOpenDataManager().closeProgram(oldProgramId); - + @Override + protected int moveNodeToParent(String nodeId, String parentNodeId) { int position; - if (IdDtos.isTripLonglineId(tripId)) { + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + + if (IdDtos.isTripLonglineId(nodeId)) { TripLonglineService service = applicationContext.newService(TripLonglineService.class); - position = service.moveTripLonglineToProgram(tripId, programId); + position = service.moveTripLonglineToProgram(nodeId, parentNodeId); } else { TripSeineService service = applicationContext.newService(TripSeineService.class); - position = service.moveTripSeineToProgram(tripId, programId); + position = service.moveTripSeineToProgram(nodeId, parentNodeId); } - treeHelper.removeNode(tripNode); - - ObserveNode newTripNode = treeHelper.getChild(newProgramNode, tripId); - - if (newTripNode == null) { - - // create it - if (log.isInfoEnabled()) { - log.info("Insert trip node: "); - } - treeHelper.insertNode(newProgramNode, tripNode, position); - newTripNode = tripNode; - } - - applicationContext.getOpenDataManager().openProgram(programId); - - treeHelper.reloadNode(oldProgramNode, true); - treeHelper.reloadNode(newProgramNode, true); -// treeHelper.refreshNode(oldProgramNode, true); -// treeHelper.refreshNode(newProgramNode, true); - treeHelper.selectNode(newTripNode); + return position; + } + @Override + protected void openParent(String parentNodeId, String grandParentNodeId) { + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + applicationContext.getOpenDataManager().openProgram(parentNodeId); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/NodeChangeActionListener.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/NodeChangeActionListener.java new file mode 100644 index 0000000..ad4320f --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/NodeChangeActionListener.java @@ -0,0 +1,115 @@ +package fr.ird.observe.ui.tree.actions; + +/* + * #%L + * ObServe :: Swing + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + + +import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.ui.tree.ObserveNode; +import fr.ird.observe.ui.tree.ObserveTreeHelper; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +/** + * Created on 1/9/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 3.11 + */ +public abstract class NodeChangeActionListener implements ActionListener { + + /** Logger. */ + private static final Log log = LogFactory.getLog(NodeChangeActionListener.class); + + private final String nodeId; + + private final String parentNodeId; + + private final ObserveTreeHelper treeHelper; + + private final ObserveSwingDataSource dataSource; + + public NodeChangeActionListener(ObserveTreeHelper treeHelper, + ObserveSwingDataSource dataSource, + String nodeId, + String parentNodeId) { + this.nodeId = nodeId; + this.parentNodeId = parentNodeId; + this.treeHelper = treeHelper; + this.dataSource = dataSource; + } + + @Override + public void actionPerformed(ActionEvent event) { + + ObserveNode node = treeHelper.getSelectedNode(); + ObserveNode oldParentNode = getParentNode(node); + String oldParentId = oldParentNode.getId(); + ObserveNode grandParentNode = oldParentNode.getParent(); + String grandParentNodeId = grandParentNode.getId(); + ObserveNode newParentNode = getNewParentNode(grandParentNode, parentNodeId); + + closeParent(oldParentId); + + int position = moveNodeToParent(nodeId, parentNodeId); + + treeHelper.removeNode(node); + + ObserveNode newNode = treeHelper.getChild(newParentNode, nodeId); + + if (newNode == null) { + + // create it + if (log.isInfoEnabled()) { + log.info("Insert node: "); + } + treeHelper.insertNode(newParentNode, node, position); + newNode = node; + } + + openParent(parentNodeId, grandParentNodeId); + + treeHelper.reloadNode(grandParentNode, true); +// treeHelper.reloadNode(newParentNode, true); +// treeHelper.refreshNode(oldParentNode, true); +// treeHelper.refreshNode(newParentNode, true); + treeHelper.selectNode(newNode); + + } + + public ObserveTreeHelper getTreeHelper() { + return treeHelper; + } + + protected abstract ObserveNode getParentNode(ObserveNode node); + + protected abstract ObserveNode getNewParentNode(ObserveNode grandParentNode, String parentNodeId); + + protected abstract void closeParent(String oldParentId); + + protected abstract int moveNodeToParent(String nodeId, String parentNodeId); + + protected abstract void openParent(String parentNodeId, String grandParentNodeId); +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 16da14f46d07dae50b24bfbf1edc515a512f9e0a Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:35:13 2015 +0100 ajout d'une méthode pour savoir si un noeud est un noeud de route (refs #7622) --- .../src/main/java/fr/ird/observe/ui/tree/ObserveNode.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNode.java index 990fdee..5bb8f23 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNode.java @@ -23,6 +23,7 @@ package fr.ird.observe.ui.tree; import fr.ird.observe.services.dto.OpenableDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import jaxx.runtime.swing.nav.tree.NavTreeNode; import jaxx.runtime.swing.nav.tree.NavTreeNodeChildLoador; @@ -102,4 +103,9 @@ public class ObserveNode extends NavTreeNode<ObserveNode> { || TripLonglineDto.class.isAssignableFrom(internalClass)); } + public boolean isRouteNode() { + return isDataNode() && + (RouteDto.class.isAssignableFrom(internalClass)); + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 83ab966a8ad93653a41cb40264c87c614f580eb8 Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:36:05 2015 +0100 ajout des nouveaux menus sur les noeuds de route (refs #7622) --- .../tree/ObserveNavigationTreeShowPopupAction.java | 263 ++++++++++++++++----- 1 file changed, 210 insertions(+), 53 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java index c4eb58c..04c80a3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java @@ -22,7 +22,9 @@ package fr.ird.observe.ui.tree; * #L% */ +import com.google.common.base.Function; import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.ObserveSwingDataSource; @@ -31,11 +33,17 @@ import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ProgramDtos; +import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.ReferentialService; +import fr.ird.observe.services.service.seine.TripSeineService; +import fr.ird.observe.ui.tree.actions.ChangeRouteTripActionListener; import fr.ird.observe.ui.tree.actions.ChangeTripProgramActionListener; +import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; +import org.nuiton.decorator.DecoratorUtil; +import org.nuiton.decorator.JXPathDecorator; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; @@ -50,6 +58,7 @@ import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.lang.reflect.Constructor; import java.util.LinkedHashSet; import java.util.List; @@ -64,6 +73,9 @@ 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 ROUTE_MENU_ITEMS = "route"; + private final ObserveTreeHelper treeHelper; private final JScrollPane pane; @@ -72,13 +84,9 @@ public class ObserveNavigationTreeShowPopupAction { private final JTree tree; - private final JMenuItem moveTripPopup; - private final JMenuItem noAction; - private final JMenuItem openTripAction; - private final JMenuItem closeTripAction; - private final JMenuItem deleteTripAction; + private final ImmutableMap<String, NavigationPopupMenuItems> menuItemsByNodeType; public ObserveNavigationTreeShowPopupAction(ObserveTreeHelper treeHelper, JScrollPane pane, JPopupMenu popup) { @@ -87,20 +95,27 @@ public class ObserveNavigationTreeShowPopupAction { this.popup = popup; this.tree = treeHelper.getUI(); - JMenuItem moveTripComponent = null; JMenuItem noActionComponent = null; + // trip menus + JMenuItem moveTripComponent = null; JMenuItem openTripActionComponent = null; JMenuItem closeTripActionComponent = null; JMenuItem deleteTripActionComponent = null; + //route menus + JMenuItem moveRouteComponent = null; + JMenuItem openRouteActionComponent = null; + JMenuItem closeRouteActionComponent = null; + JMenuItem deleteRouteActionComponent = null; for (MenuElement menuElement : popup.getSubElements()) { - if (menuElement.getComponent().getName().equals("navigationMoveTripAction")) { - moveTripComponent = (JMenuItem) menuElement.getComponent(); - } if (menuElement.getComponent().getName().equals("navigationNoAction")) { noActionComponent = (JMenuItem) menuElement.getComponent(); } + // trip menus + if (menuElement.getComponent().getName().equals("navigationMoveTripAction")) { + moveTripComponent = (JMenuItem) menuElement.getComponent(); + } if (menuElement.getComponent().getName().equals("navigationOpenTripAction")) { openTripActionComponent = (JMenuItem) menuElement.getComponent(); } @@ -110,13 +125,69 @@ public class ObserveNavigationTreeShowPopupAction { if (menuElement.getComponent().getName().equals("navigationDeleteTripAction")) { deleteTripActionComponent = (JMenuItem) menuElement.getComponent(); } + // route menus + if (menuElement.getComponent().getName().equals("navigationMoveRouteAction")) { + moveRouteComponent = (JMenuItem) menuElement.getComponent(); + } + if (menuElement.getComponent().getName().equals("navigationOpenRouteAction")) { + openRouteActionComponent = (JMenuItem) menuElement.getComponent(); + } + if (menuElement.getComponent().getName().equals("navigationCloseRouteAction")) { + closeRouteActionComponent = (JMenuItem) menuElement.getComponent(); + } + if (menuElement.getComponent().getName().equals("navigationDeleteRouteAction")) { + deleteRouteActionComponent = (JMenuItem) menuElement.getComponent(); + } } - this.moveTripPopup = moveTripComponent; this.noAction = noActionComponent; - this.openTripAction = openTripActionComponent; - this.closeTripAction = closeTripActionComponent; - this.deleteTripAction = deleteTripActionComponent; + + Function<String, List<ReferenceDto>> getProgramsFunction = new Function<String, List<ReferenceDto>>() { + + @Override + public List<ReferenceDto> apply(String nodeId) { + GearType gearType = IdDtos.isLonglineId(nodeId) ? GearType.longline : GearType.seine; + + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + + LinkedHashSet<ReferenceDto> allPrograms = applicationContext.newService(ReferentialService.class) + .getReferentialReferenceSet(ProgramDto.class) + .getReference(); + + return Lists.newArrayList(ProgramDtos.filterReferencesByGearType(allPrograms, gearType)); + } + }; + NavigationPopupMenuItems tripItems = new NavigationPopupMenuItems(openTripActionComponent, + closeTripActionComponent, + moveTripComponent, + deleteTripActionComponent, + ProgramDto.class, + ChangeTripProgramActionListener.class, + getProgramsFunction); + + Function<String, List<ReferenceDto>> getTripSeinesFunction = new Function<String, List<ReferenceDto>>() { + + @Override + public List<ReferenceDto> apply(String nodeId) { + + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + + LinkedHashSet<ReferenceDto> allTripSeine = applicationContext.newService(TripSeineService.class) + .getAllTripSeine() + .getReference(); + + return Lists.newArrayList(allTripSeine); + } + }; + NavigationPopupMenuItems routeItems = new NavigationPopupMenuItems(openRouteActionComponent, + closeRouteActionComponent, + moveRouteComponent, + deleteRouteActionComponent, + TripSeineDto.class, + ChangeRouteTripActionListener.class, + getTripSeinesFunction); + + menuItemsByNodeType = ImmutableMap.of(TRIP_MENU_ITEMS, tripItems, ROUTE_MENU_ITEMS, routeItems); KeyAdapter keyAdapter = new KeyAdapter() { @Override @@ -229,71 +300,102 @@ public class ObserveNavigationTreeShowPopupAction { if (selectedNode.isTripNode()) { - if (log.isInfoEnabled()) { - log.info("Will load popup for trip node."); - } + beforeOpenMenu(selectedNode, TRIP_MENU_ITEMS); + + } else if (selectedNode.isRouteNode()) { + + beforeOpenMenu(selectedNode, ROUTE_MENU_ITEMS); + + } else { - ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + popup.add(noAction); + } + } - if (selectedNode.isOpen()) { + protected void beforeOpenMenu(ObserveNode selectedNode, String nodeType) { + if (log.isInfoEnabled()) { + log.info("Will load popup for " + nodeType + " node."); + } - closeTripAction.putClientProperty("ui", applicationContext.getSelectedContentUI()); - popup.add(closeTripAction); + NavigationPopupMenuItems items = menuItemsByNodeType.get(nodeType); + JMenuItem openAction = items.getOpenAction(); + JMenuItem closeAction = items.getCloseAction(); + JMenuItem movePopup = items.getMovePopup(); + JMenuItem deleteAction = items.getDeleteAction(); - popup.add(moveTripPopup); + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - moveTripPopup.removeAll(); + if (selectedNode.isOpen()) { - // get the available program for the trip + closeAction.putClientProperty("ui", applicationContext.getSelectedContentUI()); + popup.add(closeAction); - String tripId = selectedNode.getId(); - GearType gearType = IdDtos.isLonglineId(tripId) ? GearType.longline : GearType.seine; + popup.add(movePopup); - ObserveSwingDataSource dataSource = treeHelper.getDataProvider().getDataSource(); + movePopup.removeAll(); - LinkedHashSet<ReferenceDto> allPrograms = applicationContext.newService(ReferentialService.class) - .getReferentialReferenceSet(ProgramDto.class) - .getReference(); - List<ReferenceDto> programs = Lists.newArrayList(ProgramDtos.filterReferencesByGearType(allPrograms, gearType)); + // get the available program for the trip - String openProgramId = applicationContext.getDataContext().getOpenProgramId(); + String id = selectedNode.getId(); - Decorator<ReferenceDto> programDecorator = applicationContext.getDecorator(ReferenceDto.class, - ProgramDto.class.getSimpleName()); - for (ReferenceDto program : programs) { + ObserveSwingDataSource dataSource = treeHelper.getDataProvider().getDataSource(); - String programId = program.getId(); + List<ReferenceDto> parents = items.getGetParentsFunction().apply(id); - if (!programId.equals(openProgramId)) { - JMenuItem item = new JMenuItem(programDecorator.toString(program)); - item.setName(programId); - item.addActionListener(new ChangeTripProgramActionListener(treeHelper, - dataSource, - tripId, - programId)); + Class<?> parentClass = items.getParentClass(); + String[] openIds = applicationContext.getDataContext().getOpenIds(parentClass); + String openParentId = openIds[openIds.length - 1]; - moveTripPopup.add(item); + Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, + parentClass.getSimpleName()); - } + DecoratorUtil.sort((JXPathDecorator<ReferenceDto>) decorator, parents, 0); - } + for (ReferenceDto parent : parents) { - } else { + String parentId = parent.getId(); - openTripAction.putClientProperty("ui", applicationContext.getSelectedContentUI()); - popup.add(openTripAction); + if (!parentId.equals(openParentId)) { + + JMenuItem item = new JMenuItem(decorator.toString(parent)); + item.setName(parentId); + + try { + Constructor<? extends NodeChangeActionListener> actionListenerConstructor = + items.getChangeActionListenerClass().getConstructor(ObserveTreeHelper.class, + ObserveSwingDataSource.class, + String.class, + String.class); + + item.addActionListener(actionListenerConstructor.newInstance(treeHelper, + dataSource, + id, + parentId)); + + movePopup.add(item); + + } catch (ReflectiveOperationException e) { + if (log.isErrorEnabled()) { + log.error("error while creating the item listener", e); + } + } - } - deleteTripAction.putClientProperty("ui", applicationContext.getSelectedContentUI()); - deleteTripAction.setEnabled(selectedNode.isOpen()); - popup.add(deleteTripAction); + } + + } } else { - popup.add(noAction); + openAction.putClientProperty("ui", applicationContext.getSelectedContentUI()); + popup.add(openAction); + } + + deleteAction.putClientProperty("ui", applicationContext.getSelectedContentUI()); + deleteAction.setEnabled(selectedNode.isOpen()); + popup.add(deleteAction); } protected boolean isRowSelected(int requiredRow) { @@ -331,4 +433,59 @@ public class ObserveNavigationTreeShowPopupAction { } + private class NavigationPopupMenuItems { + + private final JMenuItem openAction; + private final JMenuItem closeAction; + private final JMenuItem movePopup; + private final JMenuItem deleteAction; + private final Class<?> parentClass; + private final Class<? extends NodeChangeActionListener> changeActionListenerClass; + private final Function<String, List<ReferenceDto>> getParentsFunction; + + public NavigationPopupMenuItems(JMenuItem openAction, + JMenuItem closeAction, + JMenuItem movePopup, + JMenuItem deleteAction, + Class<?> parentClass, + Class<? extends NodeChangeActionListener> changeActionListenerClass, + Function<String, List<ReferenceDto>> getParentsFunction) { + this.openAction = openAction; + this.closeAction = closeAction; + this.movePopup = movePopup; + this.deleteAction = deleteAction; + this.parentClass = parentClass; + this.changeActionListenerClass = changeActionListenerClass; + this.getParentsFunction = getParentsFunction; + } + + public JMenuItem getCloseAction() { + return closeAction; + } + + public JMenuItem getDeleteAction() { + return deleteAction; + } + + public JMenuItem getMovePopup() { + return movePopup; + } + + public JMenuItem getOpenAction() { + return openAction; + } + + public Class<?> getParentClass() { + return parentClass; + } + + public Class<? extends NodeChangeActionListener> getChangeActionListenerClass() { + return changeActionListenerClass; + } + + public Function<String, List<ReferenceDto>> getGetParentsFunction() { + return getParentsFunction; + } + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit fc73420684686b7c80307bf43d261d6e684ced06 Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:39:16 2015 +0100 i18n (refs #7622) --- .../resources/i18n/observe-application-swing_fr_FR.properties | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties index 15af143..0d8490c 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties @@ -1545,14 +1545,14 @@ observe.message.validation.start.referentiel=Validation du référentiel de type observe.message.validation.use.storage=La validation sera effectuée sur %1$s observe.message.warning.will.be.delete=%1$s\n\nAttention, l'export remplacera la marée existante. observe.model.version=Version du modèle de données -observe.navigationMenu.closeRouteAction= +observe.navigationMenu.closeRouteAction=Clôturer la route observe.navigationMenu.closeTripAction=Clôturer la marée -observe.navigationMenu.deleteRouteAction= +observe.navigationMenu.deleteRouteAction=Supprimer la route observe.navigationMenu.deleteTripAction=Supprimer la marée -observe.navigationMenu.moveRoute= +observe.navigationMenu.moveRoute=Changer de marée observe.navigationMenu.moveTrip=Réallocation du programme observe.navigationMenu.noAction=< Aucune action définie > -observe.navigationMenu.openRouteAction= +observe.navigationMenu.openRouteAction=Réouvrir la route observe.navigationMenu.openTripAction=Réouvrir la marée observe.nonTargetCatch.message.table.will.delete.nonTargetSample=En confirmant la sauvegarde des objets vont être supprimés\!\n\nLes espèces suivantes ne seront plus utilisables dans des échantillonages \:\n%1$s\nCela entrainera la suppression des échantillonages des ces espèces observe.nonTargetCatch.table.catchWeight=Poids -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 6d804015c29ca33ed418c51791c67072e912be94 Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:39:20 2015 +0100 ajout des méthodes pour déplacer une route (refs #7622) --- .../web/controller/v1/seine/RouteServiceController.java | 4 ++++ .../java/fr/ird/observe/services/service/seine/RouteService.java | 3 +++ .../fr/ird/observe/services/service/seine/RouteServiceTopia.java | 8 ++++++++ .../ird/observe/services/service/seine/TripSeineServiceTopia.java | 4 ++++ 4 files changed, 19 insertions(+) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java index 5a42d30..7b402f9 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java @@ -89,4 +89,8 @@ public class RouteServiceController extends ObserveAuthenticatedServiceControlle return service.delete(tripSeineId, routeId); } + @Override + public int moveRouteToTripSeine(String routeId, String tripSeineId) { + return service.moveRouteToTripSeine(routeId, tripSeineId); + } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java index 57d5e68..2a321c0 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java @@ -73,4 +73,7 @@ public interface RouteService extends ObserveService { @DeleteRequest boolean delete(String tripSeineId, String routeId); + @Write + @WriteDataPermission + int moveRouteToTripSeine(String routeId, String tripSeineId); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java index aa49974..70d71a4 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -261,4 +261,12 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi } + @Override + public int moveRouteToTripSeine(String routeId, String tripSeineId) { + Route route = loadEntity(RouteDto.class, Route.class, routeId); + TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + tripSeine.addRoute(route); + saveEntity(TripSeine.class, tripSeine); + return getRoutePositionInTripSeine(tripSeineId, routeId); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java index 607b7d5..29624ed 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java @@ -215,6 +215,10 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe Program program = loadEntity(ProgramDto.class, Program.class, programId); tripSeine.setProgram(program); saveEntity(TripSeine.class, tripSeine); + + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + persistenceContext.flush(); + return getTripSeinePositionInProgram(programId, tripSeineId); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 2c34abfa76e68dd55dbccc4fba437bc67ed6cef9 Author: Kevin Morin <morin@codelutin.com> Date: Mon Nov 16 16:50:19 2015 +0100 ajout de l'icone (refs #7622) --- .../src/main/java/fr/ird/observe/ui/ObserveMainUI.css | 2 +- .../src/main/resources/icons/action-move-routes.png | Bin 0 -> 953 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css index 1ce09bd..f91e3c8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css @@ -80,7 +80,7 @@ JSplitPane { #navigationMoveRouteAction { text: "observe.navigationMenu.moveRoute"; toolTipText: "observe.navigationMenu.moveRoute"; - //actionIcon: "move-routes"; + actionIcon: "move-routes"; } #navigationOpenRouteAction { diff --git a/observe-application-swing/src/main/resources/icons/action-move-routes.png b/observe-application-swing/src/main/resources/icons/action-move-routes.png new file mode 100644 index 0000000..d7ee543 Binary files /dev/null and b/observe-application-swing/src/main/resources/icons/action-move-routes.png differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 76b94bdbb7df757e7c751c50ba2f9bcf2d69db3e Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:55:45 2015 +0100 ajout d'une methode pour déplacer plusieurs routes (refs #7622) --- .../v1/seine/RouteServiceController.java | 7 +++++++ .../services/service/seine/RouteService.java | 6 ++++++ .../services/service/seine/RouteServiceTopia.java | 24 ++++++++++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java index 7b402f9..eb8c949 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.seine.RouteService; +import java.util.List; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -93,4 +95,9 @@ public class RouteServiceController extends ObserveAuthenticatedServiceControlle public int moveRouteToTripSeine(String routeId, String tripSeineId) { return service.moveRouteToTripSeine(routeId, tripSeineId); } + + @Override + public List<Integer> moveRoutesToTripSeine(List<String> routeIds, String tripSeineId) { + return service.moveRoutesToTripSeine(routeIds, tripSeineId); + } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java index 2a321c0..b055129 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java @@ -34,6 +34,8 @@ import fr.ird.observe.services.spi.ReadDataPermission; import fr.ird.observe.services.spi.Write; import fr.ird.observe.services.spi.WriteDataPermission; +import java.util.List; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -76,4 +78,8 @@ public interface RouteService extends ObserveService { @Write @WriteDataPermission int moveRouteToTripSeine(String routeId, String tripSeineId); + + @Write + @WriteDataPermission + List<Integer> moveRoutesToTripSeine(List<String> routeIds, String tripSeineId); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java index 70d71a4..1efd4ee 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -25,6 +25,7 @@ package fr.ird.observe.services.service.seine; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Sets; +import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.ActivitySeineImpl; import fr.ird.observe.entities.seine.Route; @@ -47,6 +48,7 @@ import org.apache.commons.lang3.time.DateUtils; import org.nuiton.topia.persistence.TopiaEntities; import org.nuiton.util.DateUtil; +import java.util.ArrayList; import java.util.Date; import java.util.LinkedHashSet; import java.util.List; @@ -269,4 +271,26 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi saveEntity(TripSeine.class, tripSeine); return getRoutePositionInTripSeine(tripSeineId, routeId); } + + @Override + public List<Integer> moveRoutesToTripSeine(List<String> routeIds, String tripSeineId) { + TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + + List<Integer> result = new ArrayList<>(); + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + + for (String routeId : routeIds) { + Route route = loadEntity(RouteDto.class, Route.class, routeId); + tripSeine.addRoute(route); + } + + saveEntity(TripSeine.class, tripSeine); + persistenceContext.flush(); + + for (String routeId : routeIds) { + result.add(getRoutePositionInTripSeine(tripSeineId, routeId)); + } + + return result; + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit f7122a1ec387232669e46e16cec4e8b4ba0535fb Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:56:13 2015 +0100 ajout de l'icone de déplacement de route (refs #7622) --- observe-application-swing/src/main/filters/observe-ui.properties | 3 +++ 1 file changed, 3 insertions(+) diff --git a/observe-application-swing/src/main/filters/observe-ui.properties b/observe-application-swing/src/main/filters/observe-ui.properties index 897856f..3f62e54 100644 --- a/observe-application-swing/src/main/filters/observe-ui.properties +++ b/observe-application-swing/src/main/filters/observe-ui.properties @@ -148,7 +148,10 @@ icon.action.warning=warning.png icon.action.mode-create=action-mode-create.png icon.action.mode-update=action-mode-update.png icon.action.mode-read=action-mode-read.png +icon.action.move-trip=action-move-trips.png icon.action.move-trips=action-move-trips.png +icon.action.move-route=action-move-routes.png +icon.action.move-routes=action-move-routes.png icon.action.translate=action-translate.png icon.action.application-reload=action-application-reload.png icon.action.report=action-report.png -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 677e2645628f886a1004921eb55f5a894a628d6f Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 11:59:07 2015 +0100 refactoring de la sélection des éléments des listes (refs #7622) --- .../actions/shared/MoveTripLonglinesUIAction.java | 7 ------ .../ui/actions/shared/MoveTripSeinesUIAction.java | 7 ------ .../ui/actions/shared/MoveTripsUIAction.java | 5 ++--- .../ird/observe/ui/content/list/ContentListUI.css | 10 ++++++--- .../ird/observe/ui/content/list/ContentListUI.jaxx | 13 ++++++++++- .../ui/content/list/ContentListUIModel.java | 25 ++++++++++++--------- .../content/list/impl/longline/TripLonglinesUI.css | 9 +------- .../list/impl/longline/TripLonglinesUI.jaxx | 22 +----------------- .../ui/content/list/impl/seine/TripSeinesUI.css | 6 +---- .../ui/content/list/impl/seine/TripSeinesUI.jaxx | 22 +----------------- .../content/list/impl/seine/TripSeinesUIModel.java | 26 ---------------------- 11 files changed, 40 insertions(+), 112 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java index e7f65da..f6dbdfa 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java @@ -41,13 +41,6 @@ public class MoveTripLonglinesUIAction extends MoveTripsUIAction { } @Override - protected List<ReferenceDto> getSelectedDatas(ContentUI<?> ui) { - TripLonglinesUI tripLonglinesUI = (TripLonglinesUI) ui; - TripLonglinesUIModel model = tripLonglinesUI.getModel(); - return model.getSelectedDatas(); - } - - @Override protected GearType getGearType(ContentUI<?> ui) { return GearType.longline; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java index 4532e71..ebbd01b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java @@ -41,13 +41,6 @@ public class MoveTripSeinesUIAction extends MoveTripsUIAction { } @Override - protected List<ReferenceDto> getSelectedDatas(ContentUI<?> ui) { - TripSeinesUI tripSeinesUI = (TripSeinesUI) ui; - TripSeinesUIModel model = tripSeinesUI.getModel(); - return model.getSelectedDatas(); - } - - @Override protected GearType getGearType(ContentUI<?> ui) { return GearType.seine; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java index fed3acb..181b41a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java @@ -32,6 +32,7 @@ import fr.ird.observe.services.dto.referential.ProgramDtos; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; +import fr.ird.observe.ui.content.list.ContentListUIModel; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; import org.apache.commons.logging.Log; @@ -102,7 +103,7 @@ public abstract class MoveTripsUIAction extends AbstractUIAction { String programId = chooseNewProgram(ui, oldProgramId); // change the program of the selected trips - List<ReferenceDto> selectedDatas = getSelectedDatas(ui); + List<ReferenceDto> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); List<String> tripIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); List<Integer> positions = getPositions(tripIds, programId); @@ -197,8 +198,6 @@ public abstract class MoveTripsUIAction extends AbstractUIAction { protected abstract void checkUIClass(ContentUI<?> ui) throws IllegalStateException; - protected abstract List<ReferenceDto> getSelectedDatas(ContentUI<?> ui); - protected abstract GearType getGearType(ContentUI<?> ui); protected abstract List<Integer> getPositions(List<String> tripIds, String programId); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css index 1799390..aae257d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css @@ -38,7 +38,7 @@ } #listSelectionModel { - selectionMode:{ListSelectionModel.SINGLE_SELECTION}; + selectionMode:{ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}; } #list { @@ -48,14 +48,14 @@ #gotoSelectedChild { visible:{!model.isEmpty()}; - enabled:{model.getSelectedData() != null}; + enabled:{model.getSelectedDatas() != null && model.getSelectedDatas().size() == 1}; _observeAction:{SelectNodeUIAction.ACTION_NAME}; _actionIcon:{"go-down"}; } #reopenChild { visible:{!model.isEmpty() && model.isCanReopen()}; - enabled:{model.getSelectedData() != null}; + enabled:{model.getSelectedDatas() != null && model.getSelectedDatas().size() == 1}; _observeAction:{ReOpenUIAction.ACTION_NAME}; } @@ -64,3 +64,7 @@ visible:{model.isCreatingMode()}; } +#moveSelectedChildren { + enabled:{model.getSelectedDatas() != null}; +} + diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx index 3327d09..8b0fffc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx @@ -39,6 +39,8 @@ javax.swing.DefaultListSelectionModel javax.swing.ListSelectionModel + java.util.List + static org.nuiton.i18n.I18n.t </import> <java.lang.String id='listText' javaBean='""'/> @@ -49,7 +51,7 @@ <ListSelectionModel id='listSelectionModel' initializer='new DefaultListSelectionModel()' - onValueChanged='if (!event.getValueIsAdjusting()) getModel().setSelectedData(getSelectedData());'/> + onValueChanged='if (!event.getValueIsAdjusting()) getModel().setSelectedDatas(getSelectedDatas());'/> <ContentListUIHandler id='handler' genericType='E, C'/> @@ -59,6 +61,10 @@ public final ReferenceDto getSelectedData() { return (ReferenceDto) getSelectedBean(list); } +public final List<ReferenceDto> getSelectedDatas() { + return (List<ReferenceDto>) list.getSelectedValuesList(); +} + ]]></script> <JPanel id='body'> @@ -102,6 +108,11 @@ public final ReferenceDto getSelectedData() { <Table id='extraActions' fill="both" weightx="1" insets='2'/> </cell> </row> + <row> + <cell fill='both' columns="3"> + <JButton id='moveSelectedChildren'/> + </cell> + </row> </Table> </fr.ird.observe.ui.content.ContentUI> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java index a52ea6f..df7ffc2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java @@ -24,6 +24,7 @@ package fr.ird.observe.ui.content.list; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.ui.content.ContentUIModel; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -39,7 +40,7 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten public static final String PROPERTY_DATA = "data"; - public static final String PROPERTY_SELECTED_DATA = "selectedData"; + public static final String PROPERTY_SELECTED_DATAS = "selectedDatas"; public static final String PROPERTY_EMPTY = "empty"; @@ -56,8 +57,8 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten /** liste des entites */ protected List<ReferenceDto> data; - /** entité sélectionnée dans la liste */ - protected ReferenceDto selectedData; + /** entités sélectionnées dans la liste */ + protected List<ReferenceDto> selectedDatas; /** un drapeau pour savoir si on peut reouvrir l'un des données de la liste. */ protected boolean canReopen; @@ -81,20 +82,24 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten // on force toujours la propagation de la liste firePropertyChange(PROPERTY_DATA, null, data); firePropertyChange(PROPERTY_EMPTY, wasEmpty, isEmpty()); - setSelectedData(null); + setSelectedDatas(null); } public ReferenceDto getSelectedData() { - return selectedData; + return CollectionUtils.isNotEmpty(selectedDatas) ? selectedDatas.get(0) : null; } - public void setSelectedData(ReferenceDto selectedData) { - ReferenceDto old = getSelectedData(); - this.selectedData = selectedData; + public List<ReferenceDto> getSelectedDatas() { + return selectedDatas; + } + + public void setSelectedDatas(List<ReferenceDto> selectedDatas) { + List<ReferenceDto> old = getSelectedDatas(); + this.selectedDatas = selectedDatas; if (log.isDebugEnabled()) { - log.debug("New selected data : " + selectedData); + log.debug("New selected datas : " + selectedDatas); } - firePropertyChange(PROPERTY_SELECTED_DATA, old, selectedData); + firePropertyChange(PROPERTY_SELECTED_DATAS, old, selectedDatas); } public boolean isCanReopen() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.css index 7f85d81..4260e0d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.css @@ -20,20 +20,14 @@ * #L% */ -#listSelectionModel { - selectionMode:{ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}; -} - #gotoSelectedChild { _text:{t("observe.action.goto.selected.maree")}; _toolTipText:{t("observe.action.goto.selected.maree.tip")}; - enabled:{model.getSelectedDatas() != null && model.getSelectedDatas().size() == 1}; } #reopenChild { _text:{t("observe.action.reopen.selected.maree")}; _toolTipText:{t("observe.action.reopen.selected.maree.tip")}; - enabled:{model.getSelectedDatas() != null && model.getSelectedDatas().size() == 1}; } #createChild { @@ -41,10 +35,9 @@ toolTipText:"observe.action.create.maree.tip"; } -#moveSelectedTrips { +#moveSelectedChildren { text:"observe.action.move.trips"; toolTipText:"observe.action.move.trips.tip"; - enabled:{model.getSelectedDatas() != null}; _observeAction:{MoveTripLonglinesUIAction.ACTION_NAME}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx index c4eb4db..d94773e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx @@ -31,23 +31,11 @@ fr.ird.observe.ui.actions.shared.SelectOpenNodeUIAction fr.ird.observe.ui.actions.shared.MoveTripLonglinesUIAction - java.util.List - - javax.swing.ListSelectionModel - static org.nuiton.i18n.I18n.n </import> <style source="CommonListUI.css"/> - <script><![CDATA[ - -public final List<ReferenceDto> getSelectedDatas() { - return (List<ReferenceDto>) list.getSelectedValuesList(); -} - -]]></script> - <!-- handler --> <TripLonglinesUIHandler id='handler' constructorParams='this'/> @@ -57,16 +45,13 @@ public final List<ReferenceDto> getSelectedDatas() { <!-- edit bean --> <ProgramDto id='bean'/> - <!-- override data selection --> - <ListSelectionModel id='listSelectionModel' - onValueChanged='if (!event.getValueIsAdjusting()) getModel().setSelectedDatas(getSelectedDatas());'/> - <!-- override generic actions --> <JButton id='gotoSelectedChild'/> <JButton id='reopenChild'/> <JButton id='gotoOpenChild' styleClass='gotoOpenTrip'/> <JButton id='gotoOpenChild2' styleClass='gotoOpenTrip2'/> <JButton id='createChild'/> + <JButton id='moveSelectedChildren'/> <!-- extra actions --> <Table id="extraActions" fill='both' weightx='1' weighty='1' insets='0'> @@ -78,11 +63,6 @@ public final List<ReferenceDto> getSelectedDatas() { <JButton id='gotoOpenActivity2' styleClass='gotoOpenActivity2'/> </cell> </row> - <row weighty="1" weightx="1"> - <cell columns="2"> - <JButton id='moveSelectedTrips'/> - </cell> - </row> </Table> </fr.ird.observe.ui.content.list.ContentListUI> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.css index d582c45..40a6244 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.css @@ -19,9 +19,6 @@ * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ -#listSelectionModel { - selectionMode:{ListSelectionModel.MULTIPLE_INTERVAL_SELECTION}; -} #gotoSelectedChild { _text:{t("observe.action.goto.selected.maree")}; @@ -38,10 +35,9 @@ toolTipText:"observe.action.create.maree.tip"; } -#moveSelectedTrips { +#moveSelectedChildren { text:"observe.action.move.trips"; toolTipText:"observe.action.move.trips.tip"; - enabled:{model.getSelectedDatas() != null}; _observeAction:{MoveTripSeinesUIAction.ACTION_NAME}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx index d9a00dd..aa5089a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx @@ -33,23 +33,11 @@ fr.ird.observe.ui.actions.shared.SelectOpenNodeUIAction fr.ird.observe.ui.actions.shared.MoveTripSeinesUIAction - java.util.List - - javax.swing.ListSelectionModel - static org.nuiton.i18n.I18n.n </import> <style source="CommonListUI.css"/> - <script><![CDATA[ - -public final List<ReferenceDto> getSelectedDatas() { - return (List<ReferenceDto>) list.getSelectedValuesList(); -} - -]]></script> - <!-- handler --> <TripSeinesUIHandler id='handler' constructorParams='this'/> @@ -59,16 +47,13 @@ public final List<ReferenceDto> getSelectedDatas() { <!-- edit bean --> <ProgramDto id='bean'/> - <!-- override data selection --> - <ListSelectionModel id='listSelectionModel' - onValueChanged='if (!event.getValueIsAdjusting()) getModel().setSelectedDatas(getSelectedDatas());'/> - <!-- override generic actions --> <JButton id='gotoSelectedChild'/> <JButton id='reopenChild'/> <JButton id='gotoOpenChild' styleClass='gotoOpenTrip'/> <JButton id='gotoOpenChild2' styleClass='gotoOpenTrip2'/> <JButton id='createChild'/> + <JButton id='moveSelectedChildren'/> <!-- extra actions --> <Table id="extraActions" fill='both' weightx='1' weighty='1' insets='0'> @@ -88,11 +73,6 @@ public final List<ReferenceDto> getSelectedDatas() { <JButton id='gotoOpenActivity2' styleClass='gotoOpenActivity2'/> </cell> </row> - <row weighty="1" weightx="1"> - <cell columns="2"> - <JButton id='moveSelectedTrips'/> - </cell> - </row> </Table> </fr.ird.observe.ui.content.list.ContentListUI> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java index 9efc69b..7236f31 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java @@ -22,15 +22,12 @@ package fr.ird.observe.ui.content.list.impl.seine; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.ui.content.list.ContentListUIModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import java.util.List; - /** * Created on 9/26/14. * @@ -46,31 +43,8 @@ public class TripSeinesUIModel extends ContentListUIModel<ProgramDto, TripSeineD */ private static final Log log = LogFactory.getLog(TripSeinesUIModel.class); - public static final String PROPERTY_SELECTED_DATAS = "selectedDatas"; - - /** entité sélectionnée dans la liste */ - protected List<ReferenceDto> selectedDatas; - public TripSeinesUIModel() { super(ProgramDto.class, TripSeineDto.class); } - public List<ReferenceDto> getSelectedDatas() { - return selectedDatas; - } - - public void setSelectedDatas(List<ReferenceDto> selectedDatas) { - List<ReferenceDto> old = getSelectedDatas(); - this.selectedDatas = selectedDatas; - if (log.isDebugEnabled()) { - log.debug("New selected datas : " + selectedDatas); - } - firePropertyChange(PROPERTY_SELECTED_DATAS, old, selectedDatas); - } - - @Override - public void setData(List<ReferenceDto> data) { - super.setData(data); - setSelectedDatas(null); - } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 654085fa132e807bd6538772c6b33dd796baa31f Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:00:02 2015 +0100 ajout du bouton pour déplacer des routes depuis la liste (refs #7622) --- .../ui/actions/shared/MoveRoutesUIAction.java | 225 +++++++++++++++++++++ .../ui/content/list/impl/seine/RoutesUI.css | 7 + .../ui/content/list/impl/seine/RoutesUI.jaxx | 3 + 3 files changed, 235 insertions(+) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java new file mode 100644 index 0000000..5c23822 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java @@ -0,0 +1,225 @@ +/* + * #%L + * ObServe :: Swing + * %% + * Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ +package fr.ird.observe.ui.actions.shared; + +import com.google.common.collect.Lists; +import fr.ird.observe.ObserveOpenDataManager; +import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.service.seine.RouteService; +import fr.ird.observe.services.service.seine.TripSeineService; +import fr.ird.observe.ui.DecoratorService; +import fr.ird.observe.ui.ObserveMainUI; +import fr.ird.observe.ui.content.ContentUI; +import fr.ird.observe.ui.content.list.ContentListUIModel; +import fr.ird.observe.ui.content.list.impl.seine.RoutesUI; +import fr.ird.observe.ui.tree.ObserveNode; +import fr.ird.observe.ui.tree.ObserveTreeHelper; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.decorator.Decorator; + +import javax.swing.JComponent; +import javax.swing.JOptionPane; +import javax.swing.SwingUtilities; +import java.awt.event.ActionEvent; +import java.util.ArrayList; +import java.util.LinkedHashSet; +import java.util.List; + +import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; + +/** + * Action pour changer le programme d'une ou plusieurs marée dans la liste. + * + * @author Kevin Morin (Code Lutin) + * @since 5.0 + */ +public class MoveRoutesUIAction extends AbstractUIAction { + + private static final long serialVersionUID = 1L; + + /** + * Logger. + */ + private static final Log log = LogFactory.getLog(MoveRoutesUIAction.class); + + public static final String ACTION_NAME = "moveRoutes"; + + public MoveRoutesUIAction(ObserveMainUI mainUI, String actionName) { + super(mainUI, + actionName, + n("observe.action.move.routes"), + n("observe.action.move.routes.tip"), + "move-trips" + ); + } + + @Override + public void actionPerformed(final ActionEvent e) { + + SwingUtilities.invokeLater(new Runnable() { + + @Override + public void run() { + JComponent c = (JComponent) e.getSource(); + ContentUI<?> ui = (ContentUI<?>) + c.getClientProperty("ui"); + if (ui == null) { + throw new IllegalStateException( + "could not find client property " + + "ui on component" + c); + } + + if (!(ui instanceof RoutesUI)) { + throw new IllegalStateException("Can not come here!"); + } + + // get current program id + ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); + ObserveNode oldRoutesNode = treeHelper.getSelectedNode(); + String oldTripSeineId = oldRoutesNode.getParent().getId(); + + // choose the new program + String tripSeineId = chooseNewTripSeine(ui, oldTripSeineId); + + // change the program of the selected trips + List<ReferenceDto> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); + List<String> routeIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); + RouteService service = ObserveSwingApplicationContext.get().newService(RouteService.class); + List<Integer> positions = service.moveRoutesToTripSeine(routeIds, tripSeineId); + + // update the tree + updateTree(ui, oldRoutesNode, oldTripSeineId, tripSeineId, routeIds, positions); + + } + }); + + } + + protected String chooseNewTripSeine(ContentUI<?> ui, String oldProgramId) { + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + + LinkedHashSet<ReferenceDto> allTripSeines = applicationContext.newService(TripSeineService.class) + .getAllTripSeine() + .getReference(); + + List<ReferenceDto<TripSeineDto>> tripSeines = new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(allTripSeines)); + + Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, + ProgramDto.class.getSimpleName()); + + //on crée un tableau avec un programme en moins car on ne propose pas le programme actuel + DecoratedTripSeine[] decoratedTripSeines = new DecoratedTripSeine[tripSeines.size() - 1]; + + int j = 0; + for (ReferenceDto tripSeine : tripSeines) { + if (!oldProgramId.equals(tripSeine.getId())) { + decoratedTripSeines[j++] = new DecoratedTripSeine(tripSeine.getId(), decorator.toString(tripSeine)); + } + } + + Object decoratedProgram = JOptionPane.showInputDialog(ui, + t("observe.action.choose.program.message"), + t("observe.action.choose.program.title"), + JOptionPane.QUESTION_MESSAGE, + null, + decoratedTripSeines, + null); + return ((DecoratedTripSeine) decoratedProgram).getId(); + } + + protected void updateTree(ContentUI<?> ui, + ObserveNode oldRoutesNode, + String oldTripSeineId, + String tripSeineId, + List<String> routeIds, + List<Integer> positions) { + + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + ObserveOpenDataManager openDataManager = applicationContext.getOpenDataManager(); + ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); + + ObserveNode oldTripSeineNode = oldRoutesNode.getParent(); + ObserveNode programNode = oldTripSeineNode.getParent(); + ObserveNode newTripSeineNode = treeHelper.getChild(programNode, tripSeineId); + String routesNodeId = DecoratorService.getPropertyLabel(ObserveTreeHelper.TREE_NODE_PREFIX, + TripSeineDto.PROPERTY_ROUTE); + ObserveNode newRoutesNode = treeHelper.getChild(newTripSeineNode, routesNodeId); + + for (int i = 0, s = positions.size(); i < s; i++) { + + String routeId = routeIds.get(i); + ObserveNode routeNode = treeHelper.getChild(oldRoutesNode, routeId); + boolean wasOpen = routeNode.isOpen(); + treeHelper.removeNode(routeNode); + + if (wasOpen) { + openDataManager.closeTripSeine(oldTripSeineId); + openDataManager.openTripSeine(programNode.getId(), tripSeineId); + } + + ObserveNode newRouteNode = treeHelper.getChild(newTripSeineNode, routeId); + + if (newRouteNode == null) { + + // create it + if (log.isInfoEnabled()) { + log.info("Insert route node: "); + } + //FIXME l'ordre n'est pas le bon + treeHelper.insertNode(newRoutesNode, newRouteNode, positions.get(i)); + } + } + ContentListUIModel model = (ContentListUIModel) ui.getModel(); + List<ReferenceDto> data = new ArrayList<>(model.getData()); + data.removeAll(model.getSelectedDatas()); + model.setData(data); + + treeHelper.reloadNode(programNode, true); + treeHelper.selectNode(newTripSeineNode); + } + + public static class DecoratedTripSeine { + + private final String id; + private final String label; + + public DecoratedTripSeine(String id, String label) { + this.id = id; + this.label = label; + } + + public String getId() { + return id; + } + + @Override + public String toString() { + return label; + } + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css index 7e2c1a8..a545bd0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css @@ -34,3 +34,10 @@ toolTipText:"observe.action.create.route.tip"; } +#moveSelectedTrips { + text:"observe.action.move.routes"; + toolTipText:"observe.action.move.routes.tip"; + enabled:{model.getSelectedDatas() != null}; + _observeAction:{MoveRoutesUIAction.ACTION_NAME}; +} + diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jaxx index 2f9815e..76ae079 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.jaxx @@ -29,6 +29,8 @@ fr.ird.observe.services.dto.seine.TripSeineDto fr.ird.observe.services.dto.seine.RouteDto fr.ird.observe.ui.actions.shared.SelectOpenNodeUIAction + fr.ird.observe.ui.actions.shared.MoveRoutesUIAction + static org.nuiton.i18n.I18n.n </import> @@ -49,6 +51,7 @@ <JButton id='gotoOpenChild' styleClass='gotoOpenRoute'/> <JButton id='gotoOpenChild2' styleClass='gotoOpenRoute2'/> <JButton id='createChild'/> + <JButton id='moveSelectedChildren'/> <!-- extra actions --> <Table id='extraActions' fill="both" weightx="1" insets='2'> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 0b7f406203cb35c013dc5fc85077d7ddfb6ce4e9 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:00:42 2015 +0100 refactoring des actions du menu contextuel de l'arbre (refs #7622) --- .../main/java/fr/ird/observe/ui/ObserveMainUI.css | 48 +------- .../main/java/fr/ird/observe/ui/ObserveMainUI.jaxx | 14 +-- .../tree/ObserveNavigationTreeShowPopupAction.java | 133 ++++++++------------- .../observe-application-swing_en_GB.properties | 4 + .../observe-application-swing_es_ES.properties | 4 + .../observe-application-swing_fr_FR.properties | 6 +- 6 files changed, 70 insertions(+), 139 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css index f91e3c8..40e16b7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.css @@ -49,57 +49,15 @@ JSplitPane { // trip menu -#navigationMoveTripAction { - text: "observe.navigationMenu.moveTrip"; - toolTipText: "observe.navigationMenu.moveTrip"; - actionIcon: "move-trips"; -} - -#navigationOpenTripAction { - text: "observe.navigationMenu.openTripAction"; - toolTipText: "observe.navigationMenu.openTripAction"; - enabled: {!dataContext.isOpenTrip()}; - action: {new fr.ird.observe.ui.actions.shared.ReOpenUIAction(this)}; -} - -#navigationCloseTripAction { - text: "observe.navigationMenu.closeTripAction"; - toolTipText: "observe.navigationMenu.closeTripAction"; - enabled: {!dataContext.isOpenRoute() && !dataContext.isOpenActivity()}; - action: {new fr.ird.observe.ui.actions.shared.CloseOpenUIAction(this)}; -} - -#navigationDeleteTripAction { - text: "observe.navigationMenu.deleteTripAction"; - toolTipText: "observe.navigationMenu.deleteTripAction"; - action: {new fr.ird.observe.ui.actions.shared.DeleteDataUIAction(this)}; -} - -// route menu - -#navigationMoveRouteAction { - text: "observe.navigationMenu.moveRoute"; - toolTipText: "observe.navigationMenu.moveRoute"; - actionIcon: "move-routes"; -} - -#navigationOpenRouteAction { - text: "observe.navigationMenu.openRouteAction"; - toolTipText: "observe.navigationMenu.openRouteAction"; - enabled: {!dataContext.isOpenRoute()}; +#navigationOpenAction { action: {new fr.ird.observe.ui.actions.shared.ReOpenUIAction(this)}; } -#navigationCloseRouteAction { - text: "observe.navigationMenu.closeRouteAction"; - toolTipText: "observe.navigationMenu.closeRouteAction"; - enabled: {!dataContext.isOpenActivity()}; +#navigationCloseAction { action: {new fr.ird.observe.ui.actions.shared.CloseOpenUIAction(this)}; } -#navigationDeleteRouteAction { - text: "observe.navigationMenu.deleteRouteAction"; - toolTipText: "observe.navigationMenu.deleteRouteAction"; +#navigationDeleteAction { action: {new fr.ird.observe.ui.actions.shared.DeleteDataUIAction(this)}; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx index 480b1e3..9c5bbb9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/ObserveMainUI.jaxx @@ -84,16 +84,10 @@ <JPopupMenu id='scopeDownPopup'/> <JPopupMenu id='navigationPopup'> <JMenuItem id="navigationNoAction"/> - <!-- Trip menu --> - <JMenu id="navigationMoveTripAction"/> - <JMenuItem id="navigationOpenTripAction"/> - <JMenuItem id="navigationCloseTripAction"/> - <JMenuItem id="navigationDeleteTripAction"/> - <!-- Route menu --> - <JMenu id="navigationMoveRouteAction"/> - <JMenuItem id="navigationOpenRouteAction"/> - <JMenuItem id="navigationCloseRouteAction"/> - <JMenuItem id="navigationDeleteRouteAction"/> + <JMenu id="navigationMoveAction"/> + <JMenuItem id="navigationOpenAction"/> + <JMenuItem id="navigationCloseAction"/> + <JMenuItem id="navigationDeleteAction"/> </JPopupMenu> <ObserveSwingApplicationConfig id='config' initializer='getContextValue(ObserveSwingApplicationConfig.class)'/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java index 04c80a3..87718a4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java @@ -27,6 +27,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.db.DataContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ReferenceDto; @@ -39,11 +40,10 @@ import fr.ird.observe.services.service.seine.TripSeineService; import fr.ird.observe.ui.tree.actions.ChangeRouteTripActionListener; import fr.ird.observe.ui.tree.actions.ChangeTripProgramActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; +import jaxx.runtime.SwingUtil; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; -import org.nuiton.decorator.DecoratorUtil; -import org.nuiton.decorator.JXPathDecorator; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; @@ -62,6 +62,9 @@ import java.lang.reflect.Constructor; import java.util.LinkedHashSet; import java.util.List; +import static org.nuiton.i18n.I18n.n; +import static org.nuiton.i18n.I18n.t; + /** * Created on 1/8/15. * @@ -76,6 +79,11 @@ public class ObserveNavigationTreeShowPopupAction { private static final String TRIP_MENU_ITEMS = "trip"; private static final String ROUTE_MENU_ITEMS = "route"; + static { + n("observe.navigationMenu.move.trip"); + n("observe.navigationMenu.move.route"); + } + private final ObserveTreeHelper treeHelper; private final JScrollPane pane; @@ -85,6 +93,10 @@ public class ObserveNavigationTreeShowPopupAction { private final JTree tree; private final JMenuItem noAction; + private final JMenuItem openAction; + private final JMenuItem closeAction; + private final JMenuItem moveAction; + private final JMenuItem deleteAction; private final ImmutableMap<String, NavigationPopupMenuItems> menuItemsByNodeType; @@ -97,50 +109,35 @@ public class ObserveNavigationTreeShowPopupAction { JMenuItem noActionComponent = null; // trip menus - JMenuItem moveTripComponent = null; - JMenuItem openTripActionComponent = null; - JMenuItem closeTripActionComponent = null; - JMenuItem deleteTripActionComponent = null; - //route menus - JMenuItem moveRouteComponent = null; - JMenuItem openRouteActionComponent = null; - JMenuItem closeRouteActionComponent = null; - JMenuItem deleteRouteActionComponent = null; + JMenuItem moveComponent = null; + JMenuItem openActionComponent = null; + JMenuItem closeActionComponent = null; + JMenuItem deleteActionComponent = null; for (MenuElement menuElement : popup.getSubElements()) { if (menuElement.getComponent().getName().equals("navigationNoAction")) { noActionComponent = (JMenuItem) menuElement.getComponent(); } - // trip menus - if (menuElement.getComponent().getName().equals("navigationMoveTripAction")) { - moveTripComponent = (JMenuItem) menuElement.getComponent(); - } - if (menuElement.getComponent().getName().equals("navigationOpenTripAction")) { - openTripActionComponent = (JMenuItem) menuElement.getComponent(); - } - if (menuElement.getComponent().getName().equals("navigationCloseTripAction")) { - closeTripActionComponent = (JMenuItem) menuElement.getComponent(); - } - if (menuElement.getComponent().getName().equals("navigationDeleteTripAction")) { - deleteTripActionComponent = (JMenuItem) menuElement.getComponent(); + if (menuElement.getComponent().getName().equals("navigationMoveAction")) { + moveComponent = (JMenuItem) menuElement.getComponent(); } - // route menus - if (menuElement.getComponent().getName().equals("navigationMoveRouteAction")) { - moveRouteComponent = (JMenuItem) menuElement.getComponent(); + if (menuElement.getComponent().getName().equals("navigationOpenAction")) { + openActionComponent = (JMenuItem) menuElement.getComponent(); } - if (menuElement.getComponent().getName().equals("navigationOpenRouteAction")) { - openRouteActionComponent = (JMenuItem) menuElement.getComponent(); + if (menuElement.getComponent().getName().equals("navigationCloseAction")) { + closeActionComponent = (JMenuItem) menuElement.getComponent(); } - if (menuElement.getComponent().getName().equals("navigationCloseRouteAction")) { - closeRouteActionComponent = (JMenuItem) menuElement.getComponent(); - } - if (menuElement.getComponent().getName().equals("navigationDeleteRouteAction")) { - deleteRouteActionComponent = (JMenuItem) menuElement.getComponent(); + if (menuElement.getComponent().getName().equals("navigationDeleteAction")) { + deleteActionComponent = (JMenuItem) menuElement.getComponent(); } } this.noAction = noActionComponent; + this.openAction = openActionComponent; + this.closeAction = closeActionComponent; + this.moveAction = moveComponent; + this.deleteAction = deleteActionComponent; Function<String, List<ReferenceDto>> getProgramsFunction = new Function<String, List<ReferenceDto>>() { @@ -154,14 +151,12 @@ public class ObserveNavigationTreeShowPopupAction { .getReferentialReferenceSet(ProgramDto.class) .getReference(); - return Lists.newArrayList(ProgramDtos.filterReferencesByGearType(allPrograms, gearType)); + List<ReferenceDto> result = Lists.newArrayList(ProgramDtos.filterReferencesByGearType(allPrograms, gearType)); + + return result; } }; - NavigationPopupMenuItems tripItems = new NavigationPopupMenuItems(openTripActionComponent, - closeTripActionComponent, - moveTripComponent, - deleteTripActionComponent, - ProgramDto.class, + NavigationPopupMenuItems tripItems = new NavigationPopupMenuItems(ProgramDto.class, ChangeTripProgramActionListener.class, getProgramsFunction); @@ -179,11 +174,7 @@ public class ObserveNavigationTreeShowPopupAction { return Lists.newArrayList(allTripSeine); } }; - NavigationPopupMenuItems routeItems = new NavigationPopupMenuItems(openRouteActionComponent, - closeRouteActionComponent, - moveRouteComponent, - deleteRouteActionComponent, - TripSeineDto.class, + NavigationPopupMenuItems routeItems = new NavigationPopupMenuItems(TripSeineDto.class, ChangeRouteTripActionListener.class, getTripSeinesFunction); @@ -298,14 +289,23 @@ public class ObserveNavigationTreeShowPopupAction { // clean popup popup.removeAll(); + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + DataContext dataContext = applicationContext.getDataContext(); + if (selectedNode.isTripNode()) { beforeOpenMenu(selectedNode, TRIP_MENU_ITEMS); + openAction.setEnabled(!dataContext.isOpenTrip()); + closeAction.setEnabled(!dataContext.isOpenRoute() && !dataContext.isOpenActivity()); + } else if (selectedNode.isRouteNode()) { beforeOpenMenu(selectedNode, ROUTE_MENU_ITEMS); + openAction.setEnabled(!dataContext.isOpenRoute()); + closeAction.setEnabled(!dataContext.isOpenActivity()); + } else { popup.add(noAction); @@ -318,10 +318,6 @@ public class ObserveNavigationTreeShowPopupAction { } NavigationPopupMenuItems items = menuItemsByNodeType.get(nodeType); - JMenuItem openAction = items.getOpenAction(); - JMenuItem closeAction = items.getCloseAction(); - JMenuItem movePopup = items.getMovePopup(); - JMenuItem deleteAction = items.getDeleteAction(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); @@ -330,9 +326,12 @@ public class ObserveNavigationTreeShowPopupAction { closeAction.putClientProperty("ui", applicationContext.getSelectedContentUI()); popup.add(closeAction); - popup.add(movePopup); + moveAction.setText(t("observe.navigationMenu.move." + nodeType)); + moveAction.setToolTipText(t("observe.navigationMenu.move." + nodeType)); + moveAction.setIcon(SwingUtil.getUIManagerActionIcon("move-" + nodeType)); + popup.add(moveAction); - movePopup.removeAll(); + moveAction.removeAll(); // get the available program for the trip @@ -350,8 +349,6 @@ public class ObserveNavigationTreeShowPopupAction { Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, parentClass.getSimpleName()); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto>) decorator, parents, 0); - for (ReferenceDto parent : parents) { String parentId = parent.getId(); @@ -373,7 +370,7 @@ public class ObserveNavigationTreeShowPopupAction { id, parentId)); - movePopup.add(item); + moveAction.add(item); } catch (ReflectiveOperationException e) { if (log.isErrorEnabled()) { @@ -435,46 +432,18 @@ public class ObserveNavigationTreeShowPopupAction { private class NavigationPopupMenuItems { - private final JMenuItem openAction; - private final JMenuItem closeAction; - private final JMenuItem movePopup; - private final JMenuItem deleteAction; private final Class<?> parentClass; private final Class<? extends NodeChangeActionListener> changeActionListenerClass; private final Function<String, List<ReferenceDto>> getParentsFunction; - public NavigationPopupMenuItems(JMenuItem openAction, - JMenuItem closeAction, - JMenuItem movePopup, - JMenuItem deleteAction, - Class<?> parentClass, + public NavigationPopupMenuItems(Class<?> parentClass, Class<? extends NodeChangeActionListener> changeActionListenerClass, Function<String, List<ReferenceDto>> getParentsFunction) { - this.openAction = openAction; - this.closeAction = closeAction; - this.movePopup = movePopup; - this.deleteAction = deleteAction; this.parentClass = parentClass; this.changeActionListenerClass = changeActionListenerClass; this.getParentsFunction = getParentsFunction; } - public JMenuItem getCloseAction() { - return closeAction; - } - - public JMenuItem getDeleteAction() { - return deleteAction; - } - - public JMenuItem getMovePopup() { - return movePopup; - } - - public JMenuItem getOpenAction() { - return openAction; - } - public Class<?> getParentClass() { return parentClass; } diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties index c07a3b7..f6f520e 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_en_GB.properties @@ -286,6 +286,8 @@ observe.action.mitigationType.save.tip= observe.action.modify=Modify observe.action.move.maree= observe.action.move.maree.tip= +observe.action.move.routes= +observe.action.move.routes.tip= observe.action.move.trips= observe.action.move.trips.tip= observe.action.new.entry=Add @@ -1558,6 +1560,8 @@ observe.navigationMenu.closeRouteAction= observe.navigationMenu.closeTripAction= observe.navigationMenu.deleteRouteAction= observe.navigationMenu.deleteTripAction= +observe.navigationMenu.move.route= +observe.navigationMenu.move.trip= observe.navigationMenu.moveRoute= observe.navigationMenu.moveTrip=Change program observe.navigationMenu.noAction=< No action > diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties index d17ed34..48f5351 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_es_ES.properties @@ -286,6 +286,8 @@ observe.action.mitigationType.save.tip= observe.action.modify=Modificar observe.action.move.maree= observe.action.move.maree.tip= +observe.action.move.routes= +observe.action.move.routes.tip= observe.action.move.trips= observe.action.move.trips.tip= observe.action.new.entry=Nuevo @@ -1560,6 +1562,8 @@ observe.navigationMenu.closeRouteAction= observe.navigationMenu.closeTripAction= observe.navigationMenu.deleteRouteAction= observe.navigationMenu.deleteTripAction= +observe.navigationMenu.move.route= +observe.navigationMenu.move.trip= observe.navigationMenu.moveRoute= observe.navigationMenu.moveTrip= observe.navigationMenu.noAction= diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties index 0d8490c..82cbf09 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties @@ -282,6 +282,8 @@ observe.action.mitigationType.detail.tip=Voir les détails du type de mesure d'a observe.action.mitigationType.modify.tip=Modifier le type de mesure d'atténuation sélectionné observe.action.mitigationType.save.tip=Sauver les modifications du type de mesure d'atténuation observe.action.modify=Modifier +observe.action.move.routes= +observe.action.move.routes.tip= observe.action.move.trips=Changer de programme observe.action.move.trips.tip=Changer le programme des marées sélectionnées observe.action.new.entry=Nouveau @@ -1549,8 +1551,8 @@ observe.navigationMenu.closeRouteAction=Clôturer la route observe.navigationMenu.closeTripAction=Clôturer la marée observe.navigationMenu.deleteRouteAction=Supprimer la route observe.navigationMenu.deleteTripAction=Supprimer la marée -observe.navigationMenu.moveRoute=Changer de marée -observe.navigationMenu.moveTrip=Réallocation du programme +observe.navigationMenu.move.route=Changer de marée +observe.navigationMenu.move.trip=Réallocation du programme observe.navigationMenu.noAction=< Aucune action définie > observe.navigationMenu.openRouteAction=Réouvrir la route observe.navigationMenu.openTripAction=Réouvrir la marée -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit b2b70d4f41ef2c3740a08a56c2f4016b9dfcd4eb Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:04:10 2015 +0100 correction des positions (refs #7622) --- .../java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java | 1 - .../fr/ird/observe/services/service/seine/RouteServiceTopia.java | 6 ++---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java index 5c23822..d19c293 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java @@ -190,7 +190,6 @@ public class MoveRoutesUIAction extends AbstractUIAction { if (log.isInfoEnabled()) { log.info("Insert route node: "); } - //FIXME l'ordre n'est pas le bon treeHelper.insertNode(newRoutesNode, newRouteNode, positions.get(i)); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java index 1efd4ee..7e41a96 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -282,12 +282,10 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi for (String routeId : routeIds) { Route route = loadEntity(RouteDto.class, Route.class, routeId); tripSeine.addRoute(route); - } - saveEntity(TripSeine.class, tripSeine); - persistenceContext.flush(); + saveEntity(TripSeine.class, tripSeine); + persistenceContext.flush(); - for (String routeId : routeIds) { result.add(getRoutePositionInTripSeine(tripSeineId, routeId)); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit acbb79dea874332cc2fc501c960c57723155e564 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 12:27:19 2015 +0100 correction de l'action de déplacement des routes depuis la liste (refs #7622) --- .../main/java/fr/ird/observe/ObserveSwingApplicationContext.java | 2 ++ .../java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java | 6 +++--- .../java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css | 3 +-- .../main/resources/i18n/observe-application-swing_fr_FR.properties | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java index 5efda8f..422b4c7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java @@ -25,6 +25,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import fr.ird.observe.db.DataContext; +import fr.ird.observe.ui.actions.shared.MoveRoutesUIAction; import fr.ird.observe.util.gps.GPSService; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.ObserveSwingDataSource; @@ -911,6 +912,7 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im registerMainAction(actionMap, new DeleteReferenceUIAction(ui)); registerMainAction(actionMap, new MoveTripLonglinesUIAction(ui)); registerMainAction(actionMap, new MoveTripSeinesUIAction(ui)); + registerMainAction(actionMap, new MoveRoutesUIAction(ui)); } public void registerMainAction(ActionMap actionMap, AbstractUIAction action) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java index d19c293..8bbc322 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java @@ -69,12 +69,12 @@ public class MoveRoutesUIAction extends AbstractUIAction { public static final String ACTION_NAME = "moveRoutes"; - public MoveRoutesUIAction(ObserveMainUI mainUI, String actionName) { + public MoveRoutesUIAction(ObserveMainUI mainUI) { super(mainUI, - actionName, + ACTION_NAME, n("observe.action.move.routes"), n("observe.action.move.routes.tip"), - "move-trips" + "move-routes" ); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css index a545bd0..0de1951 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUI.css @@ -34,10 +34,9 @@ toolTipText:"observe.action.create.route.tip"; } -#moveSelectedTrips { +#moveSelectedChildren { text:"observe.action.move.routes"; toolTipText:"observe.action.move.routes.tip"; - enabled:{model.getSelectedDatas() != null}; _observeAction:{MoveRoutesUIAction.ACTION_NAME}; } diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties index 82cbf09..b1bbaaa 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties @@ -282,8 +282,8 @@ observe.action.mitigationType.detail.tip=Voir les détails du type de mesure d'a observe.action.mitigationType.modify.tip=Modifier le type de mesure d'atténuation sélectionné observe.action.mitigationType.save.tip=Sauver les modifications du type de mesure d'atténuation observe.action.modify=Modifier -observe.action.move.routes= -observe.action.move.routes.tip= +observe.action.move.routes=Changer de marée +observe.action.move.routes.tip=Changer la marée des routes sélectionnées observe.action.move.trips=Changer de programme observe.action.move.trips.tip=Changer le programme des marées sélectionnées observe.action.new.entry=Nouveau -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit e5719f9824963929eb58d144925cd519c85ed777 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 14:29:31 2015 +0100 meilleur gestion de l'activation du menu de fermeture des neouds (refs #7622) --- .../ui/tree/ObserveNavigationTreeShowPopupAction.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java index 87718a4..90f6379 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNavigationTreeShowPopupAction.java @@ -37,6 +37,8 @@ import fr.ird.observe.services.dto.referential.ProgramDtos; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.seine.TripSeineService; +import fr.ird.observe.ui.content.ContentUI; +import fr.ird.observe.ui.content.open.ContentOpenableUI; import fr.ird.observe.ui.tree.actions.ChangeRouteTripActionListener; import fr.ird.observe.ui.tree.actions.ChangeTripProgramActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; @@ -45,6 +47,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; +import javax.swing.JButton; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.JScrollPane; @@ -291,20 +294,28 @@ public class ObserveNavigationTreeShowPopupAction { ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); DataContext dataContext = applicationContext.getDataContext(); + ContentUI<?> selectedContentUI = applicationContext.getSelectedContentUI(); + + boolean closeActionEnabled = false; + + if (selectedContentUI instanceof ContentOpenableUI) { + JButton closeButton = ((ContentOpenableUI) selectedContentUI).getClose(); + closeActionEnabled = closeButton.isEnabled(); + } if (selectedNode.isTripNode()) { beforeOpenMenu(selectedNode, TRIP_MENU_ITEMS); openAction.setEnabled(!dataContext.isOpenTrip()); - closeAction.setEnabled(!dataContext.isOpenRoute() && !dataContext.isOpenActivity()); + closeAction.setEnabled(closeActionEnabled); } else if (selectedNode.isRouteNode()) { beforeOpenMenu(selectedNode, ROUTE_MENU_ITEMS); openAction.setEnabled(!dataContext.isOpenRoute()); - closeAction.setEnabled(!dataContext.isOpenActivity()); + closeAction.setEnabled(closeActionEnabled); } else { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit ce9258e37c2e78bd57f48d00d606ac71af0f9a0f Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 14:49:44 2015 +0100 fix decorateur (refs #7622) --- .../main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java index 8bbc322..d53b4c3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java @@ -26,7 +26,6 @@ import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.seine.RouteService; import fr.ird.observe.services.service.seine.TripSeineService; @@ -130,7 +129,7 @@ public class MoveRoutesUIAction extends AbstractUIAction { List<ReferenceDto<TripSeineDto>> tripSeines = new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(allTripSeines)); Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, - ProgramDto.class.getSimpleName()); + TripSeineDto.class.getSimpleName()); //on crée un tableau avec un programme en moins car on ne propose pas le programme actuel DecoratedTripSeine[] decoratedTripSeines = new DecoratedTripSeine[tripSeines.size() - 1]; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 9d54b0b11cfacbad2b48b6d5235e247abe1001c9 Author: Kevin Morin <morin@codelutin.com> Date: Tue Nov 17 15:35:26 2015 +0100 correction du déplacement des routes (fixes #7622) --- .../observe/ui/actions/shared/MoveRoutesUIAction.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java index d53b4c3..1077cec 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java @@ -97,15 +97,15 @@ public class MoveRoutesUIAction extends AbstractUIAction { throw new IllegalStateException("Can not come here!"); } - // get current program id + // get current tripseine id ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); ObserveNode oldRoutesNode = treeHelper.getSelectedNode(); String oldTripSeineId = oldRoutesNode.getParent().getId(); - // choose the new program + // choose the new tripseine String tripSeineId = chooseNewTripSeine(ui, oldTripSeineId); - // change the program of the selected trips + // change the tripseine of the selected routes List<ReferenceDto> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); List<String> routeIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); RouteService service = ObserveSwingApplicationContext.get().newService(RouteService.class); @@ -131,7 +131,7 @@ public class MoveRoutesUIAction extends AbstractUIAction { Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, TripSeineDto.class.getSimpleName()); - //on crée un tableau avec un programme en moins car on ne propose pas le programme actuel + //on crée un tableau avec un tripseine en moins car on ne propose pas le tripseine actuel DecoratedTripSeine[] decoratedTripSeines = new DecoratedTripSeine[tripSeines.size() - 1]; int j = 0; @@ -169,6 +169,8 @@ public class MoveRoutesUIAction extends AbstractUIAction { TripSeineDto.PROPERTY_ROUTE); ObserveNode newRoutesNode = treeHelper.getChild(newTripSeineNode, routesNodeId); + treeHelper.selectNode(newRoutesNode); + for (int i = 0, s = positions.size(); i < s; i++) { String routeId = routeIds.get(i); @@ -181,7 +183,7 @@ public class MoveRoutesUIAction extends AbstractUIAction { openDataManager.openTripSeine(programNode.getId(), tripSeineId); } - ObserveNode newRouteNode = treeHelper.getChild(newTripSeineNode, routeId); + ObserveNode newRouteNode = treeHelper.getChild(newRoutesNode, routeId); if (newRouteNode == null) { @@ -189,16 +191,17 @@ public class MoveRoutesUIAction extends AbstractUIAction { if (log.isInfoEnabled()) { log.info("Insert route node: "); } - treeHelper.insertNode(newRoutesNode, newRouteNode, positions.get(i)); + treeHelper.insertNode(newRoutesNode, routeNode, positions.get(i)); } } + + treeHelper.reloadNode(programNode, true); + ContentListUIModel model = (ContentListUIModel) ui.getModel(); List<ReferenceDto> data = new ArrayList<>(model.getData()); data.removeAll(model.getSelectedDatas()); model.setData(data); - treeHelper.reloadNode(programNode, true); - treeHelper.selectNode(newTripSeineNode); } public static class DecoratedTripSeine { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
participants (1)
-
codelutin.com scm