]> source.dussan.org Git - vaadin-framework.git/commitdiff
Strange Liferay / Portlet problem fixed, intermediate commit.
authorMarc Englund <marc.englund@itmill.com>
Tue, 15 Apr 2008 09:16:32 +0000 (09:16 +0000)
committerMarc Englund <marc.englund@itmill.com>
Tue, 15 Apr 2008 09:16:32 +0000 (09:16 +0000)
svn changeset:4177/svn branch:trunk

WebContent/WEB-INF/liferay-display.xml
WebContent/WEB-INF/liferay-portlet.xml
WebContent/WEB-INF/portlet.xml
WebContent/WEB-INF/web.xml
portlet-src/com/itmill/toolkit/demo/PortletDemo.java
portlet-src/com/itmill/toolkit/terminal/gwt/server/ApplicationPortlet.java [deleted file]
portlet-src/com/itmill/toolkit/terminal/gwt/server/ITMillApplicationPortlet.java [new file with mode: 0644]

index 8ba4a93f7f02d5f1d0e96d59187a933d2bff1c50..c0a3308aa30edb756dbc769b0333372396c83fd9 100644 (file)
@@ -3,8 +3,8 @@
 \r
 <display>\r
        <category name="IT Mill Toolkit">\r
-               <portlet id="PortletDemo" />\r
-               <portlet id="Calc" />\r
-               <portlet id="FeatureBrowser" />\r
+               <portlet id="PortletDemoPortlet" />\r
+               <portlet id="CalcPortlet" />\r
+               <portlet id="FeatureBrowserPortlet" />\r
        </category>\r
 </display>
\ No newline at end of file
index d445af65a7f508060ad31995686285de9d4ccc1e..d863fdac60d8183b46eb1198b442e05150f5d6b8 100644 (file)
@@ -4,17 +4,17 @@
 <liferay-portlet-app>\r
 \r
        <portlet>\r
-               <portlet-name>PortletDemo</portlet-name>\r
+               <portlet-name>PortletDemoPortlet</portlet-name>\r
                <instanceable>true</instanceable>       \r
                <ajaxable>false</ajaxable>\r
        </portlet>\r
        <portlet>\r
-               <portlet-name>Calc</portlet-name>\r
+               <portlet-name>CalcPortlet</portlet-name>\r
                <instanceable>true</instanceable>       \r
                <ajaxable>false</ajaxable>\r
        </portlet>\r
        <portlet>\r
-               <portlet-name>FeatureBrowser</portlet-name>\r
+               <portlet-name>FeatureBrowserPortlet</portlet-name>\r
                <instanceable>true</instanceable>       \r
                <ajaxable>false</ajaxable>\r
        </portlet>\r
index e0b00b5dae600d0e117532c27294dedf2eeaca7b..dc48102bc539c87759043d2d75d131f01a5987db 100644 (file)
@@ -5,9 +5,9 @@
        xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">\r
 \r
        <portlet>\r
-               <portlet-name>PortletDemo</portlet-name>\r
+               <portlet-name>PortletDemoPortlet</portlet-name>\r
                <display-name>IT Mill Toolkit PortletDemo</display-name>\r
-               <portlet-class>com.itmill.toolkit.terminal.gwt.server.ApplicationPortlet</portlet-class>\r
+               <portlet-class>com.itmill.toolkit.terminal.gwt.server.ITMillApplicationPortlet</portlet-class>\r
                <init-param>\r
                        <name>application</name>\r
                        <value>PortletDemo</value>\r
@@ -37,9 +37,9 @@
                </security-role-ref>\r
        </portlet>\r
        <portlet>\r
-               <portlet-name>FeatureBrowser</portlet-name>\r
+               <portlet-name>FeatureBrowserPortlet</portlet-name>\r
                <display-name>IT Mill Toolkit FeatureBrowser</display-name>\r
-               <portlet-class>com.itmill.toolkit.terminal.gwt.server.ApplicationPortlet</portlet-class>\r
+               <portlet-class>com.itmill.toolkit.terminal.gwt.server.ITMillApplicationPortlet</portlet-class>\r
                <init-param>\r
                        <name>application</name>\r
                        <value>FeatureBrowser</value>\r
@@ -69,9 +69,9 @@
                </security-role-ref>\r
        </portlet>\r
        <portlet>\r
-               <portlet-name>Calc</portlet-name>\r
+               <portlet-name>CalcPortlet</portlet-name>\r
                <display-name>IT Mill Toolkit Calc</display-name>\r
-               <portlet-class>com.itmill.toolkit.terminal.gwt.server.ApplicationPortlet</portlet-class>\r
+               <portlet-class>com.itmill.toolkit.terminal.gwt.server.ITMillApplicationPortlet</portlet-class>\r
                <init-param>\r
                        <name>application</name>\r
                        <value>Calc</value>\r
index 78508e6b670901ed870b19854f63ee3c377b0a39..02817d08169292acdabc95713f0ce8884f586b61 100644 (file)
@@ -20,7 +20,7 @@
   
     <context-param>
        <param-name>testingToolsServerUri</param-name>
-       <param-value>http://192.168.1.120:8099/TestingToolsServer</param-value>
+       <param-value>http://192.168.1.242:8099/TestingToolsServer</param-value>
        <description>IT Mill Testing Tools URI</description>
   </context-param>
   
       <param-value>com.itmill.toolkit.demo.WindowedDemos</param-value>\r
     </init-param>\r
   </servlet>
+  \r
+   <servlet>\r
+    <servlet-name>PortletDemo</servlet-name>\r
+    <servlet-class>com.itmill.toolkit.terminal.gwt.server.ApplicationServlet</servlet-class>\r
+    <init-param>\r
+      <param-name>application</param-name>\r
+      <param-value>com.itmill.toolkit.demo.PortletDemo</param-value>\r
+    </init-param>\r
+  </servlet>\r
+ <servlet-mapping>\r
+    <servlet-name>PortletDemo</servlet-name>\r
+    <url-pattern>/PortletDemo/*</url-pattern>\r
+  </servlet-mapping> \r
   
        <servlet-mapping>
     <servlet-name>ITMillToolkitApplicationRunner</servlet-name>
index d5198748121c0bb50f57f12c213a0da532a23e14..98859653f05c11c3d595115e765e4c302f732173 100644 (file)
@@ -37,10 +37,8 @@ public class PortletDemo extends Application {
         tf.setEnabled(false);\r
         main.addComponent(tf);\r
 \r
-        portletEdit.setCaption("Portlet edit/view");\r
         portletEdit.setEnabled(false);\r
         main.addComponent(portletEdit);\r
-        portletMax.setCaption("Maximize/normal portlet");\r
         portletMax.setEnabled(false);\r
         main.addComponent(portletMax);\r
 \r
@@ -48,7 +46,8 @@ public class PortletDemo extends Application {
             PortletApplicationContext ctx = (PortletApplicationContext) getContext();\r
             ctx.addPortletListener(this, new DemoPortletListener());\r
         } else {\r
-            getMainWindow().showNotification("Not inited via Portal!");\r
+            getMainWindow().showNotification("Not inited via Portal!",\r
+                    Notification.TYPE_ERROR_MESSAGE);\r
         }\r
 \r
     }\r
@@ -64,11 +63,15 @@ public class PortletDemo extends Application {
 \r
         public void handleRenderRequest(RenderRequest request,\r
                 RenderResponse response) {\r
+            portletEdit.setEnabled(true);\r
+            portletMax.setEnabled(true);\r
+            tf.setEnabled((request.getPortletMode() == PortletMode.EDIT));\r
+\r
             getMainWindow().showNotification(\r
                     "Portlet status",\r
-                    "mode: " + request.getPortletMode() + "<br/> state: "\r
+                    "Mode: " + request.getPortletMode() + " State: "\r
                             + request.getWindowState(),\r
-                    Notification.TYPE_TRAY_NOTIFICATION);\r
+                    Notification.TYPE_WARNING_MESSAGE);\r
 \r
             PortletURL url = response.createActionURL();\r
             try {\r
@@ -76,6 +79,9 @@ public class PortletDemo extends Application {
                         .setPortletMode((request.getPortletMode() == PortletMode.VIEW ? PortletMode.EDIT\r
                                 : PortletMode.VIEW));\r
                 portletEdit.setResource(new ExternalResource(url.toString()));\r
+                portletEdit\r
+                        .setCaption((request.getPortletMode() == PortletMode.VIEW ? "Edit"\r
+                                : "Done"));\r
             } catch (Exception e) {\r
                 portletEdit.setEnabled(false);\r
             }\r
@@ -85,9 +91,12 @@ public class PortletDemo extends Application {
                 url\r
                         .setWindowState((request.getWindowState() == WindowState.NORMAL ? WindowState.MAXIMIZED\r
                                 : WindowState.NORMAL));\r
-                portletEdit.setResource(new ExternalResource(url.toString()));\r
+                portletMax.setResource(new ExternalResource(url.toString()));\r
+                portletMax\r
+                        .setCaption((request.getWindowState() == WindowState.NORMAL ? "Maximize"\r
+                                : "Back to normal"));\r
             } catch (Exception e) {\r
-                portletEdit.setEnabled(false);\r
+                portletMax.setEnabled(false);\r
             }\r
 \r
         }\r
diff --git a/portlet-src/com/itmill/toolkit/terminal/gwt/server/ApplicationPortlet.java b/portlet-src/com/itmill/toolkit/terminal/gwt/server/ApplicationPortlet.java
deleted file mode 100644 (file)
index 5a924cd..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-package com.itmill.toolkit.terminal.gwt.server;\r
-\r
-import java.io.IOException;\r
-import java.io.PrintWriter;\r
-\r
-import javax.portlet.ActionRequest;\r
-import javax.portlet.ActionResponse;\r
-import javax.portlet.Portlet;\r
-import javax.portlet.PortletConfig;\r
-import javax.portlet.PortletException;\r
-import javax.portlet.PortletRequestDispatcher;\r
-import javax.portlet.PortletSession;\r
-import javax.portlet.RenderRequest;\r
-import javax.portlet.RenderResponse;\r
-\r
-import com.itmill.toolkit.Application;\r
-\r
-public class ApplicationPortlet implements Portlet {\r
-    // The application to show\r
-    protected String app = "Calc";\r
-    // some applications might require that the height is specified\r
-    protected String height = null; // e.g "200px"\r
-\r
-    private PortletConfig config;\r
-\r
-    public void destroy() {\r
-        config = null;\r
-    }\r
-\r
-    public void init(PortletConfig config) throws PortletException {\r
-        this.config = config;\r
-        app = config.getInitParameter("application");\r
-        if (app == null) {\r
-            app = "PortletDemo";\r
-        }\r
-        height = config.getInitParameter("height");\r
-    }\r
-\r
-    public void processAction(ActionRequest request, ActionResponse response)\r
-            throws PortletException, IOException {\r
-        PortletApplicationContext.dispatchRequest(this, request, response);\r
-    }\r
-\r
-    public void render(RenderRequest request, RenderResponse response)\r
-            throws PortletException, IOException {\r
-\r
-        /*-\r
-        PortletPreferences prefs = request.getPreferences();\r
-        app = prefs.getValue("application", app);\r
-        theme = prefs.getValue("theme", "default");\r
-        height = prefs.getValue("height", null);\r
-        -*/\r
-\r
-        // display the IT Mill Toolkit application\r
-        writeAjaxWindow(request, response);\r
-    }\r
-\r
-    protected void writeAjaxWindow(RenderRequest request,\r
-            RenderResponse response) throws IOException {\r
-\r
-        response.setContentType("text/html");\r
-        PrintWriter out = response.getWriter();\r
-\r
-        out.println("<h1>WTF?</h1>");\r
-\r
-        if (app != null) {\r
-            System.err.println("WTFFF???");\r
-            PortletSession sess = request.getPortletSession();\r
-            PortletApplicationContext ctx = PortletApplicationContext\r
-                    .getApplicationContext(sess);\r
-\r
-            /*- TODO store som info somewhere?\r
-            PortletInfo pi = ctx.setPortletInfo(request.getContextPath() + "/"\r
-                    + app + (app.endsWith("/") ? "" : "/"), request\r
-                    .getPortletMode(), request.getWindowState(), request\r
-                    .getUserPrincipal(), (Map) request\r
-                    .getAttribute(PortletRequest.USER_INFO), config);\r
-            -*/\r
-\r
-            PortletRequestDispatcher dispatcher = sess.getPortletContext()\r
-                    .getRequestDispatcher(\r
-                            "/" + request.getContextPath() + "/" + app);\r
-\r
-            try {\r
-                // TODO remove:\r
-\r
-                System.err.println(request.getContextPath() + " (portlet ctx)");\r
-                // TODO height\r
-                dispatcher.include(request, response);\r
-\r
-            } catch (PortletException e) {\r
-                out.print("<h1>Servlet include failed!</h1>");\r
-                out.print("<div>" + e + "</div>");\r
-                ctx.setPortletApplication(this, null);\r
-                return;\r
-            }\r
-\r
-            Application app = (Application) request\r
-                    .getAttribute(Application.class.getName());\r
-            ctx.setPortletApplication(this, app);\r
-            ctx.firePortletRenderRequest(this, request, response);\r
-\r
-        }\r
-    }\r
-\r
-}\r
diff --git a/portlet-src/com/itmill/toolkit/terminal/gwt/server/ITMillApplicationPortlet.java b/portlet-src/com/itmill/toolkit/terminal/gwt/server/ITMillApplicationPortlet.java
new file mode 100644 (file)
index 0000000..7c744dc
--- /dev/null
@@ -0,0 +1,102 @@
+package com.itmill.toolkit.terminal.gwt.server;\r
+\r
+import java.io.IOException;\r
+import java.io.PrintWriter;\r
+\r
+import javax.portlet.ActionRequest;\r
+import javax.portlet.ActionResponse;\r
+import javax.portlet.Portlet;\r
+import javax.portlet.PortletConfig;\r
+import javax.portlet.PortletException;\r
+import javax.portlet.PortletRequestDispatcher;\r
+import javax.portlet.PortletSession;\r
+import javax.portlet.RenderRequest;\r
+import javax.portlet.RenderResponse;\r
+\r
+import com.itmill.toolkit.Application;\r
+\r
+public class ITMillApplicationPortlet implements Portlet {\r
+    // The application to show\r
+    protected String app = "Calc";\r
+    // some applications might require that the height is specified\r
+    protected String height = null; // e.g "200px"\r
+\r
+    private PortletConfig config;\r
+\r
+    public void destroy() {\r
+        config = null;\r
+    }\r
+\r
+    public void init(PortletConfig config) throws PortletException {\r
+        this.config = config;\r
+        app = config.getInitParameter("application");\r
+        if (app == null) {\r
+            app = "PortletDemo";\r
+        }\r
+        height = config.getInitParameter("height");\r
+    }\r
+\r
+    public void processAction(ActionRequest request, ActionResponse response)\r
+            throws PortletException, IOException {\r
+        PortletApplicationContext.dispatchRequest(this, request, response);\r
+    }\r
+\r
+    public void render(RenderRequest request, RenderResponse response)\r
+            throws PortletException, IOException {\r
+\r
+        /*-\r
+        PortletPreferences prefs = request.getPreferences();\r
+        app = prefs.getValue("application", app);\r
+        theme = prefs.getValue("theme", "default");\r
+        height = prefs.getValue("height", null);\r
+        -*/\r
+\r
+        // display the IT Mill Toolkit application\r
+        writeAjaxWindow(request, response);\r
+    }\r
+\r
+    protected void writeAjaxWindow(RenderRequest request,\r
+            RenderResponse response) throws IOException {\r
+\r
+        response.setContentType("text/html");\r
+        PrintWriter out = response.getWriter();\r
+\r
+        if (app != null) {\r
+            PortletSession sess = request.getPortletSession();\r
+            PortletApplicationContext ctx = PortletApplicationContext\r
+                    .getApplicationContext(sess);\r
+\r
+            /*- TODO store som info somewhere?\r
+            PortletInfo pi = ctx.setPortletInfo(request.getContextPath() + "/"\r
+                    + app + (app.endsWith("/") ? "" : "/"), request\r
+                    .getPortletMode(), request.getWindowState(), request\r
+                    .getUserPrincipal(), (Map) request\r
+                    .getAttribute(PortletRequest.USER_INFO), config);\r
+            -*/\r
+\r
+            PortletRequestDispatcher dispatcher = sess.getPortletContext()\r
+                    .getRequestDispatcher("/" + app);\r
+\r
+            try {\r
+                // TODO remove:\r
+\r
+                System.err.println(request.getContextPath() + " (portlet ctx)");\r
+                // TODO height\r
+                dispatcher.include(request, response);\r
+\r
+            } catch (PortletException e) {\r
+                out.print("<h1>Servlet include failed!</h1>");\r
+                out.print("<div>" + e + "</div>");\r
+                ctx.setPortletApplication(this, null);\r
+                return;\r
+            }\r
+\r
+            Application app = (Application) request\r
+                    .getAttribute(Application.class.getName());\r
+            ctx.setPortletApplication(this, app);\r
+            ctx.firePortletRenderRequest(this, request, response);\r
+\r
+        }\r
+    }\r
+\r
+}\r