From: Natasa Kapravelou Date: Wed, 6 Oct 2010 13:48:04 +0000 (+0300) Subject: Fix for Issue 35 that doesn't allow the creation of a folder which name contains... X-Git-Tag: pithos/v0.7.8~323^2~14^2~145 X-Git-Url: https://code.grnet.gr/git/pithos/commitdiff_plain/eba211183b49eca3b3cababbdf50c022b98a63c4 Fix for Issue 35 that doesn't allow the creation of a folder which name contains slashes. --- diff --git a/src/gr/ebs/gss/client/FolderPropertiesDialog.java b/src/gr/ebs/gss/client/FolderPropertiesDialog.java index 29c6fda..007ef4d 100644 --- a/src/gr/ebs/gss/client/FolderPropertiesDialog.java +++ b/src/gr/ebs/gss/client/FolderPropertiesDialog.java @@ -34,6 +34,8 @@ import com.google.gwt.dom.client.NativeEvent; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.KeyCodes; +import com.google.gwt.event.dom.client.KeyDownEvent; +import com.google.gwt.event.dom.client.KeyDownHandler; import com.google.gwt.http.client.URL; import com.google.gwt.i18n.client.DateTimeFormat; import com.google.gwt.json.client.JSONArray; @@ -123,6 +125,10 @@ public class FolderPropertiesDialog extends DialogBox { inner.add(permPanel, "Sharing"); inner.selectTab(0); + final Label folderNameNote = new Label("Please note that slashes ('/') are not allowed in foldernames.", true); + folderNameNote.setVisible(false); + folderNameNote.setStylePrimaryName("gss-readForAllNote"); + FlexTable generalTable = new FlexTable(); generalTable.setText(0, 0, "Name"); generalTable.setText(1, 0, "Parent"); @@ -130,8 +136,19 @@ public class FolderPropertiesDialog extends DialogBox { generalTable.setText(3, 0, "Last modified"); folderName.setText(create ? "" : folder.getName()); generalTable.setWidget(0, 1, folderName); - if (create) + folderName.addKeyDownHandler(new KeyDownHandler() { + + @Override + public void onKeyDown(KeyDownEvent event) { + folderNameNote.setVisible(true); + + } + }); + + if (create){ generalTable.setText(1, 1, folder.getName()); + generalTable.setWidget(0, 2, folderNameNote); + } else if(folder.getParentName() == null) generalTable.setText(1, 1, "-"); else diff --git a/src/gr/ebs/gss/server/rest/RequestHandler.java b/src/gr/ebs/gss/server/rest/RequestHandler.java index 4e2c78e..84270b6 100644 --- a/src/gr/ebs/gss/server/rest/RequestHandler.java +++ b/src/gr/ebs/gss/server/rest/RequestHandler.java @@ -744,10 +744,10 @@ public class RequestHandler extends Webdav { } /** - * Reject illegal resource names, like '.' or '..'. + * Reject illegal resource names, like '.' or '..' or resource names containing '/'. */ protected boolean isValidResourceName(String name) { - if (".".equals(name) || "..".equals(name)) + if (".".equals(name) || "..".equals(name) || name.contains("/")) return false; return true; }