This is an automated email from the git hooks/post-receive script. New commit to branch feature/7591_Correction_migration_entites_d_un_parent_a_un_autre in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit e22b31b044b04827c32a9ff9fbb3023fb65943c0 Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Thu Jul 28 17:05:55 2016 +0200 Update NodeChangeActionListener to take into account the fact that closing an entity will close its children For example, closing a route will close its activities If we just want to move the route from a trip to another, we should then probably reopen it if it was open before the move refs #7591 --- .../main/java/fr/ird/observe/ObserveOpenDataManager.java | 2 +- .../ui/tree/actions/ChangeActivityRouteActionListener.java | 12 ++++++++++++ .../ui/tree/actions/ChangeActivityTripActionListener.java | 13 +++++++++++++ .../ui/tree/actions/ChangeRouteTripActionListener.java | 11 +++++++++++ .../ui/tree/actions/ChangeTripProgramActionListener.java | 5 +++++ .../observe/ui/tree/actions/NodeChangeActionListener.java | 7 +++++++ 6 files changed, 49 insertions(+), 1 deletion(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveOpenDataManager.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveOpenDataManager.java index e4492b6..2283ee7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveOpenDataManager.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveOpenDataManager.java @@ -172,7 +172,7 @@ public class ObserveOpenDataManager implements Closeable { if (dataContext.isOpenActivityLongline()) { String openActivityLonglineId = dataContext.getOpenActivityLonglineId(); - closeActivitySeine(openActivityLonglineId); + closeActivityLongline(openActivityLonglineId); } dataContext.setOpenTripLonglineId(null); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeActivityRouteActionListener.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeActivityRouteActionListener.java index 75c13eb..ec42ecb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeActivityRouteActionListener.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeActivityRouteActionListener.java @@ -99,4 +99,16 @@ public class ChangeActivityRouteActionListener extends NodeChangeActionListener getTreeHelper().reloadNode(tripNode, true); } + + @Override + protected void openChild(ObserveNode activitiesNode, ObserveNode activityNode) { + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + + ObserveNode routeNode = activitiesNode.getParent(); + + applicationContext.getOpenDataManager().openActivitySeine(routeNode.getId(), activityNode.getId()); + + getTreeHelper().reloadNode(routeNode, true); + } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeActivityTripActionListener.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeActivityTripActionListener.java index 57f0341..2a232cf 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeActivityTripActionListener.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/actions/ChangeActivityTripActionListener.java @@ -98,4 +98,17 @@ public class ChangeActivityTripActionListener extends NodeChangeActionListener { getTreeHelper().reloadNode(programNode, true); } + + @Override + protected void openChild(ObserveNode activitiesNode, ObserveNode activityNode) { + + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + + ObserveNode tripNode = activitiesNode.getParent(); + + applicationContext.getOpenDataManager().openActivityLongline(tripNode.getId(), activityNode.getId()); + + getTreeHelper().reloadNode(tripNode, true); + + } } 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 index e7f8e1c..d723dd5 100644 --- 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 @@ -98,4 +98,15 @@ public class ChangeRouteTripActionListener extends NodeChangeActionListener { getTreeHelper().reloadNode(programNode, true); } + + @Override + protected void openChild(ObserveNode routesNode, ObserveNode routeNode) { + ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); + + ObserveNode tripNode = routesNode.getParent(); + + applicationContext.getOpenDataManager().openRoute(tripNode.getId(), routeNode.getId()); + + getTreeHelper().reloadNode(tripNode, true); + } } 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 2b57c35..cad7f9b 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 @@ -90,4 +90,9 @@ public class ChangeTripProgramActionListener extends NodeChangeActionListener { ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); applicationContext.getOpenDataManager().openProgram(programNode.getId()); } + + @Override + protected void openChild(ObserveNode parentNode, ObserveNode childNode) { + // don't need to do anything since closing a program doesn't close its open trip (if there is one) + } } 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 index 6854c5a..adb92ae 100644 --- 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 @@ -69,6 +69,7 @@ public abstract class NodeChangeActionListener implements ActionListener { String oldParentId = oldParentNode.getId(); ObserveNode grandParentNode = oldParentNode.getParent(); ObserveNode newParentNode = getNewParentNode(grandParentNode, parentNodeId); + boolean wasOpen = node.isOpen(); closeParent(oldParentId); @@ -92,6 +93,10 @@ public abstract class NodeChangeActionListener implements ActionListener { openParent(newParentNode); + if (wasOpen) { + openChild(newParentNode, node); + } + treeHelper.selectNode(newNode); } @@ -109,4 +114,6 @@ public abstract class NodeChangeActionListener implements ActionListener { protected abstract int moveNodeToParent(String nodeId, String parentNodeId); protected abstract void openParent(ObserveNode parentNode); + + protected abstract void openChild(ObserveNode parentNode, ObserveNode childNode); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.