(struts-site) branch asf-staging updated: Updates stage by Jenkins
This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-staging in repository https://gitbox.apache.org/repos/asf/struts-site.git The following commit(s) were added to refs/heads/asf-staging by this push: new 3b462cfe3 Updates stage by Jenkins 3b462cfe3 is described below commit 3b462cfe3cee3c805333496d98967c2493419cf0 Author: jenkins AuthorDate: Sun Mar 24 20:48:29 2024 + Updates stage by Jenkins --- content/core-developers/action-file-upload-interceptor.html | 2 ++ content/core-developers/file-upload-interceptor.html| 2 ++ 2 files changed, 4 insertions(+) diff --git a/content/core-developers/action-file-upload-interceptor.html b/content/core-developers/action-file-upload-interceptor.html index b1f048d09..74cefb55b 100644 --- a/content/core-developers/action-file-upload-interceptor.html +++ b/content/core-developers/action-file-upload-interceptor.html @@ -200,6 +200,8 @@ and which are not. Examples +See this page for more examples and advanced configuration. + Example action mapping:diff --git a/content/core-developers/file-upload-interceptor.html b/content/core-developers/file-upload-interceptor.html index 5986154e4..f7f65df88 100644 --- a/content/core-developers/file-upload-interceptor.html +++ b/content/core-developers/file-upload-interceptor.html @@ -208,6 +208,8 @@ and which are not. Examples +See this page for more examples and advanced configuration. + Example action mapping:
(struts-examples) branch dependabot/maven/io.quarkus-quarkus-universe-bom-3.8.3 created (now bb89475)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/maven/io.quarkus-quarkus-universe-bom-3.8.3 in repository https://gitbox.apache.org/repos/asf/struts-examples.git at bb89475 Bump io.quarkus:quarkus-universe-bom from 3.7.3 to 3.8.3 No new revisions were added by this update.
(struts-examples) branch dependabot/maven/io.quarkus-quarkus-universe-bom-3.8.2 deleted (was ba443e4)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/maven/io.quarkus-quarkus-universe-bom-3.8.2 in repository https://gitbox.apache.org/repos/asf/struts-examples.git was ba443e4 Bump io.quarkus:quarkus-universe-bom from 3.7.3 to 3.8.2 The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
(struts-examples) branch dependabot/github_actions/actions/cache-4.0.2 created (now 2be5be5)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/github_actions/actions/cache-4.0.2 in repository https://gitbox.apache.org/repos/asf/struts-examples.git at 2be5be5 Bump actions/cache from 4.0.0 to 4.0.2 No new revisions were added by this update.
(struts-examples) branch dependabot/github_actions/actions/cache-4.0.1 deleted (was df7bb32)
This is an automated email from the ASF dual-hosted git repository. github-bot pushed a change to branch dependabot/github_actions/actions/cache-4.0.1 in repository https://gitbox.apache.org/repos/asf/struts-examples.git was df7bb32 Bump actions/cache from 4.0.0 to 4.0.1 The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
(struts) branch feature/WW-5402-autoload-classptah updated (0f4ef3c2f -> a8a9e6d73)
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a change to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git discard 0f4ef3c2f WW-5402 Auto loads Tiles definitions from classpath new a8a9e6d73 WW-5402 Auto loads Tiles definitions from classpath This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (0f4ef3c2f) \ N -- N -- N refs/heads/feature/WW-5402-autoload-classptah (a8a9e6d73) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-)
(struts) 01/01: WW-5402 Auto loads Tiles definitions from classpath
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git commit a8a9e6d73078f90c4dab0f44ae2300dc136d61c4 Author: Lukasz Lenart AuthorDate: Sun Mar 24 11:29:12 2024 +0100 WW-5402 Auto loads Tiles definitions from classpath --- plugins/tiles/pom.xml | 3 - .../struts2/tiles/StrutsTilesContainerFactory.java | 25 ++-- .../tiles/StrutsTilesContainerFactoryTest.java | 127 + 3 files changed, 145 insertions(+), 10 deletions(-) diff --git a/plugins/tiles/pom.xml b/plugins/tiles/pom.xml index 440f6ee79..1a6caf2c1 100644 --- a/plugins/tiles/pom.xml +++ b/plugins/tiles/pom.xml @@ -35,9 +35,6 @@ build-autotags - -true - diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java index 205476467..aba4e5985 100644 --- a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java +++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java @@ -25,11 +25,6 @@ import ognl.PropertyAccessor; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.tiles.api.TilesContainer; -import org.apache.tiles.request.ApplicationContext; -import org.apache.tiles.request.ApplicationResource; -import org.apache.tiles.request.Request; -import org.apache.tiles.request.render.BasicRendererFactory; -import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.core.definition.DefinitionsFactory; import org.apache.tiles.core.definition.pattern.DefinitionPatternMatcherFactory; import org.apache.tiles.core.definition.pattern.PatternDefinitionResolver; @@ -57,6 +52,11 @@ import org.apache.tiles.ognl.PropertyAccessorDelegateFactory; import org.apache.tiles.ognl.ScopePropertyAccessor; import org.apache.tiles.ognl.TilesApplicationContextNestedObjectExtractor; import org.apache.tiles.ognl.TilesContextPropertyAccessorDelegateFactory; +import org.apache.tiles.request.ApplicationContext; +import org.apache.tiles.request.ApplicationResource; +import org.apache.tiles.request.Request; +import org.apache.tiles.request.render.BasicRendererFactory; +import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.request.render.Renderer; import javax.el.ArrayELResolver; @@ -69,6 +69,7 @@ import javax.el.ResourceBundleELResolver; import javax.servlet.jsp.JspFactory; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; @@ -100,10 +101,20 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { public static final String PATTERN_WILDCARD = "WILDCARD"; public static final String PATTERN_REGEXP = "REGEXP"; +/** + * Default pattern to be used to collect Tiles definitions if user didn't configure any + * @deprecated use {@link #TILES_DEFAULT_PATTERNS} instead + */ +@Deprecated +public static final String TILES_DEFAULT_PATTERN = "/WEB-INF/**/tiles*.xml,classpath*:META-INF/**/tiles*.xml"; + /** * Default pattern to be used to collect Tiles definitions if user didn't configure any */ -public static final String TILES_DEFAULT_PATTERN = "tiles*.xml"; +public static final Set TILES_DEFAULT_PATTERNS = new HashSet() {{ +add("/WEB-INF/**/tiles*.xml"); +add("classpath*:META-INF/**/tiles*.xml"); +}}; /** * Supported expression languages @@ -213,7 +224,7 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { if (params.containsKey(DefinitionsFactory.DEFINITIONS_CONFIG)) { return TextParseUtil.commaDelimitedStringToSet(params.get(DefinitionsFactory.DEFINITIONS_CONFIG)); } -return TextParseUtil.commaDelimitedStringToSet(TILES_DEFAULT_PATTERN); +return TILES_DEFAULT_PATTERNS; } protected ELAttributeEvaluator createELEvaluator(ApplicationContext applicationContext) { diff --git a/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java new file mode 100644 index 0..58029f964 --- /dev/null +++ b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java @@ -0,0 +1,127 @@ +/* + * 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 owner
(struts) branch feature/WW-5402-autoload-classptah updated (a8a9e6d73 -> fcde5a25a)
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a change to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git discard a8a9e6d73 WW-5402 Auto loads Tiles definitions from classpath new fcde5a25a WW-5402 Auto loads Tiles definitions from classpath This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (a8a9e6d73) \ N -- N -- N refs/heads/feature/WW-5402-autoload-classptah (fcde5a25a) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java | 7 +++ 1 file changed, 7 insertions(+)
(struts) 01/01: WW-5402 Auto loads Tiles definitions from classpath
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git commit fcde5a25a82caf937cc505d06fc33641bc68b177 Author: Lukasz Lenart AuthorDate: Sun Mar 24 11:29:12 2024 +0100 WW-5402 Auto loads Tiles definitions from classpath --- plugins/tiles/pom.xml | 3 - .../struts2/tiles/StrutsTilesContainerFactory.java | 25 ++-- .../tiles/StrutsTilesContainerFactoryTest.java | 134 + 3 files changed, 152 insertions(+), 10 deletions(-) diff --git a/plugins/tiles/pom.xml b/plugins/tiles/pom.xml index 440f6ee79..1a6caf2c1 100644 --- a/plugins/tiles/pom.xml +++ b/plugins/tiles/pom.xml @@ -35,9 +35,6 @@ build-autotags - -true - diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java index 205476467..aba4e5985 100644 --- a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java +++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java @@ -25,11 +25,6 @@ import ognl.PropertyAccessor; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.tiles.api.TilesContainer; -import org.apache.tiles.request.ApplicationContext; -import org.apache.tiles.request.ApplicationResource; -import org.apache.tiles.request.Request; -import org.apache.tiles.request.render.BasicRendererFactory; -import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.core.definition.DefinitionsFactory; import org.apache.tiles.core.definition.pattern.DefinitionPatternMatcherFactory; import org.apache.tiles.core.definition.pattern.PatternDefinitionResolver; @@ -57,6 +52,11 @@ import org.apache.tiles.ognl.PropertyAccessorDelegateFactory; import org.apache.tiles.ognl.ScopePropertyAccessor; import org.apache.tiles.ognl.TilesApplicationContextNestedObjectExtractor; import org.apache.tiles.ognl.TilesContextPropertyAccessorDelegateFactory; +import org.apache.tiles.request.ApplicationContext; +import org.apache.tiles.request.ApplicationResource; +import org.apache.tiles.request.Request; +import org.apache.tiles.request.render.BasicRendererFactory; +import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.request.render.Renderer; import javax.el.ArrayELResolver; @@ -69,6 +69,7 @@ import javax.el.ResourceBundleELResolver; import javax.servlet.jsp.JspFactory; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; @@ -100,10 +101,20 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { public static final String PATTERN_WILDCARD = "WILDCARD"; public static final String PATTERN_REGEXP = "REGEXP"; +/** + * Default pattern to be used to collect Tiles definitions if user didn't configure any + * @deprecated use {@link #TILES_DEFAULT_PATTERNS} instead + */ +@Deprecated +public static final String TILES_DEFAULT_PATTERN = "/WEB-INF/**/tiles*.xml,classpath*:META-INF/**/tiles*.xml"; + /** * Default pattern to be used to collect Tiles definitions if user didn't configure any */ -public static final String TILES_DEFAULT_PATTERN = "tiles*.xml"; +public static final Set TILES_DEFAULT_PATTERNS = new HashSet() {{ +add("/WEB-INF/**/tiles*.xml"); +add("classpath*:META-INF/**/tiles*.xml"); +}}; /** * Supported expression languages @@ -213,7 +224,7 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { if (params.containsKey(DefinitionsFactory.DEFINITIONS_CONFIG)) { return TextParseUtil.commaDelimitedStringToSet(params.get(DefinitionsFactory.DEFINITIONS_CONFIG)); } -return TextParseUtil.commaDelimitedStringToSet(TILES_DEFAULT_PATTERN); +return TILES_DEFAULT_PATTERNS; } protected ELAttributeEvaluator createELEvaluator(ApplicationContext applicationContext) { diff --git a/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java new file mode 100644 index 0..890403e8a --- /dev/null +++ b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java @@ -0,0 +1,134 @@ +/* + * 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 owner
(struts) branch feature/WW-5402-autoload-classptah updated (fcde5a25a -> 67b26901d)
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a change to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git discard fcde5a25a WW-5402 Auto loads Tiles definitions from classpath new 67b26901d WW-5402 Auto loads Tiles definitions from classpath This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (fcde5a25a) \ N -- N -- N refs/heads/feature/WW-5402-autoload-classptah (67b26901d) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
(struts) 01/01: WW-5402 Auto loads Tiles definitions from classpath
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git commit 67b26901dfc303c47a54f2296adbdcdb2146614f Author: Lukasz Lenart AuthorDate: Sun Mar 24 11:29:12 2024 +0100 WW-5402 Auto loads Tiles definitions from classpath --- plugins/tiles/pom.xml | 3 - .../struts2/tiles/StrutsTilesContainerFactory.java | 25 ++-- .../tiles/StrutsTilesContainerFactoryTest.java | 135 + 3 files changed, 153 insertions(+), 10 deletions(-) diff --git a/plugins/tiles/pom.xml b/plugins/tiles/pom.xml index 440f6ee79..1a6caf2c1 100644 --- a/plugins/tiles/pom.xml +++ b/plugins/tiles/pom.xml @@ -35,9 +35,6 @@ build-autotags - -true - diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java index 205476467..aba4e5985 100644 --- a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java +++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java @@ -25,11 +25,6 @@ import ognl.PropertyAccessor; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.tiles.api.TilesContainer; -import org.apache.tiles.request.ApplicationContext; -import org.apache.tiles.request.ApplicationResource; -import org.apache.tiles.request.Request; -import org.apache.tiles.request.render.BasicRendererFactory; -import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.core.definition.DefinitionsFactory; import org.apache.tiles.core.definition.pattern.DefinitionPatternMatcherFactory; import org.apache.tiles.core.definition.pattern.PatternDefinitionResolver; @@ -57,6 +52,11 @@ import org.apache.tiles.ognl.PropertyAccessorDelegateFactory; import org.apache.tiles.ognl.ScopePropertyAccessor; import org.apache.tiles.ognl.TilesApplicationContextNestedObjectExtractor; import org.apache.tiles.ognl.TilesContextPropertyAccessorDelegateFactory; +import org.apache.tiles.request.ApplicationContext; +import org.apache.tiles.request.ApplicationResource; +import org.apache.tiles.request.Request; +import org.apache.tiles.request.render.BasicRendererFactory; +import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.request.render.Renderer; import javax.el.ArrayELResolver; @@ -69,6 +69,7 @@ import javax.el.ResourceBundleELResolver; import javax.servlet.jsp.JspFactory; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; @@ -100,10 +101,20 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { public static final String PATTERN_WILDCARD = "WILDCARD"; public static final String PATTERN_REGEXP = "REGEXP"; +/** + * Default pattern to be used to collect Tiles definitions if user didn't configure any + * @deprecated use {@link #TILES_DEFAULT_PATTERNS} instead + */ +@Deprecated +public static final String TILES_DEFAULT_PATTERN = "/WEB-INF/**/tiles*.xml,classpath*:META-INF/**/tiles*.xml"; + /** * Default pattern to be used to collect Tiles definitions if user didn't configure any */ -public static final String TILES_DEFAULT_PATTERN = "tiles*.xml"; +public static final Set TILES_DEFAULT_PATTERNS = new HashSet() {{ +add("/WEB-INF/**/tiles*.xml"); +add("classpath*:META-INF/**/tiles*.xml"); +}}; /** * Supported expression languages @@ -213,7 +224,7 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { if (params.containsKey(DefinitionsFactory.DEFINITIONS_CONFIG)) { return TextParseUtil.commaDelimitedStringToSet(params.get(DefinitionsFactory.DEFINITIONS_CONFIG)); } -return TextParseUtil.commaDelimitedStringToSet(TILES_DEFAULT_PATTERN); +return TILES_DEFAULT_PATTERNS; } protected ELAttributeEvaluator createELEvaluator(ApplicationContext applicationContext) { diff --git a/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java new file mode 100644 index 0..5b033b493 --- /dev/null +++ b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java @@ -0,0 +1,135 @@ +/* + * 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 owner
(struts) 01/01: WW-5402 Auto loads Tiles definitions from classpath
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git commit 7c69765ddb26ca2585ee91ba08f05ca7bbdc70cc Author: Lukasz Lenart AuthorDate: Sun Mar 24 11:29:12 2024 +0100 WW-5402 Auto loads Tiles definitions from classpath --- plugins/tiles/pom.xml | 3 - .../struts2/tiles/StrutsTilesContainerFactory.java | 25 ++-- .../tiles/StrutsTilesContainerFactoryTest.java | 134 + 3 files changed, 152 insertions(+), 10 deletions(-) diff --git a/plugins/tiles/pom.xml b/plugins/tiles/pom.xml index 440f6ee79..1a6caf2c1 100644 --- a/plugins/tiles/pom.xml +++ b/plugins/tiles/pom.xml @@ -35,9 +35,6 @@ build-autotags - -true - diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java index 205476467..d1b1a4f52 100644 --- a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java +++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java @@ -25,11 +25,6 @@ import ognl.PropertyAccessor; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.tiles.api.TilesContainer; -import org.apache.tiles.request.ApplicationContext; -import org.apache.tiles.request.ApplicationResource; -import org.apache.tiles.request.Request; -import org.apache.tiles.request.render.BasicRendererFactory; -import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.core.definition.DefinitionsFactory; import org.apache.tiles.core.definition.pattern.DefinitionPatternMatcherFactory; import org.apache.tiles.core.definition.pattern.PatternDefinitionResolver; @@ -57,6 +52,11 @@ import org.apache.tiles.ognl.PropertyAccessorDelegateFactory; import org.apache.tiles.ognl.ScopePropertyAccessor; import org.apache.tiles.ognl.TilesApplicationContextNestedObjectExtractor; import org.apache.tiles.ognl.TilesContextPropertyAccessorDelegateFactory; +import org.apache.tiles.request.ApplicationContext; +import org.apache.tiles.request.ApplicationResource; +import org.apache.tiles.request.Request; +import org.apache.tiles.request.render.BasicRendererFactory; +import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.request.render.Renderer; import javax.el.ArrayELResolver; @@ -69,6 +69,7 @@ import javax.el.ResourceBundleELResolver; import javax.servlet.jsp.JspFactory; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; @@ -100,10 +101,20 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { public static final String PATTERN_WILDCARD = "WILDCARD"; public static final String PATTERN_REGEXP = "REGEXP"; +/** + * Default pattern to be used to collect Tiles definitions if user didn't configure any + * @deprecated since Struts 6.4.0, use {@link #TILES_DEFAULT_PATTERNS} instead + */ +@Deprecated +public static final String TILES_DEFAULT_PATTERN = "/WEB-INF/**/tiles*.xml,classpath*:META-INF/**/tiles*.xml"; + /** * Default pattern to be used to collect Tiles definitions if user didn't configure any */ -public static final String TILES_DEFAULT_PATTERN = "tiles*.xml"; +public static final Set TILES_DEFAULT_PATTERNS = new HashSet() {{ +add("/WEB-INF/**/tiles*.xml"); +add("classpath*:META-INF/**/tiles*.xml"); +}}; /** * Supported expression languages @@ -213,7 +224,7 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { if (params.containsKey(DefinitionsFactory.DEFINITIONS_CONFIG)) { return TextParseUtil.commaDelimitedStringToSet(params.get(DefinitionsFactory.DEFINITIONS_CONFIG)); } -return TextParseUtil.commaDelimitedStringToSet(TILES_DEFAULT_PATTERN); +return TILES_DEFAULT_PATTERNS; } protected ELAttributeEvaluator createELEvaluator(ApplicationContext applicationContext) { diff --git a/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java new file mode 100644 index 0..bc4fd7331 --- /dev/null +++ b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java @@ -0,0 +1,134 @@ +/* + * 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 + * rega
(struts) branch feature/WW-5402-autoload-classptah updated (67b26901d -> 7c69765dd)
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a change to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git discard 67b26901d WW-5402 Auto loads Tiles definitions from classpath new 7c69765dd WW-5402 Auto loads Tiles definitions from classpath This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (67b26901d) \ N -- N -- N refs/heads/feature/WW-5402-autoload-classptah (7c69765dd) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java | 2 +- .../org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java| 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-)
(struts) branch master updated (86aee4b0e -> cdc931e26)
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/struts.git from 86aee4b0e Merge pull request #894 from apache/WW-5364-npe add db0bd4385 Converts multiple file uploads example to use Action based upload new cdc931e26 Merge pull request #895 from apache/fix/file-uploads The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../MultipleFileUploadUsingArrayAction.java| 82 +--- .../MultipleFileUploadUsingListAction.java | 88 ++ 2 files changed, 76 insertions(+), 94 deletions(-)
(struts) 01/01: Merge pull request #895 from apache/fix/file-uploads
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/struts.git commit cdc931e26f3fc467e7d29fa43477f137922bfe08 Merge: 86aee4b0e db0bd4385 Author: Lukasz Lenart AuthorDate: Sun Mar 24 09:06:46 2024 +0100 Merge pull request #895 from apache/fix/file-uploads Converts multiple file uploads example to use Action based upload .../MultipleFileUploadUsingArrayAction.java| 82 +--- .../MultipleFileUploadUsingListAction.java | 88 ++ 2 files changed, 76 insertions(+), 94 deletions(-)
(struts) branch fix/file-uploads deleted (was db0bd4385)
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a change to branch fix/file-uploads in repository https://gitbox.apache.org/repos/asf/struts.git was db0bd4385 Converts multiple file uploads example to use Action based upload The revisions that were on this branch are still contained in other references; therefore, this change does not discard any commits from the repository.
(struts) 01/01: WW-5402 Auto loads Tiles definitions from classpath
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git commit a3fbb7ce80f68f94fbb1e304f2a1956b6831b9de Author: Lukasz Lenart AuthorDate: Sun Mar 24 11:29:12 2024 +0100 WW-5402 Auto loads Tiles definitions from classpath --- .../struts2/tiles/StrutsTilesContainerFactory.java | 25 +++-- .../tiles/StrutsTilesContainerFactoryTest.java | 106 + 2 files changed, 124 insertions(+), 7 deletions(-) diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java index 205476467..aba4e5985 100644 --- a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java +++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java @@ -25,11 +25,6 @@ import ognl.PropertyAccessor; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.tiles.api.TilesContainer; -import org.apache.tiles.request.ApplicationContext; -import org.apache.tiles.request.ApplicationResource; -import org.apache.tiles.request.Request; -import org.apache.tiles.request.render.BasicRendererFactory; -import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.core.definition.DefinitionsFactory; import org.apache.tiles.core.definition.pattern.DefinitionPatternMatcherFactory; import org.apache.tiles.core.definition.pattern.PatternDefinitionResolver; @@ -57,6 +52,11 @@ import org.apache.tiles.ognl.PropertyAccessorDelegateFactory; import org.apache.tiles.ognl.ScopePropertyAccessor; import org.apache.tiles.ognl.TilesApplicationContextNestedObjectExtractor; import org.apache.tiles.ognl.TilesContextPropertyAccessorDelegateFactory; +import org.apache.tiles.request.ApplicationContext; +import org.apache.tiles.request.ApplicationResource; +import org.apache.tiles.request.Request; +import org.apache.tiles.request.render.BasicRendererFactory; +import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.request.render.Renderer; import javax.el.ArrayELResolver; @@ -69,6 +69,7 @@ import javax.el.ResourceBundleELResolver; import javax.servlet.jsp.JspFactory; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; @@ -100,10 +101,20 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { public static final String PATTERN_WILDCARD = "WILDCARD"; public static final String PATTERN_REGEXP = "REGEXP"; +/** + * Default pattern to be used to collect Tiles definitions if user didn't configure any + * @deprecated use {@link #TILES_DEFAULT_PATTERNS} instead + */ +@Deprecated +public static final String TILES_DEFAULT_PATTERN = "/WEB-INF/**/tiles*.xml,classpath*:META-INF/**/tiles*.xml"; + /** * Default pattern to be used to collect Tiles definitions if user didn't configure any */ -public static final String TILES_DEFAULT_PATTERN = "tiles*.xml"; +public static final Set TILES_DEFAULT_PATTERNS = new HashSet() {{ +add("/WEB-INF/**/tiles*.xml"); +add("classpath*:META-INF/**/tiles*.xml"); +}}; /** * Supported expression languages @@ -213,7 +224,7 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { if (params.containsKey(DefinitionsFactory.DEFINITIONS_CONFIG)) { return TextParseUtil.commaDelimitedStringToSet(params.get(DefinitionsFactory.DEFINITIONS_CONFIG)); } -return TextParseUtil.commaDelimitedStringToSet(TILES_DEFAULT_PATTERN); +return TILES_DEFAULT_PATTERNS; } protected ELAttributeEvaluator createELEvaluator(ApplicationContext applicationContext) { diff --git a/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java new file mode 100644 index 0..f9859d34e --- /dev/null +++ b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java @@ -0,0 +1,106 @@ +package org.apache.struts2.tiles; + +import org.apache.tiles.api.TilesContainer; +import org.apache.tiles.core.evaluator.AttributeEvaluatorFactory; +import org.apache.tiles.core.evaluator.impl.DirectAttributeEvaluator; +import org.apache.tiles.core.locale.LocaleResolver; +import org.apache.tiles.core.prepare.factory.BasicPreparerFactory; +import org.apache.tiles.core.prepare.factory.PreparerFactory; +import org.apache.tiles.ognl.OGNLAttributeEvaluator; +import org.apache.tiles.request.ApplicationContext; +import org.apache.tiles.request.ApplicationResource; +import org.apache.tiles.requ
(struts) branch feature/WW-5402-autoload-classptah created (now a3fbb7ce8)
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a change to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git at a3fbb7ce8 WW-5402 Auto loads Tiles definitions from classpath This branch includes the following new commits: new a3fbb7ce8 WW-5402 Auto loads Tiles definitions from classpath The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
(struts) branch feature/WW-5402-autoload-classptah updated (a3fbb7ce8 -> cce69476e)
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a change to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git discard a3fbb7ce8 WW-5402 Auto loads Tiles definitions from classpath new cce69476e WW-5402 Auto loads Tiles definitions from classpath This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (a3fbb7ce8) \ N -- N -- N refs/heads/feature/WW-5402-autoload-classptah (cce69476e) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../struts2/tiles/StrutsTilesContainerFactoryTest.java | 16 +++- 1 file changed, 7 insertions(+), 9 deletions(-)
(struts) 01/01: WW-5402 Auto loads Tiles definitions from classpath
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git commit cce69476e188d35163fa1a3e439311c341a56fff Author: Lukasz Lenart AuthorDate: Sun Mar 24 11:29:12 2024 +0100 WW-5402 Auto loads Tiles definitions from classpath --- .../struts2/tiles/StrutsTilesContainerFactory.java | 25 +++-- .../tiles/StrutsTilesContainerFactoryTest.java | 104 + 2 files changed, 122 insertions(+), 7 deletions(-) diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java index 205476467..aba4e5985 100644 --- a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java +++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java @@ -25,11 +25,6 @@ import ognl.PropertyAccessor; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.tiles.api.TilesContainer; -import org.apache.tiles.request.ApplicationContext; -import org.apache.tiles.request.ApplicationResource; -import org.apache.tiles.request.Request; -import org.apache.tiles.request.render.BasicRendererFactory; -import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.core.definition.DefinitionsFactory; import org.apache.tiles.core.definition.pattern.DefinitionPatternMatcherFactory; import org.apache.tiles.core.definition.pattern.PatternDefinitionResolver; @@ -57,6 +52,11 @@ import org.apache.tiles.ognl.PropertyAccessorDelegateFactory; import org.apache.tiles.ognl.ScopePropertyAccessor; import org.apache.tiles.ognl.TilesApplicationContextNestedObjectExtractor; import org.apache.tiles.ognl.TilesContextPropertyAccessorDelegateFactory; +import org.apache.tiles.request.ApplicationContext; +import org.apache.tiles.request.ApplicationResource; +import org.apache.tiles.request.Request; +import org.apache.tiles.request.render.BasicRendererFactory; +import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.request.render.Renderer; import javax.el.ArrayELResolver; @@ -69,6 +69,7 @@ import javax.el.ResourceBundleELResolver; import javax.servlet.jsp.JspFactory; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; @@ -100,10 +101,20 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { public static final String PATTERN_WILDCARD = "WILDCARD"; public static final String PATTERN_REGEXP = "REGEXP"; +/** + * Default pattern to be used to collect Tiles definitions if user didn't configure any + * @deprecated use {@link #TILES_DEFAULT_PATTERNS} instead + */ +@Deprecated +public static final String TILES_DEFAULT_PATTERN = "/WEB-INF/**/tiles*.xml,classpath*:META-INF/**/tiles*.xml"; + /** * Default pattern to be used to collect Tiles definitions if user didn't configure any */ -public static final String TILES_DEFAULT_PATTERN = "tiles*.xml"; +public static final Set TILES_DEFAULT_PATTERNS = new HashSet() {{ +add("/WEB-INF/**/tiles*.xml"); +add("classpath*:META-INF/**/tiles*.xml"); +}}; /** * Supported expression languages @@ -213,7 +224,7 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { if (params.containsKey(DefinitionsFactory.DEFINITIONS_CONFIG)) { return TextParseUtil.commaDelimitedStringToSet(params.get(DefinitionsFactory.DEFINITIONS_CONFIG)); } -return TextParseUtil.commaDelimitedStringToSet(TILES_DEFAULT_PATTERN); +return TILES_DEFAULT_PATTERNS; } protected ELAttributeEvaluator createELEvaluator(ApplicationContext applicationContext) { diff --git a/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java new file mode 100644 index 0..017839bb7 --- /dev/null +++ b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java @@ -0,0 +1,104 @@ +package org.apache.struts2.tiles; + +import org.apache.tiles.api.TilesContainer; +import org.apache.tiles.core.evaluator.AttributeEvaluatorFactory; +import org.apache.tiles.core.evaluator.impl.DirectAttributeEvaluator; +import org.apache.tiles.core.locale.LocaleResolver; +import org.apache.tiles.core.prepare.factory.BasicPreparerFactory; +import org.apache.tiles.core.prepare.factory.PreparerFactory; +import org.apache.tiles.ognl.OGNLAttributeEvaluator; +import org.apache.tiles.request.ApplicationContext; +import org.apache.tiles.request.ApplicationResource; +import org.apache.tiles.requ
(struts) 01/01: WW-5402 Auto loads Tiles definitions from classpath
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git commit f958d87e8e1cb1d694b4dbdd92d775abfd5528c5 Author: Lukasz Lenart AuthorDate: Sun Mar 24 11:29:12 2024 +0100 WW-5402 Auto loads Tiles definitions from classpath --- .../struts2/tiles/StrutsTilesContainerFactory.java | 25 +++-- .../tiles/StrutsTilesContainerFactoryTest.java | 122 + 2 files changed, 140 insertions(+), 7 deletions(-) diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java index 205476467..aba4e5985 100644 --- a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java +++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java @@ -25,11 +25,6 @@ import ognl.PropertyAccessor; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.tiles.api.TilesContainer; -import org.apache.tiles.request.ApplicationContext; -import org.apache.tiles.request.ApplicationResource; -import org.apache.tiles.request.Request; -import org.apache.tiles.request.render.BasicRendererFactory; -import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.core.definition.DefinitionsFactory; import org.apache.tiles.core.definition.pattern.DefinitionPatternMatcherFactory; import org.apache.tiles.core.definition.pattern.PatternDefinitionResolver; @@ -57,6 +52,11 @@ import org.apache.tiles.ognl.PropertyAccessorDelegateFactory; import org.apache.tiles.ognl.ScopePropertyAccessor; import org.apache.tiles.ognl.TilesApplicationContextNestedObjectExtractor; import org.apache.tiles.ognl.TilesContextPropertyAccessorDelegateFactory; +import org.apache.tiles.request.ApplicationContext; +import org.apache.tiles.request.ApplicationResource; +import org.apache.tiles.request.Request; +import org.apache.tiles.request.render.BasicRendererFactory; +import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.request.render.Renderer; import javax.el.ArrayELResolver; @@ -69,6 +69,7 @@ import javax.el.ResourceBundleELResolver; import javax.servlet.jsp.JspFactory; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; @@ -100,10 +101,20 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { public static final String PATTERN_WILDCARD = "WILDCARD"; public static final String PATTERN_REGEXP = "REGEXP"; +/** + * Default pattern to be used to collect Tiles definitions if user didn't configure any + * @deprecated use {@link #TILES_DEFAULT_PATTERNS} instead + */ +@Deprecated +public static final String TILES_DEFAULT_PATTERN = "/WEB-INF/**/tiles*.xml,classpath*:META-INF/**/tiles*.xml"; + /** * Default pattern to be used to collect Tiles definitions if user didn't configure any */ -public static final String TILES_DEFAULT_PATTERN = "tiles*.xml"; +public static final Set TILES_DEFAULT_PATTERNS = new HashSet() {{ +add("/WEB-INF/**/tiles*.xml"); +add("classpath*:META-INF/**/tiles*.xml"); +}}; /** * Supported expression languages @@ -213,7 +224,7 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { if (params.containsKey(DefinitionsFactory.DEFINITIONS_CONFIG)) { return TextParseUtil.commaDelimitedStringToSet(params.get(DefinitionsFactory.DEFINITIONS_CONFIG)); } -return TextParseUtil.commaDelimitedStringToSet(TILES_DEFAULT_PATTERN); +return TILES_DEFAULT_PATTERNS; } protected ELAttributeEvaluator createELEvaluator(ApplicationContext applicationContext) { diff --git a/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java new file mode 100644 index 0..d8c7e6916 --- /dev/null +++ b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java @@ -0,0 +1,122 @@ +/* + * 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
(struts) branch feature/WW-5402-autoload-classptah updated (cce69476e -> f958d87e8)
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a change to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git discard cce69476e WW-5402 Auto loads Tiles definitions from classpath new f958d87e8 WW-5402 Auto loads Tiles definitions from classpath This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (cce69476e) \ N -- N -- N refs/heads/feature/WW-5402-autoload-classptah (f958d87e8) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../struts2/tiles/StrutsTilesContainerFactoryTest.java | 18 ++ 1 file changed, 18 insertions(+)
(struts) 01/01: WW-5402 Auto loads Tiles definitions from classpath
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git commit 0f4ef3c2f689e901955989913232ab47eae7b0cf Author: Lukasz Lenart AuthorDate: Sun Mar 24 11:29:12 2024 +0100 WW-5402 Auto loads Tiles definitions from classpath --- plugins/tiles/pom.xml | 3 - .../struts2/tiles/StrutsTilesContainerFactory.java | 25 +++-- .../tiles/StrutsTilesContainerFactoryTest.java | 125 + 3 files changed, 143 insertions(+), 10 deletions(-) diff --git a/plugins/tiles/pom.xml b/plugins/tiles/pom.xml index 440f6ee79..1a6caf2c1 100644 --- a/plugins/tiles/pom.xml +++ b/plugins/tiles/pom.xml @@ -35,9 +35,6 @@ build-autotags - -true - diff --git a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java index 205476467..aba4e5985 100644 --- a/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java +++ b/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java @@ -25,11 +25,6 @@ import ognl.PropertyAccessor; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.apache.tiles.api.TilesContainer; -import org.apache.tiles.request.ApplicationContext; -import org.apache.tiles.request.ApplicationResource; -import org.apache.tiles.request.Request; -import org.apache.tiles.request.render.BasicRendererFactory; -import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.core.definition.DefinitionsFactory; import org.apache.tiles.core.definition.pattern.DefinitionPatternMatcherFactory; import org.apache.tiles.core.definition.pattern.PatternDefinitionResolver; @@ -57,6 +52,11 @@ import org.apache.tiles.ognl.PropertyAccessorDelegateFactory; import org.apache.tiles.ognl.ScopePropertyAccessor; import org.apache.tiles.ognl.TilesApplicationContextNestedObjectExtractor; import org.apache.tiles.ognl.TilesContextPropertyAccessorDelegateFactory; +import org.apache.tiles.request.ApplicationContext; +import org.apache.tiles.request.ApplicationResource; +import org.apache.tiles.request.Request; +import org.apache.tiles.request.render.BasicRendererFactory; +import org.apache.tiles.request.render.ChainedDelegateRenderer; import org.apache.tiles.request.render.Renderer; import javax.el.ArrayELResolver; @@ -69,6 +69,7 @@ import javax.el.ResourceBundleELResolver; import javax.servlet.jsp.JspFactory; import java.util.ArrayList; import java.util.Collection; +import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; @@ -100,10 +101,20 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { public static final String PATTERN_WILDCARD = "WILDCARD"; public static final String PATTERN_REGEXP = "REGEXP"; +/** + * Default pattern to be used to collect Tiles definitions if user didn't configure any + * @deprecated use {@link #TILES_DEFAULT_PATTERNS} instead + */ +@Deprecated +public static final String TILES_DEFAULT_PATTERN = "/WEB-INF/**/tiles*.xml,classpath*:META-INF/**/tiles*.xml"; + /** * Default pattern to be used to collect Tiles definitions if user didn't configure any */ -public static final String TILES_DEFAULT_PATTERN = "tiles*.xml"; +public static final Set TILES_DEFAULT_PATTERNS = new HashSet() {{ +add("/WEB-INF/**/tiles*.xml"); +add("classpath*:META-INF/**/tiles*.xml"); +}}; /** * Supported expression languages @@ -213,7 +224,7 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory { if (params.containsKey(DefinitionsFactory.DEFINITIONS_CONFIG)) { return TextParseUtil.commaDelimitedStringToSet(params.get(DefinitionsFactory.DEFINITIONS_CONFIG)); } -return TextParseUtil.commaDelimitedStringToSet(TILES_DEFAULT_PATTERN); +return TILES_DEFAULT_PATTERNS; } protected ELAttributeEvaluator createELEvaluator(ApplicationContext applicationContext) { diff --git a/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java new file mode 100644 index 0..f40a17413 --- /dev/null +++ b/plugins/tiles/src/test/java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java @@ -0,0 +1,125 @@ +/* + * 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 owne
(struts) branch feature/WW-5402-autoload-classptah updated (f958d87e8 -> 0f4ef3c2f)
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a change to branch feature/WW-5402-autoload-classptah in repository https://gitbox.apache.org/repos/asf/struts.git discard f958d87e8 WW-5402 Auto loads Tiles definitions from classpath new 0f4ef3c2f WW-5402 Auto loads Tiles definitions from classpath This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (f958d87e8) \ N -- N -- N refs/heads/feature/WW-5402-autoload-classptah (0f4ef3c2f) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: plugins/tiles/pom.xml | 3 --- .../java/org/apache/struts2/tiles/StrutsTilesContainerFactoryTest.java | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-)
(struts-site) branch fix/file-upload-navigation updated (3dfff5792 -> bb53f2be5)
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a change to branch fix/file-upload-navigation in repository https://gitbox.apache.org/repos/asf/struts-site.git discard 3dfff5792 Adds example with supporting multiple file uploads new bb53f2be5 Adds example with supporting multiple file uploads This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (3dfff5792) \ N -- N -- N refs/heads/fix/file-upload-navigation (bb53f2be5) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: source/core-developers/action-file-upload-interceptor.md | 2 ++ source/core-developers/file-upload-interceptor.md| 2 ++ 2 files changed, 4 insertions(+)
(struts-site) 01/01: Adds example with supporting multiple file uploads
This is an automated email from the ASF dual-hosted git repository. lukaszlenart pushed a commit to branch fix/file-upload-navigation in repository https://gitbox.apache.org/repos/asf/struts-site.git commit bb53f2be57d8f6428f46e0b97b60ea83aadacd9d Author: Lukasz Lenart AuthorDate: Sun Mar 17 17:44:44 2024 +0100 Adds example with supporting multiple file uploads --- .../action-file-upload-interceptor.md | 2 + source/core-developers/action-file-upload.md | 63 ++ source/core-developers/file-upload-interceptor.md | 2 + 3 files changed, 56 insertions(+), 11 deletions(-) diff --git a/source/core-developers/action-file-upload-interceptor.md b/source/core-developers/action-file-upload-interceptor.md index 0096c07ae..aa3a89d73 100644 --- a/source/core-developers/action-file-upload-interceptor.md +++ b/source/core-developers/action-file-upload-interceptor.md @@ -51,6 +51,8 @@ and which are not. ## Examples +See [this page](action-file-upload) for more examples and advanced configuration. + **Example action mapping:** ```xml diff --git a/source/core-developers/action-file-upload.md b/source/core-developers/action-file-upload.md index 94f93950d..511cd440c 100644 --- a/source/core-developers/action-file-upload.md +++ b/source/core-developers/action-file-upload.md @@ -53,8 +53,8 @@ example: ``` -The actionFileUpload interceptor will use a dedicated interface `org.apache.struts2.action.UploadedFilesAware` to transfer -information and content of uploaded file. Your action should implement the interface to receive the uploaded file: +The **actionFileUpload** interceptor will use a dedicated interface `org.apache.struts2.action.UploadedFilesAware` +to transfer information and content of uploaded file. Your action should implement the interface to receive the uploaded file: ```java public class UploadAction extends ActionSupport implements UploadedFilesAware { @@ -86,16 +86,13 @@ public class UploadAction extends ActionSupport implements UploadedFilesAware { As mentioned in the previous section one technique for uploading multiple files would be to simply have multiple form input elements of type file all with different names. This would require a number of setter methods that was equal to 3 times the number of files being uploaded. Another option is to use Arrays or java.util.Lists. The following examples are -taken from the Showcase example application that is part sample applications you can download -at [http://struts.apache.org/download.cgi](http://struts.apache.org/download.cgi). For the Action mapping details -see `struts-fileupload.xml` in the sample application download. +taken from the Showcase example application that is part sample applications you can download at [download](http://struts.apache.org/download.cgi). +For the Action mapping details see `struts-fileupload.xml` in the sample application download. -### Uploading Multiple Files using Arrays - -`multipleUploadUsingArray.jsp` Notice all file input types have the same name. +`multipleUploadUsingList.jsp` Notice all file input types have the same name. ```html - + @@ -103,8 +100,52 @@ see `struts-fileupload.xml` in the sample application download. ``` -The `org.apache.struts2.action.UploadedFilesAware` interface already supports uploading multiple files, you do not need -to follow the below example. +The `org.apache.struts2.action.UploadedFilesAware` interface already supports uploading multiple files: + +```java +public class MultipleFileUploadUsingListAction extends ActionSupport implements UploadedFilesAware { + +private List uploads = new ArrayList<>(); + +public List getUpload() { +return this.uploads; +} + +@Override +public void withUploadedFiles(List uploads) { +this.uploads = uploads; +} + +private List getUploadFileNames() { +return this.uploads.stream() +.map(UploadedFile::getOriginalName) +.collect(Collectors.toList()); +} + +private List getUploadContentTypes() { +return this.uploads.stream() +.map(UploadedFile::getContentType) +.collect(Collectors.toList()); +} + +public String execute() throws Exception { +System.out.println("files:"); +for (UploadedFile u : uploads) { +System.out.println("*** " + u + "\t" + u.length()); +} +System.out.println("filenames:"); +for (String n : getUploadFileNames()) { +System.out.println("*** " + n); +} +System.out.println("content types:"); +for (String c : getUploadContentTypes()) { +System.out.println("*** " + c); +} +System.out.println("\n\n"); +return SUCCESS; +} +} +``` ## Advanced Configuration diff --git a/source/core-developers/file-upload-interceptor.md b/source/core-developers/file-upload-interceptor.md ind