diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-02-20 20:10:37 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2009-02-20 20:10:37 +0000 |
commit | 3a8a64103bcc4891fb1a1f4cc4538f9d5b62a7ba (patch) | |
tree | ccd8919c277ad88c032acb3167fdd4645586cb07 /java/sca/modules/implementation-java-runtime/src/main | |
parent | 7b9fa54dced70baffa6578b0be902b06092584a7 (diff) |
Start to implement the SCA policy framework 1.1 spec draft from OASIS OpenCSA
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@746356 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/implementation-java-runtime/src/main')
4 files changed, 4 insertions, 95 deletions
diff --git a/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProvider.java b/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProvider.java index e5deab4b9e..0b560e8c88 100644 --- a/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProvider.java +++ b/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProvider.java @@ -20,7 +20,6 @@ package org.apache.tuscany.sca.implementation.java.invocation; import java.lang.reflect.Method; -import java.util.List; import org.apache.tuscany.sca.assembly.Service; import org.apache.tuscany.sca.context.ComponentContextFactory; @@ -42,7 +41,6 @@ import org.apache.tuscany.sca.interfacedef.Operation; import org.apache.tuscany.sca.interfacedef.java.JavaInterface; import org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceUtil; import org.apache.tuscany.sca.invocation.Invoker; -import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple; import org.apache.tuscany.sca.runtime.RuntimeComponent; import org.apache.tuscany.sca.runtime.RuntimeComponentService; import org.oasisopen.sca.ComponentContext; @@ -62,12 +60,10 @@ public class JavaImplementationProvider implements ScopedImplementationProvider DataBindingExtensionPoint dataBindingRegistry, JavaPropertyValueObjectFactory propertyValueObjectFactory, ComponentContextFactory componentContextFactory, - RequestContextFactory requestContextFactory, - List<PolicyHandlerTuple> policyHandlerClassNames) { + RequestContextFactory requestContextFactory) { super(); this.implementation = implementation; this.requestContextFactory = requestContextFactory; - this.implementation.setPolicyHandlerClassNames(policyHandlerClassNames); try { JavaInstanceFactoryProvider configuration = new JavaInstanceFactoryProvider(implementation); diff --git a/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProviderFactory.java b/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProviderFactory.java index 9b78439012..77e0e44065 100644 --- a/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProviderFactory.java +++ b/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/JavaImplementationProviderFactory.java @@ -19,15 +19,12 @@ package org.apache.tuscany.sca.implementation.java.invocation; -import java.util.List; - import org.apache.tuscany.sca.context.ComponentContextFactory; import org.apache.tuscany.sca.context.RequestContextFactory; import org.apache.tuscany.sca.core.invocation.ProxyFactory; import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint; import org.apache.tuscany.sca.implementation.java.JavaImplementation; import org.apache.tuscany.sca.implementation.java.injection.JavaPropertyValueObjectFactory; -import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple; import org.apache.tuscany.sca.provider.ImplementationProvider; import org.apache.tuscany.sca.provider.ImplementationProviderFactory; import org.apache.tuscany.sca.runtime.RuntimeComponent; @@ -41,21 +38,18 @@ public class JavaImplementationProviderFactory implements ImplementationProvider private ProxyFactory proxyService; private ComponentContextFactory componentContextFactory; private RequestContextFactory requestContextFactory; - private List<PolicyHandlerTuple> policyHandlerClassNames = null; public JavaImplementationProviderFactory(ProxyFactory proxyService, DataBindingExtensionPoint dataBindingRegistry, JavaPropertyValueObjectFactory propertyValueObjectFactory, ComponentContextFactory componentContextFactory, - RequestContextFactory requestContextFactory, - List<PolicyHandlerTuple> policyHandlerClassNames) { + RequestContextFactory requestContextFactory) { super(); this.proxyService = proxyService; this.dataBindingRegistry = dataBindingRegistry; this.propertyValueObjectFactory = propertyValueObjectFactory; this.componentContextFactory = componentContextFactory; this.requestContextFactory = requestContextFactory; - this.policyHandlerClassNames = policyHandlerClassNames; } public ImplementationProvider createImplementationProvider(RuntimeComponent component, @@ -66,8 +60,7 @@ public class JavaImplementationProviderFactory implements ImplementationProvider dataBindingRegistry, propertyValueObjectFactory, componentContextFactory, - requestContextFactory, - policyHandlerClassNames); + requestContextFactory); } public Class<JavaImplementation> getModelType() { diff --git a/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/PolicyHandlingInterceptor.java b/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/PolicyHandlingInterceptor.java deleted file mode 100644 index 8c85b46c65..0000000000 --- a/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/invocation/PolicyHandlingInterceptor.java +++ /dev/null @@ -1,74 +0,0 @@ -/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.implementation.java.invocation;
-
-import java.util.List;
-
-import org.apache.tuscany.sca.interfacedef.Operation;
-import org.apache.tuscany.sca.invocation.Interceptor;
-import org.apache.tuscany.sca.invocation.Invoker;
-import org.apache.tuscany.sca.invocation.Message;
-import org.apache.tuscany.sca.policy.util.PolicyHandler;
-
-/**
- * An interceptor to invoke policy handlers before and after the invocation of operations on
- * an implementation.
- *
- * @version $Rev$ $Date$
- */
-public class PolicyHandlingInterceptor implements Interceptor {
- private Invoker next;
- private List<PolicyHandler> policyHandlers = null;
- private Operation targetOperation = null;
-
- public PolicyHandlingInterceptor(Operation targetOperation, List<PolicyHandler> policyHandlers) {
- this.policyHandlers = policyHandlers;
- this.targetOperation = targetOperation;
- }
-
- public Message invoke(Message msg) {
- try {
- applyPreInvocationPolicies(targetOperation, msg);
- msg = next.invoke(msg);
- } finally {
- applyPostInvocationPolices(targetOperation, msg);
- }
- return msg;
- }
-
- public void setNext(Invoker next) {
- this.next = next;
- }
-
- public Invoker getNext() {
- return next;
- }
-
- private void applyPreInvocationPolicies(Object... context) {
- for (PolicyHandler policyHandler : policyHandlers) {
- policyHandler.beforeInvoke(context);
- }
- }
-
- private void applyPostInvocationPolices(Object... context) {
- for ( int count = policyHandlers.size() - 1 ; count >= 0 ; --count) {
- policyHandlers.get(count).afterInvoke(context);
- }
- }
-}
diff --git a/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/module/JavaRuntimeModuleActivator.java b/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/module/JavaRuntimeModuleActivator.java index 1ea3546adb..b3a3210285 100644 --- a/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/module/JavaRuntimeModuleActivator.java +++ b/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/module/JavaRuntimeModuleActivator.java @@ -19,7 +19,6 @@ package org.apache.tuscany.sca.implementation.java.module; -import java.util.List; import java.util.logging.Logger; import org.apache.tuscany.sca.context.ComponentContextFactory; @@ -42,8 +41,6 @@ import org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationP import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper; import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory; import org.apache.tuscany.sca.invocation.MessageFactory; -import org.apache.tuscany.sca.policy.util.PolicyHandlerDefinitionsLoader; -import org.apache.tuscany.sca.policy.util.PolicyHandlerTuple; import org.apache.tuscany.sca.provider.ProviderFactoryExtensionPoint; import org.apache.tuscany.sca.runtime.RuntimeWireProcessorExtensionPoint; @@ -85,14 +82,11 @@ public class JavaRuntimeModuleActivator implements ModuleActivator { ComponentContextFactory componentContextFactory = contextFactories.getFactory(ComponentContextFactory.class); RequestContextFactory requestContextFactory = contextFactories.getFactory(RequestContextFactory.class); - List<PolicyHandlerTuple> policyHandlerClassNames = null; - policyHandlerClassNames = PolicyHandlerDefinitionsLoader.loadPolicyHandlerClassnames(); - ProxyFactory proxyFactory = new ExtensibleProxyFactory(proxyFactories); JavaImplementationProviderFactory javaImplementationProviderFactory = new JavaImplementationProviderFactory(proxyFactory, dataBindings, factory, componentContextFactory, - requestContextFactory, policyHandlerClassNames); + requestContextFactory); ProviderFactoryExtensionPoint providerFactories = registry.getExtensionPoint(ProviderFactoryExtensionPoint.class); |