Fixed various warnings
[pithos-web-client] / src / gr / grnet / pithos / web / client / AbstractPropertiesDialog.java
index b10e8a6..82237d4 100644 (file)
 /*\r
- * Copyright 2007, 2008, 2009, 2010 Electronic Business Systems Ltd.\r
+ * Copyright 2011 GRNET S.A. All rights reserved.\r
  *\r
- * This file is part of GSS.\r
+ * Redistribution and use in source and binary forms, with or\r
+ * without modification, are permitted provided that the following\r
+ * conditions are met:\r
  *\r
- * GSS is free software: you can redistribute it and/or modify\r
- * it under the terms of the GNU General Public License as published by\r
- * the Free Software Foundation, either version 3 of the License, or\r
- * (at your option) any later version.\r
+ *   1. Redistributions of source code must retain the above\r
+ *      copyright notice, this list of conditions and the following\r
+ *      disclaimer.\r
  *\r
- * GSS is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- * GNU General Public License for more details.\r
+ *   2. Redistributions in binary form must reproduce the above\r
+ *      copyright notice, this list of conditions and the following\r
+ *      disclaimer in the documentation and/or other materials\r
+ *      provided with the distribution.\r
  *\r
- * You should have received a copy of the GNU General Public License\r
- * along with GSS.  If not, see <http://www.gnu.org/licenses/>.\r
+ * THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS\r
+ * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR\r
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\r
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF\r
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED\r
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\r
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r
+ * POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+ * The views and conclusions contained in the software and\r
+ * documentation are those of the authors and should not be\r
+ * interpreted as representing official policies, either expressed\r
+ * or implied, of GRNET S.A.\r
  */\r
 package gr.grnet.pithos.web.client;\r
 \r
-import gr.grnet.pithos.web.client.rest.GetCommand;\r
-import gr.grnet.pithos.web.client.rest.resource.TagsResource;\r
-\r
-import java.util.List;\r
-\r
-import com.google.gwt.core.client.GWT;\r
 import com.google.gwt.dom.client.NativeEvent;\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.user.client.DeferredCommand;\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.DialogBox;\r
-import com.google.gwt.user.client.ui.FlowPanel;\r
-import com.google.gwt.user.client.ui.Label;\r
-import com.google.gwt.user.client.ui.TabPanel;\r
-import com.google.gwt.user.client.ui.TextBox;\r
+import com.google.gwt.user.client.ui.VerticalPanel;\r
 \r
 /**\r
  * Abstract class, parent of all 'File properties' dialog boxes.\r
  *\r
- * @author droutsis\r
  */\r
 public abstract class AbstractPropertiesDialog extends DialogBox {\r
 \r
        protected static final String MULTIPLE_VALUES_TEXT = "(Multiple values)";\r
 \r
-       /**\r
-        * Text box with the tags associated with the file\r
-        */\r
-       protected TextBox tags = new TextBox();\r
+       protected VerticalPanel inner = null;\r
 \r
-       protected String initialTagText;\r
-\r
-       /**\r
-        * A FlowPanel with all user tags\r
-        */\r
-       protected FlowPanel allTagsContent;\r
-\r
-\r
-       protected TabPanel inner = null;\r
+    protected Pithos app;\r
 \r
        /**\r
         * The widget's constructor.\r
         *\r
         */\r
-       public AbstractPropertiesDialog() {\r
-\r
+       public AbstractPropertiesDialog(Pithos _app) {\r
+        app = _app;\r
                // Enable IE selection for the dialog (must disable it upon closing it)\r
-               GSS.enableIESelection();\r
+               Pithos.enableIESelection();\r
 \r
                setAnimationEnabled(true);\r
 \r
        }\r
-       /**\r
-        * Retrieves all user tags from the server and updates the FlowPanel\r
-        *\r
-        * @param userId\r
-        */\r
-       protected void updateTags() {\r
-               GetCommand<TagsResource> tc = new GetCommand<TagsResource>(TagsResource.class, GSS.get().getCurrentUserResource().getTagsPath(),null) {\r
-\r
-                       @Override\r
-                       public void onComplete() {\r
-                               allTagsContent.clear();\r
-                               TagsResource tagr = getResult();\r
-                               List<String> userTags = tagr.getTags();\r
-                               Anchor tag = null;\r
-                               for(String usrTag : userTags){\r
-                                       tag = new Anchor(usrTag.toString(), false);\r
-                                       tag.addStyleName("pithos-tag");\r
-                                       allTagsContent.add(tag);\r
-                                       Label separator = new Label(", ");\r
-                                       separator.addStyleName("pithos-tag");\r
-                                       allTagsContent.add(separator);\r
-                                       tag.addClickHandler( new ClickHandler() {\r
-\r
-                                               @Override\r
-                                               public void onClick(ClickEvent event) {\r
-                                                       String existing = tags.getText();\r
-                                                       if (MULTIPLE_VALUES_TEXT.equals(existing)) existing = "";\r
-                                                       String newTag = ((Anchor) event.getSource()).getText().trim();\r
-                                                       // insert the new tag only if it is not in the list\r
-                                                       // already\r
-                                                       if (existing.indexOf(newTag) == -1 && !existing.trim().endsWith(newTag))\r
-                                                               tags.setText(existing.trim()\r
-                                                                                       + (existing.length() > 0 ? ", " : "")\r
-                                                                                       + newTag);\r
-                                               }\r
-                                       });\r
-                               }\r
-                       }\r
-\r
-                       @Override\r
-                       public void onError(Throwable t) {\r
-                               GWT.log("", t);\r
-                               GSS.get().displayError("Unable to fetch user tags");\r
-                       }\r
-               };\r
-               DeferredCommand.addCommand(tc);\r
-\r
-       }\r
 \r
        /**\r
         * Accepts any change and updates the file\r
@@ -129,7 +72,6 @@ public abstract class AbstractPropertiesDialog extends DialogBox {
        protected abstract void accept();\r
 \r
        @Override\r
-       @SuppressWarnings("fallthrough")\r
        protected void onPreviewNativeEvent(NativePreviewEvent preview) {\r
            super.onPreviewNativeEvent(preview);\r
 \r
@@ -140,26 +82,19 @@ public abstract class AbstractPropertiesDialog extends DialogBox {
                          switch (evt.getKeyCode()) {\r
                            case KeyCodes.KEY_ENTER:\r
                                accept();\r
-                           case KeyCodes.KEY_ESCAPE:\r
-                             closeDialog();\r
-                             break;\r
+                           //$FALL-THROUGH$\r
+                       case KeyCodes.KEY_ESCAPE:\r
+                               closeDialog();\r
+                               break;\r
                          }\r
          }\r
 \r
-\r
-\r
-       public void selectTab(int _tab) {\r
-               inner.selectTab(_tab);\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
-               GSS.preventIESelection();\r
+               Pithos.preventIESelection();\r
                hide();\r
        }\r
-\r
 }\r