You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by ap...@apache.org on 2006/12/18 13:48:13 UTC

svn commit: r488258 - /struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/TilesContainerFactory.java

Author: apetrelli
Date: Mon Dec 18 04:48:12 2006
New Revision: 488258

URL: http://svn.apache.org/viewvc?view=rev&rev=488258
Log:
SB-101
Better use of defaults.

Modified:
    struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/TilesContainerFactory.java

Modified: struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/TilesContainerFactory.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/TilesContainerFactory.java?view=diff&rev=488258&r1=488257&r2=488258
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/TilesContainerFactory.java (original)
+++ struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/TilesContainerFactory.java Mon Dec 18 04:48:12 2006
@@ -75,6 +75,9 @@
         DEFAULTS.put(DEFINITIONS_FACTORY_INIT_PARAM, UrlDefinitionsFactory.class.getName());
         DEFAULTS.put(PREPARER_FACTORY_INIT_PARAM, BasicPreparerFactory.class.getName());
     }
+    
+    private Map<String, String> defaults =
+        new HashMap<String, String>(DEFAULTS);
 
     /**
      * Retrieve a factory instance as configured through the
@@ -113,8 +116,11 @@
      */
     public static TilesContainerFactory getFactory(Object context,
     		Map<String, String> defaults) throws TilesException {
-        return (TilesContainerFactory) TilesContainerFactory
-            .createFactory(context, CONTAINER_FACTORY_INIT_PARAM, defaults);
+        TilesContainerFactory factory =
+            (TilesContainerFactory) TilesContainerFactory.createFactory(context,
+                    CONTAINER_FACTORY_INIT_PARAM, defaults);
+        factory.setDefaults(defaults);
+        return factory;
     }
 
     public TilesContainer createContainer(Object context) throws TilesException {
@@ -125,34 +131,33 @@
             return createTilesContainer(context);
         }
     }
+    
+    public void setDefaults(Map<String, String> defaults) {
+        if (defaults != null) {
+            this.defaults.putAll(defaults);
+        }
+    }
+    
+    public void setDefaultValue(String key, String value) {
+        this.defaults.put(key, value);
+    }
 
     public TilesContainer createTilesContainer(Object context)
         throws TilesException {
-        return createTilesContainer(context, DEFAULTS);
-    }
-
-    public TilesContainer createTilesContainer(Object context,
-    		Map<String, String> defaults) throws TilesException {
         BasicTilesContainer container = new BasicTilesContainer();
-        initializeContainer(context, container, defaults);
+        initializeContainer(context, container);
         return container;
     }
 
     public MutableTilesContainer createMutableTilesContainer(Object context)
         throws TilesException {
-    	return createMutableTilesContainer(context, DEFAULTS);
-    }
-
-    public MutableTilesContainer createMutableTilesContainer(Object context,
-    		Map<String, String> defaults) throws TilesException {
         CachingTilesContainer container = new CachingTilesContainer();
-        initializeContainer(context, container, defaults);
+        initializeContainer(context, container);
         return container;
     }
 
     protected void initializeContainer(Object context,
-                                    BasicTilesContainer container,
-                                    Map<String, String> defaults)
+                                    BasicTilesContainer container)
         throws TilesException {
 
         TilesContextFactory contextFactory =