Merge with 2ad3c504ee5d73982c0ef23336276dc1fc9e165f
[pithos] / src / gr / ebs / gss / client / tree / FolderSubtree.java
index 732c6de..d095cc7 100644 (file)
@@ -33,6 +33,7 @@ import com.google.gwt.core.client.GWT;
 import com.google.gwt.user.client.DeferredCommand;
 import com.google.gwt.user.client.IncrementalCommand;
 import com.google.gwt.user.client.ui.TreeItem;
+import com.google.gwt.user.client.ui.Widget;
 
 /**
  * @author kman
@@ -51,6 +52,7 @@ public class FolderSubtree extends Subtree {
                aTree.clear();
                DeferredCommand.addCommand(new IncrementalCommand() {
 
+                       @Override
                        public boolean execute() {
                                return fetchRootFolder();
                        }
@@ -63,12 +65,14 @@ public class FolderSubtree extends Subtree {
                        return !DONE;
 
                final String path = userResource.getFilesPath();
-               GetCommand<FolderResource> gf = new GetCommand<FolderResource>(FolderResource.class, path) {
+               GetCommand<FolderResource> gf = new GetCommand<FolderResource>(FolderResource.class, path, null) {
 
                        @Override
                        public void onComplete() {
                                FolderResource rootResource = getResult();
-                               rootItem = new DnDTreeItem(imageItemHTML(images.home(), rootResource.getName()), rootResource.getName(), false);
+                               Widget rootItemWidget = imageItemHTML(images.home(), rootResource.getName());
+                               rootItemWidget.getElement().setId("tree.homeFolder");
+                               rootItem = new DnDTreeItem(rootItemWidget, false,tree,true);
                                rootItem.setUserObject(rootResource);
                                tree.clear();
                                tree.addItem(rootItem);
@@ -83,7 +87,7 @@ public class FolderSubtree extends Subtree {
                                GWT.log("Error fetching root folder", t);
                                GSS.get().displayError("Unable to fetch root folder");
                                if(rootItem != null){
-                                       rootItem = new DnDTreeItem(imageItemHTML(images.home(), "ERROR"), "ERROR", false);
+                                       rootItem = new DnDTreeItem(imageItemHTML(images.home(), "ERROR"), false,tree);
                                        tree.clear();
                                        tree.addItem(rootItem);
                                }
@@ -108,7 +112,7 @@ public class FolderSubtree extends Subtree {
                        parentName = ((DnDTreeItem) folderItem.getParentItem()).getFolderResource().getName() + "->";
                parentName = parentName + folderItem.getFolderResource().getName();
                MultipleGetCommand<FolderResource> gf = new MultipleGetCommand<FolderResource>(FolderResource.class,
-                                       folderItem.getFolderResource().getSubfolderPaths().toArray(new String[] {})) {
+                                       folderItem.getFolderResource().getSubfolderPaths().toArray(new String[] {}), folderItem.getFolderResource().getCache()) {
 
                        @Override
                        public void onComplete() {
@@ -139,14 +143,14 @@ public class FolderSubtree extends Subtree {
 
        public void updateFolderAndSubfolders(final DnDTreeItem folderItem) {
                final String path = folderItem.getFolderResource().getUri();
-               GetCommand<FolderResource> gf = new GetCommand<FolderResource>(FolderResource.class, path) {
+               GetCommand<FolderResource> gf = new GetCommand<FolderResource>(FolderResource.class, path, folderItem.getFolderResource()) {
 
                        @Override
                        public void onComplete() {
                                FolderResource rootResource = getResult();
                                if (!folderItem.equals(rootItem)) {
                                        folderItem.undoDraggable();
-                                       if(rootResource.isShared())
+                                       if(rootResource.isShared()||rootResource.isReadForAll())
                                                folderItem.updateWidget(imageItemHTML(images.sharedFolder(), rootResource.getName()));
                                        else
                                                folderItem.updateWidget(imageItemHTML(images.folderYellow(), rootResource.getName()));