Author: ddewolf
Date: Tue Dec 19 06:12:02 2006
New Revision: 488686

URL: http://svn.apache.org/viewvc?view=rev&rev=488686
Log:
Small tweaks to the defaults to make it more obvious what they provide and how 
they interact with the context.

Modified:
    
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/KeyedDefinitionsFactoryTilesContainerFactory.java
    
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/KeyedDefinitionsFactoryTilesContainerFactory.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/KeyedDefinitionsFactoryTilesContainerFactory.java?view=diff&rev=488686&r1=488685&r2=488686
==============================================================================
--- 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/KeyedDefinitionsFactoryTilesContainerFactory.java
 (original)
+++ 
struts/sandbox/trunk/tiles/tiles-core/src/main/java/org/apache/tiles/factory/KeyedDefinitionsFactoryTilesContainerFactory.java
 Tue Dec 19 06:12:02 2006
@@ -71,8 +71,8 @@
                 }
 
                 DefinitionsFactory defsFactory =
-                    (DefinitionsFactory) createFactory(context,
-                            DEFINITIONS_FACTORY_INIT_PARAM, defaults);
+                    (DefinitionsFactory) 
createFactory(getInitParameterMap(context),
+                            DEFINITIONS_FACTORY_INIT_PARAM);
                 ((KeyedDefinitionsFactoryTilesContainer) container)
                         .setDefinitionsFactory(keys[i], defsFactory,
                                 initParams);

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=488686&r1=488685&r2=488686
==============================================================================
--- 
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
 Tue Dec 19 06:12:02 2006
@@ -45,8 +45,8 @@
  * This factory creates a default implementation of
  * the container, initializes, and puts it into service.
  *
- * @since 2.0
  * @version $Rev$ $Date$
+ * @since 2.0
  */
 public class TilesContainerFactory {
 
@@ -75,8 +75,8 @@
         DEFAULTS.put(DEFINITIONS_FACTORY_INIT_PARAM, 
UrlDefinitionsFactory.class.getName());
         DEFAULTS.put(PREPARER_FACTORY_INIT_PARAM, 
BasicPreparerFactory.class.getName());
     }
-    
-    protected Map<String, String> defaults =
+
+    protected Map<String, String> defaultConfiguration =
         new HashMap<String, String>(DEFAULTS);
 
     /**
@@ -115,11 +115,13 @@
      * @throws TilesException if an error occurs creating the factory.
      */
     public static TilesContainerFactory getFactory(Object context,
-               Map<String, String> defaults) throws TilesException {
+                                                   Map<String, String> 
defaults)
+        throws TilesException {
+        Map<String, String> stuff = getInitParameterMap(context);
         TilesContainerFactory factory =
-            (TilesContainerFactory) 
TilesContainerFactory.createFactory(context,
-                    CONTAINER_FACTORY_INIT_PARAM, defaults);
-        factory.setDefaults(defaults);
+            (TilesContainerFactory) TilesContainerFactory.createFactory(stuff,
+                CONTAINER_FACTORY_INIT_PARAM);
+        factory.setDefaultConfiguration(defaults);
         return factory;
     }
 
@@ -131,15 +133,15 @@
             return createTilesContainer(context);
         }
     }
-    
-    public void setDefaults(Map<String, String> defaults) {
-        if (defaults != null) {
-            this.defaults.putAll(defaults);
+
+    public void setDefaultConfiguration(Map<String, String> 
defaultConfiguration) {
+        if (defaultConfiguration != null) {
+            this.defaultConfiguration.putAll(defaultConfiguration);
         }
     }
-    
+
     public void setDefaultValue(String key, String value) {
-        this.defaults.put(key, value);
+        this.defaultConfiguration.put(key, value);
     }
 
     public TilesContainer createTilesContainer(Object context)
@@ -157,27 +159,27 @@
     }
 
     protected void initializeContainer(Object context,
-                                    BasicTilesContainer container)
+                                       BasicTilesContainer container)
         throws TilesException {
         storeContainerDependencies(context, container);
         container.init(getInitParameterMap(context));
 
     }
-    
+
     protected void storeContainerDependencies(Object context,
-            BasicTilesContainer container) throws TilesException {
+                                              BasicTilesContainer container) 
throws TilesException {
 
         TilesContextFactory contextFactory =
-            (TilesContextFactory) createFactory(context,
-                       CONTEXT_FACTORY_INIT_PARAM, defaults);
+            (TilesContextFactory) createFactory(defaultConfiguration,
+                CONTEXT_FACTORY_INIT_PARAM);
 
         DefinitionsFactory defsFactory =
-            (DefinitionsFactory) createFactory(context,
-                       DEFINITIONS_FACTORY_INIT_PARAM, defaults);
+            (DefinitionsFactory) createFactory(defaultConfiguration,
+                DEFINITIONS_FACTORY_INIT_PARAM);
 
         PreparerFactory prepFactory =
-            (PreparerFactory) createFactory(context,
-                       PREPARER_FACTORY_INIT_PARAM, defaults);
+            (PreparerFactory) createFactory(defaultConfiguration,
+                PREPARER_FACTORY_INIT_PARAM);
 
         TilesApplicationContext tilesContext =
             contextFactory.createApplicationContext(context);
@@ -189,50 +191,22 @@
     }
 
 
-    protected Map<String, String> getInitParameterMap(Object context)
+    protected static Object createFactory(Map<String, String> configuration, 
String initParameterName)
         throws TilesException {
-        Map<String, String> initParameters = new HashMap<String, String>();
-        Class contextClass = context.getClass();
-        try {
-            Method method = contextClass.getMethod("getInitParameterNames");
-            Enumeration e = (Enumeration) method.invoke(context);
-
-            method = contextClass.getMethod("getInitParameter", String.class);
-            while (e.hasMoreElements()) {
-                String key = (String) e.nextElement();
-                initParameters.put(key, (String) method.invoke(context, key));
-            }
-        } catch (Exception e) {
-            throw new TilesException("Unable to retrieve init parameters." +
-                " Is this context a ServletContext, PortletContext," +
-                " or similar object?", e);
-        }
-        return initParameters;
-    }
-
-
-    protected static Object createFactory(Object context,
-               String initParameterName, Map<String, String> defaults)
-        throws TilesException {
-        String factoryName = resolveFactoryName(context, initParameterName,
-                       defaults);
+        String factoryName = resolveFactoryName(configuration, 
initParameterName);
         return ClassUtil.instantiate(factoryName);
     }
 
-    protected static String resolveFactoryName(Object context,
-               String parameterName, Map<String, String> defaults)
+    protected static String resolveFactoryName(Map<String, String> 
configuration, String parameterName)
         throws TilesException {
-        Object factoryName = getInitParameter(context, parameterName);
-        if (factoryName == null && defaults != null) {
-               factoryName = defaults.get(parameterName);
-        }
+        Object factoryName = configuration.get(parameterName);
         return factoryName == null
             ? DEFAULTS.get(parameterName)
             : factoryName.toString();
     }
 
     protected static String getInitParameter(Object context,
-            String parameterName) throws TilesException {
+                                             String parameterName) throws 
TilesException {
         Object value;
         try {
             Class contextClass = context.getClass();
@@ -245,4 +219,27 @@
         }
         return value == null ? null : value.toString();
     }
+
+    protected static Map<String, String> getInitParameterMap(Object context)
+        throws TilesException {
+        Map<String, String> initParameters = new HashMap<String, String>();
+        Class contextClass = context.getClass();
+        try {
+            Method method = contextClass.getMethod("getInitParameterNames");
+            Enumeration e = (Enumeration) method.invoke(context);
+
+            method = contextClass.getMethod("getInitParameter", String.class);
+            while (e.hasMoreElements()) {
+                String key = (String) e.nextElement();
+                initParameters.put(key, (String) method.invoke(context, key));
+            }
+        } catch (Exception e) {
+            throw new TilesException("Unable to retrieve init parameters." +
+                " Is this context a ServletContext, PortletContext," +
+                " or similar object?", e);
+        }
+        return initParameters;
+    }
+
+
 }


Reply via email to