Change copyright notice
[pithos-web-client] / src / gr / grnet / pithos / web / client / FilePropertiesDialog.java
index 06c9328..d33cd27 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- * Copyright 2011-2012 GRNET S.A. All rights reserved.\r
+ * Copyright 2011-2013 GRNET S.A. All rights reserved.\r
  *\r
  * Redistribution and use in source and binary forms, with or\r
  * without modification, are permitted provided that the following\r
 package gr.grnet.pithos.web.client;\r
 \r
 import gr.grnet.pithos.web.client.foldertree.File;\r
-import gr.grnet.pithos.web.client.foldertree.Resource;\r
 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
@@ -55,7 +55,6 @@ import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.FlexTable;\r
 import com.google.gwt.user.client.ui.HasHorizontalAlignment;\r
 import com.google.gwt.user.client.ui.HorizontalPanel;\r
-import com.google.gwt.user.client.ui.Image;\r
 import com.google.gwt.user.client.ui.Label;\r
 import com.google.gwt.user.client.ui.TextBox;\r
 import com.google.gwt.user.client.ui.VerticalPanel;\r
@@ -81,7 +80,7 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
         super(_app);\r
         file = _file;\r
 \r
-               Anchor close = new Anchor();\r
+               Anchor close = new Anchor("close");\r
                close.addStyleName("close");\r
                close.addClickHandler(new ClickHandler() {\r
                        \r
@@ -92,7 +91,6 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
                });\r
                // Set the dialog's caption.\r
                setText("File properties");\r
-               setAnimationEnabled(true);\r
                setGlassEnabled(true);\r
                setStyleName("pithos-DialogBox");\r
 \r
@@ -135,11 +133,24 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
         name.setWidth("100%");\r
         name.setText(file.getName());\r
         generalTable.setWidget(0, 1, name);\r
-        if(file.getParent() != null)\r
+        if(file.getParent() != null) {\r
             generalTable.setText(1, 1, file.getParent().getName());\r
-        else\r
+        }\r
+        else {\r
             generalTable.setText(1, 1, "-");\r
-        generalTable.setText(2, 1, file.getOwner());\r
+        }\r
+\r
+        final String ownerID = file.getOwnerID();\r
+        final String displayName = app.getDisplayNameForUserID(ownerID);\r
+        final String ownerDisplayName;\r
+        if(displayName == null) {\r
+            // FIXME: Get the actual display name and do not use the id\r
+            ownerDisplayName = ownerID;\r
+        }\r
+        else {\r
+            ownerDisplayName = displayName;\r
+        }\r
+        generalTable.setText(2, 1, ownerDisplayName);\r
 \r
         final DateTimeFormat formatter = DateTimeFormat.getFormat("d/M/yyyy h:mm a");\r
         generalTable.setText(3, 1, file.getLastModified() != null ? formatter.format(file.getLastModified()) : "");\r
@@ -163,8 +174,8 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
         meta.addStyleName("pithos-metaTitle");\r
         metaTitlePanel.add(meta);\r
         \r
-               Image plus = new Image();\r
-               plus.addStyleName("pithos-addMetaImg");\r
+               Anchor plus = new Anchor("add");\r
+               plus.addStyleName(Pithos.resources.pithosCss().commandAnchor());\r
                metaTitlePanel.add(plus);\r
                \r
                generalPanel.add(metaTitlePanel);\r
@@ -208,8 +219,8 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
                table.setWidget(row, 1, valueBox);\r
                table.getFlexCellFormatter().setStyleName(1, 1, "props-values");\r
                \r
-               Image delete = new Image();\r
-               delete.addStyleName("pithos-metaDeleteImg");\r
+               Anchor delete = new Anchor("remove");\r
+               delete.addStyleName(Pithos.resources.pithosCss().commandAnchor());\r
                delete.addClickHandler(new ClickHandler() {\r
                        \r
                        @Override\r
@@ -250,10 +261,10 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
 \r
         if (newFilename != null) {\r
             final String path = file.getParent().getUri() + "/" + newFilename;\r
-            PutRequest updateFile = new PutRequest(app.getApiPath(), app.getUsername(), path) {\r
+            PutRequest updateFile = new PutRequest(app.getApiPath(), app.getUserID(), path) {\r
                 @Override\r
                 public void onSuccess(Resource result) {\r
-                    updateMetaData(app.getApiPath(), file.getOwner(), path + "?update=", newMeta);\r
+                    updateMetaData(app.getApiPath(), file.getOwnerID(), path, newMeta);\r
                 }\r
 \r
                 @Override\r
@@ -268,7 +279,7 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
                                        app.sessionExpired();\r
                                }\r
             };\r
-            updateFile.setHeader("X-Auth-Token", app.getToken());\r
+            updateFile.setHeader("X-Auth-Token", app.getUserToken());\r
             updateFile.setHeader("X-Move-From", URL.encodePathSegment(file.getUri()));\r
             updateFile.setHeader("Content-Type", file.getContentType());\r
             for (String key : file.getMeta().keySet())\r
@@ -302,13 +313,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.getUserID(), 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 +327,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
@@ -335,7 +354,7 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog {
                                        app.sessionExpired();\r
                                }\r
             };\r
-            updateFile.setHeader("X-Auth-Token", app.getToken());\r
+            updateFile.setHeader("X-Auth-Token", app.getUserToken());\r
             \r
             for (String t : file.getMeta().keySet()) {\r
                        updateFile.setHeader("X-Object-Meta-" + URL.encodePathSegment(t.trim()), "~");\r
@@ -351,11 +370,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