You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sv...@apache.org on 2007/12/28 19:29:21 UTC
svn commit: r607306 -
/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaPolicyHandlingRuntimeWireProcessor.java
Author: svkrish
Date: Fri Dec 28 10:29:21 2007
New Revision: 607306
URL: http://svn.apache.org/viewvc?rev=607306&view=rev
Log:
fixing ordering of policy interceptor addition into invocation chain
Modified:
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaPolicyHandlingRuntimeWireProcessor.java
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaPolicyHandlingRuntimeWireProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaPolicyHandlingRuntimeWireProcessor.java?rev=607306&r1=607305&r2=607306&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaPolicyHandlingRuntimeWireProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaPolicyHandlingRuntimeWireProcessor.java Fri Dec 28 10:29:21 2007
@@ -27,6 +27,7 @@
import org.apache.tuscany.sca.assembly.Contract;
import org.apache.tuscany.sca.assembly.OperationsConfigurator;
import org.apache.tuscany.sca.implementation.java.JavaImplementation;
+import org.apache.tuscany.sca.invocation.Interceptor;
import org.apache.tuscany.sca.invocation.InvocationChain;
import org.apache.tuscany.sca.invocation.Invoker;
import org.apache.tuscany.sca.policy.Intent;
@@ -56,7 +57,6 @@
RuntimeComponent component = wire.getTarget().getComponent();
if ( component != null && component.getImplementation() instanceof JavaImplementation ) {
JavaImplementation javaImpl = (JavaImplementation)component.getImplementation();
-
if ( javaImpl instanceof PolicySetAttachPoint ) {
PolicyHandler policyHandler = null;
List<PolicyHandler> implPolicyHandlers = new ArrayList<PolicyHandler>();
@@ -101,7 +101,15 @@
}
if ( !applicablePolicyHandlers.isEmpty() ) {
- chain.addInterceptor(1, new PolicyHandlingInterceptor(chain.getTargetOperation(),
+ int index = 0;
+ Invoker invoker = chain.getHeadInvoker();
+ while ( invoker != chain.getTailInvoker()) {
+ if ( invoker instanceof Interceptor ) {
+ invoker = ((Interceptor)invoker).getNext();
+ ++index;
+ }
+ }
+ chain.addInterceptor(index, new PolicyHandlingInterceptor(chain.getTargetOperation(),
applicablePolicyHandlers));
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org