SharedByMe view now shows public files too
[pithos-web-client] / src / gr / grnet / pithos / web / client / mysharedtree / MysharedTreeViewModel.java
index ebfd04a..b98cb95 100644 (file)
@@ -133,7 +133,7 @@ public class MysharedTreeViewModel implements TreeViewModel {
     }
 
        private void fetchSharedContainers(final Command callback) {
-        String path = "?format=json&shared=";
+        String path = "?format=json&shared=&public=";
         GetRequest<AccountResource> getAccount = new GetRequest<AccountResource>(AccountResource.class, app.getApiPath(), app.getUsername(), path) {
             @Override
             public void onSuccess(final AccountResource _result) {
@@ -184,7 +184,7 @@ public class MysharedTreeViewModel implements TreeViewModel {
         if (iter.hasNext()) {
             final Folder f = iter.next();
 
-            String path = "/" + f.getContainer() + "?format=json&shared=&delimiter=/&prefix=" + URL.encodeQueryString(f.getPrefix());
+            String path = "/" + f.getContainer() + "?format=json&shared=&public=&delimiter=/&prefix=" + URL.encodeQueryString(f.getPrefix());
             GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwner(), path, f) {
                 @Override
                 public void onSuccess(Folder _result) {
@@ -217,17 +217,26 @@ public class MysharedTreeViewModel implements TreeViewModel {
         return selectionModel.getSelectedObject();
     }
 
-    public void updateFolder(Folder folder, boolean showfiles) {
-        fetchFolder(folder,showfiles);
+    public void updateFolder(Folder folder, boolean showfiles, Command callback) {
+        fetchFolder(folder, showfiles, callback);
     }
 
-    public void fetchFolder(final Folder f, final boolean showfiles) {
-        String path = "/" + f.getContainer() + "?format=json&shared=" + URL.encodeQueryString(f.getPrefix());
+    public void fetchFolder(final Folder f, final boolean showfiles, final Command callback) {
+        String path = "/" + f.getContainer() + "?format=json&shared=&public=" + URL.encodeQueryString(f.getPrefix());
         GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwner(), path, f) {
             @Override
             public void onSuccess(final Folder _result) {
+               for (File file : _result.getFiles()) {
+                       String name = file.getName();
+                                       if (name.lastIndexOf("/") != -1) {
+                                               file.setName(name.substring(name.lastIndexOf("/") + 1, name.length()));
+                                       }
+               }
+
                 if (showfiles)
                     app.showFiles(_result);
+                if (callback != null)
+                       callback.execute();
             }
 
             @Override