From: Marc Englund Date: Fri, 27 Jun 2008 13:34:20 +0000 (+0000) Subject: Basic JBossPortal support: WAR deploys on JBossPortal, portlets show up; Fixes #1851 X-Git-Tag: 6.7.0.beta1~4547 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=4174a3f43ea744612ce9ca0ade53bd173266a14b;p=vaadin-framework.git Basic JBossPortal support: WAR deploys on JBossPortal, portlets show up; Fixes #1851 svn changeset:4963/svn branch:trunk --- diff --git a/WebContent/WEB-INF/itmill-object.xml b/WebContent/WEB-INF/itmill-object.xml new file mode 100644 index 0000000000..2c70ae2582 --- /dev/null +++ b/WebContent/WEB-INF/itmill-object.xml @@ -0,0 +1,138 @@ + + + + + default.default + overwrite + PortletDemoPortletWindow + + portlet + PortletDemoPortletInstance + + center + 1 + + + + default.default + overwrite + SimpleReserverPortletWindow + + portlet + SimpleReserverPortletInstance + + center + 1 + + + + default.default + overwrite + SelectDemoPortletWindow + + portlet + SelectDemoPortletInstance + + center + 1 + + + + default.default + overwrite + TableDemoPortletWindow + + portlet + TableDemoPortletInstance + + center + 1 + + + + default.default + overwrite + FilterSelectPortletWindow + + portlet + FilterSelectPortletInstance + + center + 1 + + + + default.default + overwrite + FeatureBrowserPortletWindow + + portlet + FeatureBrowserPortletInstance + + center + 1 + + + + default.default + overwrite + ModalWindowPortletWindow + + portlet + ModalWindowPortletInstance + + center + 1 + + + + default.default + overwrite + CalcPortletWindow + + portlet + CalcPortletInstance + + center + 1 + + + + default.default + overwrite + NotificationDemoPortletWindow + + portlet + NotificationDemoPortletInstance + + center + 1 + + + + default.default + overwrite + ChatServletPortletWindow + + portlet + ChatServletPortletInstance + + center + 1 + + + + default.default + overwrite + BrowserDemoPortletWindow + + portlet + BrowserDemoPortletInstance + + center + 1 + + + \ No newline at end of file diff --git a/WebContent/WEB-INF/portlet-instances.xml b/WebContent/WEB-INF/portlet-instances.xml new file mode 100644 index 0000000000..ba4da73c5b --- /dev/null +++ b/WebContent/WEB-INF/portlet-instances.xml @@ -0,0 +1,72 @@ + + + + + + PortletDemoPortletInstance + PortletDemoPortlet + + + + + SimpleReserverPortletInstance + SimpleReserverPortlet + + + + + SelectDemoPortletInstance + SelectDemoPortlet + + + + + TableDemoPortletInstance + TableDemoPortlet + + + + + FilterSelectPortletInstance + FilterSelectPortlet + + + + + FeatureBrowserPortletInstance + FeatureBrowserPortlet + + + + + ModalWindowPortletInstance + ModalWindowPortlet + + + + + CalcPortletInstance + CalcPortlet + + + + + NotificationDemoPortletInstance + NotificationDemoPortlet + + + + + ChatServletPortletInstance + ChatServletPortlet + + + + + BrowserDemoPortletInstance + BrowserDemoPortlet + + + \ No newline at end of file diff --git a/build/buildhelpers/com/itmill/toolkit/buildhelpers/PortletConfigurationGenerator.java b/build/buildhelpers/com/itmill/toolkit/buildhelpers/PortletConfigurationGenerator.java index 80a6d73031..8b026232d3 100644 --- a/build/buildhelpers/com/itmill/toolkit/buildhelpers/PortletConfigurationGenerator.java +++ b/build/buildhelpers/com/itmill/toolkit/buildhelpers/PortletConfigurationGenerator.java @@ -31,6 +31,8 @@ public class PortletConfigurationGenerator { private static final String PORTLET_XML_FILE = "portlet.xml"; private static final String LIFERAY_PORTLET_XML_FILE = "liferay-portlet.xml"; private static final String LIFERAY_DISPLAY_XML_FILE = "liferay-display.xml"; + private static final String JBOSS_OBJECT_FILE = "itmill-object.xml"; + private static final String JBOSS_INSTANCE_FILE = "portlet-instances.xml"; // "templates" follow; private static final String PORTLET_XML_HEAD = "\n" @@ -107,6 +109,35 @@ public class PortletConfigurationGenerator { private static final String LIFERAY_DISPLAY_XML_FOOT = "\n" + " \n" + ""; + private static final String JBOSS_INSTANCE_HEAD = "\r\n" + + "\r\n" + + "\r\n"; + private static final String JBOSS_INSTANCE_SECTION = " \r\n \r\n" + + " %PORTLETNAME%Instance\r\n" + + " %PORTLETNAME%\r\n" + + " \r\n \r\n"; + private static final String JBOSS_INSTANCE_FOOT = ""; + private static final String JBOSS_OBJECT_HEAD = "\r\n" + + "\r\n" + + "\r\n"; + private static final String JBOSS_OBJECT_SECTION = " \r\n" + + " default.default\r\n" + + " overwrite" + + " \r\n" + + " %PORTLETNAME%Window\r\n" + + " \r\n" + + " portlet\r\n" + + " %PORTLETNAME%Instance\r\n" + + " \r\n" + + " center\r\n" + + " 1\r\n" + + " \r\n \r\n"; + private static final String JBOSS_OBJECT_FOOT = ""; + /** * @param args * [widgetset to use] @@ -193,12 +224,35 @@ public class PortletConfigurationGenerator { } catch (FileNotFoundException e) { System.out.println(liferayDisplayXmlFile + " not found!"); } + // open jboss object.xml + File jbossObjectXmlFile = new File(args[0] + File.separatorChar + + JBOSS_OBJECT_FILE); + OutputStreamWriter joout = null; + try { + joout = new OutputStreamWriter(new FileOutputStream( + jbossObjectXmlFile), Charset.forName("UTF-8")); + } catch (FileNotFoundException e) { + System.out.println(jbossObjectXmlFile + " not found!"); + } + // open jboss insrance.xml + File jbossInstanceXmlFile = new File(args[0] + File.separatorChar + + JBOSS_INSTANCE_FILE); + OutputStreamWriter jiout = null; + try { + jiout = new OutputStreamWriter(new FileOutputStream( + jbossInstanceXmlFile), Charset.forName("UTF-8")); + } catch (FileNotFoundException e) { + System.out.println(jbossInstanceXmlFile + " not found!"); + } - if (pout != null && lpout != null && ldout != null) { + if (pout != null && lpout != null && ldout != null && joout != null + && jiout != null) { String pstring = PORTLET_XML_HEAD; String lpstring = LIFERAY_PORTLET_XML_HEAD; String ldstring = LIFERAY_DISPLAY_XML_HEAD; + String jostring = JBOSS_OBJECT_HEAD; + String jistring = JBOSS_INSTANCE_HEAD; Pattern p1 = Pattern .compile(".*?(.*?)<\\/servlet-name>.*?(.*?)<\\/url-pattern>(.*?)<\\/servlet-mapping>"); @@ -264,16 +318,32 @@ public class PortletConfigurationGenerator { s = s.replaceAll("%URL%", url); ldstring += s; + s = JBOSS_OBJECT_SECTION; + s = s.replaceAll("%NAME%", name); + s = s.replaceAll("%PORTLETNAME%", pname); + s = s.replaceAll("%URL%", url); + jostring += s; + + s = JBOSS_INSTANCE_SECTION; + s = s.replaceAll("%NAME%", name); + s = s.replaceAll("%PORTLETNAME%", pname); + s = s.replaceAll("%URL%", url); + jistring += s; + } pstring += PORTLET_XML_FOOT; lpstring += LIFERAY_PORTLET_XML_FOOT; ldstring += LIFERAY_DISPLAY_XML_FOOT; + jostring += JBOSS_OBJECT_FOOT; + jistring += JBOSS_INSTANCE_FOOT; try { pout.write(pstring); lpout.write(lpstring); ldout.write(ldstring); + joout.write(jostring); + jiout.write(jistring); } catch (IOException e) { System.out.println("Write FAILED:" + e); } @@ -290,6 +360,12 @@ public class PortletConfigurationGenerator { if (ldout != null) { ldout.close(); } + if (joout != null) { + joout.close(); + } + if (jiout != null) { + jiout.close(); + } } catch (IOException e) { System.out.println("Close FAILED: " + e); } diff --git a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationPortlet.java b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationPortlet.java index 77cca2ac1b..894eba519b 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/ApplicationPortlet.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/ApplicationPortlet.java @@ -50,6 +50,7 @@ public class ApplicationPortlet implements Portlet { protected void writeAjaxWindow(RenderRequest request, RenderResponse response) throws IOException { + response.setContentType("text/html"); if (app != null) { PortletSession sess = request.getPortletSession(); PortletApplicationContext ctx = PortletApplicationContext @@ -72,7 +73,6 @@ public class ApplicationPortlet implements Portlet { dispatcher.include(request, response); } catch (PortletException e) { - response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.print("

Servlet include failed!

"); out.print("
" + e + "
");