Author: tv
Date: Tue Feb 10 19:37:33 2009
New Revision: 743071

URL: http://svn.apache.org/viewvc?rev=743071&view=rev
Log:
Added a getLoader(type) method to allow for dynamic module configuration

Modified:
    
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/AssemblerBrokerService.java
    
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBroker.java
    
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBrokerService.java

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/AssemblerBrokerService.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/AssemblerBrokerService.java?rev=743071&r1=743070&r2=743071&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/AssemblerBrokerService.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/AssemblerBrokerService.java
 Tue Feb 10 19:37:33 2009
@@ -22,6 +22,7 @@
 
 
 import org.apache.turbine.modules.Assembler;
+import org.apache.turbine.modules.Loader;
 import org.apache.turbine.services.Service;
 import org.apache.turbine.services.assemblerbroker.util.AssemblerFactory;
 import org.apache.turbine.util.TurbineException;
@@ -58,4 +59,12 @@
      * @throws TurbineException Something went wrong while looking for the 
Assembler
      */
     Assembler getAssembler(String type, String name) throws TurbineException;
+
+    /**
+     * Get a Loader for the given assembler type
+     *
+     * @param type The Type of the Assembler
+     * @return A Loader instance for the requested type
+     */
+    Loader getLoader(String type);
 }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBroker.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBroker.java?rev=743071&r1=743070&r2=743071&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBroker.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBroker.java
 Tue Feb 10 19:37:33 2009
@@ -22,6 +22,7 @@
 
 
 import org.apache.turbine.modules.Assembler;
+import org.apache.turbine.modules.Loader;
 import org.apache.turbine.services.TurbineServices;
 import org.apache.turbine.services.assemblerbroker.util.AssemblerFactory;
 import org.apache.turbine.util.TurbineException;
@@ -74,4 +75,15 @@
     {
         return getService().getAssembler(type, name);
     }
+
+    /**
+     * Get a Loader for the given assembler type
+     *
+     * @param type The Type of the Assembler
+     * @return A Loader instance for the requested type
+     */
+    public static Loader getLoader(String type)
+    {
+        return getService().getLoader(type);
+    }
 }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBrokerService.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBrokerService.java?rev=743071&r1=743070&r2=743071&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBrokerService.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBrokerService.java
 Tue Feb 10 19:37:33 2009
@@ -34,6 +34,7 @@
 import org.apache.turbine.Turbine;
 import org.apache.turbine.TurbineConstants;
 import org.apache.turbine.modules.Assembler;
+import org.apache.turbine.modules.Loader;
 import org.apache.turbine.services.InitializationException;
 import org.apache.turbine.services.TurbineBaseService;
 import org.apache.turbine.services.assemblerbroker.util.AssemblerFactory;
@@ -231,4 +232,27 @@
         
         return assembler;
     }
+
+    /**
+     * Get a Loader for the given assembler type
+     *
+     * @param type The Type of the Assembler
+     * @return A Loader instance for the requested type
+     */
+    public Loader getLoader(String type)
+    {
+        Loader loader = null;
+        
+        log.debug("Getting Loader for " + type);
+        List facs = getFactoryGroup(type);
+
+        for (Iterator it = facs.iterator(); (loader == null) && it.hasNext();)
+        {
+            AssemblerFactory fac = (AssemblerFactory) it.next();
+            
+            loader = fac.getLoader();
+        }
+        
+        return loader;
+    }
 }


Reply via email to