]> source.dussan.org Git - vaadin-framework.git/commitdiff
More functionality.
authorMarc Englund <marc.englund@itmill.com>
Tue, 15 Apr 2008 12:11:26 +0000 (12:11 +0000)
committerMarc Englund <marc.englund@itmill.com>
Tue, 15 Apr 2008 12:11:26 +0000 (12:11 +0000)
svn changeset:4178/svn branch:trunk

portlet-src/com/itmill/toolkit/demo/PortletDemo.java

index 98859653f05c11c3d595115e765e4c302f732173..89eff77672e08d9059da4b2c5ecd2dce1ee7cb6e 100644 (file)
@@ -3,9 +3,13 @@
  */\r
 package com.itmill.toolkit.demo;\r
 \r
+import java.util.Iterator;\r
+import java.util.Map;\r
+\r
 import javax.portlet.ActionRequest;\r
 import javax.portlet.ActionResponse;\r
 import javax.portlet.PortletMode;\r
+import javax.portlet.PortletRequest;\r
 import javax.portlet.PortletURL;\r
 import javax.portlet.RenderRequest;\r
 import javax.portlet.RenderResponse;\r
@@ -15,6 +19,7 @@ import com.itmill.toolkit.Application;
 import com.itmill.toolkit.terminal.ExternalResource;\r
 import com.itmill.toolkit.terminal.gwt.server.PortletApplicationContext;\r
 import com.itmill.toolkit.terminal.gwt.server.PortletApplicationContext.PortletListener;\r
+import com.itmill.toolkit.ui.Label;\r
 import com.itmill.toolkit.ui.Link;\r
 import com.itmill.toolkit.ui.TextField;\r
 import com.itmill.toolkit.ui.Window;\r
@@ -27,14 +32,21 @@ import com.itmill.toolkit.ui.Window.Notification;
 public class PortletDemo extends Application {\r
 \r
     Window main = new Window();\r
-    TextField tf = new TextField();\r
+    TextField tf = new TextField("Some value");\r
+    Label userInfo = new Label();\r
     Link portletEdit = new Link();\r
     Link portletMax = new Link();\r
 \r
     public void init() {\r
         main = new Window();\r
         setMainWindow(main);\r
+\r
+        userInfo.setCaption("User info");\r
+        userInfo.setContentMode(Label.CONTENT_PREFORMATTED);\r
+        main.addComponent(userInfo);\r
+\r
         tf.setEnabled(false);\r
+        tf.setImmediate(true);\r
         main.addComponent(tf);\r
 \r
         portletEdit.setEnabled(false);\r
@@ -63,16 +75,38 @@ public class PortletDemo extends Application {
 \r
         public void handleRenderRequest(RenderRequest request,\r
                 RenderResponse response) {\r
+            // Portlet up-and-running, enable stuff\r
             portletEdit.setEnabled(true);\r
             portletMax.setEnabled(true);\r
+\r
+            // Editable if we're in editmode\r
             tf.setEnabled((request.getPortletMode() == PortletMode.EDIT));\r
 \r
+            // Show notification about current mode and state\r
             getMainWindow().showNotification(\r
                     "Portlet status",\r
                     "Mode: " + request.getPortletMode() + " State: "\r
                             + request.getWindowState(),\r
                     Notification.TYPE_WARNING_MESSAGE);\r
 \r
+            // Display current user info\r
+            Map uinfo = (Map) request.getAttribute(PortletRequest.USER_INFO);\r
+            if (uinfo != null) {\r
+                String s = "";\r
+                for (Iterator it = uinfo.keySet().iterator(); it.hasNext();) {\r
+                    Object key = it.next();\r
+                    Object val = uinfo.get(key);\r
+                    s += key + ": " + val + "\n";\r
+                }\r
+                if (request.isUserInRole("administrator")) {\r
+                    s += "(administrator)";\r
+                }\r
+                userInfo.setValue(s);\r
+            } else {\r
+                userInfo.setValue("-");\r
+            }\r
+\r
+            // Create Edit/Done link (actionUrl)\r
             PortletURL url = response.createActionURL();\r
             try {\r
                 url\r
@@ -85,7 +119,7 @@ public class PortletDemo extends Application {
             } catch (Exception e) {\r
                 portletEdit.setEnabled(false);\r
             }\r
-\r
+            // Create Maximize/Normal link (actionUrl)\r
             url = response.createActionURL();\r
             try {\r
                 url\r