cleanup, correctly update filesize
[pithos] / src / gr / ebs / gss / client / GSS.java
index 019cc24..d5d662d 100644 (file)
@@ -24,6 +24,7 @@ import gr.ebs.gss.client.rest.RestException;
 import gr.ebs.gss.client.rest.resource.FileResource;
 import gr.ebs.gss.client.rest.resource.FolderResource;
 import gr.ebs.gss.client.rest.resource.RestResource;
+import gr.ebs.gss.client.rest.resource.RestResourceWrapper;
 import gr.ebs.gss.client.rest.resource.TrashResource;
 import gr.ebs.gss.client.rest.resource.UserResource;
 
@@ -57,7 +58,6 @@ import com.google.gwt.user.client.ui.HorizontalSplitPanel;
 import com.google.gwt.user.client.ui.RootPanel;
 import com.google.gwt.user.client.ui.TabPanel;
 import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Tree;
 /**
  * Entry point classes define <code>onModuleLoad()</code>.
  */
@@ -503,9 +503,42 @@ public class GSS implements EntryPoint, ResizeHandler {
                GWT.log("SELECTED:"+currentFolder);
                if(currentFolder!=null){
                        List<FileResource> files = null;
-                       if (currentFolder instanceof FolderResource) {
-                               FolderResource folder = (FolderResource) currentFolder;
+                       if (currentFolder instanceof RestResourceWrapper) {
+                               RestResourceWrapper folder = (RestResourceWrapper) currentFolder;
+                               files = folder.getResource().getFiles();
+                       } else if (currentFolder instanceof TrashResource) {
+                               TrashResource folder = (TrashResource) currentFolder;
                                files = folder.getFiles();
+                       }
+                       if (files != null)
+                               getFileList().setFiles(files);
+               }
+               fileList.updateFileCache(update, true /*clear selection*/);
+               inner.selectTab(0);
+       }
+       
+       public void showFileList(RestResource r,boolean update) {
+               /*TreeItem currentFolder = getFolders().getCurrent();
+               if (currentFolder != null) {
+                       List<FileResource> files = null;
+                       Object cachedObject = currentFolder.getUserObject();
+                       if (cachedObject instanceof FolderResource) {
+                               FolderResource folder = (FolderResource) cachedObject;
+                               files = folder.getFiles();
+                       } else if (cachedObject instanceof TrashResource) {
+                               TrashResource folder = (TrashResource) cachedObject;
+                               files = folder.getFiles();
+                       }
+                       if (files != null)
+                               getFileList().setFiles(files);
+               }*/
+               RestResource currentFolder = r;
+               GWT.log("SELECTED:"+currentFolder);
+               if(currentFolder!=null){
+                       List<FileResource> files = null;
+                       if (currentFolder instanceof RestResourceWrapper) {
+                               RestResourceWrapper folder = (RestResourceWrapper) currentFolder;
+                               files = folder.getResource().getFiles();
                        } else if (currentFolder instanceof TrashResource) {
                                TrashResource folder = (TrashResource) currentFolder;
                                files = folder.getFiles();
@@ -813,9 +846,9 @@ public class GSS implements EntryPoint, ResizeHandler {
        }
        
        public void onResourceUpdate(RestResource resource){
-               if(resource instanceof FolderResource){
+               if(resource instanceof RestResourceWrapper){
                        if(getTreeView().getSelection()!=null&&getTreeView().getSelection().getUri().equals(resource.getUri()))
-                               showFileList(true);
+                               showFileList(resource,true);
                }
                
        }