You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@turbine.apache.org by tv...@apache.org on 2016/01/08 12:27:14 UTC
svn commit: r1723697 - in
/turbine/core/trunk/src/java/org/apache/turbine/services:
intake/IntakeTool.java localization/LocalizationTool.java
pull/TurbinePullService.java pull/tools/UITool.java
schedule/SchedulerTool.java session/SessionTool.java
Author: tv
Date: Fri Jan 8 11:27:14 2016
New Revision: 1723697
URL: http://svn.apache.org/viewvc?rev=1723697&view=rev
Log:
Add annotation processing to pull tools
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/intake/IntakeTool.java
turbine/core/trunk/src/java/org/apache/turbine/services/localization/LocalizationTool.java
turbine/core/trunk/src/java/org/apache/turbine/services/pull/TurbinePullService.java
turbine/core/trunk/src/java/org/apache/turbine/services/pull/tools/UITool.java
turbine/core/trunk/src/java/org/apache/turbine/services/schedule/SchedulerTool.java
turbine/core/trunk/src/java/org/apache/turbine/services/session/SessionTool.java
Modified: turbine/core/trunk/src/java/org/apache/turbine/services/intake/IntakeTool.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/intake/IntakeTool.java?rev=1723697&r1=1723696&r2=1723697&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/services/intake/IntakeTool.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/services/intake/IntakeTool.java Fri Jan 8 11:27:14 2016
@@ -28,11 +28,12 @@ import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.fulcrum.intake.IntakeException;
-import org.apache.fulcrum.intake.IntakeServiceFacade;
+import org.apache.fulcrum.intake.IntakeService;
import org.apache.fulcrum.intake.Retrievable;
import org.apache.fulcrum.intake.model.Group;
import org.apache.fulcrum.parser.ValueParser;
import org.apache.fulcrum.pool.Recyclable;
+import org.apache.turbine.annotation.TurbineService;
import org.apache.turbine.services.pull.ApplicationTool;
import org.apache.turbine.util.RunData;
@@ -60,7 +61,7 @@ public class IntakeTool
public static final String INTAKE_GRP = "intake-grp";
/** Groups from intake.xml */
- protected HashMap<String, Group> groups;
+ protected HashMap<String, Group> groups = null;
/** ValueParser instance */
protected ValueParser pp;
@@ -70,26 +71,19 @@ public class IntakeTool
private final StringBuilder groupSB = new StringBuilder(128);
/** The cache of PullHelpers. **/
- private final Map<String, IntakeTool.PullHelper> pullMap;
+ private Map<String, IntakeTool.PullHelper> pullMap = null;
+
+ /**
+ * The Intake service.
+ */
+ @TurbineService
+ private IntakeService intakeService;
/**
* Constructor
*/
public IntakeTool()
{
- String[] groupNames = IntakeServiceFacade.getGroupNames();
- int groupCount = 0;
- if (groupNames != null)
- {
- groupCount = groupNames.length;
- }
- groups = new HashMap<String, Group>((int) (1.25 * groupCount + 1));
- pullMap = new HashMap<String, IntakeTool.PullHelper>((int) (1.25 * groupCount + 1));
-
- for (int i = groupCount - 1; i >= 0; i--)
- {
- pullMap.put(groupNames[i], new PullHelper(groupNames[i]));
- }
}
/**
@@ -98,20 +92,37 @@ public class IntakeTool
@Override
public void init(Object runData)
{
+ if (groups == null) // Initialize only once
+ {
+ String[] groupNames = intakeService.getGroupNames();
+ int groupCount = 0;
+ if (groupNames != null)
+ {
+ groupCount = groupNames.length;
+ }
+ groups = new HashMap<String, Group>((int) (1.25 * groupCount + 1));
+ pullMap = new HashMap<String, IntakeTool.PullHelper>((int) (1.25 * groupCount + 1));
+
+ for (int i = groupCount - 1; i >= 0; i--)
+ {
+ pullMap.put(groupNames[i], new PullHelper(groupNames[i]));
+ }
+ }
+
this.pp = ((RunData) runData).getParameters();
String[] groupKeys = pp.getStrings(INTAKE_GRP);
String[] groupNames = null;
if (groupKeys == null || groupKeys.length == 0)
{
- groupNames = IntakeServiceFacade.getGroupNames();
+ groupNames = intakeService.getGroupNames();
}
else
{
groupNames = new String[groupKeys.length];
for (int i = groupKeys.length - 1; i >= 0; i--)
{
- groupNames[i] = IntakeServiceFacade.getGroupName(groupKeys[i]);
+ groupNames[i] = intakeService.getGroupName(groupKeys[i]);
}
}
@@ -120,7 +131,7 @@ public class IntakeTool
{
try
{
- List<Group> foundGroups = IntakeServiceFacade.getGroup(groupNames[i])
+ List<Group> foundGroups = intakeService.getGroup(groupNames[i])
.getObjects(pp);
if (foundGroups != null)
@@ -289,14 +300,14 @@ public class IntakeTool
{
Group g = null;
- String inputKey = IntakeServiceFacade.getGroupKey(groupName) + key;
+ String inputKey = intakeService.getGroupKey(groupName) + key;
if (groups.containsKey(inputKey))
{
g = groups.get(inputKey);
}
else if (create)
{
- g = IntakeServiceFacade.getGroup(groupName);
+ g = intakeService.getGroup(groupName);
groups.put(inputKey, g);
g.init(key, pp);
}
@@ -316,7 +327,7 @@ public class IntakeTool
try
{
- String inputKey = IntakeServiceFacade.getGroupKey(groupName)
+ String inputKey = intakeService.getGroupKey(groupName)
+ obj.getQueryKey();
if (groups.containsKey(inputKey))
{
@@ -324,7 +335,7 @@ public class IntakeTool
}
else
{
- g = IntakeServiceFacade.getGroup(groupName);
+ g = intakeService.getGroup(groupName);
groups.put(inputKey, g);
}
@@ -405,11 +416,11 @@ public class IntakeTool
{
if (groupName == null)
{
- throw new IntakeException("IntakeServiceFacade.get: groupName == null");
+ throw new IntakeException("intakeService.get: groupName == null");
}
if (key == null)
{
- throw new IntakeException("IntakeServiceFacade.get: key == null");
+ throw new IntakeException("intakeService.get: key == null");
}
PullHelper ph = get(groupName);
@@ -446,7 +457,7 @@ public class IntakeTool
try
{
- IntakeServiceFacade.releaseGroup(group);
+ intakeService.releaseGroup(group);
}
catch (IntakeException ie)
{
@@ -513,7 +524,7 @@ public class IntakeTool
{
try
{
- IntakeServiceFacade.releaseGroup(group);
+ intakeService.releaseGroup(group);
}
catch (IntakeException ie)
{
Modified: turbine/core/trunk/src/java/org/apache/turbine/services/localization/LocalizationTool.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/localization/LocalizationTool.java?rev=1723697&r1=1723696&r2=1723697&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/services/localization/LocalizationTool.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/services/localization/LocalizationTool.java Fri Jan 8 11:27:14 2016
@@ -25,8 +25,7 @@ import java.util.MissingResourceExceptio
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.fulcrum.localization.LocalizationService;
-import org.apache.turbine.services.InstantiationException;
-import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.annotation.TurbineService;
import org.apache.turbine.services.pull.ApplicationTool;
import org.apache.turbine.util.RunData;
/**
@@ -41,8 +40,11 @@ public class LocalizationTool implements
{
/** Logging */
private static Log log = LogFactory.getLog(LocalizationTool.class);
+
/** Fulcrum Localization component */
+ @TurbineService
private LocalizationService localizationService;
+
/**
* The language and country information parsed from the request's
* <code>Accept-Language</code> header. Reset on each request.
@@ -50,27 +52,6 @@ public class LocalizationTool implements
protected Locale locale;
/**
- * Lazy load the LocalizationService.
- * @return a fulcrum LocalizationService
- */
- public LocalizationService getLocalizationService()
- {
- if (localizationService == null)
- {
- try
- {
- localizationService = (LocalizationService)TurbineServices.getInstance()
- .getService(LocalizationService.ROLE);
- }
- catch (Exception e)
- {
- throw new InstantiationException("Problem looking up Localization Service:"+e.getMessage());
- }
- }
- return localizationService;
- }
-
- /**
* Creates a new instance. Used by <code>PullService</code>.
*/
public LocalizationTool()
@@ -95,7 +76,7 @@ public class LocalizationTool implements
{
try
{
- return getLocalizationService().getString(getBundleName(null), getLocale(), key);
+ return localizationService.getString(getBundleName(null), getLocale(), key);
}
catch (MissingResourceException noKey)
{
@@ -125,7 +106,7 @@ public class LocalizationTool implements
*/
protected String getBundleName(Object data)
{
- return getLocalizationService().getDefaultBundleName();
+ return localizationService.getDefaultBundleName();
}
/**
@@ -138,8 +119,7 @@ public class LocalizationTool implements
*/
public String format(String key, Object... args)
{
- return getLocalizationService()
- .format(getBundleName(null), getLocale(), key, args);
+ return localizationService.format(getBundleName(null), getLocale(), key, args);
}
// ApplicationTool implementation
@@ -155,7 +135,7 @@ public class LocalizationTool implements
{
// Pull necessary information out of RunData while we have
// a reference to it.
- locale = getLocalizationService().getLocale(((RunData) data).getRequest());
+ locale = localizationService.getLocale(((RunData) data).getRequest());
}
}
Modified: turbine/core/trunk/src/java/org/apache/turbine/services/pull/TurbinePullService.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/pull/TurbinePullService.java?rev=1723697&r1=1723696&r2=1723697&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/services/pull/TurbinePullService.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/services/pull/TurbinePullService.java Fri Jan 8 11:27:14 2016
@@ -31,12 +31,12 @@ import org.apache.commons.logging.LogFac
import org.apache.fulcrum.pool.PoolService;
import org.apache.fulcrum.security.model.turbine.TurbineUserManager;
import org.apache.turbine.Turbine;
+import org.apache.turbine.annotation.AnnotationProcessor;
import org.apache.turbine.om.security.User;
import org.apache.turbine.pipeline.PipelineData;
import org.apache.turbine.services.InitializationException;
import org.apache.turbine.services.TurbineBaseService;
import org.apache.turbine.services.TurbineServices;
-import org.apache.turbine.services.velocity.TurbineVelocity;
import org.apache.turbine.services.velocity.VelocityService;
import org.apache.turbine.util.RunData;
import org.apache.velocity.context.Context;
@@ -205,7 +205,7 @@ public class TurbinePullService
setInit(true);
// Do _NOT_ move this before the setInit(true)
- velocity = TurbineVelocity.getService();
+ velocity = (VelocityService)TurbineServices.getInstance().getService(VelocityService.SERVICE_NAME);
if (velocity != null)
{
@@ -218,8 +218,7 @@ public class TurbinePullService
}
catch (Exception e)
{
- throw new InitializationException(
- "TurbinePullService failed to initialize", e);
+ throw new InitializationException("TurbinePullService failed to initialize", e);
}
}
@@ -309,7 +308,7 @@ public class TurbinePullService
}
/**
- * Retrieve the tool names and classes for the tools definied
+ * Retrieve the tool names and classes for the tools defined
* in the configuration file with the prefix given.
*
* @param toolConfig The part of the configuration describing some tools
@@ -938,11 +937,13 @@ public class TurbinePullService
*/
private void refreshGlobalTools()
{
- for (Iterator<ToolData> it = globalTools.iterator(); it.hasNext();)
+ if (globalTools != null)
{
- ToolData toolData = it.next();
- Object tool = globalContext.get(toolData.toolName);
- refreshTool(tool, null);
+ for (ToolData toolData : globalTools)
+ {
+ Object tool = globalContext.get(toolData.toolName);
+ refreshTool(tool, null);
+ }
}
}
@@ -969,14 +970,16 @@ public class TurbinePullService
*/
private void releaseTools(Context context, List<ToolData> tools)
{
- for (Iterator<ToolData> it = tools.iterator(); it.hasNext();)
+ if (tools != null)
{
- ToolData toolData = it.next();
- Object tool = context.remove(toolData.toolName);
-
- if (tool != null)
+ for (ToolData toolData : tools)
{
- pool.putInstance(tool);
+ Object tool = context.remove(toolData.toolName);
+
+ if (tool != null)
+ {
+ pool.putInstance(tool);
+ }
}
}
}
@@ -992,6 +995,8 @@ public class TurbinePullService
private void initTool(Object tool, Object param)
throws Exception
{
+ AnnotationProcessor.process(tool);
+
if (param instanceof PipelineData)
{
if (tool instanceof PipelineDataApplicationTool)
Modified: turbine/core/trunk/src/java/org/apache/turbine/services/pull/tools/UITool.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/pull/tools/UITool.java?rev=1723697&r1=1723696&r2=1723697&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/services/pull/tools/UITool.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/services/pull/tools/UITool.java Fri Jan 8 11:27:14 2016
@@ -21,10 +21,10 @@ package org.apache.turbine.services.pull
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.turbine.annotation.TurbineService;
import org.apache.turbine.om.security.User;
import org.apache.turbine.pipeline.PipelineData;
import org.apache.turbine.services.pull.ApplicationTool;
-import org.apache.turbine.services.ui.TurbineUI;
import org.apache.turbine.services.ui.UIService;
import org.apache.turbine.util.RunData;
import org.apache.turbine.util.ServerData;
@@ -77,12 +77,18 @@ public class UITool implements Applicati
private String skinName;
/**
+ * The UI service.
+ */
+ @TurbineService
+ private UIService uiService;
+
+ /**
* Refresh the tool.
*/
@Override
public void refresh()
{
- TurbineUI.refresh(getSkin());
+ uiService.refresh(getSkin());
log.debug("UITool refreshed for skin: " + getSkin());
}
@@ -93,7 +99,7 @@ public class UITool implements Applicati
*/
public String[] getSkinNames()
{
- return TurbineUI.getSkinNames();
+ return uiService.getSkinNames();
}
/**
@@ -107,7 +113,7 @@ public class UITool implements Applicati
*/
public String getWebappSkinName()
{
- return TurbineUI.getWebappSkinName();
+ return uiService.getWebappSkinName();
}
/**
@@ -124,7 +130,7 @@ public class UITool implements Applicati
*/
public String get(String key)
{
- return TurbineUI.get(getSkin(), key);
+ return uiService.get(getSkin(), key);
}
/**
@@ -142,7 +148,7 @@ public class UITool implements Applicati
*/
public void setSkin()
{
- skinName = TurbineUI.getWebappSkinName();
+ skinName = uiService.getWebappSkinName();
}
/**
@@ -235,7 +241,7 @@ public class UITool implements Applicati
*/
public String image(String imageId, ServerData serverData)
{
- return TurbineUI.image(getSkin(), imageId, serverData);
+ return uiService.image(getSkin(), imageId, serverData);
}
/**
@@ -247,7 +253,7 @@ public class UITool implements Applicati
*/
public String image(String imageId)
{
- return TurbineUI.image(getSkin(), imageId);
+ return uiService.image(getSkin(), imageId);
}
/**
@@ -284,7 +290,7 @@ public class UITool implements Applicati
*/
public String getStylecss(ServerData serverData)
{
- return TurbineUI.getStylecss(getSkin(), serverData);
+ return uiService.getStylecss(getSkin(), serverData);
}
/**
@@ -295,7 +301,7 @@ public class UITool implements Applicati
*/
public String getStylecss()
{
- return TurbineUI.getStylecss(getSkin());
+ return uiService.getStylecss(getSkin());
}
/**
@@ -332,7 +338,7 @@ public class UITool implements Applicati
*/
public String getScript(String filename, ServerData serverData)
{
- return TurbineUI.getScript(getSkin(), filename, serverData);
+ return uiService.getScript(getSkin(), filename, serverData);
}
/**
@@ -344,7 +350,7 @@ public class UITool implements Applicati
*/
public String getScript(String filename)
{
- return TurbineUI.getScript(getSkin(), filename);
+ return uiService.getScript(getSkin(), filename);
}
/**
Modified: turbine/core/trunk/src/java/org/apache/turbine/services/schedule/SchedulerTool.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/schedule/SchedulerTool.java?rev=1723697&r1=1723696&r2=1723697&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/services/schedule/SchedulerTool.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/services/schedule/SchedulerTool.java Fri Jan 8 11:27:14 2016
@@ -25,7 +25,7 @@ import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.annotation.TurbineService;
import org.apache.turbine.services.pull.ApplicationTool;
import org.apache.turbine.util.TurbineException;
@@ -41,13 +41,19 @@ public class SchedulerTool implements Ap
private static Log log = LogFactory.getLog(ScheduleService.LOGGER_NAME);
/**
+ * The scheduler service.
+ */
+ @TurbineService
+ private ScheduleService schedulerService;
+
+ /**
* Initialize the pull tool
*/
@Override
public void init(Object data)
{
- if (!TurbineServices.getInstance().isRegistered(
- ScheduleService.SERVICE_NAME))
+ // Rely on injection
+ if (schedulerService == null)
{
log.error("You can not use the SchedulerTool unless you enable "
+"the Scheduler Service!!!!");
@@ -70,7 +76,7 @@ public class SchedulerTool implements Ap
*/
public List<? extends JobEntry> getScheduledJobs()
{
- return TurbineScheduler.listJobs();
+ return schedulerService.listJobs();
}
/**
@@ -79,7 +85,7 @@ public class SchedulerTool implements Ap
*/
public boolean isEnabled()
{
- return TurbineScheduler.isEnabled();
+ return schedulerService.isEnabled();
}
/**
@@ -94,7 +100,7 @@ public class SchedulerTool implements Ap
try
{
- je = TurbineScheduler.getJob(Integer.parseInt(jobId));
+ je = schedulerService.getJob(Integer.parseInt(jobId));
}
catch (TurbineException e)
{
Modified: turbine/core/trunk/src/java/org/apache/turbine/services/session/SessionTool.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/session/SessionTool.java?rev=1723697&r1=1723696&r2=1723697&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/services/session/SessionTool.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/services/session/SessionTool.java Fri Jan 8 11:27:14 2016
@@ -25,6 +25,7 @@ import java.util.Collection;
import javax.servlet.http.HttpSession;
+import org.apache.turbine.annotation.TurbineService;
import org.apache.turbine.om.security.User;
import org.apache.turbine.services.pull.ApplicationTool;
@@ -37,6 +38,12 @@ import org.apache.turbine.services.pull.
public class SessionTool
implements ApplicationTool
{
+ /**
+ * The session service.
+ */
+ @TurbineService
+ private SessionService sessionService;
+
@Override
public void init(Object o)
{
@@ -56,7 +63,7 @@ public class SessionTool
*/
public Collection<HttpSession> getActiveSessions()
{
- return TurbineSession.getActiveSessions();
+ return sessionService.getActiveSessions();
}
/**
@@ -67,7 +74,7 @@ public class SessionTool
*/
public void addSession(HttpSession session)
{
- TurbineSession.addSession(session);
+ sessionService.addSession(session);
}
/**
@@ -78,7 +85,7 @@ public class SessionTool
*/
public void removeSession(HttpSession session)
{
- TurbineSession.removeSession(session);
+ sessionService.removeSession(session);
}
/**
@@ -94,7 +101,7 @@ public class SessionTool
*/
public boolean isUserLoggedIn(User user)
{
- return TurbineSession.isUserLoggedIn(user);
+ return sessionService.isUserLoggedIn(user);
}
/**
@@ -106,7 +113,7 @@ public class SessionTool
*/
public Collection<User> getActiveUsers()
{
- return TurbineSession.getActiveUsers();
+ return sessionService.getActiveUsers();
}
/**
@@ -117,7 +124,7 @@ public class SessionTool
*/
public User getUserFromSession(HttpSession session)
{
- return TurbineSession.getUserFromSession(session);
+ return sessionService.getUserFromSession(session);
}
/**
@@ -129,6 +136,6 @@ public class SessionTool
*/
public Collection<HttpSession> getSessionsForUser(User user)
{
- return TurbineSession.getSessionsForUser(user);
+ return sessionService.getSessionsForUser(user);
}
}