Author: tv
Date: Fri Jan 8 11:29:21 2016
New Revision: 1723699
URL: http://svn.apache.org/viewvc?rev=1723699&view=rev
Log:
Eventually remove all static service accessors and replace them by lookups or
annotations
Modified:
turbine/core/trunk/src/java/org/apache/turbine/Turbine.java
turbine/core/trunk/src/java/org/apache/turbine/modules/GenericLoader.java
turbine/core/trunk/src/java/org/apache/turbine/modules/actions/LegacyVelocityAction.java
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/LegacyVelocitySecureScreen.java
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/TemplateScreen.java
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/VelocitySecureScreen.java
turbine/core/trunk/src/java/org/apache/turbine/om/security/DefaultUserImpl.java
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/util/python/PythonBaseFactory.java
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspNavigation.java
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspScreenPlaceholder.java
turbine/core/trunk/src/java/org/apache/turbine/services/rundata/DefaultTurbineRunData.java
turbine/core/trunk/src/java/org/apache/turbine/services/session/SessionListener.java
turbine/core/trunk/src/java/org/apache/turbine/services/template/BaseTemplateEngineService.java
turbine/core/trunk/src/java/org/apache/turbine/services/template/TurbineTemplateService.java
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/BaseMapper.java
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/BaseTemplateMapper.java
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/LayoutTemplateMapper.java
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/ScreenDefaultTemplateMapper.java
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/ScreenTemplateMapper.java
turbine/core/trunk/src/java/org/apache/turbine/services/ui/TurbineUIService.java
turbine/core/trunk/src/java/org/apache/turbine/services/velocity/TurbineVelocityService.java
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateInfo.java
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateNavigation.java
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateScreen.java
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateSecurityCheck.java
turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityActionEvent.java
turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityEmail.java
turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityHtmlEmail.java
Modified: turbine/core/trunk/src/java/org/apache/turbine/Turbine.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/Turbine.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/Turbine.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/Turbine.java Fri Jan 8
11:29:21 2016
@@ -59,7 +59,6 @@ import org.apache.turbine.services.Servi
import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.services.rundata.RunDataService;
import org.apache.turbine.services.template.TemplateService;
-import org.apache.turbine.services.template.TurbineTemplate;
import org.apache.turbine.util.RunData;
import org.apache.turbine.util.ServerData;
import org.apache.turbine.util.TurbineConfig;
@@ -203,19 +202,17 @@ public class Turbine
configure(config, context);
- TemplateService templateService = TurbineTemplate.getService();
+ TemplateService templateService =
+
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
if (templateService == null)
{
- throw new TurbineException(
- "No Template Service configured!");
+ throw new TurbineException("No Template Service
configured!");
}
if (getRunDataService() == null)
{
- throw new TurbineException(
- "No RunData Service configured!");
+ throw new TurbineException("No RunData Service
configured!");
}
-
}
catch (Exception e)
{
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=1723699&r1=1723698&r2=1723699&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
Fri Jan 8 11:29:21 2016
@@ -25,8 +25,8 @@ import java.util.List;
import org.apache.turbine.Turbine;
import org.apache.turbine.TurbineConstants;
import org.apache.turbine.pipeline.PipelineData;
+import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.services.assemblerbroker.AssemblerBrokerService;
-import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
/**
* This is the base class for the loaders. It contains code that is
@@ -41,7 +41,7 @@ import org.apache.turbine.services.assem
public abstract class GenericLoader<T extends Assembler>
{
/** The Assembler Broker Service */
- protected AssemblerBrokerService ab = TurbineAssemblerBroker.getService();
+ protected AssemblerBrokerService ab;
/** @serial This can be serialized */
private boolean reload = false;
@@ -58,6 +58,7 @@ public abstract class GenericLoader<T ex
public GenericLoader()
{
super();
+ ab =
(AssemblerBrokerService)TurbineServices.getInstance().getService(AssemblerBrokerService.SERVICE_NAME);
}
/**
Modified:
turbine/core/trunk/src/java/org/apache/turbine/modules/actions/LegacyVelocityAction.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/actions/LegacyVelocityAction.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/modules/actions/LegacyVelocityAction.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/modules/actions/LegacyVelocityAction.java
Fri Jan 8 11:29:21 2016
@@ -22,7 +22,6 @@ package org.apache.turbine.modules.actio
import org.apache.fulcrum.parser.ParameterParser;
import org.apache.turbine.Turbine;
import org.apache.turbine.pipeline.PipelineData;
-import org.apache.turbine.services.velocity.TurbineVelocity;
import org.apache.turbine.util.RunData;
import org.apache.velocity.context.Context;
@@ -79,7 +78,7 @@ public abstract class LegacyVelocityActi
RunData data = getRunData(pipelineData);
ParameterParser pp = pipelineData.get(Turbine.class,
ParameterParser.class);
- Context context = TurbineVelocity.getContext(pipelineData);
+ Context context = velocity.getContext(pipelineData);
executeEvents(pp, new Class<?>[]{ RunData.class, Context.class },
new Object[]{ data, context });
}
Modified:
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/LegacyVelocitySecureScreen.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/screens/LegacyVelocitySecureScreen.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/LegacyVelocitySecureScreen.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/LegacyVelocitySecureScreen.java
Fri Jan 8 11:29:21 2016
@@ -21,7 +21,6 @@ package org.apache.turbine.modules.scree
import org.apache.turbine.pipeline.PipelineData;
-import org.apache.turbine.services.velocity.TurbineVelocity;
import org.apache.turbine.util.RunData;
import org.apache.velocity.context.Context;
@@ -59,7 +58,7 @@ public abstract class LegacyVelocitySecu
{
if (isAuthorized(getRunData(pipelineData)))
{
- doBuildTemplate(getRunData(pipelineData),
TurbineVelocity.getContext(pipelineData));
+ doBuildTemplate(getRunData(pipelineData),
velocity.getContext(pipelineData));
}
}
Modified:
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/TemplateScreen.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/screens/TemplateScreen.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/TemplateScreen.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/TemplateScreen.java
Fri Jan 8 11:29:21 2016
@@ -26,9 +26,10 @@ import org.apache.turbine.annotation.Tur
import org.apache.turbine.modules.Screen;
import org.apache.turbine.modules.ScreenLoader;
import org.apache.turbine.pipeline.PipelineData;
+import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.services.template.TemplateService;
-import org.apache.turbine.services.template.TurbineTemplate;
import org.apache.turbine.util.RunData;
+import org.apache.turbine.util.template.TemplateInfo;
/**
* Template Screen.
@@ -132,14 +133,15 @@ public abstract class TemplateScreen
public static void setTemplate(PipelineData pipelineData, String template)
{
RunData data = (RunData)pipelineData;
- data.getTemplateInfo().setScreenTemplate(template);
+ TemplateInfo ti = data.getTemplateInfo();
+ TemplateService templateService =
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
+
+ ti.setScreenTemplate(template);
try
{
// We have do call getScreenTemplate because of the path
// separator.
- data.getTemplateInfo().setLayoutTemplate(
- TurbineTemplate.getLayoutTemplateName(
- data.getTemplateInfo().getScreenTemplate()));
+
ti.setLayoutTemplate(templateService.getLayoutTemplateName(ti.getScreenTemplate()));
}
catch (Exception e)
{
Modified:
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/VelocitySecureScreen.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/modules/screens/VelocitySecureScreen.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/VelocitySecureScreen.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/modules/screens/VelocitySecureScreen.java
Fri Jan 8 11:29:21 2016
@@ -21,7 +21,6 @@ package org.apache.turbine.modules.scree
import org.apache.turbine.pipeline.PipelineData;
-import org.apache.turbine.services.velocity.TurbineVelocity;
import org.apache.velocity.context.Context;
/**
@@ -67,7 +66,7 @@ public abstract class VelocitySecureScre
{
if (isAuthorized(pipelineData))
{
- doBuildTemplate(pipelineData,
TurbineVelocity.getContext(pipelineData));
+ doBuildTemplate(pipelineData, velocity.getContext(pipelineData));
}
}
Modified:
turbine/core/trunk/src/java/org/apache/turbine/om/security/DefaultUserImpl.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/om/security/DefaultUserImpl.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/om/security/DefaultUserImpl.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/om/security/DefaultUserImpl.java
Fri Jan 8 11:29:21 2016
@@ -30,7 +30,8 @@ import javax.servlet.http.HttpSessionBin
import org.apache.fulcrum.security.model.turbine.entity.TurbineUser;
import org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole;
-import org.apache.turbine.services.security.TurbineSecurity;
+import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.security.SecurityService;
import org.apache.turbine.util.ObjectUtils;
/**
@@ -97,7 +98,8 @@ public class DefaultUserImpl implements
{
if (hasLoggedIn())
{
- TurbineSecurity.saveOnSessionUnbind(this);
+ SecurityService securityService =
(SecurityService)TurbineServices.getInstance().getService(SecurityService.SERVICE_NAME);
+ securityService.saveOnSessionUnbind(this);
}
}
catch (Exception e)
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/util/python/PythonBaseFactory.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/util/python/PythonBaseFactory.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/util/python/PythonBaseFactory.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/util/python/PythonBaseFactory.java
Fri Jan 8 11:29:21 2016
@@ -29,7 +29,8 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.turbine.modules.Assembler;
import org.apache.turbine.modules.Loader;
-import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
+import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.assemblerbroker.AssemblerBrokerService;
import org.apache.turbine.services.assemblerbroker.util.AssemblerFactory;
import org.python.core.Py;
import org.python.util.PythonInterpreter;
@@ -57,8 +58,7 @@ public abstract class PythonBaseFactory<
private static Log log = LogFactory.getLog(PythonBaseFactory.class);
/** Our configuration */
- private final Configuration conf =
- TurbineAssemblerBroker.getService().getConfiguration();
+ private final Configuration conf =
TurbineServices.getInstance().getConfiguration(AssemblerBrokerService.SERVICE_NAME);
/**
* Get an Assembler.
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspNavigation.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspNavigation.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspNavigation.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspNavigation.java
Fri Jan 8 11:29:21 2016
@@ -24,7 +24,8 @@ package org.apache.turbine.services.jsp.
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.turbine.modules.NavigationLoader;
-import org.apache.turbine.services.template.TurbineTemplate;
+import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.template.TemplateService;
import org.apache.turbine.util.RunData;
/**
@@ -70,7 +71,8 @@ public class JspNavigation
String module = null;
try
{
- module = TurbineTemplate.getNavigationName(template);
+ TemplateService templateService =
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
+ module = templateService.getNavigationName(template);
NavigationLoader.getInstance().exec(data, module);
}
catch (Exception e)
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspScreenPlaceholder.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspScreenPlaceholder.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspScreenPlaceholder.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/jsp/util/JspScreenPlaceholder.java
Fri Jan 8 11:29:21 2016
@@ -25,8 +25,9 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.turbine.modules.Screen;
import org.apache.turbine.modules.ScreenLoader;
-import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
-import org.apache.turbine.services.template.TurbineTemplate;
+import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.assemblerbroker.AssemblerBrokerService;
+import org.apache.turbine.services.template.TemplateService;
import org.apache.turbine.util.RunData;
/**
@@ -62,7 +63,9 @@ public class JspScreenPlaceholder
public JspScreenPlaceholder(RunData data)
{
this.data = data;
- this.screenLoader =
(ScreenLoader)TurbineAssemblerBroker.getLoader(Screen.class);
+ AssemblerBrokerService abs =
(AssemblerBrokerService)TurbineServices.getInstance()
+ .getService(AssemblerBrokerService.SERVICE_NAME);
+ this.screenLoader = (ScreenLoader)abs.getLoader(Screen.class);
}
/**
@@ -75,7 +78,8 @@ public class JspScreenPlaceholder
try
{
template = data.getTemplateInfo().getScreenTemplate();
- module = TurbineTemplate.getScreenName(template);
+ TemplateService templateService =
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
+ module = templateService.getScreenName(template);
screenLoader.exec(data, module);
}
catch (Exception e)
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/rundata/DefaultTurbineRunData.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/rundata/DefaultTurbineRunData.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/rundata/DefaultTurbineRunData.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/rundata/DefaultTurbineRunData.java
Fri Jan 8 11:29:21 2016
@@ -51,7 +51,7 @@ import org.apache.turbine.om.security.Us
import org.apache.turbine.pipeline.DefaultPipelineData;
import org.apache.turbine.services.ServiceManager;
import org.apache.turbine.services.TurbineServices;
-import org.apache.turbine.services.template.TurbineTemplate;
+import org.apache.turbine.services.template.TemplateService;
import org.apache.turbine.util.FormMessages;
import org.apache.turbine.util.ServerData;
import org.apache.turbine.util.SystemError;
@@ -561,7 +561,8 @@ public class DefaultTurbineRunData
* services are running. If we get nothing we
* will fall back to the ECS layout.
*/
- layout = TurbineTemplate.getDefaultLayoutName(this);
+ TemplateService templateService =
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
+ layout = templateService.getDefaultLayoutName(this);
if (layout == null)
{
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/session/SessionListener.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/session/SessionListener.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/session/SessionListener.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/session/SessionListener.java
Fri Jan 8 11:29:21 2016
@@ -22,10 +22,13 @@ package org.apache.turbine.services.sess
import java.io.Serializable;
+
import javax.servlet.http.HttpSessionActivationListener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
+import org.apache.turbine.services.TurbineServices;
+
/**
* This class is a listener for both session creation and destruction,
* and for session activation and passivation. It must be configured
@@ -66,13 +69,35 @@ public class SessionListener
private static final long serialVersionUID = -8083730704842809870L;
/**
+ * The session service.
+ */
+ private SessionService sessionService;
+
+ /**
+ * Lazy initialization
+ *
+ * @return the sessionService
+ */
+ private SessionService getSessionService()
+ {
+ // don't care about synchronization, lookup is cheap
+ if (sessionService == null)
+ {
+ sessionService =
(SessionService)TurbineServices.getInstance().getService(SessionService.SERVICE_NAME);
+ }
+
+ return sessionService;
+ }
+
+ /**
* Called by the servlet container when a new session is created
*
* @param event Session creation event.
*/
+ @Override
public void sessionCreated(HttpSessionEvent event)
{
- TurbineSession.addSession(event.getSession());
+ getSessionService().addSession(event.getSession());
event.getSession().setAttribute(getClass().getName(), this);
}
@@ -81,9 +106,10 @@ public class SessionListener
*
* @param event Session destruction event.
*/
+ @Override
public void sessionDestroyed(HttpSessionEvent event)
{
- TurbineSession.removeSession(event.getSession());
+ getSessionService().removeSession(event.getSession());
}
@@ -95,9 +121,10 @@ public class SessionListener
*
* @param event Session activation event.
*/
+ @Override
public void sessionDidActivate(HttpSessionEvent event)
{
- TurbineSession.addSession(event.getSession());
+ getSessionService().addSession(event.getSession());
}
/**
@@ -106,8 +133,9 @@ public class SessionListener
*
* @param event Session passivation event.
*/
+ @Override
public void sessionWillPassivate(HttpSessionEvent event)
{
- TurbineSession.removeSession(event.getSession());
+ getSessionService().removeSession(event.getSession());
}
}
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/template/BaseTemplateEngineService.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/template/BaseTemplateEngineService.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/template/BaseTemplateEngineService.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/template/BaseTemplateEngineService.java
Fri Jan 8 11:29:21 2016
@@ -25,6 +25,7 @@ import java.util.Hashtable;
import org.apache.commons.configuration.Configuration;
import org.apache.turbine.services.TurbineBaseService;
+import org.apache.turbine.services.TurbineServices;
/**
* The base implementation of Turbine {@link
@@ -54,15 +55,18 @@ public abstract class BaseTemplateEngine
/**
* @see
org.apache.turbine.services.template.TemplateEngineService#registerConfiguration
*/
+ @Override
public void registerConfiguration(String defaultExt)
{
initConfiguration(defaultExt);
- TurbineTemplate.registerTemplateEngineService(this);
+ TemplateService templateService =
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
+ templateService.registerTemplateEngineService(this);
}
/**
* @see
org.apache.turbine.services.template.TemplateEngineService#getTemplateEngineServiceConfiguration
*/
+ @Override
public Hashtable<String, Object> getTemplateEngineServiceConfiguration()
{
return configuration;
@@ -71,6 +75,7 @@ public abstract class BaseTemplateEngine
/**
* @see
org.apache.turbine.services.template.TemplateEngineService#getAssociatedFileExtensions
*/
+ @Override
public String[] getAssociatedFileExtensions()
{
return (String[]) configuration.get(TEMPLATE_EXTENSIONS);
@@ -135,5 +140,6 @@ public abstract class BaseTemplateEngine
/**
* @see
org.apache.turbine.services.template.TemplateEngineService#templateExists
*/
+ @Override
public abstract boolean templateExists(String template);
}
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/template/TurbineTemplateService.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/template/TurbineTemplateService.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/template/TurbineTemplateService.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/template/TurbineTemplateService.java
Fri Jan 8 11:29:21 2016
@@ -22,9 +22,8 @@ package org.apache.turbine.services.temp
import java.io.File;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.lang.StringUtils;
@@ -46,7 +45,7 @@ import org.apache.turbine.services.Initi
import org.apache.turbine.services.TurbineBaseService;
import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.services.assemblerbroker.AssemblerBrokerService;
-import org.apache.turbine.services.servlet.TurbineServlet;
+import org.apache.turbine.services.servlet.ServletService;
import org.apache.turbine.services.template.mapper.BaseTemplateMapper;
import org.apache.turbine.services.template.mapper.ClassMapper;
import org.apache.turbine.services.template.mapper.DirectMapper;
@@ -238,6 +237,11 @@ public class TurbineTemplateService
private String defaultTemplate;
/**
+ * The servlet service.
+ */
+ private ServletService servletService;
+
+ /**
* The mappings of template file extensions to {@link
* org.apache.turbine.services.template.TemplateEngineService}
* implementations. Implementing template engines can locate
@@ -245,7 +249,7 @@ public class TurbineTemplateService
* may possess, and other template engines are stuck with file
* based template hierarchy only.
*/
- private Map<String, TemplateEngineService> templateEngineRegistry = null;
+ private ConcurrentMap<String, TemplateEngineService>
templateEngineRegistry = null;
/**
* C'tor
@@ -268,6 +272,8 @@ public class TurbineTemplateService
// Get the configuration for the template service.
Configuration config = getConfiguration();
+ servletService =
(ServletService)TurbineServices.getInstance().getService(ServletService.SERVICE_NAME);
+
// Get the default extension to use if nothing else is applicable.
defaultExtension =
config.getString(TemplateService.DEFAULT_EXTENSION_KEY,
TemplateService.DEFAULT_EXTENSION_VALUE);
@@ -284,7 +290,7 @@ public class TurbineTemplateService
log.debug("Default Template: " + defaultTemplate);
log.debug("Use Caching: " + useCache);
- templateEngineRegistry = Collections.synchronizedMap(new
HashMap<String, TemplateEngineService>());
+ templateEngineRegistry = new ConcurrentHashMap<String,
TemplateEngineService>();
initMapper(config);
setInit(true);
@@ -625,7 +631,7 @@ public class TurbineTemplateService
{
for (int i = 0; i < templatePaths.length; i++)
{
- templatePaths[i] = TurbineServlet.getRealPath(templatePaths[i]);
+ templatePaths[i] = servletService.getRealPath(templatePaths[i]);
}
return templatePaths;
}
@@ -633,20 +639,19 @@ public class TurbineTemplateService
/**
* Delegates to the appropriate {@link
* org.apache.turbine.services.template.TemplateEngineService} to
- * check the existance of the specified template.
+ * check the existence of the specified template.
*
- * @param template The template to check for the existance of.
+ * @param template The template to check for the existence of.
* @param templatePaths The paths to check for the template.
* @deprecated Use templateExists from the various Templating Engines
*/
@Override
@Deprecated
- public boolean templateExists(String template,
- String[] templatePaths)
+ public boolean templateExists(String template, String[] templatePaths)
{
- for (int i = 0; i < templatePaths.length; i++)
+ for (String templatePath : templatePaths)
{
- if (new File(templatePaths[i], template).exists())
+ if (new File(templatePath, template).exists())
{
return true;
}
@@ -661,13 +666,13 @@ public class TurbineTemplateService
* @param service The <code>TemplateEngineService</code> to register.
*/
@Override
- public synchronized void
registerTemplateEngineService(TemplateEngineService service)
+ public void registerTemplateEngineService(TemplateEngineService service)
{
String[] exts = service.getAssociatedFileExtensions();
- for (int i = 0; i < exts.length; i++)
+ for (String ext : exts)
{
- templateEngineRegistry.put(exts[i], service);
+ templateEngineRegistry.put(ext, service);
}
}
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/BaseMapper.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/BaseMapper.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/BaseMapper.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/BaseMapper.java
Fri Jan 8 11:29:21 2016
@@ -25,8 +25,9 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
+import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.services.template.TemplateEngineService;
-import org.apache.turbine.services.template.TurbineTemplate;
+import org.apache.turbine.services.template.TemplateService;
/**
* A base class for the various mappers which contains common
@@ -166,20 +167,19 @@ public abstract class BaseMapper
{
// We might get a Name without an extension passed. If yes, then we use
// the Default extension
-
- TemplateEngineService tes
- = TurbineTemplate.getTemplateEngineService(template);
+ TemplateService templateService =
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
+ TemplateEngineService tes =
templateService.getTemplateEngineService(template);
if (StringUtils.isEmpty(template) || (tes == null))
{
- return TurbineTemplate.getDefaultTemplate();
+ return templateService.getDefaultTemplate();
}
String defaultName = (String)
tes.getTemplateEngineServiceConfiguration()
.get(defaultProperty);
return StringUtils.isEmpty(defaultName)
- ? TurbineTemplate.getDefaultTemplate()
+ ? templateService.getDefaultTemplate()
: defaultName;
}
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/BaseTemplateMapper.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/BaseTemplateMapper.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/BaseTemplateMapper.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/BaseTemplateMapper.java
Fri Jan 8 11:29:21 2016
@@ -22,9 +22,8 @@ package org.apache.turbine.services.temp
import org.apache.commons.lang.StringUtils;
-
+import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.services.template.TemplateService;
-import org.apache.turbine.services.template.TurbineTemplate;
/**
* This is a mapper like the BaseMapper but it returns its
@@ -80,6 +79,7 @@ public abstract class BaseTemplateMapper
*
* @return the mapped default name for the template.
*/
+ @Override
public String getDefaultName(String template)
{
String res = super.getDefaultName(template);
@@ -98,10 +98,12 @@ public abstract class BaseTemplateMapper
int dotIndex = templateComponents[templateComponents.length
-1].lastIndexOf(TemplateService.EXTENSION_SEPARATOR);
if (dotIndex < 0)
{
- if
(StringUtils.isNotEmpty(TurbineTemplate.getDefaultExtension()))
+ TemplateService templateService =
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
+
+ if
(StringUtils.isNotEmpty(templateService.getDefaultExtension()))
{
resBuf.append(TemplateService.EXTENSION_SEPARATOR);
- resBuf.append(TurbineTemplate.getDefaultExtension());
+ resBuf.append(templateService.getDefaultExtension());
}
}
else
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/LayoutTemplateMapper.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/LayoutTemplateMapper.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/LayoutTemplateMapper.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/LayoutTemplateMapper.java
Fri Jan 8 11:29:21 2016
@@ -28,9 +28,9 @@ import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.services.template.TemplateEngineService;
import org.apache.turbine.services.template.TemplateService;
-import org.apache.turbine.services.template.TurbineTemplate;
/**
* This mapper is responsible for the lookup of templates for the Layout
@@ -71,6 +71,7 @@ public class LayoutTemplateMapper
* @param template The template name.
* @return The parsed module name.
*/
+ @Override
public String doMapping(String template)
{
log.debug("doMapping(" + template + ")");
@@ -89,15 +90,16 @@ public class LayoutTemplateMapper
log.debug("templateName is " + templateName);
// Last element decides, which template Service to use...
- TemplateEngineService tes =
TurbineTemplate.getTemplateEngineService(templateName);
+ TemplateService templateService =
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
+ TemplateEngineService tes =
templateService.getTemplateEngineService(templateName);
if (tes == null)
{
return null;
}
- String defaultName =
- TurbineTemplate.getDefaultLayoutTemplateName(templateName); //
We're, after all, a Layout Template Mapper...
+ // We're, after all, a Layout Template Mapper...
+ String defaultName =
templateService.getDefaultLayoutTemplateName(templateName);
// This is an optimization. If the name we're looking for is
// already the default name for the template, don't do a "first run"
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/ScreenDefaultTemplateMapper.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/ScreenDefaultTemplateMapper.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/ScreenDefaultTemplateMapper.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/ScreenDefaultTemplateMapper.java
Fri Jan 8 11:29:21 2016
@@ -28,9 +28,9 @@ import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.services.template.TemplateEngineService;
import org.apache.turbine.services.template.TemplateService;
-import org.apache.turbine.services.template.TurbineTemplate;
/**
* This is a pretty simple mapper which returns template pathes for
@@ -67,6 +67,7 @@ public class ScreenDefaultTemplateMapper
* @param template The template name.
* @return The parsed module name.
*/
+ @Override
public String doMapping(String template)
{
log.debug("doMapping(" + template + ")");
@@ -85,7 +86,8 @@ public class ScreenDefaultTemplateMapper
log.debug("templateName is " + templateName);
// Last element decides, which template Service to use...
- TemplateEngineService tes =
TurbineTemplate.getTemplateEngineService(templateName);
+ TemplateService templateService =
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
+ TemplateEngineService tes =
templateService.getTemplateEngineService(templateName);
if (tes == null)
{
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/ScreenTemplateMapper.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/ScreenTemplateMapper.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/ScreenTemplateMapper.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/template/mapper/ScreenTemplateMapper.java
Fri Jan 8 11:29:21 2016
@@ -22,9 +22,9 @@ package org.apache.turbine.services.temp
import org.apache.commons.lang.StringUtils;
+import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.services.template.TemplateEngineService;
import org.apache.turbine.services.template.TemplateService;
-import org.apache.turbine.services.template.TurbineTemplate;
/**
* This is a pretty simple mapper which returns template pathes for
@@ -62,8 +62,8 @@ public class ScreenTemplateMapper
String [] components = StringUtils.split(template,
String.valueOf(TemplateService.TEMPLATE_PARTS_SEPARATOR));
// Last element decides, which template Service to use...
- TemplateEngineService tes =
-
TurbineTemplate.getTemplateEngineService(components[components.length - 1]);
+ TemplateService templateService =
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
+ TemplateEngineService tes =
templateService.getTemplateEngineService(components[components.length - 1]);
String templatePackage = StringUtils.join(components,
String.valueOf(separator));
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/ui/TurbineUIService.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/ui/TurbineUIService.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/ui/TurbineUIService.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/ui/TurbineUIService.java
Fri Jan 8 11:29:21 2016
@@ -21,10 +21,11 @@ package org.apache.turbine.services.ui;
import java.io.File;
import java.io.InputStream;
-import java.util.HashMap;
import java.util.Properties;
+import java.util.concurrent.ConcurrentHashMap;
import org.apache.commons.configuration.Configuration;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.io.filefilter.DirectoryFileFilter;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
@@ -32,18 +33,19 @@ import org.apache.commons.logging.LogFac
import org.apache.turbine.Turbine;
import org.apache.turbine.services.InitializationException;
import org.apache.turbine.services.TurbineBaseService;
-import org.apache.turbine.services.pull.TurbinePull;
+import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.pull.PullService;
import org.apache.turbine.services.pull.tools.UITool;
-import org.apache.turbine.services.servlet.TurbineServlet;
+import org.apache.turbine.services.servlet.ServletService;
import org.apache.turbine.util.ServerData;
import org.apache.turbine.util.uri.DataURI;
/**
* The UI service provides for shared access to User Interface (skin) files,
- * as well as the ability for non-default skin files to inherit properties
from
- * a default skin. Use TurbineUI to access skin properties from your screen
- * classes and action code. UITool is provided as a pull tool for accessing
- * skin properties from your templates.
+ * as well as the ability for non-default skin files to inherit properties from
+ * a default skin. Use TurbineUI to access skin properties from your screen
+ * classes and action code. UITool is provided as a pull tool for accessing
+ * skin properties from your templates.
*
* @author <a href="mailto:[email protected]">Jason van Zyl</a>
* @author <a href="mailto:[email protected]">James Coltman</a>
@@ -101,7 +103,7 @@ public class TurbineUIService
private static final String RELATIVE_PROPERTY = "tool.ui.want.relative";
/**
- * Default skin name. This name refers to a directory in the
+ * Default skin name. This name refers to a directory in the
* WEBAPP/resources/ui/skins directory. There is a file called skin.props
* which contains the name/value pairs to be made available via the skin.
*/
@@ -126,6 +128,11 @@ public class TurbineUIService
private static final String DEFAULT_SKIN_CSS_FILE = "skin.css";
/**
+ * The servlet service.
+ */
+ private ServletService servletService;
+
+ /**
* The directory within the skin directory that contains the skin images.
*/
private String imagesDirectory;
@@ -144,11 +151,12 @@ public class TurbineUIService
/**
* The skin Properties store.
*/
- private HashMap<String, Properties> skins = new HashMap<String,
Properties>();
+ private ConcurrentHashMap<String, Properties> skins = new
ConcurrentHashMap<String, Properties>();
/**
* Refresh the service by clearing all skins.
*/
+ @Override
public void refresh()
{
clearSkins();
@@ -156,14 +164,15 @@ public class TurbineUIService
/**
* Refresh a particular skin by clearing it.
- *
+ *
* @param skinName the name of the skin to clear.
*/
+ @Override
public void refresh(String skinName)
{
clearSkin(skinName);
}
-
+
/**
* Retrieve the Properties for a specific skin. If they are not yet loaded
* they will be. If the specified skin does not exist properties for the
@@ -171,32 +180,33 @@ public class TurbineUIService
* level message will be written to the log. If the webapp skin does not
* exist the default skin will be used and id that doesn't exist an empty
* Properties will be returned.
- *
- * @param skinName the name of the skin whose properties are to be
+ *
+ * @param skinName the name of the skin whose properties are to be
* retrieved.
- * @return the Properties for the named skin or the properties for the
+ * @return the Properties for the named skin or the properties for the
* default skin configured for the webapp if the named skin does not exist.
*/
private Properties getSkinProperties(String skinName)
{
Properties skinProperties = skins.get(skinName);
- return null != skinProperties ? skinProperties : loadSkin(skinName);
+ return null != skinProperties ? skinProperties : loadSkin(skinName);
}
/**
- * Retrieve a skin property from the named skin. If the property is not
- * defined in the named skin the value for the default skin will be
- * provided. If the named skin does not exist then the skin configured
for
+ * Retrieve a skin property from the named skin. If the property is not
+ * defined in the named skin the value for the default skin will be
+ * provided. If the named skin does not exist then the skin configured for
* the webapp will be used. If the webapp skin does not exist the default
- * skin will be used. If the default skin does not exist then
+ * skin will be used. If the default skin does not exist then
* <code>null</code> will be returned.
- *
+ *
* @param skinName the name of the skin to retrieve the property from.
* @param key the key to retrieve from the skin.
- * @return the value of the property for the named skin (defaulting to the
+ * @return the value of the property for the named skin (defaulting to the
* default skin), the webapp skin, the default skin or <code>null</code>,
* depending on whether or not the property or skins exist.
*/
+ @Override
public String get(String skinName, String key)
{
Properties skinProperties = getSkinProperties(skinName);
@@ -204,17 +214,18 @@ public class TurbineUIService
}
/**
- * Retrieve a skin property from the default skin for the webapp. If the
- * property is not defined in the webapp skin the value for the default
skin
- * will be provided. If the webapp skin does not exist the default skin
- * will be used. If the default skin does not exist then
<code>null</code>
+ * Retrieve a skin property from the default skin for the webapp. If the
+ * property is not defined in the webapp skin the value for the default
skin
+ * will be provided. If the webapp skin does not exist the default skin
+ * will be used. If the default skin does not exist then <code>null</code>
* will be returned.
- *
+ *
* @param key the key to retrieve.
- * @return the value of the property for the webapp skin (defaulting to
the
- * default skin), the default skin or <code>null</code>, depending on
+ * @return the value of the property for the webapp skin (defaulting to the
+ * default skin), the default skin or <code>null</code>, depending on
* whether or not the property or skins exist.
*/
+ @Override
public String get(String key)
{
return get(getWebappSkinName(), key);
@@ -222,59 +233,54 @@ public class TurbineUIService
/**
* Provide access to the list of available skin names.
- *
+ *
* @return the available skin names.
*/
+ @Override
public String[] getSkinNames()
{
- File skinsDir = new File(TurbineServlet.getRealPath(skinsDirectory));
+ File skinsDir = new File(servletService.getRealPath(skinsDirectory));
return skinsDir.list(DirectoryFileFilter.INSTANCE);
}
/**
- * Clear the map of stored skins.
+ * Clear the map of stored skins.
*/
private void clearSkins()
{
- synchronized (skins)
- {
- skins = new HashMap<String, Properties>();
- }
+ skins.clear();
log.debug("All skins were cleared.");
}
-
+
/**
* Clear a particular skin from the map of stored skins.
- *
+ *
* @param skinName the name of the skin to clear.
*/
private void clearSkin(String skinName)
{
- synchronized (skins)
+ if (!skinName.equals(SKIN_PROPERTY_DEFAULT))
{
- if (!skinName.equals(SKIN_PROPERTY_DEFAULT))
- {
- skins.remove(SKIN_PROPERTY_DEFAULT);
- }
- skins.remove(skinName);
+ skins.remove(SKIN_PROPERTY_DEFAULT);
}
- log.debug("The skin \"" + skinName
+ skins.remove(skinName);
+ log.debug("The skin \"" + skinName
+ "\" was cleared (will also clear \"default\" skin).");
}
/**
* Load the specified skin.
- *
+ *
* @param skinName the name of the skin to load.
* @return the Properties for the named skin if it exists, or the skin
* configured for the web application if it does not exist, or the default
- * skin if that does not exist, or an empty Parameters object if even that
+ * skin if that does not exist, or an empty Parameters object if even that
* cannot be found.
*/
- private synchronized Properties loadSkin(String skinName)
+ private Properties loadSkin(String skinName)
{
Properties defaultSkinProperties = null;
-
+
if (!StringUtils.equals(skinName, SKIN_PROPERTY_DEFAULT))
{
defaultSkinProperties = getSkinProperties(SKIN_PROPERTY_DEFAULT);
@@ -282,7 +288,7 @@ public class TurbineUIService
// The following line is okay even for default.
Properties skinProperties = new Properties(defaultSkinProperties);
-
+
StringBuilder sb = new StringBuilder();
sb.append('/').append(skinsDirectory);
sb.append('/').append(skinName);
@@ -292,22 +298,23 @@ public class TurbineUIService
log.debug("Loading selected skin from: " + sb.toString());
}
+ InputStream is = null;
+
try
{
// This will NPE if the directory associated with the skin does not
- // exist, but it is habdled correctly below.
- InputStream is = TurbineServlet.getResourceAsStream(sb.toString());
-
+ // exist, but it is handled correctly below.
+ is = servletService.getResourceAsStream(sb.toString());
skinProperties.load(is);
}
catch (Exception e)
{
log.error("Cannot load skin: " + skinName + ", from: "
+ sb.toString(), e);
- if (!StringUtils.equals(skinName, getWebappSkinName())
+ if (!StringUtils.equals(skinName, getWebappSkinName())
&& !StringUtils.equals(skinName, SKIN_PROPERTY_DEFAULT))
{
- log.error("Attempting to return the skin configured for "
+ log.error("Attempting to return the skin configured for "
+ "webapp instead of " + skinName);
return getSkinProperties(getWebappSkinName());
}
@@ -322,25 +329,27 @@ public class TurbineUIService
return new Properties();
}
}
-
- // Replace in skins HashMap
- synchronized (skins)
+ finally
{
- skins.put(skinName, skinProperties);
+ IOUtils.closeQuietly(is);
}
-
+
+ // Replace in skins HashMap
+ skins.put(skinName, skinProperties);
+
return skinProperties;
}
/**
- * Get the name of the default skin name for the web application from the
- * TurbineResources.properties file. If the property is not present the
+ * Get the name of the default skin name for the web application from the
+ * TurbineResources.properties file. If the property is not present the
* name of the default skin will be returned. Note that the web
application
- * skin name may be something other than default, in which case its
+ * skin name may be something other than default, in which case its
* properties will default to the skin with the name "default".
- *
+ *
* @return the name of the default skin for the web application.
*/
+ @Override
public String getWebappSkinName()
{
return Turbine.getConfiguration()
@@ -348,60 +357,64 @@ public class TurbineUIService
}
/**
- * Retrieve the URL for an image that is part of a skin. The images are
+ * Retrieve the URL for an image that is part of a skin. The images are
* stored in the WEBAPP/resources/ui/skins/[SKIN]/images directory.
*
- * <p>Use this if for some reason your server name, server scheme, or
server
- * port change on a per request basis. I'm not sure if this would happen
in
+ * <p>Use this if for some reason your server name, server scheme, or
server
+ * port change on a per request basis. I'm not sure if this would happen in
* a load balanced situation. I think in most cases the image(String image)
* method would probably be enough, but I'm not absolutely positive.
- *
+ *
* @param skinName the name of the skin to retrieve the image from.
* @param imageId the id of the image whose URL will be generated.
* @param serverData the serverData to use as the basis for the URL.
*/
+ @Override
public String image(String skinName, String imageId, ServerData serverData)
{
return getSkinResource(serverData, skinName, imagesDirectory, imageId);
}
/**
- * Retrieve the URL for an image that is part of a skin. The images are
+ * Retrieve the URL for an image that is part of a skin. The images are
* stored in the WEBAPP/resources/ui/skins/[SKIN]/images directory.
- *
+ *
* @param skinName the name of the skin to retrieve the image from.
* @param imageId the id of the image whose URL will be generated.
*/
+ @Override
public String image(String skinName, String imageId)
{
return image(skinName, imageId, Turbine.getDefaultServerData());
}
/**
- * Retrieve the URL for the style sheet that is part of a skin. The style
is
- * stored in the WEBAPP/resources/ui/skins/[SKIN] directory with the
+ * Retrieve the URL for the style sheet that is part of a skin. The style
is
+ * stored in the WEBAPP/resources/ui/skins/[SKIN] directory with the
* filename skin.css
*
- * <p>Use this if for some reason your server name, server scheme, or
server
- * port change on a per request basis. I'm not sure if this would happen
in
- * a load balanced situation. I think in most cases the style() method
would
+ * <p>Use this if for some reason your server name, server scheme, or
server
+ * port change on a per request basis. I'm not sure if this would happen in
+ * a load balanced situation. I think in most cases the style() method
would
* probably be enough, but I'm not absolutely positive.
- *
+ *
* @param skinName the name of the skin to retrieve the style sheet from.
* @param serverData the serverData to use as the basis for the URL.
*/
+ @Override
public String getStylecss(String skinName, ServerData serverData)
{
return getSkinResource(serverData, skinName, null, cssFile);
}
/**
- * Retrieve the URL for the style sheet that is part of a skin. The style
is
- * stored in the WEBAPP/resources/ui/skins/[SKIN] directory with the
+ * Retrieve the URL for the style sheet that is part of a skin. The style
is
+ * stored in the WEBAPP/resources/ui/skins/[SKIN] directory with the
* filename skin.css
- *
+ *
* @param skinName the name of the skin to retrieve the style sheet from.
*/
+ @Override
public String getStylecss(String skinName)
{
return getStylecss(skinName, Turbine.getDefaultServerData());
@@ -411,15 +424,16 @@ public class TurbineUIService
* Retrieve the URL for a given script that is part of a skin. The script
is
* stored in the WEBAPP/resources/ui/skins/[SKIN] directory.
*
- * <p>Use this if for some reason your server name, server scheme, or
server
- * port change on a per request basis. I'm not sure if this would happen
in
- * a load balanced situation. I think in most cases the style() method
would
+ * <p>Use this if for some reason your server name, server scheme, or
server
+ * port change on a per request basis. I'm not sure if this would happen in
+ * a load balanced situation. I think in most cases the style() method
would
* probably be enough, but I'm not absolutely positive.
*
* @param skinName the name of the skin to retrieve the image from.
* @param filename the name of the script file.
* @param serverData the serverData to use as the basis for the URL.
*/
+ @Override
public String getScript(String skinName, String filename,
ServerData serverData)
{
@@ -433,6 +447,7 @@ public class TurbineUIService
* @param skinName the name of the skin to retrieve the image from.
* @param filename the name of the script file.
*/
+ @Override
public String getScript(String skinName, String filename)
{
return getScript(skinName, filename, Turbine.getDefaultServerData());
@@ -497,10 +512,12 @@ public class TurbineUIService
{
Configuration cfg = Turbine.getConfiguration();
- // Get the resources directory that is specified in the TR.props or
+ servletService =
(ServletService)TurbineServices.getInstance().getService(ServletService.SERVICE_NAME);
+ PullService pullService =
(PullService)TurbineServices.getInstance().getService(PullService.SERVICE_NAME);
+ // Get the resources directory that is specified in the TR.props or
// default to "resources", relative to the webapp.
StringBuilder sb = new StringBuilder();
- sb.append(stripSlashes(TurbinePull.getResourcesDirectory()));
+ sb.append(stripSlashes(pullService.getResourcesDirectory()));
sb.append("/");
sb.append(stripSlashes(
cfg.getString(SKINDIR_PROPERTY, SKINS_DIRECTORY)));
@@ -521,8 +538,6 @@ public class TurbineUIService
public void shutdown()
{
clearSkins();
-
setInit(false);
}
-
}
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/velocity/TurbineVelocityService.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/velocity/TurbineVelocityService.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/services/velocity/TurbineVelocityService.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/services/velocity/TurbineVelocityService.java
Fri Jan 8 11:29:21 2016
@@ -37,8 +37,8 @@ import org.apache.commons.logging.LogFac
import org.apache.turbine.Turbine;
import org.apache.turbine.pipeline.PipelineData;
import org.apache.turbine.services.InitializationException;
+import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.services.pull.PullService;
-import org.apache.turbine.services.pull.TurbinePull;
import org.apache.turbine.services.template.BaseTemplateEngineService;
import org.apache.turbine.util.RunData;
import org.apache.turbine.util.TurbineException;
@@ -136,11 +136,10 @@ public class TurbineVelocityService
// We can only load the Pull Model ToolBox
// if the Pull service has been listed in the TR.props
// and the service has successfully been initialized.
- if (TurbinePull.isRegistered())
+ if
(TurbineServices.getInstance().isRegistered(PullService.SERVICE_NAME))
{
pullModelActive = true;
-
- pullService = TurbinePull.getService();
+ pullService =
(PullService)TurbineServices.getInstance().getService(PullService.SERVICE_NAME);
log.debug("Activated Pull Tools");
}
Modified:
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateInfo.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateInfo.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateInfo.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateInfo.java
Fri Jan 8 11:29:21 2016
@@ -24,7 +24,8 @@ package org.apache.turbine.util.template
import java.util.HashMap;
import java.util.Map;
-import org.apache.turbine.services.template.TurbineTemplate;
+import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.template.TemplateService;
import org.apache.turbine.util.RunData;
import org.apache.turbine.util.uri.URIConstants;
@@ -113,7 +114,8 @@ public class TemplateInfo
// to help us out.
try
{
- setLayoutTemplate(TurbineTemplate.getLayoutTemplateName(v));
+ TemplateService templateService =
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
+ setLayoutTemplate(templateService.getLayoutTemplateName(v));
}
catch (Exception e)
{
Modified:
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateNavigation.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateNavigation.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateNavigation.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateNavigation.java
Fri Jan 8 11:29:21 2016
@@ -24,7 +24,8 @@ package org.apache.turbine.util.template
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.turbine.modules.NavigationLoader;
-import org.apache.turbine.services.template.TurbineTemplate;
+import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.template.TemplateService;
import org.apache.turbine.util.RunData;
/**
@@ -96,7 +97,8 @@ public class TemplateNavigation
}
data.getTemplateInfo().setNavigationTemplate(template);
- module = TurbineTemplate.getNavigationName(template);
+ TemplateService templateService =
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
+ module = templateService.getNavigationName(template);
if (module == null)
{
Modified:
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateScreen.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateScreen.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateScreen.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateScreen.java
Fri Jan 8 11:29:21 2016
@@ -25,7 +25,8 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.turbine.modules.Screen;
import org.apache.turbine.modules.ScreenLoader;
-import org.apache.turbine.services.assemblerbroker.TurbineAssemblerBroker;
+import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.assemblerbroker.AssemblerBrokerService;
import org.apache.turbine.util.RunData;
/**
@@ -69,7 +70,9 @@ public class TemplateScreen
{
this.data = data;
this.screen = data.getScreen();
- this.screenLoader =
(ScreenLoader)TurbineAssemblerBroker.getLoader(Screen.class);
+ AssemblerBrokerService abs =
(AssemblerBrokerService)TurbineServices.getInstance()
+ .getService(AssemblerBrokerService.SERVICE_NAME);
+ this.screenLoader = (ScreenLoader)abs.getLoader(Screen.class);
}
/**
Modified:
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateSecurityCheck.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateSecurityCheck.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateSecurityCheck.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/util/template/TemplateSecurityCheck.java
Fri Jan 8 11:29:21 2016
@@ -28,7 +28,7 @@ import org.apache.fulcrum.security.model
import org.apache.turbine.Turbine;
import org.apache.turbine.TurbineConstants;
import org.apache.turbine.services.TurbineServices;
-import org.apache.turbine.services.template.TurbineTemplate;
+import org.apache.turbine.services.template.TemplateService;
import org.apache.turbine.util.RunData;
/**
@@ -50,9 +50,8 @@ import org.apache.turbine.util.RunData;
*/
public class TemplateSecurityCheck
{
- private String message =
- "Sorry, you do not have permission to access this area.";
- private String failScreen = TurbineTemplate.getDefaultScreen();
+ private String message = "Sorry, you do not have permission to access this
area.";
+ private String failScreen;
private String failTemplate;
private RunData data = null;
@@ -65,7 +64,7 @@ public class TemplateSecurityCheck
*/
public TemplateSecurityCheck(RunData data, String message)
{
- this.data = data;
+ this(data);
this.message = message;
}
@@ -77,6 +76,8 @@ public class TemplateSecurityCheck
public TemplateSecurityCheck(RunData data)
{
this.data = data;
+ TemplateService templateService =
(TemplateService)TurbineServices.getInstance().getService(TemplateService.SERVICE_NAME);
+ this.failScreen = templateService.getDefaultScreen();
}
/**
Modified:
turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityActionEvent.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityActionEvent.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityActionEvent.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityActionEvent.java
Fri Jan 8 11:29:21 2016
@@ -23,9 +23,10 @@ package org.apache.turbine.util.velocity
import org.apache.fulcrum.parser.ParameterParser;
import org.apache.turbine.Turbine;
+import org.apache.turbine.annotation.TurbineService;
import org.apache.turbine.modules.ActionEvent;
import org.apache.turbine.pipeline.PipelineData;
-import org.apache.turbine.services.velocity.TurbineVelocity;
+import org.apache.turbine.services.velocity.VelocityService;
import org.apache.velocity.context.Context;
/**
@@ -49,6 +50,10 @@ import org.apache.velocity.context.Conte
*/
public abstract class VelocityActionEvent extends ActionEvent
{
+ /** Injected velocity service */
+ @TurbineService
+ protected VelocityService velocity;
+
/** Indicates whether or not this module has been initialized. */
protected boolean initialized = false;
@@ -78,7 +83,7 @@ public abstract class VelocityActionEven
}
ParameterParser pp = pipelineData.get(Turbine.class,
ParameterParser.class);
- Context context = TurbineVelocity.getContext(pipelineData);
+ Context context = velocity.getContext(pipelineData);
executeEvents(pp, new Class<?>[]{ PipelineData.class, Context.class },
new Object[]{ pipelineData, context });
}
Modified:
turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityEmail.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityEmail.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityEmail.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityEmail.java
Fri Jan 8 11:29:21 2016
@@ -28,7 +28,8 @@ import org.apache.commons.mail.EmailExce
import org.apache.commons.mail.SimpleEmail;
import org.apache.turbine.Turbine;
import org.apache.turbine.TurbineConstants;
-import org.apache.turbine.services.velocity.TurbineVelocity;
+import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.velocity.VelocityService;
import org.apache.velocity.context.Context;
/**
@@ -251,12 +252,13 @@ public class VelocityEmail extends Simpl
try
{
// Process the template.
- body = TurbineVelocity.handleRequest(context, template);
+ VelocityService velocityService =
(VelocityService)TurbineServices.getInstance().getService(VelocityService.SERVICE_NAME);
+ body = velocityService.handleRequest(context, template);
}
catch (Exception e)
{
throw new EmailException(
- "Could not render velocitty template", e);
+ "Could not render velocity template", e);
}
// If the caller desires word-wrapping, do it here
Modified:
turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityHtmlEmail.java
URL:
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityHtmlEmail.java?rev=1723699&r1=1723698&r2=1723699&view=diff
==============================================================================
---
turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityHtmlEmail.java
(original)
+++
turbine/core/trunk/src/java/org/apache/turbine/util/velocity/VelocityHtmlEmail.java
Fri Jan 8 11:29:21 2016
@@ -31,8 +31,8 @@ import org.apache.commons.mail.EmailExce
import org.apache.commons.mail.HtmlEmail;
import org.apache.turbine.Turbine;
import org.apache.turbine.TurbineConstants;
-import org.apache.turbine.pipeline.PipelineData;
-import org.apache.turbine.services.velocity.TurbineVelocity;
+import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.velocity.VelocityService;
import org.apache.velocity.context.Context;
/**
@@ -107,13 +107,11 @@ public class VelocityHtmlEmail extends H
private String mailServer;
/**
- * Constructor, sets the context object from the passed {@link
PipelineData} object
- *
- * @param pipelineData A Turbine {@link PipelineData} object.
+ * Constructor
*/
- public VelocityHtmlEmail(PipelineData pipelineData)
+ public VelocityHtmlEmail()
{
- this(TurbineVelocity.getContext(pipelineData));
+ super();
}
/**
@@ -123,6 +121,7 @@ public class VelocityHtmlEmail extends H
*/
public VelocityHtmlEmail(Context context)
{
+ this();
this.context = context;
embmap = new Hashtable<String, String>();
}
@@ -195,15 +194,15 @@ public class VelocityHtmlEmail extends H
try
{
+ VelocityService velocityService =
(VelocityService)TurbineServices.getInstance().getService(VelocityService.SERVICE_NAME);
+
if (htmlTemplate != null)
{
- setHtmlMsg(
- TurbineVelocity.handleRequest(context, htmlTemplate));
+ setHtmlMsg(velocityService.handleRequest(context,
htmlTemplate));
}
if (textTemplate != null)
{
- setTextMsg(
- TurbineVelocity.handleRequest(context, textTemplate));
+ setTextMsg(velocityService.handleRequest(context,
textTemplate));
}
}
catch (Exception e)