\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
<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
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
</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
</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
<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>
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
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
\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
.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
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
+++ /dev/null
-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
--- /dev/null
+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