Show display name in FolderPropertiesDialog
authorChristos KK Loverdos <loverdos@gmail.com>
Fri, 1 Feb 2013 13:01:51 +0000 (15:01 +0200)
committerChristos KK Loverdos <loverdos@gmail.com>
Fri, 1 Feb 2013 13:01:51 +0000 (15:01 +0200)
13 files changed:
src/gr/grnet/pithos/web/client/FileContextMenu.java
src/gr/grnet/pithos/web/client/FileUploadDialog.java
src/gr/grnet/pithos/web/client/FolderContextMenu.java
src/gr/grnet/pithos/web/client/FolderPermissionsDialog.java
src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java
src/gr/grnet/pithos/web/client/Pithos.java
src/gr/grnet/pithos/web/client/Toolbar.java
src/gr/grnet/pithos/web/client/ToolsMenu.java
src/gr/grnet/pithos/web/client/commands/PasteCommand.java
src/gr/grnet/pithos/web/client/foldertree/Folder.java
src/gr/grnet/pithos/web/client/foldertree/FolderTreeViewModel.java
src/gr/grnet/pithos/web/client/mysharedtree/MysharedTreeViewModel.java
src/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel.java

index ba56139..1459f6f 100644 (file)
@@ -193,7 +193,7 @@ public class FileContextMenu extends PopupPanel {
         boolean canWrite = true;
         if (selectedFolder != null) {
                permissions = selectedFolder.getPermissions().get(app.getUserID());
-               canWrite = selectedFolder.getOwner().equals(app.getUserID()) || (permissions!= null && permissions[1] != null && permissions[1]);
+               canWrite = selectedFolder.getOwnerID().equals(app.getUserID()) || (permissions!= null && permissions[1] != null && permissions[1]);
                }
         else {
                for (File f : selectedFiles) {
index 84ca349..32be778 100644 (file)
@@ -200,7 +200,7 @@ public class FileUploadDialog extends DialogBox {
                                        FilesAdded: function(up, files) {
                                                var api = app.@gr.grnet.pithos.web.client.Pithos::getApiPath()();
                                                var folder = app.@gr.grnet.pithos.web.client.Pithos::getUploadFolder()();
-                                               var owner = folder.@gr.grnet.pithos.web.client.foldertree.Folder::getOwner()();
+                                               var owner = folder.@gr.grnet.pithos.web.client.foldertree.Folder::getOwnerID()();
                                                var uri = folder.@gr.grnet.pithos.web.client.foldertree.Folder::getUri()();
                                                var path = api + owner + uri;
                                                for (var j=0; j<files.length; j++)
index b29a316..464a43a 100644 (file)
@@ -83,7 +83,7 @@ public class FolderContextMenu extends PopupPanel {
         MenuBar contextMenu = new MenuBar(true);
 
         Boolean[] permissions = folder.getPermissions().get(app.getUserID());
-       boolean canWrite = folder.getOwner().equals(app.getUserID()) || (permissions!= null && permissions[1] != null && permissions[1]);
+       boolean canWrite = folder.getOwnerID().equals(app.getUserID()) || (permissions!= null && permissions[1] != null && permissions[1]);
        boolean isFolderTreeSelected = selectedTree.equals(app.getFolderTreeView());
        boolean otherSharedTreeSelected = selectedTree.equals(app.getOtherSharedTreeView());
        boolean mysharedTreeSelected = selectedTree.equals(app.getMySharedTreeView());
index 37732d4..91550d7 100644 (file)
@@ -115,7 +115,7 @@ public class FolderPermissionsDialog extends DialogBox {
 \r
         VerticalPanel permPanel = new VerticalPanel();\r
         FilePermissionsDialog.Images images = GWT.create(FilePermissionsDialog.Images.class);\r
-        permList = new PermissionsList(images, folder.getPermissions(), folder.getOwner(), false, null);\r
+        permList = new PermissionsList(images, folder.getPermissions(), folder.getOwnerID(), false, null);\r
         permPanel.add(permList);\r
 \r
         HorizontalPanel permButtons = new HorizontalPanel();\r
@@ -215,7 +215,7 @@ public class FolderPermissionsDialog extends DialogBox {
 \r
        protected void updateMetadata(final String path, final Map<String, Boolean[]> newPermissions) {\r
         if (newPermissions != null) {\r
-            PostRequest updateFolder = new PostRequest(app.getApiPath(), folder.getOwner(), path) {\r
+            PostRequest updateFolder = new PostRequest(app.getApiPath(), folder.getOwnerID(), path) {\r
                 @Override\r
                 public void onSuccess(Resource result) {\r
                     app.updateFolder(folder.getParent(), false, new Command() {\r
@@ -234,7 +234,7 @@ public class FolderPermissionsDialog extends DialogBox {
                     if (t instanceof RestException) {\r
                        if (((RestException) t).getHttpStatusCode() == Response.SC_NOT_FOUND) { //Probably a virtual folder\r
                             final String path1 = folder.getUri();\r
-                            PutRequest newFolder = new PutRequest(app.getApiPath(), folder.getOwner(), path1) {\r
+                            PutRequest newFolder = new PutRequest(app.getApiPath(), folder.getOwnerID(), path1) {\r
                                 @Override\r
                                 public void onSuccess(Resource result) {\r
                                        updateMetadata(path, newPermissions);\r
index db3393a..0528c1e 100644 (file)
  */\r
 package gr.grnet.pithos.web.client;\r
 \r
-import gr.grnet.pithos.web.client.foldertree.Folder;\r
-import gr.grnet.pithos.web.client.rest.PutRequest;\r
-import gr.grnet.pithos.web.client.rest.RestException;\r
-\r
 import com.google.gwt.core.client.GWT;\r
 import com.google.gwt.core.client.Scheduler;\r
 import com.google.gwt.dom.client.NativeEvent;\r
-import com.google.gwt.event.dom.client.ChangeEvent;\r
-import com.google.gwt.event.dom.client.ChangeHandler;\r
-import com.google.gwt.event.dom.client.ClickEvent;\r
-import com.google.gwt.event.dom.client.ClickHandler;\r
-import com.google.gwt.event.dom.client.KeyCodes;\r
-import com.google.gwt.event.dom.client.KeyDownEvent;\r
+import com.google.gwt.event.dom.client.*;\r
 import com.google.gwt.http.client.Response;\r
 import com.google.gwt.i18n.client.DateTimeFormat;\r
 import com.google.gwt.user.client.Command;\r
 import com.google.gwt.user.client.Event.NativePreviewEvent;\r
-import com.google.gwt.user.client.ui.Anchor;\r
-import com.google.gwt.user.client.ui.Button;\r
-import com.google.gwt.user.client.ui.DialogBox;\r
-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.Label;\r
-import com.google.gwt.user.client.ui.TextBox;\r
-import com.google.gwt.user.client.ui.VerticalPanel;\r
+import com.google.gwt.user.client.ui.*;\r
+import gr.grnet.pithos.web.client.foldertree.Folder;\r
+import gr.grnet.pithos.web.client.rest.PutRequest;\r
+import gr.grnet.pithos.web.client.rest.RestException;\r
 \r
 /**\r
  * The 'Folder properties' dialog box implementation.\r
@@ -67,86 +54,103 @@ public class FolderPropertiesDialog extends DialogBox {
 \r
     protected Pithos app;\r
 \r
-       /**\r
-        * The widget that holds the folderName of the folder.\r
-        */\r
-       TextBox folderName = new TextBox();\r
+    /**\r
+     * The widget that holds the folderName of the folder.\r
+     */\r
+    TextBox folderName = new TextBox();\r
 \r
-       /**\r
-        * A flag that denotes whether the dialog will be used to create or modify a\r
-        * folder.\r
-        */\r
-       private final boolean create;\r
+    /**\r
+     * A flag that denotes whether the dialog will be used to create or modify a\r
+     * folder.\r
+     */\r
+    private final boolean create;\r
 \r
-       final Folder folder;\r
+    final Folder folder;\r
 \r
-       final VerticalPanel inner;\r
+    final VerticalPanel inner;\r
 \r
-       /**\r
-        * The widget's constructor.\r
-        */\r
-       public FolderPropertiesDialog(final Pithos app, boolean _create,  Folder selected) {\r
+    /**\r
+     * The widget's constructor.\r
+     */\r
+    public FolderPropertiesDialog(final Pithos app, boolean _create, Folder selected) {\r
         this.app = app;\r
-               Anchor close = new Anchor("close");\r
-               close.addStyleName("close");\r
-               close.addClickHandler(new ClickHandler() {\r
-                       \r
-                       @Override\r
-                       public void onClick(ClickEvent event) {\r
-                               hide();\r
-                       }\r
-               });\r
-\r
-               setGlassEnabled(true);\r
-               setStyleName("pithos-DialogBox");\r
-\r
-               // Enable IE selection for the dialog (must disable it upon closing it)\r
-               Pithos.enableIESelection();\r
-\r
-               create = _create;\r
-               \r
-               folder = selected;\r
-\r
-               // Use this opportunity to set the dialog's caption.\r
-               if (create)\r
-                       setText("Create folder");\r
-               else\r
-                       setText("Folder properties");\r
-\r
-               // Outer contains inner and buttons\r
-               VerticalPanel outer = new VerticalPanel();\r
-               outer.add(close);\r
-               // Inner contains generalPanel and permPanel\r
-               inner = new VerticalPanel();\r
-               inner.addStyleName("inner");\r
-\r
-               VerticalPanel generalPanel = new VerticalPanel();\r
+        Anchor close = new Anchor("close");\r
+        close.addStyleName("close");\r
+        close.addClickHandler(new ClickHandler() {\r
+\r
+            @Override\r
+            public void onClick(ClickEvent event) {\r
+                hide();\r
+            }\r
+        });\r
+\r
+        setGlassEnabled(true);\r
+        setStyleName("pithos-DialogBox");\r
+\r
+        // Enable IE selection for the dialog (must disable it upon closing it)\r
+        Pithos.enableIESelection();\r
+\r
+        create = _create;\r
+\r
+        folder = selected;\r
+\r
+        // Use this opportunity to set the dialog's caption.\r
+        if(create) {\r
+            setText("Create folder");\r
+        }\r
+        else {\r
+            setText("Folder properties");\r
+        }\r
+\r
+        // Outer contains inner and buttons\r
+        VerticalPanel outer = new VerticalPanel();\r
+        outer.add(close);\r
+        // Inner contains generalPanel and permPanel\r
+        inner = new VerticalPanel();\r
+        inner.addStyleName("inner");\r
+\r
+        VerticalPanel generalPanel = new VerticalPanel();\r
         FlexTable generalTable = new FlexTable();\r
         generalTable.setText(0, 0, "Name");\r
         generalTable.setText(1, 0, "Parent");\r
         generalTable.setText(2, 0, "Creator");\r
         generalTable.setText(3, 0, "Last modified");\r
 \r
-               folderName.setText(create ? "" : folder.getName());\r
+        folderName.setText(create ? "" : folder.getName());\r
         folderName.setReadOnly(folder.isContainer() && !create);\r
         generalTable.setWidget(0, 1, folderName);\r
 \r
         final Label folderNameNote = new Label("Please note that slashes ('/') are not allowed in folder names.", true);\r
-               folderNameNote.setVisible(false);\r
-               folderNameNote.setStylePrimaryName("gss-readForAllNote");\r
-               generalTable.setWidget(0, 2, folderNameNote);\r
-               \r
-        if (create)\r
+        folderNameNote.setVisible(false);\r
+        folderNameNote.setStylePrimaryName("gss-readForAllNote");\r
+        generalTable.setWidget(0, 2, folderNameNote);\r
+\r
+        if(create) {\r
             generalTable.setText(1, 1, folder.getName());\r
-        else\r
+        }\r
+        else {\r
             generalTable.setText(1, 1, folder.getParent().getName());\r
-        if (create)\r
-               generalTable.setText(2, 1, app.getCurrentUserDisplayNameOrID());\r
-        else\r
-               generalTable.setText(2, 1, folder.getOwner());\r
+        }\r
+        if(create) {\r
+            generalTable.setText(2, 1, app.getCurrentUserDisplayNameOrID());\r
+        }\r
+        else {\r
+            final String ownerID = folder.getOwnerID();\r
+            final String displayName = app.getUserDisplayNameByID(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
         DateTimeFormat formatter = DateTimeFormat.getFormat("d/M/yyyy h:mm a");\r
-        if(folder.getLastModified() != null)\r
+        if(folder.getLastModified() != null) {\r
             generalTable.setText(3, 1, formatter.format(folder.getLastModified()));\r
+        }\r
         generalTable.getFlexCellFormatter().setStyleName(0, 0, "props-labels");\r
         generalTable.getFlexCellFormatter().setStyleName(1, 0, "props-labels");\r
         generalTable.getFlexCellFormatter().setStyleName(2, 0, "props-labels");\r
@@ -161,160 +165,170 @@ public class FolderPropertiesDialog extends DialogBox {
 \r
         outer.add(inner);\r
 \r
-               // Create the 'Create/Update' button, along with a listener that hides the dialog\r
-               // when the button is clicked and quits the application.\r
-               String okLabel;\r
-               if (create)\r
-                       okLabel = "Create";\r
-               else\r
-                       okLabel = "Update";\r
-               final Button ok = new Button(okLabel, new ClickHandler() {\r
-                       @Override\r
-                       public void onClick(ClickEvent event) {\r
-                               createOrUpdateFolder();\r
-                               closeDialog();\r
-                       }\r
-               });\r
-               ok.addStyleName("button");\r
-               outer.add(ok);\r
+        // Create the 'Create/Update' button, along with a listener that hides the dialog\r
+        // when the button is clicked and quits the application.\r
+        String okLabel;\r
+        if(create) {\r
+            okLabel = "Create";\r
+        }\r
+        else {\r
+            okLabel = "Update";\r
+        }\r
+        final Button ok = new Button(okLabel, new ClickHandler() {\r
+            @Override\r
+            public void onClick(ClickEvent event) {\r
+                createOrUpdateFolder();\r
+                closeDialog();\r
+            }\r
+        });\r
+        ok.addStyleName("button");\r
+        outer.add(ok);\r
         outer.setCellHorizontalAlignment(inner, HasHorizontalAlignment.ALIGN_CENTER);\r
 \r
         folderName.addChangeHandler(new ChangeHandler() {\r
-                       \r
-                       @Override\r
-                       public void onChange(ChangeEvent event) {\r
-                               if(folderName.getText().contains("/")) {\r
-                                       folderNameNote.setVisible(true);\r
-                                       ok.setEnabled(false);\r
-                               }\r
-                               else {\r
-                                       folderNameNote.setVisible(false);\r
-                                       ok.setEnabled(true);\r
-                               }\r
-                       }\r
-               });\r
+\r
+            @Override\r
+            public void onChange(ChangeEvent event) {\r
+                if(folderName.getText().contains("/")) {\r
+                    folderNameNote.setVisible(true);\r
+                    ok.setEnabled(false);\r
+                }\r
+                else {\r
+                    folderNameNote.setVisible(false);\r
+                    ok.setEnabled(true);\r
+                }\r
+            }\r
+        });\r
 \r
         setWidget(outer);\r
-       }\r
-\r
-       @Override\r
-       public void center() {\r
-               super.center();\r
-               folderName.setFocus(true);\r
-       }\r
-\r
-       @Override\r
-       protected void onPreviewNativeEvent(NativePreviewEvent preview) {\r
-               super.onPreviewNativeEvent(preview);\r
-\r
-               NativeEvent evt = preview.getNativeEvent();\r
-               if (evt.getType().equals(KeyDownEvent.getType().getName()))\r
-                       // Use the popup's key preview hooks to close the dialog when either\r
-                       // enter or escape is pressed.\r
-                       switch (evt.getKeyCode()) {\r
-                               case KeyCodes.KEY_ENTER:\r
-                                       createOrUpdateFolder();\r
+    }\r
+\r
+    @Override\r
+    public void center() {\r
+        super.center();\r
+        folderName.setFocus(true);\r
+    }\r
+\r
+    @Override\r
+    protected void onPreviewNativeEvent(NativePreviewEvent preview) {\r
+        super.onPreviewNativeEvent(preview);\r
+\r
+        NativeEvent evt = preview.getNativeEvent();\r
+        if(evt.getType().equals(KeyDownEvent.getType().getName()))\r
+        // Use the popup's key preview hooks to close the dialog when either\r
+        // enter or escape is pressed.\r
+        {\r
+            switch(evt.getKeyCode()) {\r
+                case KeyCodes.KEY_ENTER:\r
+                    createOrUpdateFolder();\r
+                    closeDialog();\r
+                    break;\r
+                case KeyCodes.KEY_ESCAPE:\r
                     closeDialog();\r
-                                       break;\r
-                               case KeyCodes.KEY_ESCAPE:\r
-                                       closeDialog();\r
-                                       break;\r
-                       }\r
-       }\r
-\r
-\r
-       /**\r
-        * Enables IE selection prevention and hides the dialog\r
-        * (we disable the prevention on creation of the dialog)\r
-        */\r
-       public void closeDialog() {\r
-               Pithos.preventIESelection();\r
-               hide();\r
-       }\r
-\r
-       /**\r
-        * Generate an RPC request to create a new folder.\r
-        */\r
-       private void createFolder() {\r
-               String name = folderName.getText().trim();\r
-               if (name.length() == 0)\r
-                       return;\r
+                    break;\r
+            }\r
+        }\r
+    }\r
+\r
+\r
+    /**\r
+     * Enables IE selection prevention and hides the dialog\r
+     * (we disable the prevention on creation of the dialog)\r
+     */\r
+    public void closeDialog() {\r
+        Pithos.preventIESelection();\r
+        hide();\r
+    }\r
+\r
+    /**\r
+     * Generate an RPC request to create a new folder.\r
+     */\r
+    private void createFolder() {\r
+        String name = folderName.getText().trim();\r
+        if(name.length() == 0) {\r
+            return;\r
+        }\r
         String path = folder.getUri() + "/" + name;\r
-        PutRequest createFolder = new PutRequest(app.getApiPath(), folder.getOwner(), path) {\r
+        PutRequest createFolder = new PutRequest(app.getApiPath(), folder.getOwnerID(), path) {\r
             @Override\r
             public void onSuccess(Resource result) {\r
                 app.updateFolder(folder, true, new Command() {\r
-                                       \r
-                                       @Override\r
-                                       public void execute() {\r
-                                               app.updateStatistics();\r
-                                       }\r
-                               }, true);\r
+\r
+                    @Override\r
+                    public void execute() {\r
+                        app.updateStatistics();\r
+                    }\r
+                }, true);\r
             }\r
 \r
             @Override\r
             public void onError(Throwable t) {\r
-                               GWT.log("", t);\r
-                               app.setError(t);\r
-                               if (t instanceof RestException) {\r
-                                       app.displayError("Unable to create folder:" + ((RestException) t).getHttpStatusText());\r
-                               }\r
-                               else\r
-                                       app.displayError("System error creating folder:" + t.getMessage());\r
+                GWT.log("", t);\r
+                app.setError(t);\r
+                if(t instanceof RestException) {\r
+                    app.displayError("Unable to create folder:" + ((RestException) t).getHttpStatusText());\r
+                }\r
+                else {\r
+                    app.displayError("System error creating folder:" + t.getMessage());\r
+                }\r
             }\r
 \r
-                       @Override\r
-                       protected void onUnauthorized(Response response) {\r
-                               app.sessionExpired();\r
-                       }\r
-       };\r
+            @Override\r
+            protected void onUnauthorized(Response response) {\r
+                app.sessionExpired();\r
+            }\r
+        };\r
         createFolder.setHeader("X-Auth-Token", app.getUserToken());\r
         createFolder.setHeader("Accept", "*/*");\r
         createFolder.setHeader("Content-Length", "0");\r
         createFolder.setHeader("Content-Type", "application/directory");\r
         Scheduler.get().scheduleDeferred(createFolder);\r
-       }\r
-\r
-       /**\r
-        * Upon closing the dialog by clicking OK or pressing ENTER this method does\r
-        * the actual work of modifying folder properties or creating a new Folder\r
-        * depending on the value of the create field\r
-        */\r
-       protected void createOrUpdateFolder() {\r
-               if (create)\r
-                       createFolder();\r
-               else\r
-                       updateFolder();\r
-\r
-       }\r
-\r
-       private void updateFolder() {\r
+    }\r
+\r
+    /**\r
+     * Upon closing the dialog by clicking OK or pressing ENTER this method does\r
+     * the actual work of modifying folder properties or creating a new Folder\r
+     * depending on the value of the create field\r
+     */\r
+    protected void createOrUpdateFolder() {\r
+        if(create) {\r
+            createFolder();\r
+        }\r
+        else {\r
+            updateFolder();\r
+        }\r
+\r
+    }\r
+\r
+    private void updateFolder() {\r
         final String newName = folderName.getText().trim();\r
-        if (newName.length() == 0)\r
-               return;\r
-        if (!folder.isContainer() && !folder.getName().equals(newName)) {\r
+        if(newName.length() == 0) {\r
+            return;\r
+        }\r
+        if(!folder.isContainer() && !folder.getName().equals(newName)) {\r
             final String path = folder.getParent().getUri() + "/" + newName;\r
-            app.copyFolder(folder, folder.getOwner(), path, true, new Command() {\r
-                               \r
-                               @Override\r
-                               public void execute() {\r
+            app.copyFolder(folder, folder.getOwnerID(), path, true, new Command() {\r
+\r
+                @Override\r
+                public void execute() {\r
                     app.updateFolder(folder.getParent(), false, new Command() {\r
-                               \r
-                               @Override\r
-                               public void execute() {\r
-                                       app.updateMySharedRoot();\r
-                               }\r
-                       }, true);\r
-                               }\r
-                       });\r
+\r
+                        @Override\r
+                        public void execute() {\r
+                            app.updateMySharedRoot();\r
+                        }\r
+                    }, true);\r
+                }\r
+            });\r
         }\r
-        else\r
+        else {\r
             app.updateFolder(folder.getParent(), false, new Command() {\r
-                       \r
-                       @Override\r
-                       public void execute() {\r
-                               app.updateMySharedRoot();\r
-                       }\r
-               }, true);\r
-       }\r
+\r
+                @Override\r
+                public void execute() {\r
+                    app.updateMySharedRoot();\r
+                }\r
+            }, true);\r
+        }\r
+    }\r
 }\r
index 9effc6d..8caac03 100644 (file)
@@ -505,7 +505,7 @@ public class Pithos implements EntryPoint, ResizeHandler {
                     return true;
                 }
 
-                HeadRequest<Folder> head = new HeadRequest<Folder>(Folder.class, getApiPath(), f.getOwner(), "/" + f.getContainer()) {
+                HeadRequest<Folder> head = new HeadRequest<Folder>(Folder.class, getApiPath(), f.getOwnerID(), "/" + f.getContainer()) {
 
                     @Override
                     public void onSuccess(Folder _result) {
@@ -583,7 +583,7 @@ public class Pithos implements EntryPoint, ResizeHandler {
             }
             else {
                 Boolean[] perms = f.getPermissions().get(userID);
-                if(f.getOwner().equals(userID) || (perms != null && perms[1] != null && perms[1])) {
+                if(f.getOwnerID().equals(userID) || (perms != null && perms[1] != null && perms[1])) {
                     upload.setEnabled(true);
                     enableUploadArea();
                 }
@@ -954,7 +954,7 @@ public class Pithos implements EntryPoint, ResizeHandler {
         final PleaseWaitPopup pwp = new PleaseWaitPopup();
         pwp.center();
         String path = "/" + folder.getContainer() + "/" + folder.getPrefix() + "?delimiter=/" + "&t=" + System.currentTimeMillis();
-        DeleteRequest deleteFolder = new DeleteRequest(getApiPath(), folder.getOwner(), path) {
+        DeleteRequest deleteFolder = new DeleteRequest(getApiPath(), folder.getOwnerID(), path) {
 
             @Override
             protected void onUnauthorized(Response response) {
@@ -1075,8 +1075,8 @@ public class Pithos implements EntryPoint, ResizeHandler {
         copyFolder.setHeader("Accept", "*/*");
         copyFolder.setHeader("Content-Length", "0");
         copyFolder.setHeader("Content-Type", "application/directory");
-        if(!f.getOwner().equals(targetUsername)) {
-            copyFolder.setHeader("X-Source-Account", f.getOwner());
+        if(!f.getOwnerID().equals(targetUsername)) {
+            copyFolder.setHeader("X-Source-Account", f.getOwnerID());
         }
         if(move) {
             copyFolder.setHeader("X-Move-From", URL.encodePathSegment(f.getUri()));
@@ -1260,7 +1260,7 @@ public class Pithos implements EntryPoint, ResizeHandler {
             }
         }
         else {
-            HeadRequest<Folder> headFolder = new HeadRequest<Folder>(Folder.class, getApiPath(), folder.getOwner(), folder.getUri(), folder) {
+            HeadRequest<Folder> headFolder = new HeadRequest<Folder>(Folder.class, getApiPath(), folder.getOwnerID(), folder.getUri(), folder) {
 
                 @Override
                 public void onSuccess(Folder _result) {
@@ -1274,7 +1274,7 @@ public class Pithos implements EntryPoint, ResizeHandler {
                     if(t instanceof RestException) {
                         if(((RestException) t).getHttpStatusCode() == Response.SC_NOT_FOUND) {
                             final String path = folder.getUri();
-                            PutRequest newFolder = new PutRequest(getApiPath(), folder.getOwner(), path) {
+                            PutRequest newFolder = new PutRequest(getApiPath(), folder.getOwnerID(), path) {
                                 @Override
                                 public void onSuccess(Resource _result) {
                                     scheduleFolderHeadCommand(folder, callback);
index 0b10a59..6d1b695 100644 (file)
@@ -79,7 +79,7 @@ public class Toolbar extends Composite {
                                Folder folder = app.getSelectedTree().getSelection();
                                if (folder != null) {
                                Boolean[] permissions = folder.getPermissions().get(app.getUserID());
-                               boolean canWrite = folder.getOwner().equals(app.getUserID()) || (permissions!= null && permissions[1] != null && permissions[1]);
+                               boolean canWrite = folder.getOwnerID().equals(app.getUserID()) || (permissions!= null && permissions[1] != null && permissions[1]);
                                
                                if (!folder.isInTrash() && canWrite)
                                        new NewFolderCommand(app, null, folder).execute();
@@ -99,7 +99,7 @@ public class Toolbar extends Composite {
                                Folder folder = app.getSelectedTree().getSelection();
                                if (folder != null) {
                                Boolean[] permissions = folder.getPermissions().get(app.getUserID());
-                               boolean canWrite = folder.getOwner().equals(app.getUserID()) || (permissions!= null && permissions[1] != null && permissions[1]);
+                               boolean canWrite = folder.getOwnerID().equals(app.getUserID()) || (permissions!= null && permissions[1] != null && permissions[1]);
                                boolean isFolderTreeSelected = app.getSelectedTree().equals(app.getFolderTreeView());
                                
                                if (!folder.isInTrash() && canWrite && isFolderTreeSelected && !folder.isContainer())
@@ -168,7 +168,7 @@ public class Toolbar extends Composite {
                                        @Override
                                        public void execute() {
                                        Boolean[] permissions = folder.getPermissions().get(app.getUserID());
-                                       boolean canWrite = folder.getOwner().equals(app.getUserID()) || (permissions!= null && permissions[1] != null && permissions[1]);
+                                       boolean canWrite = folder.getOwnerID().equals(app.getUserID()) || (permissions!= null && permissions[1] != null && permissions[1]);
                                        boolean isFolderTreeSelected = app.getSelectedTree().equals(app.getFolderTreeView());
                                        boolean otherSharedTreeSelected = app.getSelectedTree().equals(app.getOtherSharedTreeView());
                                        
index d72729e..79a2b08 100644 (file)
@@ -96,7 +96,7 @@ public class ToolsMenu extends PopupPanel {
 
         if (folder != null) {
                Boolean[] permissions = folder.getPermissions().get(app.getUserID());
-               boolean canWrite = folder.getOwner().equals(app.getUserID()) || (permissions!= null && permissions[1] != null && permissions[1]);
+               boolean canWrite = folder.getOwnerID().equals(app.getUserID()) || (permissions!= null && permissions[1] != null && permissions[1]);
                boolean isFolderTreeSelected = selectedTree.equals(app.getFolderTreeView());
                boolean isMysharedTreeSelected = app.isMySharedSelected();
                
@@ -135,12 +135,12 @@ public class ToolsMenu extends PopupPanel {
                                        if (item instanceof List) {
                                                @SuppressWarnings("unchecked")
                                                        List<File> _files = (List<File>) item;
-                                               if (_files.get(0).getOwnerID().equals(folder.getOwner()))
+                                               if (_files.get(0).getOwnerID().equals(folder.getOwnerID()))
                                                        showPaste = true;
                                        }
                                        else {
                                                Folder f = (Folder) item;
-                                               if (f.getOwner().equals(folder.getOwner()))
+                                               if (f.getOwnerID().equals(folder.getOwnerID()))
                                                        showPaste = true;
                                        }
                                        if (showPaste) {
index 1189ade..1f1c486 100644 (file)
@@ -77,7 +77,7 @@ public class PasteCommand implements Command {
             final Folder tobeCopied = (Folder) clipboardItem;
             if (operation == Clipboard.COPY) {
                String targetUri = folder.getUri() + "/" + tobeCopied.getName();
-                app.copyFolder(tobeCopied, folder.getOwner(), targetUri, false, new Command() {
+                app.copyFolder(tobeCopied, folder.getOwnerID(), targetUri, false, new Command() {
                     @Override
                     public void execute() {
                         app.getClipboard().clear();
@@ -93,7 +93,7 @@ public class PasteCommand implements Command {
             }
             else {
                String targetUri = folder.getUri() + "/" + tobeCopied.getName();
-                app.copyFolder(tobeCopied, folder.getOwner(), targetUri, true, new Command() {
+                app.copyFolder(tobeCopied, folder.getOwnerID(), targetUri, true, new Command() {
                     @Override
                     public void execute() {
                         app.getClipboard().clear();
@@ -107,7 +107,7 @@ public class PasteCommand implements Command {
                        List<File> tobeCopied = (List<File>) clipboardItem;
             Iterator<File> iter = tobeCopied.iterator();
             if (operation == Clipboard.COPY) {
-                app.copyFiles(iter, folder.getOwner(), folder.getUri(), new Command() {
+                app.copyFiles(iter, folder.getOwnerID(), folder.getUri(), new Command() {
                     @Override
                     public void execute() {
                         app.getClipboard().clear();
@@ -137,7 +137,7 @@ public class PasteCommand implements Command {
         if (iter.hasNext()) {
             File file = iter.next();
             String path = folder.getUri() + "/" + file.getName();
-            PutRequest copyFile = new PutRequest(app.getApiPath(), folder.getOwner(), path) {
+            PutRequest copyFile = new PutRequest(app.getApiPath(), folder.getOwnerID(), path) {
                 @Override
                 public void onSuccess(Resource result) {
                     moveFiles(iter, callback);
index e7bffa1..f85e998 100644 (file)
@@ -81,7 +81,7 @@ public class Folder extends Resource {
 
     private Set<File> files = new LinkedHashSet<File>();
 
-    private String owner;
+    private String ownerID;
 
     private Map<String, Boolean[]> permissions = new HashMap<String, Boolean[]>();
 
@@ -146,7 +146,7 @@ public class Folder extends Resource {
     }
 
     public void populate(String _owner, Response response) {
-        this.owner = _owner;
+        this.ownerID = _owner;
         String header = response.getHeader("Last-Modified");
         if (header != null)
                        try {
@@ -224,7 +224,7 @@ public class Folder extends Resource {
             container = name;
             prefix = "";
         }
-        this.owner = _owner;
+        this.ownerID = _owner;
 
         inheritedPermissionsFrom = unmarshallString(o, "x_object_shared_by");
         String rawPermissions = unmarshallString(o, "x_object_sharing");
@@ -247,7 +247,7 @@ public class Folder extends Resource {
     public boolean equals(Object other) {
         if (other instanceof Folder) {
             Folder o = (Folder) other;
-            return (owner == null ? true : owner.equals(o.getOwner())) 
+            return (ownerID == null ? true : ownerID.equals(o.getOwnerID()))
                        && (getUri().equals(o.getUri()));
         }
         return false;
@@ -286,8 +286,8 @@ public class Folder extends Resource {
         return permissions;
     }
 
-    public String getOwner() {
-        return owner;
+    public String getOwnerID() {
+        return ownerID;
     }
 
        public boolean isShared() {
index bf23947..5e3f56b 100644 (file)
@@ -152,7 +152,7 @@ public class FolderTreeViewModel implements TreeViewModel {
             final Folder f = iter.next();
 
             String path = "/" + f.getContainer() + "?format=json&delimiter=/&prefix=" + URL.encodeQueryString(f.getPrefix());
-            GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwner(), path, f) {
+            GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwnerID(), path, f) {
                 @Override
                 public void onSuccess(Folder _result) {
                     fetchFolder(iter, callback);
@@ -236,7 +236,7 @@ public class FolderTreeViewModel implements TreeViewModel {
 
     public void fetchFolder(final Folder f, final ListDataProvider<Folder> dataProvider, final boolean showfiles, final Command callback) {
         String path = "/" + f.getContainer() + "?format=json&delimiter=/&prefix=" + URL.encodeQueryString(f.getPrefix());
-        GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwner(), path, f) {
+        GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwnerID(), path, f) {
             @Override
             public void onSuccess(final Folder _result) {
                 if (showfiles)
index 6c3147a..87aca52 100644 (file)
@@ -170,7 +170,7 @@ public class MysharedTreeViewModel implements TreeViewModel {
             final Folder f = iter.next();
 
             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) {
+            GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwnerID(), path, f) {
                 @Override
                 public void onSuccess(Folder _result) {
                     fetchFolder(iter, callback);
@@ -208,7 +208,7 @@ public class MysharedTreeViewModel implements TreeViewModel {
 
     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) {
+        GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwnerID(), path, f) {
             @Override
             public void onSuccess(final Folder _result) {
                for (File file : _result.getFiles()) {
index 14cc53c..0da9572 100644 (file)
@@ -309,13 +309,13 @@ public class OtherSharedTreeViewModel implements TreeViewModel {
 
     public void fetchFolder(final Folder f, final ListDataProvider<Folder> dataProvider, final boolean showfiles, final Command callback) {
         String path = "/" + f.getContainer() + "?format=json&delimiter=/&prefix=" + URL.encodeQueryString(f.getPrefix());
-        GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwner(), path, f) {
+        GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwnerID(), path, f) {
             @Override
             public void onSuccess(final Folder _result) {
                 if (showfiles)
                     app.showFiles(_result);
                 Iterator<Folder> iter = _result.getSubfolders().iterator();
-                fetchFolder(_result.getOwner(), iter, dataProvider, new Command() {
+                fetchFolder(_result.getOwnerID(), iter, dataProvider, new Command() {
                     @Override
                     public void execute() {
                         dataProvider.getList().clear();