Permissions are requested just before showing the contect and tools menu (issue ...
[pithos-web-client] / src / gr / grnet / pithos / web / client / foldertree / Folder.java
index fb03f1b..3c20908 100644 (file)
@@ -80,8 +80,6 @@ public class Folder extends Resource {
 
     private Set<File> files = new LinkedHashSet<File>();
 
-    private Set<String> tags = new LinkedHashSet<String>();
-
     private String owner;
 
     private Map<String, Boolean[]> permissions = new HashMap<String, Boolean[]>();
@@ -161,18 +159,18 @@ public class Folder extends Resource {
         if (header != null && header.length() > 0)
             bytesUsed = Long.valueOf(header);
 
-        header = response.getHeader("X-Container-Object-Meta");
-        if (header != null && header.length() > 0) {
-            for (String t : header.split(",")) {
-                tags.add(URL.decodePathSegment(t));
-            }
+        String rawPermissions = response.getHeader("X-Object-Sharing");
+        if (rawPermissions != null && rawPermissions.length() > 0) {
+            parsePermissions(URL.decodePathSegment(rawPermissions));
         }
-
-        subfolders.clear(); //This is necessary in case we update a pre-existing Folder so that stale subfolders won't show up
-        files.clear();
+        
+        if (response.getText() == null || response.getText().isEmpty())
+               return;
         JSONValue json = JSONParser.parseStrict(response.getText());
         JSONArray array = json.isArray();
         if (array != null) {
+            subfolders.clear(); //This is necessary in case we update a pre-existing Folder so that stale subfolders won't show up
+            files.clear();
             for (int i=0; i<array.size(); i++) {
                 JSONObject o = array.get(i).isObject();
                 if (o != null) {
@@ -278,10 +276,6 @@ public class Folder extends Resource {
         this.container = container;
     }
 
-    public Set<String> getTags() {
-        return tags;
-    }
-
     public String getInheritedPermissionsFrom() {
         return inheritedPermissionsFrom;
     }
@@ -294,17 +288,6 @@ public class Folder extends Resource {
         return owner;
     }
 
-    public boolean existChildrenPermissions() {
-        for (File f : files)
-            if (!f.getPermissions().isEmpty() && f.getInheritedPermissionsFrom() == null)
-                return true;
-
-        for (Folder fo : subfolders)
-            if ((!fo.getPermissions().isEmpty() && fo.getInheritedPermissionsFrom() == null) || fo.existChildrenPermissions())
-                return true;
-        return false;
-    }
-
        public boolean isShared() {
                return !permissions.isEmpty();
        }