After rename, the file is selected and scrolled to view (issue #2488)
authorChristos Stathis <chstath@ebs.gr>
Tue, 5 Jun 2012 09:27:03 +0000 (12:27 +0300)
committerChristos Stathis <chstath@ebs.gr>
Tue, 5 Jun 2012 09:27:03 +0000 (12:27 +0300)
src/gr/grnet/pithos/web/client/FilePropertiesDialog.java

index 147cb2a..31257fc 100644 (file)
@@ -39,6 +39,7 @@ import gr.grnet.pithos.web.client.foldertree.Resource;
 import gr.grnet.pithos.web.client.rest.PostRequest;\r
 import gr.grnet.pithos.web.client.rest.PutRequest;\r
 \r
+import java.util.Arrays;\r
 import java.util.HashMap;\r
 import java.util.Map;\r
 \r
@@ -253,7 +254,7 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
             PutRequest updateFile = new PutRequest(app.getApiPath(), app.getUsername(), path) {\r
                 @Override\r
                 public void onSuccess(Resource result) {\r
-                    updateMetaData(app.getApiPath(), file.getOwner(), path + "?update=", newMeta);\r
+                    updateMetaData(app.getApiPath(), file.getOwner(), path, newMeta);\r
                 }\r
 \r
                 @Override\r
@@ -302,13 +303,13 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
             Scheduler.get().scheduleDeferred(updateFile);\r
         }\r
         else\r
-            updateMetaData(app.getApiPath(), app.getUsername(), file.getUri() + "?update=", newMeta);\r
+            updateMetaData(app.getApiPath(), app.getUsername(), file.getUri(), newMeta);\r
         return true;\r
        }\r
 \r
-       protected void updateMetaData(String api, String owner, String path, Map<String, String> newMeta) {\r
+       protected void updateMetaData(final String api, final String owner, final String path, Map<String, String> newMeta) {\r
         if (newMeta != null) {\r
-            PostRequest updateFile = new PostRequest(api, owner, path) {\r
+            PostRequest updateFile = new PostRequest(api, owner, path + "?update=") {\r
                 @Override\r
                 public void onSuccess(Resource result) {\r
                        if (!app.isMySharedSelected())\r
@@ -316,11 +317,19 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
                                                        \r
                                                        @Override\r
                                                        public void execute() {\r
+                                                               app.getFileList().selectByUrl(Arrays.asList(api + owner + path));\r
                                                                app.updateMySharedRoot();\r
                                                        }\r
                                                }, true);\r
-                       else\r
-                               app.updateSharedFolder(file.getParent(), true);\r
+                       else {\r
+                               app.updateSharedFolder(file.getParent(), true, new Command() {\r
+                                       \r
+                                                       @Override\r
+                                                       public void execute() {\r
+                                                               app.getFileList().selectByUrl(Arrays.asList(api + owner + path));\r
+                                                       }\r
+                               });\r
+                       }\r
                 }\r
 \r
                 @Override\r
@@ -351,11 +360,14 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
                                \r
                                @Override\r
                                public void execute() {\r
+                                       app.getFileList().selectByUrl(Arrays.asList(api + owner + path));\r
                                        if (file.isSharedOrPublished())\r
                                                app.updateMySharedRoot();\r
                                }\r
                        }, true);\r
-        else\r
+        else {\r
+                       app.getFileList().selectByUrl(Arrays.asList(api + owner + path));\r
                app.updateSharedFolder(file.getParent(), true);\r
+        }\r
     }\r
 }\r