You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by jb...@apache.org on 2010/10/01 17:00:11 UTC

svn commit: r1003553 - /incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java

Author: jbohn
Date: Fri Oct  1 15:00:11 2010
New Revision: 1003553

URL: http://svn.apache.org/viewvc?rev=1003553&view=rev
Log:
ARIES-419 use interceptors registered on service component metadata - patch by Richard Ellis

Modified:
    incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java

Modified: incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java?rev=1003553&r1=1003552&r2=1003553&view=diff
==============================================================================
--- incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java (original)
+++ incubator/aries/trunk/blueprint/blueprint-core/src/main/java/org/apache/aries/blueprint/container/ServiceRecipe.java Fri Oct  1 15:00:11 2010
@@ -31,6 +31,7 @@ import java.util.concurrent.atomic.Atomi
 import java.util.concurrent.atomic.AtomicReference;
 
 import org.apache.aries.blueprint.BlueprintConstants;
+import org.apache.aries.blueprint.ComponentDefinitionRegistry;
 import org.apache.aries.blueprint.ExtendedBlueprintContainer;
 import org.apache.aries.blueprint.Interceptor;
 import org.apache.aries.blueprint.ServiceProcessor;
@@ -435,6 +436,14 @@ public class ServiceRecipe extends Abstr
             List<Interceptor> interceptors = new ArrayList<Interceptor>();
             interceptors.add(interceptor);
 
+            //check for any registered interceptors for this metadata
+            ComponentDefinitionRegistry reg = blueprintContainer.getComponentDefinitionRegistry();
+            List<Interceptor> registeredInterceptors = reg.getInterceptors(cm);
+            //add the registered interceptors to the list of interceptors
+            if (registeredInterceptors != null && registeredInterceptors.size()>0){
+              interceptors.addAll(registeredInterceptors);
+            }
+            
             try {
                 // Try load load an asm class (to make sure it's actually
                 // available)