On 23.12.17 10:32, [email protected] wrote:
> Author: gk
> Date: Sat Dec 23 09:32:08 2017
> New Revision: 1819127
> 
> URL: http://svn.apache.org/viewvc?rev=1819127&view=rev
> Log:
> - updates due to fulcrum security version 1.1.2-SNAPSHOT
> - allow annotations in turbine services (TODO test)
> 
[...]
> Modified: 
> turbine/core/trunk/src/java/org/apache/turbine/services/BaseServiceBroker.java
> URL: 
> http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/BaseServiceBroker.java?rev=1819127&r1=1819126&r2=1819127&view=diff
> ==============================================================================
> --- 
> turbine/core/trunk/src/java/org/apache/turbine/services/BaseServiceBroker.java
>  (original)
> +++ 
> turbine/core/trunk/src/java/org/apache/turbine/services/BaseServiceBroker.java
>  Sat Dec 23 09:32:08 2017
> @@ -33,6 +33,8 @@ import org.apache.commons.configuration.
>  import org.apache.commons.lang.StringUtils;
>  import org.apache.commons.logging.Log;
>  import org.apache.commons.logging.LogFactory;
> +import org.apache.turbine.annotation.AnnotationProcessor;
> +import org.apache.turbine.util.TurbineException;
>  
>  /**
>   * A generic implementation of a <code>ServiceBroker</code> which
> @@ -373,6 +375,16 @@ public abstract class BaseServiceBroker
>  
>          if (!instance.getInit())
>          {
> +            
> +            try
> +            {
> +             // convenience annotation in Turbine services 
> +                AnnotationProcessor.process(instance);
> +            }
> +            catch ( TurbineException e )
> +            {
> +                throw new InstantiationException( e.getMessage(), e );
> +            }
>              // this call might result in an indirect recursion
>              instance.init();
>          }

I'm afraid this will cause a stack overflow if you happen to hit a
cyclic dependency. The AnnotationProcessor expects services to be
initialized so I left this out intentionally.

Bye, Thomas

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to