+++ /dev/null
-/**\r
- * \r
- */\r
-package com.itmill.tookit.demo;\r
-\r
-import javax.portlet.ActionRequest;\r
-import javax.portlet.ActionResponse;\r
-import javax.portlet.PortletMode;\r
-import javax.portlet.PortletURL;\r
-import javax.portlet.RenderRequest;\r
-import javax.portlet.RenderResponse;\r
-import javax.portlet.WindowState;\r
-\r
-import com.itmill.toolkit.Application;\r
-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.Link;\r
-import com.itmill.toolkit.ui.TextField;\r
-import com.itmill.toolkit.ui.Window;\r
-import com.itmill.toolkit.ui.Window.Notification;\r
-\r
-/**\r
- * @author marc\r
- * \r
- */\r
-public class PortletDemo extends Application {\r
-\r
- Window main = new Window();\r
- TextField tf = new TextField();\r
- Link portletEdit = new Link();\r
- Link portletMax = new Link();\r
-\r
- public void init() {\r
- main = new Window();\r
- 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
- PortletApplicationContext ctx = (PortletApplicationContext) getContext();\r
-\r
- ctx.addPortletListener(this, new DemoPortletListener());\r
- }\r
-\r
- private class DemoPortletListener implements PortletListener {\r
-\r
- public void handleActionRequest(ActionRequest request,\r
- ActionResponse response) {\r
-\r
- getMainWindow().showNotification("Action received");\r
-\r
- }\r
-\r
- public void handleRenderRequest(RenderRequest request,\r
- RenderResponse response) {\r
- getMainWindow().showNotification(\r
- "Portlet status",\r
- "mode: " + request.getPortletMode() + "<br/> state: "\r
- + request.getWindowState(),\r
- Notification.TYPE_TRAY_NOTIFICATION);\r
-\r
- PortletURL url = response.createActionURL();\r
- try {\r
- url\r
- .setPortletMode((request.getPortletMode() == PortletMode.VIEW ? PortletMode.EDIT\r
- : PortletMode.VIEW));\r
- portletEdit.setResource(new ExternalResource(url.toString()));\r
- } catch (Exception e) {\r
- portletEdit.setEnabled(false);\r
- }\r
-\r
- url = response.createActionURL();\r
- try {\r
- url\r
- .setWindowState((request.getWindowState() == WindowState.NORMAL ? WindowState.MAXIMIZED\r
- : WindowState.NORMAL));\r
- portletEdit.setResource(new ExternalResource(url.toString()));\r
- } catch (Exception e) {\r
- portletEdit.setEnabled(false);\r
- }\r
-\r
- }\r
- }\r
-}\r
--- /dev/null
+/**\r
+ * \r
+ */\r
+package com.itmill.toolkit.demo;\r
+\r
+import javax.portlet.ActionRequest;\r
+import javax.portlet.ActionResponse;\r
+import javax.portlet.PortletMode;\r
+import javax.portlet.PortletURL;\r
+import javax.portlet.RenderRequest;\r
+import javax.portlet.RenderResponse;\r
+import javax.portlet.WindowState;\r
+\r
+import com.itmill.toolkit.Application;\r
+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.Link;\r
+import com.itmill.toolkit.ui.TextField;\r
+import com.itmill.toolkit.ui.Window;\r
+import com.itmill.toolkit.ui.Window.Notification;\r
+\r
+/**\r
+ * @author marc\r
+ * \r
+ */\r
+public class PortletDemo extends Application {\r
+\r
+ Window main = new Window();\r
+ TextField tf = new TextField();\r
+ Link portletEdit = new Link();\r
+ Link portletMax = new Link();\r
+\r
+ public void init() {\r
+ main = new Window();\r
+ setMainWindow(main);\r
+ 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
+ if (getContext() instanceof PortletApplicationContext) {\r
+ PortletApplicationContext ctx = (PortletApplicationContext) getContext();\r
+ ctx.addPortletListener(this, new DemoPortletListener());\r
+ } else {\r
+ getMainWindow().showNotification("Not inited via Portal!");\r
+ }\r
+\r
+ }\r
+\r
+ private class DemoPortletListener implements PortletListener {\r
+\r
+ public void handleActionRequest(ActionRequest request,\r
+ ActionResponse response) {\r
+\r
+ getMainWindow().showNotification("Action received");\r
+\r
+ }\r
+\r
+ public void handleRenderRequest(RenderRequest request,\r
+ RenderResponse response) {\r
+ getMainWindow().showNotification(\r
+ "Portlet status",\r
+ "mode: " + request.getPortletMode() + "<br/> state: "\r
+ + request.getWindowState(),\r
+ Notification.TYPE_TRAY_NOTIFICATION);\r
+\r
+ PortletURL url = response.createActionURL();\r
+ try {\r
+ url\r
+ .setPortletMode((request.getPortletMode() == PortletMode.VIEW ? PortletMode.EDIT\r
+ : PortletMode.VIEW));\r
+ portletEdit.setResource(new ExternalResource(url.toString()));\r
+ } catch (Exception e) {\r
+ portletEdit.setEnabled(false);\r
+ }\r
+\r
+ url = response.createActionURL();\r
+ try {\r
+ url\r
+ .setWindowState((request.getWindowState() == WindowState.NORMAL ? WindowState.MAXIMIZED\r
+ : WindowState.NORMAL));\r
+ portletEdit.setResource(new ExternalResource(url.toString()));\r
+ } catch (Exception e) {\r
+ portletEdit.setEnabled(false);\r
+ }\r
+\r
+ }\r
+ }\r
+}\r
\r
public class ApplicationPortlet implements Portlet {\r
// The application to show\r
- protected String app = "PortletDemo";\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
this.config = config;\r
app = config.getInitParameter("application");\r
if (app == null) {\r
- app = "PortalDemo";\r
+ app = "PortletDemo";\r
}\r
height = config.getInitParameter("height");\r
}\r
response.setContentType("text/html");\r
PrintWriter out = response.getWriter();\r
\r
- if (app != null) {\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
\r
PortletRequestDispatcher dispatcher = sess.getPortletContext()\r
- .getRequestDispatcher("/" + app);\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
\r
static public PortletApplicationContext getApplicationContext(\r
PortletSession session) {\r
+ System.err.println("PortletApplicationContext.getApplicationContext");\r
WebApplicationContext cx = (WebApplicationContext) session\r
.getAttribute(WebApplicationContext.class.getName(),\r
PortletSession.APPLICATION_SCOPE);\r