You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by rw...@apache.org on 2014/05/16 18:40:04 UTC
svn commit: r1595260 -
/portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/
Author: rwatler
Date: Fri May 16 16:40:04 2014
New Revision: 1595260
URL: http://svn.apache.org/r1595260
Log:
JS2-1274: Support portal application web.xml rewriting for servlet 2.5, 3.0, and 3.1 versions.
Added:
portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter2_5.java
portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter3_0.java
portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter3_1.java
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter2_4.java
portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriterFactory.java
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter2_4.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter2_4.java?rev=1595260&r1=1595259&r2=1595260&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter2_4.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter2_4.java Fri May 16 16:40:04 2014
@@ -16,11 +16,11 @@
*/
package org.apache.jetspeed.tools.deploy;
-import javax.xml.xpath.XPathConstants;
-
import org.w3c.dom.Document;
import org.w3c.dom.Element;
+import javax.xml.xpath.XPathConstants;
+
/**
* Utilities for manipulating the web.xml deployment descriptor version 2.4
*
@@ -35,18 +35,6 @@ class JetspeedWebApplicationRewriter2_4
public static final String PORTLET_TAGLIB_XPATH = "/js:web-app/js:jsp-config/js:taglib/js:taglib-uri[contains(child::text(), \"http://java.sun.com/portlet\")]";
public static final String PORTLET20_TAGLIB_XPATH = "/js:web-app/js:jsp-config/js:taglib/js:taglib-uri[contains(child::text(), \"http://java.sun.com/portlet_2_0\")]";
- protected static final String[] ELEMENTS_BEFORE_SERVLET = new String[]{"description", "display-name", "icon",
- "distributable", "context-param", "filter", "filter-mapping", "listener", "servlet"};
- protected static final String[] ELEMENTS_BEFORE_SERVLET_MAPPING = new String[]{"description", "display-name", "icon",
- "distributable", "context-param", "filter", "filter-mapping", "listener", "servlet",
- "servlet-mapping"};
-
- protected static final String[] ELEMENTS_BEFORE_JSP_CONFIG = new String[]{"description", "display-name", "icon",
- "distributable", "context-param", "filter", "filter-mapping", "listener", "servlet",
- "servlet-mapping", "session-config", "mime-mapping", "welcome-file-list", "error-page", "jsp-config"};
-
- protected static final String[] ELEMENTS_BEFORE_TAGLIB_MAPPING = new String[]{"taglib"};
-
public JetspeedWebApplicationRewriter2_4(Document doc, String portletApplication)
{
super(doc, portletApplication);
@@ -121,7 +109,7 @@ class JetspeedWebApplicationRewriter2_4
jetspeedServletElement.appendChild(servletClass);
insertContextNameParam(jetspeedServletElement);
insertLoadOnStartup(jetspeedServletElement);
- insertElementCorrectly(root, jetspeedServletElement, ELEMENTS_BEFORE_SERVLET);
+ insertElementCorrectly(root, jetspeedServletElement, getElementsBeforeServlet());
}
/**
@@ -143,7 +131,7 @@ class JetspeedWebApplicationRewriter2_4
jetspeedServletMappingElement.appendChild(servletMapName);
jetspeedServletMappingElement.appendChild(servletUrlPattern);
- insertElementCorrectly(root, jetspeedServletMappingElement, ELEMENTS_BEFORE_SERVLET_MAPPING);
+ insertElementCorrectly(root, jetspeedServletMappingElement, getElementsBeforeServletMapping());
}
/**
@@ -159,7 +147,7 @@ class JetspeedWebApplicationRewriter2_4
if (jspConfig == null)
{
jspConfig = root.getOwnerDocument().createElementNS(namespace,"jsp-config");
- insertElementCorrectly(root, jspConfig, ELEMENTS_BEFORE_JSP_CONFIG);
+ insertElementCorrectly(root, jspConfig, getElementsBeforeJspConfig());
}
Element taglib = root.getOwnerDocument().createElementNS(namespace, "taglib");
Element taguri = root.getOwnerDocument().createElementNS(namespace, "taglib-uri");
@@ -170,7 +158,7 @@ class JetspeedWebApplicationRewriter2_4
taglib.appendChild(taguri);
taglib.appendChild(taglocation);
- insertElementCorrectly(jspConfig, taglib, ELEMENTS_BEFORE_TAGLIB_MAPPING);
+ insertElementCorrectly(jspConfig, taglib, getElementsBeforeJspConfigTaglib());
}
/**
@@ -186,7 +174,7 @@ class JetspeedWebApplicationRewriter2_4
if (jspConfig == null)
{
jspConfig = root.getOwnerDocument().createElementNS(namespace,"jsp-config");
- insertElementCorrectly(root, jspConfig, ELEMENTS_BEFORE_JSP_CONFIG);
+ insertElementCorrectly(root, jspConfig, getElementsBeforeJspConfig());
}
Element taglib = root.getOwnerDocument().createElementNS(namespace, "taglib");
Element taguri = root.getOwnerDocument().createElementNS(namespace, "taglib-uri");
@@ -197,6 +185,46 @@ class JetspeedWebApplicationRewriter2_4
taglib.appendChild(taguri);
taglib.appendChild(taglocation);
- insertElementCorrectly(jspConfig, taglib, ELEMENTS_BEFORE_TAGLIB_MAPPING);
+ insertElementCorrectly(jspConfig, taglib, getElementsBeforeJspConfigTaglib());
+ }
+
+ /**
+ * Return 'web-app' element names before 'servlet' in the ordered web.xml 2.4 schema.
+ *
+ * @return element names
+ */
+ protected String [] getElementsBeforeServlet() {
+ return new String[]{"description", "display-name", "icon", "distributable", "context-param", "filter",
+ "filter-mapping", "listener", "servlet"};
+ }
+
+ /**
+ * Return 'web-app' element names before 'servlet-mapping' in the ordered web.xml 2.4 schema.
+ *
+ * @return element names
+ */
+ protected String [] getElementsBeforeServletMapping() {
+ return new String[]{"description", "display-name", "icon", "distributable", "context-param", "filter",
+ "filter-mapping", "listener", "servlet", "servlet-mapping"};
+ }
+
+ /**
+ * Return 'web-app' element names before 'jsp-config' in the ordered web.xml 2.4 schema.
+ *
+ * @return element names
+ */
+ protected String [] getElementsBeforeJspConfig() {
+ return new String[]{"description", "display-name", "icon", "distributable", "context-param", "filter",
+ "filter-mapping", "listener", "servlet", "servlet-mapping", "session-config", "mime-mapping",
+ "welcome-file-list", "error-page", "jsp-config"};
+ }
+
+ /**
+ * Return 'jsp-config' element names before 'taglib' in the ordered web.xml 2.4 schema.
+ *
+ * @return element names
+ */
+ protected String [] getElementsBeforeJspConfigTaglib() {
+ return new String[]{"taglib"};
}
}
Added: portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter2_5.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter2_5.java?rev=1595260&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter2_5.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter2_5.java Fri May 16 16:40:04 2014
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.tools.deploy;
+
+import org.w3c.dom.Document;
+
+/**
+ * Utilities for manipulating the web.xml deployment descriptor version 2.5
+ *
+ * @author <a href="mailto:rwatler@apache.org">Randy Watler</a>
+ * @version $Id: JetspeedWebApplicationRewriter2_5.java $
+ */
+public class JetspeedWebApplicationRewriter2_5 extends JetspeedWebApplicationRewriter2_4 {
+
+ /**
+ * Constructor taking XML document for web.xml and portlet application context name.
+ *
+ * @param doc parsed web.xml document
+ * @param portletApplication portlet application context name
+ */
+ public JetspeedWebApplicationRewriter2_5(Document doc, String portletApplication) {
+ super(doc, portletApplication);
+ }
+
+ /**
+ * Constructor taking XML document for web.xml.
+ *
+ * @param doc parsed web.xml document
+ */
+ public JetspeedWebApplicationRewriter2_5(Document doc) {
+ super(doc);
+ }
+}
Added: portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter3_0.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter3_0.java?rev=1595260&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter3_0.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter3_0.java Fri May 16 16:40:04 2014
@@ -0,0 +1,81 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.tools.deploy;
+
+import org.w3c.dom.Document;
+
+/**
+ * Utilities for manipulating the web.xml deployment descriptor version 3.0.
+ *
+ * @author <a href="mailto:rwatler@apache.org">Randy Watler</a>
+ * @version $Id: JetspeedWebApplicationRewriter3.0.java $
+ */
+public class JetspeedWebApplicationRewriter3_0 extends JetspeedWebApplicationRewriter2_5 {
+
+ /**
+ * Constructor taking XML document for web.xml and portlet application context name.
+ *
+ * @param doc parsed web.xml document
+ * @param portletApplication portlet application context name
+ */
+ public JetspeedWebApplicationRewriter3_0(Document doc, String portletApplication) {
+ super(doc, portletApplication);
+ }
+
+ /**
+ * Constructor taking XML document for web.xml.
+ *
+ * @param doc parsed web.xml document
+ */
+ public JetspeedWebApplicationRewriter3_0(Document doc) {
+ super(doc);
+ }
+
+ /**
+ * Return 'web-app' element names before 'servlet' in the ordered web.xml 3.0 schema.
+ *
+ * @return element names
+ */
+ @Override
+ protected String [] getElementsBeforeServlet() {
+ return new String[]{"module-name", "description", "display-name", "icon", "distributable", "context-param",
+ "filter", "filter-mapping", "listener", "servlet"};
+ }
+
+ /**
+ * Return 'web-app' element names before 'servlet-mapping' in the ordered web.xml 3.0 schema.
+ *
+ * @return element names
+ */
+ @Override
+ protected String [] getElementsBeforeServletMapping() {
+ return new String[]{"module-name", "description", "display-name", "icon", "distributable", "context-param",
+ "filter", "filter-mapping", "listener", "servlet", "servlet-mapping"};
+ }
+
+ /**
+ * Return 'web-app' element names before 'jsp-config' in the ordered web.xml 3.0 schema.
+ *
+ * @return element names
+ */
+ @Override
+ protected String [] getElementsBeforeJspConfig() {
+ return new String[]{"module-name", "description", "display-name", "icon", "distributable", "context-param",
+ "filter", "filter-mapping", "listener", "servlet", "servlet-mapping", "session-config", "mime-mapping",
+ "welcome-file-list", "error-page", "jsp-config"};
+ }
+}
Added: portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter3_1.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter3_1.java?rev=1595260&view=auto
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter3_1.java (added)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriter3_1.java Fri May 16 16:40:04 2014
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.tools.deploy;
+
+import org.w3c.dom.Document;
+
+/**
+ * Utilities for manipulating the web.xml deployment descriptor version 3.1.
+ *
+ * @author <a href="mailto:rwatler@apache.org">Randy Watler</a>
+ * @version $Id: JetspeedWebApplicationRewriter3.1.java $
+ */
+public class JetspeedWebApplicationRewriter3_1 extends JetspeedWebApplicationRewriter3_0 {
+
+ /**
+ * Constructor taking XML document for web.xml and portlet application context name.
+ *
+ * @param doc parsed web.xml document
+ * @param portletApplication portlet application context name
+ */
+ public JetspeedWebApplicationRewriter3_1(Document doc, String portletApplication) {
+ super(doc, portletApplication);
+ }
+
+ /**
+ * Constructor taking XML document for web.xml.
+ *
+ * @param doc parsed web.xml document
+ */
+ public JetspeedWebApplicationRewriter3_1(Document doc) {
+ super(doc);
+ }
+}
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriterFactory.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriterFactory.java?rev=1595260&r1=1595259&r2=1595260&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriterFactory.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-deploy-tools/src/main/java/org/apache/jetspeed/tools/deploy/JetspeedWebApplicationRewriterFactory.java Fri May 16 16:40:04 2014
@@ -70,7 +70,7 @@ public class JetspeedWebApplicationRewri
version = "2.3";
}
}
-
+
try
{
// Check version is a valid number
@@ -85,10 +85,22 @@ public class JetspeedWebApplicationRewri
{
return new JetspeedWebApplicationRewriter2_3(doc, portletApplication);
}
- else if(version.compareTo("2.4") >= 0)
+ else if(version.equals("2.4"))
{
return new JetspeedWebApplicationRewriter2_4(doc, portletApplication);
}
+ else if(version.equals("2.5"))
+ {
+ return new JetspeedWebApplicationRewriter2_5(doc, portletApplication);
+ }
+ else if(version.equals("3.0"))
+ {
+ return new JetspeedWebApplicationRewriter3_0(doc, portletApplication);
+ }
+ else if(version.compareTo("3.1") >= 0)
+ {
+ return new JetspeedWebApplicationRewriter3_1(doc, portletApplication);
+ }
else
{
throw new Exception("Unable to create JetspeedWebApplicationRewriter for version " + version);
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org