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 2013/09/11 21:26:22 UTC
svn commit: r1521999 -
/turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBrokerService.java
Author: tv
Date: Wed Sep 11 19:26:21 2013
New Revision: 1521999
URL: http://svn.apache.org/r1521999
Log:
- Refactor handling of annotated fields into AnnotationProcessor
Modified:
turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBrokerService.java
Modified: turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBrokerService.java
URL: http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBrokerService.java?rev=1521999&r1=1521998&r2=1521999&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBrokerService.java (original)
+++ turbine/core/trunk/src/java/org/apache/turbine/services/assemblerbroker/TurbineAssemblerBrokerService.java Wed Sep 11 19:26:21 2013
@@ -21,7 +21,6 @@ package org.apache.turbine.services.asse
*/
-import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -34,13 +33,11 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.turbine.Turbine;
import org.apache.turbine.TurbineConstants;
-import org.apache.turbine.annotation.InjectService;
+import org.apache.turbine.annotation.AnnotationProcessor;
import org.apache.turbine.modules.Assembler;
import org.apache.turbine.modules.Loader;
import org.apache.turbine.services.InitializationException;
-import org.apache.turbine.services.ServiceManager;
import org.apache.turbine.services.TurbineBaseService;
-import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.services.assemblerbroker.util.AssemblerFactory;
import org.apache.turbine.util.TurbineException;
@@ -238,35 +235,7 @@ public class TurbineAssemblerBrokerServi
if (assembler != null)
{
- // Search for annotated fields and provide them with the appropriate
- // TurbineService
- ServiceManager manager = TurbineServices.getInstance();
- Field[] fields = assembler.getClass().getDeclaredFields();
-
- for (Field field : fields)
- {
- if (field.isAnnotationPresent(InjectService.class))
- {
- InjectService sa = field.getAnnotation(InjectService.class);
- Object service = manager.getService(sa.value()); // throws Exception on unknown service
- field.setAccessible(true);
-
- try
- {
- field.set(assembler, service);
- }
- catch (IllegalArgumentException e)
- {
- throw new TurbineException("Could not inject service "
- + sa.value() + " into assembler " + assembler, e);
- }
- catch (IllegalAccessException e)
- {
- throw new TurbineException("Could not inject service "
- + sa.value() + " into assembler " + assembler, e);
- }
- }
- }
+ AnnotationProcessor.process(assembler);
if (isCaching)
{