Alexander Wels has uploaded a new change for review.

Change subject: webadmin: System tree refresh
......................................................................

webadmin: System tree refresh

- Automatically refresh the system tree when a new event comes in
  or the user does an action.

Change-Id: I6e2d069ba00e5c272b62f6e2c80951d626def206
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=987953
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1057081
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1072505
Signed-off-by: Alexander Wels <[email protected]>
---
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeItemModel.java
M 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/ModelListTreeViewModel.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/SystemTreeModelProvider.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tree/SystemTree.java
5 files changed, 12 insertions(+), 26 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/62/26162/1

diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeItemModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeItemModel.java
index 3e3cdcb..f2345b3 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeItemModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeItemModel.java
@@ -105,6 +105,10 @@
 
     @Override
     public boolean equals(Object other) {
+        return equals(other, false);
+    }
+
+    public boolean equals(Object other, boolean deepCompare) {
         if (other == this) {
             return true;
         }
@@ -112,11 +116,11 @@
             return false;
         }
         SystemTreeItemModel otherModel = (SystemTreeItemModel) other;
-        if (getChildren().size() > 0) {
+        if (getChildren().size() > 0 && deepCompare) {
             if (otherModel.getChildren().size() == getChildren().size()) {
                 boolean result = true;
                 for (int i = 0; i < getChildren().size(); i++) {
-                    result = 
getChildren().get(i).equals(otherModel.getChildren().get(i));
+                    result = 
getChildren().get(i).equals(otherModel.getChildren().get(i), deepCompare);
                     if (!result) {
                         break;
                     }
diff --git 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
index 306c103..1c72acc 100644
--- 
a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
+++ 
b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/SystemTreeModel.java
@@ -627,8 +627,9 @@
         if 
(!ApplicationModeHelper.getUiMode().equals(ApplicationMode.AllModes)) {
             ApplicationModeHelper.filterSystemTreeByApplictionMode(systemItem);
         }
-        List<SystemTreeItemModel> newItems = new 
ArrayList<SystemTreeItemModel>(Arrays.asList(new SystemTreeItemModel[] { 
systemItem }));
-        if(!newItems.equals(items)) {
+        List<SystemTreeItemModel> newItems =
+                new ArrayList<SystemTreeItemModel>(Arrays.asList(new 
SystemTreeItemModel[] { systemItem }));
+        if (items == null || items.size() == 0 || 
!newItems.get(0).equals(items.toArray()[0], true)) {
             setItems(newItems);
         }
     }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/ModelListTreeViewModel.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/ModelListTreeViewModel.java
index 1a87597..402ba7a 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/ModelListTreeViewModel.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/ModelListTreeViewModel.java
@@ -5,7 +5,6 @@
 import java.util.List;
 import java.util.Set;
 
-import com.google.gwt.event.shared.HandlerRegistration;
 import org.ovirt.engine.ui.common.uicommon.model.TreeNodeModel;
 import org.ovirt.engine.ui.common.utils.ElementIdUtils;
 import org.ovirt.engine.ui.common.widget.tree.TreeModelWithElementId;
@@ -18,6 +17,7 @@
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.logical.shared.SelectionEvent;
 import com.google.gwt.event.logical.shared.SelectionHandler;
+import com.google.gwt.event.shared.HandlerRegistration;
 import com.google.gwt.safehtml.client.SafeHtmlTemplates;
 import com.google.gwt.safehtml.shared.SafeHtml;
 import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/SystemTreeModelProvider.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/SystemTreeModelProvider.java
index 5fa381f..6bff944 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/SystemTreeModelProvider.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/uicommon/model/SystemTreeModelProvider.java
@@ -107,17 +107,7 @@
 
     @Override
     public void setSelectedItems(List<SystemTreeItemModel> items) {
-        if (items.size() > 0) {
-            SystemTreeItemModel selectedItem = null;
-            if (getModel().getSelectedItem() != null) {
-                selectedItem = getModel().findNode(items.get(0), 
getModel().getSelectedItem());
-            } else {
-                selectedItem = items.get(0);
-            }
-            getModel().setSelectedItem(selectedItem);
-        } else {
-            getModel().setSelectedItem(null);
-        }
+        getModel().setSelectedItem(items.size() > 0 ? items.get(0) : null);
     }
 
     @Override
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tree/SystemTree.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tree/SystemTree.java
index 2ad6d31..fedbbdf 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tree/SystemTree.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/tree/SystemTree.java
@@ -23,13 +23,10 @@
 import org.ovirt.engine.ui.webadmin.widget.action.WebAdminButtonDefinition;
 
 import com.google.gwt.core.client.GWT;
-import com.google.gwt.core.client.Scheduler;
-import com.google.gwt.core.client.Scheduler.ScheduledCommand;
 import com.google.gwt.uibinder.client.UiBinder;
 import com.google.gwt.user.cellview.client.CellTable;
 import com.google.gwt.user.cellview.client.CellTree;
 import com.google.gwt.user.cellview.client.CellTree.Style;
-import 
com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy;
 import com.google.gwt.user.cellview.client.TreeNode;
 import com.google.gwt.user.client.ui.Widget;
 
@@ -106,12 +103,7 @@
                 if (modelProvider.getModel().getSelectedItem() == null) {
                     expandTree(getDataDisplayWidget().getRootTreeNode(), 
ITEM_LEVEL);
                 } else {
-                    Scheduler.get().scheduleDeferred(new ScheduledCommand() {
-                        @Override
-                        public void execute() {
-                            
expandPathUsingMap(getDataDisplayWidget().getRootTreeNode(), nodeStateMap);
-                        }
-                    });
+                    
expandPathUsingMap(getDataDisplayWidget().getRootTreeNode(), nodeStateMap);
                 }
             }
         });
@@ -189,7 +181,6 @@
             }
         };
         display.setAnimationEnabled(true);
-        
display.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION);
         modelProvider.setDataDisplay(display);
         return display;
     }


-- 
To view, visit http://gerrit.ovirt.org/26162
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6e2d069ba00e5c272b62f6e2c80951d626def206
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Alexander Wels <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to