From: Marc Englund Date: Mon, 28 Apr 2008 09:59:13 +0000 (+0000) Subject: Uses special comment to detect which portlets are included X-Git-Tag: 6.7.0.beta1~4864 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=25f8a7cbf5f07cdfbaaa941769a63b0f76b1b530;p=vaadin-framework.git Uses special comment to detect which portlets are included svn changeset:4257/svn branch:trunk --- diff --git a/portlet-src/com/itmill/toolkit/portlet/util/PortletConfigurationGenerator.java b/portlet-src/com/itmill/toolkit/portlet/util/PortletConfigurationGenerator.java index 5b630858b5..403e181f20 100644 --- a/portlet-src/com/itmill/toolkit/portlet/util/PortletConfigurationGenerator.java +++ b/portlet-src/com/itmill/toolkit/portlet/util/PortletConfigurationGenerator.java @@ -19,6 +19,10 @@ import java.util.regex.Pattern; * Currently uses regular expressions to avoid dependencies; does not strictly * adhere to xml rules, but should work with a 'normal' web.xml. * + * To be included, the servlet-mapping must include a special comment: If the portlet requires some special styles (i.e height): + * * @author marc */ public class PortletConfigurationGenerator { @@ -29,79 +33,79 @@ public class PortletConfigurationGenerator { private static final String LIFERAY_DISPLAY_XML_FILE = "liferay-display.xml"; // "templates" follow; - private static final String PORTLET_XML_HEAD = "\r\n" - + "\r\n"; - private static final String PORTLET_XML_SECTION = " \r\n" - + " %PORTLETNAME%\r\n" - + " IT Mill Toolkit %NAME%\r\n" - + " com.itmill.toolkit.terminal.gwt.server.ApplicationPortlet\r\n" - + " \r\n" - + " application\r\n" - + " %URL%\r\n" - + " \r\n" - + " \r\n" - + " text/html\r\n" - + " view\r\n" - + " edit\r\n" - + " help\r\n" - + " \r\n" - + " \r\n" - + " %NAME%\r\n" - + " %NAME%\r\n" - + " \r\n" - + " \r\n" - + " \r\n" - + " administrator\r\n" - + " \r\n" - + " \r\n" - + " guest\r\n" - + " \r\n" - + " \r\n" - + " power-user\r\n" - + " \r\n" - + " \r\n" - + " user\r\n" - + " \r\n" - + " \r\n"; - private static final String PORTLET_XML_FOOT = " \r\n" - + " javax.portlet.escapeXml\r\n" - + " false\r\n" - + " " + ""; + private static final String PORTLET_XML_HEAD = "\n" + + "\n"; + private static final String PORTLET_XML_SECTION = " \n" + + " %PORTLETNAME%\n" + + " IT Mill Toolkit %NAME%\n" + + " com.itmill.toolkit.terminal.gwt.server.ApplicationPortlet\n" + + " \n" + + " application\n" + + " %URL%\n" + + " \n" + + " %EXTRAPARAMS%\n" + + " \n" + + " text/html\n" + + " view\n" + + " edit\n" + + " help\n" + + " \n" + + " \n" + + " %NAME%\n" + + " %NAME%\n" + + " \n" + " \n" + + " \n" + + " administrator\n" + + " \n" + + " \n" + + " guest\n" + + " \n" + + " \n" + + " power-user\n" + + " \n" + + " \n" + + " user\n" + + " \n" + " \n"; + private static final String PORTLET_XML_FOOT = " %CONTEXTPARAMS%\n" + + " \n" + + " javax.portlet.escapeXml\n" + + " false\n" + + " \n" + ""; - private static final String LIFERAY_PORTLET_XML_HEAD = "\r\n" - + "\r\n" - + "\r\n" + "\r\n" + ""; - private static final String LIFERAY_PORTLET_XML_SECTION = " \r\n" - + " %PORTLETNAME%\r\n" - + " true \r\n" - + " false\r\n" - + " \r\n" + ""; - private static final String LIFERAY_PORTLET_XML_FOOT = " \r\n" - + " \r\n" - + " administrator\r\n" - + " Administrator\r\n" - + " \r\n" + " \r\n" - + " guest\r\n" - + " Guest\r\n" - + " \r\n" + " \r\n" - + " power-user\r\n" - + " Power User\r\n" - + " \r\n" + " \r\n" - + " user\r\n" - + " User\r\n" - + " \r\n" + " \r\n" + private static final String LIFERAY_PORTLET_XML_HEAD = "\n" + + "\n" + + "\n" + "\n" + ""; + private static final String LIFERAY_PORTLET_XML_SECTION = " \n" + + " %PORTLETNAME%\n" + + " true \n" + + " false\n" + + " \n" + ""; + private static final String LIFERAY_PORTLET_XML_FOOT = " \n" + + " \n" + + " administrator\n" + + " Administrator\n" + + " \n" + " \n" + + " guest\n" + + " Guest\n" + + " \n" + " \n" + + " power-user\n" + + " Power User\n" + + " \n" + " \n" + + " user\n" + + " User\n" + + " \n" + " \n" + ""; - private static final String LIFERAY_DISPLAY_XML_HEAD = "\r\n" - + "\r\n" - + "\r\n" - + "\r\n" - + " \r\n" + ""; - private static final String LIFERAY_DISPLAY_XML_SECTION = " \r\n"; - private static final String LIFERAY_DISPLAY_XML_FOOT = "\r\n" - + " \r\n" + ""; + private static final String LIFERAY_DISPLAY_XML_HEAD = "\n" + + "\n" + + "\n" + + "\n" + + " \n" + ""; + private static final String LIFERAY_DISPLAY_XML_SECTION = " \n"; + private static final String LIFERAY_DISPLAY_XML_FOOT = "\n" + + " \n" + ""; /** * @param args @@ -110,10 +114,16 @@ public class PortletConfigurationGenerator { public static void main(String[] args) { if (args.length < 1 || !new File(args[0]).isDirectory()) { System.err - .println("Usage: PortletConfigurationGenerator "); + .println("Usage: PortletConfigurationGenerator [widgetset]"); return; } + String widgetset = ""; + if (args.length > 1) { + widgetset = "widgetset" + + args[1] + ""; + } + /* * Read web.xml */ @@ -189,18 +199,28 @@ public class PortletConfigurationGenerator { String lpstring = LIFERAY_PORTLET_XML_HEAD; String ldstring = LIFERAY_DISPLAY_XML_HEAD; - Pattern p = Pattern - .compile( - ".*?(.*?)<\\/servlet-name>.*?(.*?)<\\/url-pattern>.*?<\\/servlet-mapping>", - Pattern.MULTILINE); - Matcher m = p.matcher(webXml); + Pattern p1 = Pattern + .compile(".*?(.*?)<\\/servlet-name>.*?(.*?)<\\/url-pattern>(.*?)<\\/servlet-mapping>"); + Pattern p2 = Pattern + .compile(".*?.*?"); + Matcher m = p1.matcher(webXml); while (m.find()) { - if (m.groupCount() != 2) { - System.out - .println("Could not find servlet-name and url-pattern for: " - + m.group()); + if (m.groupCount() < 3) { + // don't include continue; } + Matcher m2 = p2.matcher(m.group(3)); + if (!m2.find()) { + // don't include + continue; + } + + String style = ""; + if (m2.groupCount() == 1 && m2.group(1) != null) { + style = "style" + + m2.group(1) + ""; + } + String name = m.group(1); // remove leading- and trailing whitespace name = name.replaceAll("^\\s*", ""); @@ -219,11 +239,15 @@ public class PortletConfigurationGenerator { if (url.endsWith("/")) { url = url.substring(0, url.length() - 1); } + System.out.println("Mapping " + pname + " to " + url); + String s = PORTLET_XML_SECTION; s = s.replaceAll("%NAME%", name); s = s.replaceAll("%PORTLETNAME%", pname); s = s.replaceAll("%URL%", url); + s = s.replaceAll("%EXTRAPARAMS%", style); + pstring += s; s = LIFERAY_PORTLET_XML_SECTION; @@ -240,7 +264,8 @@ public class PortletConfigurationGenerator { } - pstring += PORTLET_XML_FOOT; + pstring += PORTLET_XML_FOOT + .replaceAll("%CONTEXTPARAMS%", widgetset); lpstring += LIFERAY_PORTLET_XML_FOOT; ldstring += LIFERAY_DISPLAY_XML_FOOT;