This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch WW-5233-tiles in repository https://gitbox.apache.org/repos/asf/struts.git
The following commit(s) were added to refs/heads/WW-5233-tiles by this push: new 30f8832be WW-5233 Drops useless @version tag and addresses some potential RegEx vulnerabilities 30f8832be is described below commit 30f8832be0b4e5eabd9aeb9c93e60d7ff2df6d21 Author: Lukasz Lenart <lukaszlen...@apache.org> AuthorDate: Sun Oct 2 18:43:45 2022 +0200 WW-5233 Drops useless @version tag and addresses some potential RegEx vulnerabilities --- .../main/java/org/apache/tiles/api/Attribute.java | 5 +- .../apache/tiles/api/preparer/ViewPreparer.java | 2 - .../autotag/core/runtime/AbstractModelBody.java | 2 - .../tiles/autotag/core/runtime/ModelBody.java | 2 - .../autotag/core/runtime/annotation/Parameter.java | 2 - .../autotag/core/runtime/util/NullWriter.java | 2 - .../apache/tiles/autotag/model/TemplateClass.java | 2 - .../apache/tiles/autotag/model/TemplateMethod.java | 2 - .../tiles/autotag/model/TemplateParameter.java | 2 - .../apache/tiles/autotag/model/TemplateSuite.java | 2 - .../tiles/core/definition/DefinitionsFactory.java | 2 - .../core/definition/NoSuchDefinitionException.java | 2 - .../UnresolvingLocaleDefinitionsFactory.java | 2 - .../digester/DigesterDefinitionsReader.java | 2 - .../DigesterDefinitionsReaderException.java | 2 - .../pattern/DefinitionPatternMatcher.java | 2 - .../pattern/DefinitionPatternMatcherFactory.java | 2 - .../org/apache/tiles/request/RequestException.java | 2 - .../NotAvailableFreemarkerServletException.java | 2 - .../autotag/FreemarkerAutotagException.java | 2 - .../render/AttributeValueFreemarkerServlet.java | 51 ------ .../request/freemarker/render/package-info.java | 24 --- .../SharedVariableLoaderFreemarkerServlet.java | 200 --------------------- .../servlet/WebappClassTemplateLoader.java | 2 - .../tiles/request/jsp/JspPrintWriterAdapter.java | 2 - .../request/locale/URLApplicationResource.java | 2 - .../reflect/CannotInstantiateObjectException.java | 2 - .../tiles/request/render/DispatchRenderer.java | 2 - .../tiles/template/InsertAttributeModel.java | 2 - .../tiles/template/InsertDefinitionModel.java | 2 - 30 files changed, 2 insertions(+), 330 deletions(-) diff --git a/plugins/tiles/src/main/java/org/apache/tiles/api/Attribute.java b/plugins/tiles/src/main/java/org/apache/tiles/api/Attribute.java index c49f07a96..e84039c73 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/api/Attribute.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/api/Attribute.java @@ -19,6 +19,7 @@ package org.apache.tiles.api; +import com.opensymphony.xwork2.util.TextParseUtil; import org.apache.tiles.request.Request; import java.io.Serializable; @@ -205,9 +206,7 @@ public class Attribute implements Serializable, Cloneable { */ public void setRole(String role) { if (role != null && role.trim().length() > 0) { - String[] rolesStrings = role.split("\\s*,\\s*"); - roles = new HashSet<>(); - Collections.addAll(roles, rolesStrings); + roles = TextParseUtil.commaDelimitedStringToSet(role); } else { roles = null; } diff --git a/plugins/tiles/src/main/java/org/apache/tiles/api/preparer/ViewPreparer.java b/plugins/tiles/src/main/java/org/apache/tiles/api/preparer/ViewPreparer.java index 94527a45b..9abf720a6 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/api/preparer/ViewPreparer.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/api/preparer/ViewPreparer.java @@ -38,8 +38,6 @@ import org.apache.tiles.request.Request; * <li><insert></li> * <li><definition></li> * </ul>> - * - * @version $Rev$ $Date$ */ public interface ViewPreparer { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/AbstractModelBody.java b/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/AbstractModelBody.java index 1054f338a..72b3a9938 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/AbstractModelBody.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/AbstractModelBody.java @@ -27,8 +27,6 @@ import java.util.regex.Pattern; /** * Base class for the abstraction of the body. - * - * @version $Rev$ $Date$ */ public abstract class AbstractModelBody implements ModelBody { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/ModelBody.java b/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/ModelBody.java index feedca8c8..0f97ec0d0 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/ModelBody.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/ModelBody.java @@ -23,8 +23,6 @@ import java.io.Writer; /** * Abstracts a tag/directive body. - * - * @version $Rev$ $Date$ */ public interface ModelBody { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/annotation/Parameter.java b/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/annotation/Parameter.java index 1c6373f7f..8833eddeb 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/annotation/Parameter.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/annotation/Parameter.java @@ -25,8 +25,6 @@ import java.lang.annotation.Target; /** * Specifies behaviour for a parameter of the "execute" method of a template class. - * - * @version $Rev$ $Date$ */ @Retention(RetentionPolicy.SOURCE) @Target(ElementType.PARAMETER) diff --git a/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/util/NullWriter.java b/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/util/NullWriter.java index 76a19b6b4..4905e6c63 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/util/NullWriter.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/autotag/core/runtime/util/NullWriter.java @@ -23,8 +23,6 @@ import java.io.Writer; /** * A writer that does not write anything. - * - * @version $Rev$ $Date$ */ public class NullWriter extends Writer { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java b/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java index f130fa9d1..0aeb990ce 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateClass.java @@ -24,8 +24,6 @@ import java.util.Map; /** * It represents a parsed template class. - * - * @version $Rev$ $Date$ */ public class TemplateClass { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateMethod.java b/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateMethod.java index 2390c2119..2bccf2ddd 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateMethod.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateMethod.java @@ -24,8 +24,6 @@ import java.util.Map; /** * It represents a parsed method in a parsed template class. - * - * @version $Rev$ $Date$ */ public class TemplateMethod { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java b/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java index ab4e8dc58..0540954c1 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateParameter.java @@ -22,8 +22,6 @@ import org.apache.tiles.autotag.core.runtime.ModelBody; /** * It represents a parameter in a method in a parsed template class. - * - * @version $Rev$ $Date$ */ public class TemplateParameter { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateSuite.java b/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateSuite.java index ff96b9eda..de14b466f 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateSuite.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/autotag/model/TemplateSuite.java @@ -24,8 +24,6 @@ import java.util.Map; /** * It represents a suite of template classes. - * - * @version $Rev$ $Date$ */ public class TemplateSuite { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/DefinitionsFactory.java b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/DefinitionsFactory.java index a7165a981..8f0dcc7aa 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/DefinitionsFactory.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/DefinitionsFactory.java @@ -31,8 +31,6 @@ import org.apache.tiles.request.Request; * sets. Implementations also know how to append locale-specific configuration * data to an existing Definitions set. * </p> - * - * @version $Rev$ $Date$ */ public interface DefinitionsFactory { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/NoSuchDefinitionException.java b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/NoSuchDefinitionException.java index aa78661bd..6815f2db9 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/NoSuchDefinitionException.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/NoSuchDefinitionException.java @@ -20,8 +20,6 @@ package org.apache.tiles.core.definition; /** * Exception thrown when a definition is not found. - * - * @version $Rev$ $Date$ */ public class NoSuchDefinitionException extends DefinitionsFactoryException { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/UnresolvingLocaleDefinitionsFactory.java b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/UnresolvingLocaleDefinitionsFactory.java index ca69310f4..5a35e4825 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/UnresolvingLocaleDefinitionsFactory.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/UnresolvingLocaleDefinitionsFactory.java @@ -35,8 +35,6 @@ import java.util.Locale; * {@link org.apache.tiles.core.definition.digester.DigesterDefinitionsReader} * class unless another implementation is specified. * </p> - * - * @version $Rev$ $Date$ * @since 2.2.1 */ public class UnresolvingLocaleDefinitionsFactory implements DefinitionsFactory { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/digester/DigesterDefinitionsReader.java b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/digester/DigesterDefinitionsReader.java index b751c5607..4d756bbb2 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/digester/DigesterDefinitionsReader.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/digester/DigesterDefinitionsReader.java @@ -61,8 +61,6 @@ import java.util.Map; * method. This means that instances of this class are <strong>not</strong> * thread-safe and access by multiple threads must be synchronized. * </p> - * - * @version $Rev$ $Date$ */ public class DigesterDefinitionsReader implements DefinitionsReader { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/digester/DigesterDefinitionsReaderException.java b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/digester/DigesterDefinitionsReaderException.java index 0aeb324bc..ca501e089 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/digester/DigesterDefinitionsReaderException.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/digester/DigesterDefinitionsReaderException.java @@ -23,8 +23,6 @@ import org.apache.tiles.api.TilesException; /** * Indicates that something went wrong during the use of * {@link DigesterDefinitionsReader}. - * - * @version $Rev$ $Date$ * @since 2.1.0 */ public class DigesterDefinitionsReaderException extends TilesException { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/pattern/DefinitionPatternMatcher.java b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/pattern/DefinitionPatternMatcher.java index 8e913bca1..657780650 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/pattern/DefinitionPatternMatcher.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/pattern/DefinitionPatternMatcher.java @@ -23,8 +23,6 @@ import org.apache.tiles.api.Definition; /** * Matches a definition name to a definition, through pattern-matching. The * matched pattern should be a single one. - * - * @version $Rev$ $Date$ * @since 2.2.0 */ public interface DefinitionPatternMatcher { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/pattern/DefinitionPatternMatcherFactory.java b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/pattern/DefinitionPatternMatcherFactory.java index d58858a50..df5890744 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/core/definition/pattern/DefinitionPatternMatcherFactory.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/core/definition/pattern/DefinitionPatternMatcherFactory.java @@ -23,8 +23,6 @@ import org.apache.tiles.api.Definition; /** * Creates a new definition pattern matcher for the given pattern and the given * base definition with pattern expressions. - * - * @version $Rev$ $Date$ * @since 2.2.0 */ public interface DefinitionPatternMatcherFactory { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/RequestException.java b/plugins/tiles/src/main/java/org/apache/tiles/request/RequestException.java index 192dff6b7..dcd8daeae 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/RequestException.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/RequestException.java @@ -20,8 +20,6 @@ package org.apache.tiles.request; /** * Thrown when something related to a request fails. - * - * @version $Rev$ $Date$ */ public class RequestException extends RuntimeException { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/NotAvailableFreemarkerServletException.java b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/NotAvailableFreemarkerServletException.java index 13c5dd0f8..c34b91168 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/NotAvailableFreemarkerServletException.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/NotAvailableFreemarkerServletException.java @@ -22,8 +22,6 @@ import org.apache.tiles.request.NotAvailableFeatureException; /** * Thrown when the Freemarker servlet is not available. - * - * @version $Rev$ $Date$ */ public class NotAvailableFreemarkerServletException extends NotAvailableFeatureException { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagException.java b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagException.java index dfd95cd06..9ba13c882 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagException.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/autotag/FreemarkerAutotagException.java @@ -20,8 +20,6 @@ package org.apache.tiles.request.freemarker.autotag; /** * Thrown when a Freemarker problem under Autotag runtime part happens. - * - * @version $Rev$ $Date$ */ public class FreemarkerAutotagException extends RuntimeException { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/render/AttributeValueFreemarkerServlet.java b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/render/AttributeValueFreemarkerServlet.java deleted file mode 100644 index 8162c815d..000000000 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/render/AttributeValueFreemarkerServlet.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * 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.tiles.request.freemarker.render; - -import org.apache.tiles.request.freemarker.servlet.SharedVariableLoaderFreemarkerServlet; - -import javax.servlet.http.HttpServletRequest; - -/** - * Extends {@link SharedVariableLoaderFreemarkerServlet} to use the attribute value as the template name. - */ -public class AttributeValueFreemarkerServlet extends SharedVariableLoaderFreemarkerServlet { - - /** - * Holds the value that should be used as the template name. - */ - private final ThreadLocal<String> valueHolder = new ThreadLocal<>(); - - /** - * Sets the value to use as the template name. - * - * @param value The template name. - */ - public void setValue(String value) { - valueHolder.set(value); - } - - /** - * {@inheritDoc} - */ - @Override - protected String requestUrlToTemplatePath(HttpServletRequest request) { - return valueHolder.get(); - } -} diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/render/package-info.java b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/render/package-info.java deleted file mode 100644 index 925f6a2f7..000000000 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/render/package-info.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * $Id: package-info.java 1049711 2010-12-15 21:12:00Z apetrelli $ - * - * 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. - */ -/** - * Rendering of Freemarker templates. - */ -package org.apache.tiles.request.freemarker.render; diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/SharedVariableLoaderFreemarkerServlet.java b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/SharedVariableLoaderFreemarkerServlet.java deleted file mode 100644 index 8cec74b1f..000000000 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/SharedVariableLoaderFreemarkerServlet.java +++ /dev/null @@ -1,200 +0,0 @@ -/* - * 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.tiles.request.freemarker.servlet; - -import freemarker.cache.TemplateLoader; -import freemarker.ext.servlet.FreemarkerServlet; -import freemarker.template.Configuration; -import org.apache.tiles.request.reflect.ClassUtil; - -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import java.util.Enumeration; -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * Extends FreemarkerServlet to load Tiles directives as a shared variable. - */ -public class SharedVariableLoaderFreemarkerServlet extends FreemarkerServlet { - - /** - * The init parameter under which the factories will be put. The value of the parameter - * must be a semicolon (;) separated list of couples, each member of the couple must - * be separated by commas (,). - */ - public static final String CUSTOM_SHARED_VARIABLE_FACTORIES_INIT_PARAM = - "org.apache.tiles.request.freemarker.CUSTOM_SHARED_VARIABLE_FACTORIES"; - - /** - * Maps a name of a shared variable to its factory. - */ - private final Map<String, SharedVariableFactory> name2variableFactory = new LinkedHashMap<>(); - - @Override - public void init(ServletConfig config) throws ServletException { - String param = config.getInitParameter(CUSTOM_SHARED_VARIABLE_FACTORIES_INIT_PARAM); - if (param != null) { - String[] couples = param.split("\\s*;\\s*"); - for (String s : couples) { - String[] couple = s.split("\\s*,\\s*"); - if (couple.length != 2) { - throw new ServletException("Cannot parse custom shared variable partial init param: '" + s + "'"); - } - name2variableFactory.put(couple[0], (SharedVariableFactory) ClassUtil.instantiate(couple[1])); - } - } - super.init(new ExcludingParameterServletConfig(config)); - } - - /** - * Adds anew shared variable factory in a manual way. - * - * @param variableName The name of the shared variable. - * @param factory The shared variable factory. - */ - public void addSharedVariableFactory(String variableName, SharedVariableFactory factory) { - name2variableFactory.put(variableName, factory); - } - - /** {@inheritDoc} */ - @Override - protected Configuration createConfiguration() { - Configuration configuration = super.createConfiguration(); - - for (Map.Entry<String, SharedVariableFactory> entry : name2variableFactory.entrySet()) { - configuration.setSharedVariable(entry.getKey(), entry.getValue().create()); - } - return configuration; - } - - /** {@inheritDoc} */ - - @Override - protected TemplateLoader createTemplateLoader(String templatePath) { - return new WebappClassTemplateLoader(getServletContext()); - } - - /** - * Servlet configuration that excludes some parameters. It is useful to adapt to - * FreemarkerServlet behaviour, because it gets angry if it sees some extra - * parameters that it does not recognize. - */ - private static class ExcludingParameterServletConfig implements ServletConfig { - - /** - * The servlet configuration. - */ - private final ServletConfig config; - - /** - * Constructor. - * - * @param config The servlet configuration. - */ - public ExcludingParameterServletConfig(ServletConfig config) { - this.config = config; - } - - @Override - public String getServletName() { - return config.getServletName(); - } - - @Override - public ServletContext getServletContext() { - return config.getServletContext(); - } - - @Override - public String getInitParameter(String name) { - if (CUSTOM_SHARED_VARIABLE_FACTORIES_INIT_PARAM.equals(name)) { - return null; - } - return config.getInitParameter(name); - } - - @SuppressWarnings({ "rawtypes", "unchecked" }) - @Override - public Enumeration getInitParameterNames() { - return new SkippingEnumeration(config.getInitParameterNames()); - } - - } - - /** - * An enumeration that skip just - * {@link SharedVariableLoaderFreemarkerServlet#CUSTOM_SHARED_VARIABLE_FACTORIES_INIT_PARAM}, - * again not to let the FreemarkerServlet be angry about it. - */ - private static class SkippingEnumeration implements Enumeration<String> { - - /** - * The original enumeration. - */ - private final Enumeration<String> enumeration; - - /** - * The next element. - */ - private String next = null; - - /** - * Constructor. - * - * @param enumeration The original enumeration. - */ - public SkippingEnumeration(Enumeration<String> enumeration) { - this.enumeration = enumeration; - updateNextElement(); - } - - @Override - public boolean hasMoreElements() { - return next != null; - } - - @Override - public String nextElement() { - String retValue = next; - updateNextElement(); - return retValue; - } - - /** - * Updates the next element that will be passed. - */ - private void updateNextElement() { - String value = null; - boolean done = false; - while (this.enumeration.hasMoreElements() && !done) { - value = this.enumeration.nextElement(); - if (value.equals(CUSTOM_SHARED_VARIABLE_FACTORIES_INIT_PARAM)) { - value = null; - } else { - done = true; - } - } - next = value; - } - - } -} diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/WebappClassTemplateLoader.java b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/WebappClassTemplateLoader.java index ce5629fa7..5103903a5 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/WebappClassTemplateLoader.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/freemarker/servlet/WebappClassTemplateLoader.java @@ -31,8 +31,6 @@ import java.io.Reader; * Delegates loading templates using a {@link WebappTemplateLoader} and, if not * found, a {@link ClassTemplateLoader}. The resources are loaded from the * webapp root and from the classpath root. - * - * @version $Rev$ $Date$ */ public class WebappClassTemplateLoader implements TemplateLoader { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/jsp/JspPrintWriterAdapter.java b/plugins/tiles/src/main/java/org/apache/tiles/request/jsp/JspPrintWriterAdapter.java index 81c6e579f..a7b2e2629 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/jsp/JspPrintWriterAdapter.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/jsp/JspPrintWriterAdapter.java @@ -27,8 +27,6 @@ import java.io.PrintWriter; /** * Adapts a {@link JspWriter} to a {@link PrintWriter}, swallowing {@link IOException}. - * - * @version $Rev$ $Date$ */ public class JspPrintWriterAdapter extends PrintWriter { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/locale/URLApplicationResource.java b/plugins/tiles/src/main/java/org/apache/tiles/request/locale/URLApplicationResource.java index e88b25db7..a4e71a818 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/locale/URLApplicationResource.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/locale/URLApplicationResource.java @@ -38,8 +38,6 @@ import java.util.Set; /** * A {@link PostfixedApplicationResource} that can be accessed through a URL. - * - * @version $Rev$ $Date$ */ public class URLApplicationResource extends PostfixedApplicationResource { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/reflect/CannotInstantiateObjectException.java b/plugins/tiles/src/main/java/org/apache/tiles/request/reflect/CannotInstantiateObjectException.java index 953ae68c4..7b922fd8f 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/reflect/CannotInstantiateObjectException.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/reflect/CannotInstantiateObjectException.java @@ -22,8 +22,6 @@ import org.apache.tiles.request.RequestException; /** * Indicates that an object cannot be instantiated. - * - * @version $Rev$ $Date$ */ public class CannotInstantiateObjectException extends RequestException { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/request/render/DispatchRenderer.java b/plugins/tiles/src/main/java/org/apache/tiles/request/render/DispatchRenderer.java index fa5b78749..b1db6a09e 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/request/render/DispatchRenderer.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/request/render/DispatchRenderer.java @@ -26,8 +26,6 @@ import org.apache.tiles.request.RequestWrapper; /** * Renders an attribute that contains a reference to a template. - * - * @version $Rev$ $Date$ */ public class DispatchRenderer implements Renderer { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/template/InsertAttributeModel.java b/plugins/tiles/src/main/java/org/apache/tiles/template/InsertAttributeModel.java index 2ee9bb396..4c2ea7ef1 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/template/InsertAttributeModel.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/template/InsertAttributeModel.java @@ -53,8 +53,6 @@ import java.util.Deque; * <tiles:insertAttribute name="body" /> * </code> * </pre> - * - * @version $Rev$ $Date$ * @since 2.2.0 */ public class InsertAttributeModel { diff --git a/plugins/tiles/src/main/java/org/apache/tiles/template/InsertDefinitionModel.java b/plugins/tiles/src/main/java/org/apache/tiles/template/InsertDefinitionModel.java index cff71b65f..a34bb3760 100644 --- a/plugins/tiles/src/main/java/org/apache/tiles/template/InsertDefinitionModel.java +++ b/plugins/tiles/src/main/java/org/apache/tiles/template/InsertDefinitionModel.java @@ -61,8 +61,6 @@ import java.io.IOException; * </tiles:insertDefinition> * </code> * </pre> - * - * @version $Rev$ $Date$ * @since 2.2.0 */ public class InsertDefinitionModel {