Tony CHEMIT pushed to branch develop-7.x at ultreiaio / ird-observe
Commits:
-
8c54c4c7
by Tony CHEMIT at 2018-07-04T08:24:26Z
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:
| ... | ... | @@ -46,6 +46,7 @@ import org.nuiton.validator.NuitonValidatorScope; |
| 46 | 46 |
|
| 47 | 47 |
import javax.swing.JOptionPane;
|
| 48 | 48 |
import java.util.Date;
|
| 49 |
+import java.util.Objects;
|
|
| 49 | 50 |
|
| 50 | 51 |
import static org.nuiton.i18n.I18n.n;
|
| 51 | 52 |
import static org.nuiton.i18n.I18n.t;
|
| ... | ... | @@ -361,13 +362,11 @@ class RouteUIHandler extends ContentOpenableUIHandler<RouteDto, RouteUI> impleme |
| 361 | 362 |
NavigationTree treeHelper = getNavigationTree();
|
| 362 | 363 |
|
| 363 | 364 |
// on créee l'activity de fin de veille
|
| 364 |
- NavigationTreeNodeSupport parentNode = treeHelper.getSelectedNode();
|
|
| 365 |
- parentNode = treeHelper.getChild(parentNode, ObserveI18nDecoratorHelper.getTypePluralI18nKey(ActivitySeineDto.class));
|
|
| 366 |
- if (log.isDebugEnabled()) {
|
|
| 367 |
- log.debug("PARENT NODE = " + parentNode);
|
|
| 368 |
- }
|
|
| 369 |
- treeHelper.addUnsavedNode(parentNode, ActivitySeineDto.class);
|
|
| 370 |
- |
|
| 365 |
+ NavigationTreeNodeSupport<?> parentNode = treeHelper.getSelectedNode().findChildByClass(ActivitySeineDto.class);
|
|
| 366 |
+ log.debug("PARENT NODE = " + parentNode);
|
|
| 367 |
+ treeHelper.addUnsavedNode(Objects.requireNonNull(parentNode), ActivitySeineDto.class);
|
|
| 368 |
+ NavigationTreeNodeSupport activityNode = treeHelper.getSelectedNode();
|
|
| 369 |
+ Objects.requireNonNull(activityNode);
|
|
| 371 | 370 |
// on recupère l'écran d'édition
|
| 372 | 371 |
ActivitySeineUI selectedUI = (ActivitySeineUI) ObserveSwingApplicationContext.get().getContentUIManager().getSelectedContentUI();
|
| 373 | 372 |
|
| ... | ... | @@ -98,7 +98,7 @@ public class NavigationTree extends JXTree { |
| 98 | 98 |
setSelectionModel(new DefaultTreeSelectionModel() {
|
| 99 | 99 |
@Override
|
| 100 | 100 |
public void setSelectionPath(TreePath path) {
|
| 101 |
- boolean canChange = !Objects.equals(path, getSelectionPath()) && ObserveSwingApplicationContext.get().getContentUIManager().closeSelectedContentUI();
|
|
| 101 |
+ boolean canChange = adjusting || (!Objects.equals(path, getSelectionPath()) && ObserveSwingApplicationContext.get().getContentUIManager().closeSelectedContentUI());
|
|
| 102 | 102 |
if (!canChange) {
|
| 103 | 103 |
// cancel the change of node
|
| 104 | 104 |
return;
|
| ... | ... | @@ -401,6 +401,8 @@ public class NavigationTree extends JXTree { |
| 401 | 401 |
reloadNode(node, refreshChilds);
|
| 402 | 402 |
}
|
| 403 | 403 |
|
| 404 |
+ private boolean adjusting;
|
|
| 405 |
+ |
|
| 404 | 406 |
public NavigationTreeNodeSupport addUnsavedNode(NavigationTreeNodeSupport parentNode, Class<?> type) {
|
| 405 | 407 |
|
| 406 | 408 |
// noeud en mode creation
|
| ... | ... | @@ -433,8 +435,13 @@ public class NavigationTree extends JXTree { |
| 433 | 435 |
// Fix bug (if no child in parent node, it will not expand...)
|
| 434 | 436 |
fireTreeExpanded(new TreePath(result.getPath()));
|
| 435 | 437 |
|
| 436 |
- // Select new node
|
|
| 437 |
- selectNode(result);
|
|
| 438 |
+ adjusting=true;
|
|
| 439 |
+ try {
|
|
| 440 |
+ // Select new node
|
|
| 441 |
+ selectNode(result);
|
|
| 442 |
+ } finally {
|
|
| 443 |
+ adjusting=false;
|
|
| 444 |
+ }
|
|
| 438 | 445 |
|
| 439 | 446 |
return result;
|
| 440 | 447 |
}
|
| ... | ... | @@ -131,10 +131,10 @@ public class ActivityFinDeVeilleExistsDtoValidator extends FieldValidatorSupport |
| 131 | 131 |
// on doit vérifier qu'il n'existe pas déjà une autre activité de
|
| 132 | 132 |
// fin de veille
|
| 133 | 133 |
|
| 134 |
- RouteDto route = (RouteDto) stack.findValue("routeEntity");
|
|
| 134 |
+ RouteDto route = (RouteDto) stack.findValue("currentRoute");
|
|
| 135 | 135 |
if (route == null) {
|
| 136 | 136 |
|
| 137 |
- log.warn("COULD NOT FIND DATA CONTEXT! [routeEntity]");
|
|
| 137 |
+ log.warn("COULD NOT FIND DATA CONTEXT! [currentRoute]");
|
|
| 138 | 138 |
return;
|
| 139 | 139 |
}
|
| 140 | 140 |
|