Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe Commits: 8c54c4c7 by Tony CHEMIT at 2018-07-04T08:24:26Z Création automatique de l'activité de fin de veille non fonctionnelle - See #996 - - - - - 3 changed files: - client/src/main/java/fr/ird/observe/client/ui/content/data/seine/RouteUIHandler.java - client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationTree.java - services/src/main/java/fr/ird/observe/services/validation/validators/ActivityFinDeVeilleExistsDtoValidator.java Changes: ===================================== client/src/main/java/fr/ird/observe/client/ui/content/data/seine/RouteUIHandler.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/RouteUIHandler.java +++ b/client/src/main/java/fr/ird/observe/client/ui/content/data/seine/RouteUIHandler.java @@ -46,6 +46,7 @@ import org.nuiton.validator.NuitonValidatorScope; import javax.swing.JOptionPane; import java.util.Date; +import java.util.Objects; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -361,13 +362,11 @@ class RouteUIHandler extends ContentOpenableUIHandler<RouteDto, RouteUI> impleme NavigationTree treeHelper = getNavigationTree(); // on créee l'activity de fin de veille - NavigationTreeNodeSupport parentNode = treeHelper.getSelectedNode(); - parentNode = treeHelper.getChild(parentNode, ObserveI18nDecoratorHelper.getTypePluralI18nKey(ActivitySeineDto.class)); - if (log.isDebugEnabled()) { - log.debug("PARENT NODE = " + parentNode); - } - treeHelper.addUnsavedNode(parentNode, ActivitySeineDto.class); - + NavigationTreeNodeSupport<?> parentNode = treeHelper.getSelectedNode().findChildByClass(ActivitySeineDto.class); + log.debug("PARENT NODE = " + parentNode); + treeHelper.addUnsavedNode(Objects.requireNonNull(parentNode), ActivitySeineDto.class); + NavigationTreeNodeSupport activityNode = treeHelper.getSelectedNode(); + Objects.requireNonNull(activityNode); // on recupère l'écran d'édition ActivitySeineUI selectedUI = (ActivitySeineUI) ObserveSwingApplicationContext.get().getContentUIManager().getSelectedContentUI(); ===================================== client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationTree.java ===================================== --- a/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationTree.java +++ b/client/src/main/java/fr/ird/observe/client/ui/tree/navigation/NavigationTree.java @@ -98,7 +98,7 @@ public class NavigationTree extends JXTree { setSelectionModel(new DefaultTreeSelectionModel() { @Override public void setSelectionPath(TreePath path) { - boolean canChange = !Objects.equals(path, getSelectionPath()) && ObserveSwingApplicationContext.get().getContentUIManager().closeSelectedContentUI(); + boolean canChange = adjusting || (!Objects.equals(path, getSelectionPath()) && ObserveSwingApplicationContext.get().getContentUIManager().closeSelectedContentUI()); if (!canChange) { // cancel the change of node return; @@ -401,6 +401,8 @@ public class NavigationTree extends JXTree { reloadNode(node, refreshChilds); } + private boolean adjusting; + public NavigationTreeNodeSupport addUnsavedNode(NavigationTreeNodeSupport parentNode, Class<?> type) { // noeud en mode creation @@ -433,8 +435,13 @@ public class NavigationTree extends JXTree { // Fix bug (if no child in parent node, it will not expand...) fireTreeExpanded(new TreePath(result.getPath())); - // Select new node - selectNode(result); + adjusting=true; + try { + // Select new node + selectNode(result); + } finally { + adjusting=false; + } return result; } ===================================== services/src/main/java/fr/ird/observe/services/validation/validators/ActivityFinDeVeilleExistsDtoValidator.java ===================================== --- a/services/src/main/java/fr/ird/observe/services/validation/validators/ActivityFinDeVeilleExistsDtoValidator.java +++ b/services/src/main/java/fr/ird/observe/services/validation/validators/ActivityFinDeVeilleExistsDtoValidator.java @@ -131,10 +131,10 @@ public class ActivityFinDeVeilleExistsDtoValidator extends FieldValidatorSupport // on doit vérifier qu'il n'existe pas déjà une autre activité de // fin de veille - RouteDto route = (RouteDto) stack.findValue("routeEntity"); + RouteDto route = (RouteDto) stack.findValue("currentRoute"); if (route == null) { - log.warn("COULD NOT FIND DATA CONTEXT! [routeEntity]"); + log.warn("COULD NOT FIND DATA CONTEXT! [currentRoute]"); return; } View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/8c54c4c724f32f67f701fd1226f6... -- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/commit/8c54c4c724f32f67f701fd1226f6... You're receiving this email because of your account on gitlab.com.
participants (1)
-
Tony CHEMIT