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