You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2016/04/05 08:44:19 UTC

[3/3] struts git commit: Adds support for multiple tiles defintions

Adds support for multiple tiles defintions


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/c12cd619
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/c12cd619
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/c12cd619

Branch: refs/heads/master
Commit: c12cd61946c883d7cadb69d46c46a3dffb339390
Parents: cfad2f1
Author: Lukasz Lenart <lu...@apache.org>
Authored: Tue Apr 5 08:44:04 2016 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Tue Apr 5 08:44:04 2016 +0200

----------------------------------------------------------------------
 .../tiles/StrutsTilesContainerFactory.java      | 23 ++++++++++++--------
 1 file changed, 14 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/c12cd619/plugins/tiles/src/main/java/org/apache/struts2/tiles/StrutsTilesContainerFactory.java
----------------------------------------------------------------------
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 fe90d75..a8e77ce 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
@@ -19,6 +19,7 @@
 
 package org.apache.struts2.tiles;
 
+import com.opensymphony.xwork2.util.TextParseUtil;
 import ognl.OgnlException;
 import ognl.OgnlRuntime;
 import ognl.PropertyAccessor;
@@ -71,6 +72,7 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * Dedicated Struts factory to build Tiles container with support for:
@@ -176,25 +178,28 @@ public class StrutsTilesContainerFactory extends BasicTilesContainerFactory {
 
     @Override
     protected List<ApplicationResource> getSources(ApplicationContext applicationContext) {
-        Collection<ApplicationResource> resources = applicationContext.getResources(getTilesDefinitionPattern(applicationContext.getInitParams()));
+        Collection<ApplicationResource> resources = new ArrayList<>();
+
+        Set<String> definitions = getTilesDefinitions(applicationContext.getInitParams());
+        for (String definition : definitions) {
+            resources.addAll(applicationContext.getResources(definition));
+        }
 
         List<ApplicationResource> filteredResources = new ArrayList<>();
-        if (resources != null) {
-            for (ApplicationResource resource : resources) {
-                if (Locale.ROOT.equals(resource.getLocale())) {
-                    filteredResources.add(resource);
-                }
+        for (ApplicationResource resource : resources) {
+            if (Locale.ROOT.equals(resource.getLocale())) {
+                filteredResources.add(resource);
             }
         }
 
         return filteredResources;
     }
 
-    protected String getTilesDefinitionPattern(Map<String, String> params) {
+    protected Set<String> getTilesDefinitions(Map<String, String> params) {
         if (params.containsKey(DefinitionsFactory.DEFINITIONS_CONFIG)) {
-            return params.get(DefinitionsFactory.DEFINITIONS_CONFIG);
+            return TextParseUtil.commaDelimitedStringToSet(params.get(DefinitionsFactory.DEFINITIONS_CONFIG));
         }
-        return TILES_DEFAULT_PATTERN;
+        return TextParseUtil.commaDelimitedStringToSet(TILES_DEFAULT_PATTERN);
     }
 
     protected ELAttributeEvaluator createELEvaluator(ApplicationContext applicationContext) {