Author: tv
Date: Sun Mar  3 10:34:51 2019
New Revision: 1854686

URL: http://svn.apache.org/viewvc?rev=1854686&view=rev
Log:
Change Assemble to interface, simplify Loader code

Modified:
    turbine/core/trunk/src/java/org/apache/turbine/modules/Action.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/ActionEvent.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/ActionLoader.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/Assembler.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/GenericLoader.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/Layout.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/LayoutLoader.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/Navigation.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/NavigationLoader.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/Page.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/PageLoader.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/ScheduledJob.java
    
turbine/core/trunk/src/java/org/apache/turbine/modules/ScheduledJobLoader.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/Screen.java
    turbine/core/trunk/src/java/org/apache/turbine/modules/ScreenLoader.java

Modified: turbine/core/trunk/src/java/org/apache/turbine/modules/Action.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/Action.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/Action.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/Action.java Sun Mar  
3 10:34:51 2019
@@ -28,7 +28,7 @@ import org.apache.turbine.pipeline.Pipel
  * @author <a href="mailto:[email protected]";>Peter Courcoux</a>
  * @version $Id$
  */
-public abstract class Action extends Assembler
+public abstract class Action implements Assembler
 {
     /** Prefix for action related classes and templates */
     public static final String PREFIX = "actions";
@@ -72,6 +72,4 @@ public abstract class Action extends Ass
     {
         doPerform(pipelineData);
     }
-
-
 }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/ActionEvent.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/ActionEvent.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/ActionEvent.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/ActionEvent.java Sun 
Mar  3 10:34:51 2019
@@ -27,10 +27,10 @@ import java.util.concurrent.ConcurrentHa
 import java.util.concurrent.ConcurrentMap;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.fulcrum.parser.ParameterParser;
 import org.apache.fulcrum.parser.ValueParser.URLCaseFolding;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.apache.turbine.Turbine;
 import org.apache.turbine.TurbineConstants;
 import org.apache.turbine.annotation.AnnotationProcessor;
@@ -86,7 +86,7 @@ import org.apache.turbine.pipeline.Pipel
 public abstract class ActionEvent extends Action
 {
        /** Logging */
-       protected Log log = LogFactory.getLog(this.getClass());
+       protected Logger log = LogManager.getLogger(this.getClass());
 
        /** The name of the button to look for. */
        protected static final String BUTTON = "eventSubmit_";
@@ -257,10 +257,7 @@ public abstract class ActionEvent extend
 
                try
                {
-                       if (log.isDebugEnabled())
-                       {
-                               log.debug("Invoking " + method);
-                       }
+                       log.debug("Invoking {}", method);
 
                        method.invoke(this, parameters);
                }
@@ -280,7 +277,7 @@ public abstract class ActionEvent extend
                        }
                        else
                        {
-                           log.error("Invokation of " + method , t);
+                           log.error("Invokation of {}", method, t);
                        }
                }
        }
@@ -331,7 +328,7 @@ public abstract class ActionEvent extend
        {
                if (!submitValueKey)
                {
-                       log.debug("No Value required, accepting " + key);
+                       log.debug("No Value required, accepting {}", key);
                        return true;
                }
                else
@@ -346,10 +343,10 @@ public abstract class ActionEvent extend
                        // current behavior.
                        //
                        String keyValue = pp.getString(key);
-                       log.debug("Key Value is " + keyValue);
+                       log.debug("Key Value is {}", keyValue);
                        if (StringUtils.isEmpty(keyValue))
                        {
-                               log.debug("Key is empty, rejecting " + key);
+                               log.debug("Key is empty, rejecting {}", key);
                                return false;
                        }
 
@@ -357,7 +354,7 @@ public abstract class ActionEvent extend
                        {
                                if (Integer.parseInt(keyValue) != 0)
                                {
-                                       log.debug("Integer != 0, accepting " + 
key);
+                                       log.debug("Integer != 0, accepting {}", 
key);
                                        return true;
                                }
                        }
@@ -370,7 +367,7 @@ public abstract class ActionEvent extend
                                return true;
                        }
                }
-               log.debug("Rejecting " + key);
+               log.debug("Rejecting {}", key);
                return false;
        }
 }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/ActionLoader.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/ActionLoader.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/ActionLoader.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/ActionLoader.java 
Sun Mar  3 10:34:51 2019
@@ -44,7 +44,7 @@ public class ActionLoader
      */
     private ActionLoader()
     {
-        super();
+        super(Action.class);
     }
 
     /**
@@ -62,21 +62,6 @@ public class ActionLoader
     }
 
     /**
-     * Pulls out an instance of the object by name.  Name is just the
-     * single name of the object.
-     *
-     * @param name Name of object instance.
-     * @return An Action with the specified name, or null.
-     * @throws Exception a generic exception.
-     */
-    @Override
-    public Action getAssembler(String name)
-        throws Exception
-    {
-        return getAssembler(Action.class, name);
-    }
-
-    /**
      * @see org.apache.turbine.modules.Loader#getCacheSize()
      */
     @Override

Modified: turbine/core/trunk/src/java/org/apache/turbine/modules/Assembler.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/Assembler.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/Assembler.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/Assembler.java Sun 
Mar  3 10:34:51 2019
@@ -31,7 +31,7 @@ import org.apache.turbine.util.RunData;
  * @author <a href="mailto:[email protected]";>Peter Courcoux</a>
  * @version $Id$
  */
-public abstract class Assembler
+public interface Assembler
 {
     /**
      * This can go once RunData is replaced...
@@ -39,7 +39,7 @@ public abstract class Assembler
      * @param pipelineData Turbine request data
      * @return RunData extracted from PipelineData
      */
-    public final RunData getRunData(PipelineData pipelineData)
+    default RunData getRunData(PipelineData pipelineData)
     {
         if (!(pipelineData instanceof RunData))
         {
@@ -54,5 +54,5 @@ public abstract class Assembler
      *
      * @return the prefix
      */
-    public abstract String getPrefix();
+    String getPrefix();
 }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/GenericLoader.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/GenericLoader.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/GenericLoader.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/GenericLoader.java 
Sun Mar  3 10:34:51 2019
@@ -38,11 +38,14 @@ import org.apache.turbine.services.assem
  * @author <a href="mailto:[email protected]";>Peter Courcoux</a>
  * @param <T> the specialized assembler type
  */
-public abstract class GenericLoader<T extends Assembler>
+public abstract class GenericLoader<T extends Assembler> implements Loader<T>
 {
     /** The Assembler Broker Service */
     protected AssemblerBrokerService ab;
 
+    /** Class of loaded assembler */
+    private Class<T> assemblerClass;
+
     /** @serial This can be serialized */
     private boolean reload = false;
 
@@ -54,11 +57,15 @@ public abstract class GenericLoader<T ex
 
     /**
      * Basic constructor for creating a loader.
+     *
+     * @param assemblerClass Class of loaded assembler
      */
-    public GenericLoader()
+    public GenericLoader(Class<T> assemblerClass)
     {
         super();
-        ab = 
(AssemblerBrokerService)TurbineServices.getInstance().getService(AssemblerBrokerService.SERVICE_NAME);
+        this.assemblerClass = assemblerClass;
+        this.ab = (AssemblerBrokerService)TurbineServices.getInstance()
+                .getService(AssemblerBrokerService.SERVICE_NAME);
     }
 
     /**
@@ -119,7 +126,7 @@ public abstract class GenericLoader<T ex
     public static List<String> getPackages()
     {
         if (TURBINE_PACKAGES == null)
-        {  
+        {
             List<String> turbinePackages = Turbine.getConfiguration()
             .getList(TurbineConstants.MODULE_PACKAGES).stream().map( o -> 
(String) o ).collect( Collectors.toList() );
 
@@ -137,6 +144,21 @@ public abstract class GenericLoader<T ex
     }
 
     /**
+     * Pulls out an instance of the object by name.  Name is just the
+     * single name of the object.
+     *
+     * @param name Name of object instance.
+     * @return An Action with the specified name, or null.
+     * @throws Exception a generic exception.
+     */
+    @Override
+    public T getAssembler(String name)
+        throws Exception
+    {
+        return getAssembler(assemblerClass, name);
+    }
+
+    /**
      * Pulls out an instance of the object by name.  Name is just the
      * single name of the object.
      *

Modified: turbine/core/trunk/src/java/org/apache/turbine/modules/Layout.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/Layout.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/Layout.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/Layout.java Sun Mar  
3 10:34:51 2019
@@ -28,8 +28,7 @@ import org.apache.turbine.pipeline.Pipel
  * @author <a href="mailto:[email protected]";>Peter Courcoux</a>
  * @version $Id$
  */
-public abstract class Layout
-    extends Assembler
+public abstract class Layout implements Assembler
 {
     /** Prefix for layout related classes and templates */
     public static final String PREFIX = "layouts";

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/LayoutLoader.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/LayoutLoader.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/LayoutLoader.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/LayoutLoader.java 
Sun Mar  3 10:34:51 2019
@@ -44,7 +44,7 @@ public class LayoutLoader
      */
     private LayoutLoader()
     {
-        super();
+        super(Layout.class);
     }
 
     /**
@@ -62,21 +62,6 @@ public class LayoutLoader
     }
 
     /**
-     * Pulls out an instance of the object by name.  Name is just the
-     * single name of the object.
-     *
-     * @param name Name of object instance.
-     * @return A Layout with the specified name, or null.
-     * @throws Exception a generic exception.
-     */
-    @Override
-    public Layout getAssembler(String name)
-        throws Exception
-    {
-        return getAssembler(Layout.class, name);
-    }
-
-    /**
      * @see org.apache.turbine.modules.Loader#getCacheSize()
      */
     @Override

Modified: turbine/core/trunk/src/java/org/apache/turbine/modules/Navigation.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/Navigation.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/Navigation.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/Navigation.java Sun 
Mar  3 10:34:51 2019
@@ -29,8 +29,7 @@ import org.apache.turbine.pipeline.Pipel
  * @author <a href="mailto:[email protected]";>Peter Courcoux</a>
  * @version $Id$
  */
-public abstract class Navigation
-    extends Assembler
+public abstract class Navigation implements Assembler
 {
     /** Prefix for navigation related classes and templates */
     public static final String PREFIX = "navigations";

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/NavigationLoader.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/NavigationLoader.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/modules/NavigationLoader.java 
(original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/modules/NavigationLoader.java 
Sun Mar  3 10:34:51 2019
@@ -44,7 +44,7 @@ public class NavigationLoader
      */
     private NavigationLoader()
     {
-        super();
+        super(Navigation.class);
     }
 
     /**
@@ -81,21 +81,6 @@ public class NavigationLoader
     }
 
     /**
-     * Pulls out an instance of the object by name.  Name is just the
-     * single name of the object.
-     *
-     * @param name Name of object instance.
-     * @return A Layout with the specified name, or null.
-     * @throws Exception a generic exception.
-     */
-    @Override
-    public Navigation getAssembler(String name)
-        throws Exception
-    {
-        return getAssembler(Navigation.class, name);
-    }
-
-    /**
      * @see org.apache.turbine.modules.Loader#getCacheSize()
      */
     @Override

Modified: turbine/core/trunk/src/java/org/apache/turbine/modules/Page.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/Page.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/Page.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/Page.java Sun Mar  3 
10:34:51 2019
@@ -29,8 +29,7 @@ import org.apache.turbine.pipeline.Pipel
  * @author <a href="mailto:[email protected]";>Peter Courcoux</a>
  * @version $Id$
  */
-public abstract class Page
-    extends Assembler
+public abstract class Page implements Assembler
 {
     /** Prefix for page related classes and templates */
     public static final String PREFIX = "pages";

Modified: turbine/core/trunk/src/java/org/apache/turbine/modules/PageLoader.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/PageLoader.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/PageLoader.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/PageLoader.java Sun 
Mar  3 10:34:51 2019
@@ -44,7 +44,7 @@ public class PageLoader
      */
     private PageLoader()
     {
-        super();
+        super(Page.class);
     }
 
     /**
@@ -63,21 +63,6 @@ public class PageLoader
     }
 
     /**
-     * Pulls out an instance of the object by name.  Name is just the
-     * single name of the object.
-     *
-     * @param name Name of object instance.
-     * @return A Screen with the specified name, or null.
-     * @throws Exception a generic exception.
-     */
-    @Override
-    public Page getAssembler(String name)
-        throws Exception
-    {
-        return getAssembler(Page.class, name);
-    }
-
-    /**
      * @see org.apache.turbine.modules.Loader#getCacheSize()
      */
     @Override

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/ScheduledJob.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/ScheduledJob.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/ScheduledJob.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/ScheduledJob.java 
Sun Mar  3 10:34:51 2019
@@ -34,7 +34,7 @@ import org.apache.turbine.services.sched
  * @author <a href="mailto:[email protected]";>Dave Bryson</a>
  * @version $Id$
  */
-public abstract class ScheduledJob extends Assembler
+public abstract class ScheduledJob implements Assembler
 {
     /** Prefix for scheduler job related classes */
     public static final String PREFIX = "scheduledjobs";

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/ScheduledJobLoader.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/ScheduledJobLoader.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/modules/ScheduledJobLoader.java 
(original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/modules/ScheduledJobLoader.java 
Sun Mar  3 10:34:51 2019
@@ -45,7 +45,7 @@ public class ScheduledJobLoader
      */
     private ScheduledJobLoader()
     {
-        super();
+        super(ScheduledJob.class);
     }
 
     /**
@@ -86,21 +86,6 @@ public class ScheduledJobLoader
     }
 
     /**
-     * Pulls out an instance of the object by name.  Name is just the
-     * single name of the object.
-     *
-     * @param name Name of object instance.
-     * @return A ScheduledJob with the specified name, or null.
-     * @throws Exception a generic exception.
-     */
-    @Override
-    public ScheduledJob getAssembler(String name)
-        throws Exception
-    {
-        return getAssembler(ScheduledJob.class, name);
-    }
-
-    /**
      * @see org.apache.turbine.modules.Loader#getCacheSize()
      */
     @Override

Modified: turbine/core/trunk/src/java/org/apache/turbine/modules/Screen.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/Screen.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/Screen.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/Screen.java Sun Mar  
3 10:34:51 2019
@@ -32,8 +32,7 @@ import org.apache.turbine.util.RunData;
  * @author <a href="mailto:[email protected]";>Peter Courcoux</a>
  * @version $Id$
  */
-public abstract class Screen
-    extends Assembler
+public abstract class Screen implements Assembler
 {
     /** Prefix for screen related classes and templates */
     public static final String PREFIX = "screens";

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/modules/ScreenLoader.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/ScreenLoader.java?rev=1854686&r1=1854685&r2=1854686&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/modules/ScreenLoader.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/modules/ScreenLoader.java 
Sun Mar  3 10:34:51 2019
@@ -46,7 +46,7 @@ public class ScreenLoader
      */
     private ScreenLoader()
     {
-        super();
+        super(Screen.class);
     }
 
     /**
@@ -85,21 +85,6 @@ public class ScreenLoader
        }
 
     /**
-     * Pulls out an instance of the object by name.  Name is just the
-     * single name of the object.
-     *
-     * @param name Name of object instance.
-     * @return A Screen with the specified name, or null.
-     * @throws Exception a generic exception.
-     */
-    @Override
-    public Screen getAssembler(String name)
-        throws Exception
-    {
-        return getAssembler(Screen.class, name);
-    }
-
-    /**
      * @see org.apache.turbine.modules.Loader#getCacheSize()
      */
     @Override


Reply via email to