correctlry refresh node when folder is added to a folder that is direct child of...
authorkoutsoub <devnull@localhost>
Mon, 21 Feb 2011 12:48:23 +0000 (14:48 +0200)
committerkoutsoub <devnull@localhost>
Mon, 21 Feb 2011 12:48:23 +0000 (14:48 +0200)
src/gr/ebs/gss/client/CellTreeView.java
src/gr/ebs/gss/client/CellTreeViewUtils.java

index 01e383f..812d776 100644 (file)
@@ -234,6 +234,10 @@ public class CellTreeView extends Composite{
                if(resource instanceof RestResourceWrapper){
                        boolean updated=false;
                        if(((RestResourceWrapper)resource).getResource().getFolders().size()==0){
+                               if(((RestResourceWrapper)resource).getResource().getParentURI().equals(getMyFolders().getUri())){
+                                       updateNodeChildren(getMyFolders().getUri());
+                                       return;
+                               }
                                if(model.getMymap().get(((RestResourceWrapper)resource).getResource().getParentURI())!=null){
                                        model.getMymap().get(((RestResourceWrapper)resource).getResource().getParentURI()).refresh(null);
                                        updated=true;
index 9349109..15c2e62 100644 (file)
 package gr.ebs.gss.client;
 
 import gr.ebs.gss.client.CellTreeView.RefreshHandler;
+import gr.ebs.gss.client.CellTreeViewModel.MyFolderDataProvider;
+import gr.ebs.gss.client.rest.resource.MyFolderResource;
 import gr.ebs.gss.client.rest.resource.RestResource;
 import gr.ebs.gss.client.rest.resource.RestResourceWrapper;
 
+import com.google.gwt.core.client.GWT;
 import com.google.gwt.user.cellview.client.CellTree;
 import com.google.gwt.user.cellview.client.TreeNode;
 
@@ -52,19 +55,18 @@ public class CellTreeViewUtils {
        private void refreshNodeContainingResource(TreeNode node, RestResource resource){
                int count = node.getChildCount();
                for(int i=0;i<count;i++){
-                       if(node.isChildOpen(i)){
-                               if(node.getChildValue(i).equals(resource)){
-                                       node.setChildOpen(i, false, true);
-                                       node.setChildOpen(i, true, true);
-                                       return;
-                               }
-                               else{
-                                       TreeNode n = node.setChildOpen(i, true);
-                                       if(n!=null)
-                                               refreshNodeContainingResource(n,resource);
-                               }
+                       if(node.getChildValue(i).equals(resource)){
+                               node.setChildOpen(i, false, true);
+                               node.setChildOpen(i, true, true);
+                               return;
+                       }
+                       else if(node.isChildOpen(i)){
+                               TreeNode n = node.setChildOpen(i, true);
+                               if(n!=null)
+                                       refreshNodeContainingResource(n,resource);
                        }
                }
+               
        }
        
        private void refreshNodeContainingResource(TreeNode node, String uri){