You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/04/19 18:53:27 UTC
svn commit: r530486 - in /incubator/tuscany/java/sca/modules:
core-spi/src/main/java/org/apache/tuscany/spi/wire/
core/src/main/java/org/apache/tuscany/core/component/
core/src/main/java/org/apache/tuscany/core/runtime/
core/src/main/java/org/apache/tu...
Author: rfeng
Date: Thu Apr 19 09:53:24 2007
New Revision: 530486
URL: http://svn.apache.org/viewvc?view=rev&rev=530486
Log:
More code clean up
Pass InterfaceContractMapper to JDKProxyService
Added:
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKProxyTestCase.java
- copied, changed from r530461, incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKProxyTestCaseFIXME.java
Removed:
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/SingletonAtomicComponent.java
incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/component/SingletonAtomicComponentTestCase.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKProxyTestCaseFIXME.java
Modified:
incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ProxyService.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/Bootstrapper.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/NoMethodForOperationException.java
incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/ProxyServiceExtension.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/proxy/JDKProxyService.java
Modified: incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ProxyService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ProxyService.java?view=diff&rev=530486&r1=530485&r2=530486
==============================================================================
--- incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ProxyService.java (original)
+++ incubator/tuscany/java/sca/modules/core-spi/src/main/java/org/apache/tuscany/spi/wire/ProxyService.java Thu Apr 19 09:53:24 2007
@@ -22,8 +22,6 @@
import java.util.List;
import java.util.Map;
-import org.apache.tuscany.assembly.Contract;
-import org.apache.tuscany.interfacedef.IncompatibleInterfaceContractException;
import org.osoa.sca.CallableReference;
/**
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java?view=diff&rev=530486&r1=530485&r2=530486
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/component/ComponentManagerImpl.java Thu Apr 19 09:53:24 2007
@@ -24,7 +24,6 @@
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import org.apache.tuscany.assembly.ComponentService;
import org.apache.tuscany.spi.component.AtomicComponent;
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.ComponentManager;
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java?view=diff&rev=530486&r1=530485&r2=530486
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java Thu Apr 19 09:53:24 2007
@@ -34,9 +34,6 @@
import javax.xml.stream.XMLInputFactory;
-import org.apache.tuscany.assembly.AssemblyFactory;
-import org.apache.tuscany.assembly.ComponentService;
-import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
import org.apache.tuscany.contribution.service.ContributionService;
import org.apache.tuscany.core.ExtensionPointRegistry;
import org.apache.tuscany.core.ModuleActivator;
@@ -51,9 +48,6 @@
import org.apache.tuscany.host.management.ManagementService;
import org.apache.tuscany.host.runtime.InitializationException;
import org.apache.tuscany.host.runtime.TuscanyRuntime;
-import org.apache.tuscany.interfacedef.java.JavaInterface;
-import org.apache.tuscany.interfacedef.java.JavaInterfaceContract;
-import org.apache.tuscany.interfacedef.java.impl.DefaultJavaFactory;
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.ComponentManager;
import org.apache.tuscany.spi.component.ScopeRegistry;
@@ -256,17 +250,6 @@
// register the ScopeRegistry
extensionRegistry.addExtensionPoint(ScopeRegistry.class, scopeRegistry);
- }
-
- private <S> ComponentService createContract(Class<S> type) {
- AssemblyFactory factory = new DefaultAssemblyFactory();
- ComponentService contract = factory.createComponentService();
- JavaInterface javaInterface = new DefaultJavaFactory().createJavaInterface();
- javaInterface.setJavaClass(type);
- JavaInterfaceContract javaInterfaceContract = new DefaultJavaFactory().createJavaInterfaceContract();
- contract.setInterfaceContract(javaInterfaceContract);
- javaInterfaceContract.setInterface(javaInterface);
- return contract;
}
protected ComponentManager getComponentManager() {
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/Bootstrapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/Bootstrapper.java?view=diff&rev=530486&r1=530485&r2=530486
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/Bootstrapper.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/Bootstrapper.java Thu Apr 19 09:53:24 2007
@@ -18,7 +18,6 @@
*/
package org.apache.tuscany.core.runtime;
-import org.apache.tuscany.contribution.service.ContributionService;
import org.apache.tuscany.core.ExtensionPointRegistry;
import org.apache.tuscany.host.MonitorFactory;
import org.apache.tuscany.spi.component.ComponentManager;
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java?view=diff&rev=530486&r1=530485&r2=530486
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/runtime/DefaultBootstrapper.java Thu Apr 19 09:53:24 2007
@@ -24,7 +24,6 @@
import org.apache.tuscany.core.builder.BuilderRegistryImpl;
import org.apache.tuscany.core.builder.WirePostProcessorRegistryImpl;
import org.apache.tuscany.core.component.ComponentManagerImpl;
-import org.apache.tuscany.core.component.WorkContextImpl;
import org.apache.tuscany.core.component.scope.AbstractScopeContainer;
import org.apache.tuscany.core.component.scope.CompositeScopeContainer;
import org.apache.tuscany.core.component.scope.RequestScopeContainer;
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/NoMethodForOperationException.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/NoMethodForOperationException.java?view=diff&rev=530486&r1=530485&r2=530486
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/NoMethodForOperationException.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/NoMethodForOperationException.java Thu Apr 19 09:53:24 2007
@@ -25,6 +25,8 @@
* @version $Rev$ $Date$
*/
public class NoMethodForOperationException extends ProxyCreationException {
+ private static final long serialVersionUID = 5116536602309483679L;
+
public NoMethodForOperationException() {
}
Modified: incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/ProxyServiceExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/ProxyServiceExtension.java?view=diff&rev=530486&r1=530485&r2=530486
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/ProxyServiceExtension.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/main/java/org/apache/tuscany/core/wire/ProxyServiceExtension.java Thu Apr 19 09:53:24 2007
@@ -18,12 +18,9 @@
*/
package org.apache.tuscany.core.wire;
-import java.util.List;
-
import org.apache.tuscany.interfacedef.IncompatibleInterfaceContractException;
import org.apache.tuscany.interfacedef.InterfaceContract;
import org.apache.tuscany.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.interfacedef.Operation;
import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.wire.ProxyService;
@@ -36,23 +33,24 @@
protected WorkContext context;
protected InterfaceContractMapper contractMapper;
- protected ProxyServiceExtension(WorkContext context) {
+ protected ProxyServiceExtension(WorkContext context, InterfaceContractMapper mapper) {
this.context = context;
+ this.contractMapper = mapper;
}
- // FIXME: How to improve the performance for the lookup
- private Operation getOperation(List<Operation> operations, String name) {
- for (Operation op : operations) {
- if (op.getName().equals(name)) {
- return op;
- }
- }
- return null;
+ public boolean checkCompatibility(InterfaceContract source,
+ InterfaceContract target,
+ boolean ignoreCallback,
+ boolean silent) throws IncompatibleInterfaceContractException {
+ return contractMapper.checkCompatibility(source, target, ignoreCallback, silent);
}
- public boolean checkCompatibility(InterfaceContract source, InterfaceContract target, boolean ignoreCallback, boolean silent)
- throws IncompatibleInterfaceContractException {
- return contractMapper.checkCompatibility(source, target, ignoreCallback, silent);
+ public void setInterfaceContractMapper(InterfaceContractMapper contractMapper) {
+ this.contractMapper = contractMapper;
+ }
+
+ public void setWorkContext(WorkContext context) {
+ this.context = context;
}
}
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java?view=diff&rev=530486&r1=530485&r2=530486
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java Thu Apr 19 09:53:24 2007
@@ -50,12 +50,12 @@
import org.apache.tuscany.implementation.java.introspect.impl.ServiceProcessor;
import org.apache.tuscany.implementation.java.proxy.JDKProxyService;
import org.apache.tuscany.implementation.java.xml.JavaImplementationProcessor;
+import org.apache.tuscany.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.interfacedef.java.introspect.DefaultJavaInterfaceIntrospector;
import org.apache.tuscany.interfacedef.java.introspect.JavaInterfaceIntrospectorExtensionPoint;
import org.apache.tuscany.spi.builder.BuilderRegistry;
import org.apache.tuscany.spi.component.ScopeRegistry;
import org.apache.tuscany.spi.component.WorkContext;
-import org.apache.tuscany.spi.component.WorkContextTunnel;
import org.apache.tuscany.spi.wire.ProxyService;
/**
@@ -65,7 +65,7 @@
public Map<Class, Object> getExtensionPoints() {
Map<Class, Object> map = new HashMap<Class, Object>();
- map.put(ProxyService.class, new JDKProxyService(WorkContextTunnel.getThreadWorkContext()));
+ map.put(ProxyService.class, new JDKProxyService());
map.put(JavaClassIntrospectorExtensionPoint.class, new DefaultJavaClassIntrospector());
map.put(JavaInterfaceIntrospectorExtensionPoint.class, new DefaultJavaInterfaceIntrospector());
return map;
@@ -75,6 +75,14 @@
* @see org.apache.tuscany.core.ModuleActivator#start(org.apache.tuscany.core.ExtensionPointRegistry)
*/
public void start(ExtensionPointRegistry extensionPointRegistry) {
+
+ // Inject InterfaceContractMapper and WorkContext into JDKProxyService
+ JDKProxyService proxyService = (JDKProxyService) extensionPointRegistry.getExtensionPoint(ProxyService.class);
+ InterfaceContractMapper mapper = extensionPointRegistry.getExtensionPoint(InterfaceContractMapper.class);
+ proxyService.setInterfaceContractMapper(mapper);
+ WorkContext workContext = extensionPointRegistry.getExtensionPoint(WorkContext.class);
+ proxyService.setWorkContext(workContext);
+
JavaInterfaceIntrospectorExtensionPoint interfaceIntrospector = extensionPointRegistry
.getExtensionPoint(JavaInterfaceIntrospectorExtensionPoint.class);
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/proxy/JDKProxyService.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/proxy/JDKProxyService.java?view=diff&rev=530486&r1=530485&r2=530486
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/proxy/JDKProxyService.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/proxy/JDKProxyService.java Thu Apr 19 09:53:24 2007
@@ -25,30 +25,27 @@
import java.util.Map;
import org.apache.tuscany.core.wire.ProxyServiceExtension;
+import org.apache.tuscany.interfacedef.InterfaceContractMapper;
import org.apache.tuscany.spi.component.WorkContext;
import org.apache.tuscany.spi.wire.ChainHolder;
import org.apache.tuscany.spi.wire.ProxyCreationException;
import org.apache.tuscany.spi.wire.Wire;
import org.osoa.sca.CallableReference;
-import org.osoa.sca.annotations.Constructor;
-import org.osoa.sca.annotations.EagerInit;
-import org.osoa.sca.annotations.Reference;
/**
* the default implementation of a wire service that uses JDK dynamic proxies
- *
- * @version $$Rev$$ $$Date$$
+ *
+ * @version $$Rev$$ $$Date: 2007-04-11 18:59:43 -0700 (Wed, 11 Apr
+ * 2007) $$
*/
-@EagerInit
public class JDKProxyService extends ProxyServiceExtension {
public JDKProxyService() {
- super(null);
+ this(null, null);
}
-
- @Constructor
- public JDKProxyService(@Reference WorkContext context) {
- super(context);
+
+ public JDKProxyService(WorkContext context, InterfaceContractMapper mapper) {
+ super(context, mapper);
}
public <T> T createProxy(Class<T> interfaze, Wire wire) throws ProxyCreationException {
@@ -56,7 +53,7 @@
assert wire != null;
JDKInvocationHandler handler = new JDKInvocationHandler(interfaze, wire, context);
ClassLoader cl = interfaze.getClassLoader();
- return interfaze.cast(Proxy.newProxyInstance(cl, new Class[]{interfaze}, handler));
+ return interfaze.cast(Proxy.newProxyInstance(cl, new Class[] {interfaze}, handler));
}
public <T> T createProxy(Class<T> interfaze, Wire wire, Map<Method, ChainHolder> mapping)
@@ -66,13 +63,13 @@
assert mapping != null;
JDKInvocationHandler handler = new JDKInvocationHandler(interfaze, wire, context);
ClassLoader cl = interfaze.getClassLoader();
- return interfaze.cast(Proxy.newProxyInstance(cl, new Class[]{interfaze}, handler));
+ return interfaze.cast(Proxy.newProxyInstance(cl, new Class[] {interfaze}, handler));
}
public Object createCallbackProxy(Class<?> interfaze, List<Wire> wires) throws ProxyCreationException {
ClassLoader cl = interfaze.getClassLoader();
JDKCallbackInvocationHandler handler = new JDKCallbackInvocationHandler(wires, context);
- return interfaze.cast(Proxy.newProxyInstance(cl, new Class[]{interfaze}, handler));
+ return interfaze.cast(Proxy.newProxyInstance(cl, new Class[] {interfaze}, handler));
}
public <B, R extends CallableReference<B>> R cast(B target) throws IllegalArgumentException {
Copied: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKProxyTestCase.java (from r530461, incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKProxyTestCaseFIXME.java)
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKProxyTestCase.java?view=diff&rev=530486&p1=incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKProxyTestCaseFIXME.java&r1=530461&p2=incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKProxyTestCase.java&r2=530486
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKProxyTestCaseFIXME.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKProxyTestCase.java Thu Apr 19 09:53:24 2007
@@ -27,12 +27,15 @@
import org.apache.tuscany.assembly.impl.DefaultAssemblyFactory;
import org.apache.tuscany.core.wire.WireImpl;
import org.apache.tuscany.implementation.java.proxy.JDKProxyService;
+import org.apache.tuscany.interfacedef.InterfaceContract;
+import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceContractImpl;
+import org.apache.tuscany.interfacedef.java.impl.JavaInterfaceImpl;
import org.apache.tuscany.spi.wire.Wire;
/**
* @version $Rev$ $Date$
*/
-public class JDKProxyTestCaseFIXME extends TestCase {
+public class JDKProxyTestCase extends TestCase {
private JDKProxyService proxyService;
public void testCreateProxy() {
@@ -40,6 +43,9 @@
Wire wire = new WireImpl();
wire.setSourceUri(uri);
Contract contract = new DefaultAssemblyFactory().createComponentReference();
+ InterfaceContract interfaceContract = new JavaInterfaceContractImpl();
+ interfaceContract.setInterface(new JavaInterfaceImpl());
+ contract.setInterfaceContract(interfaceContract);
wire.setSourceContract(contract.getInterfaceContract());
TestInterface proxy = proxyService.createProxy(TestInterface.class, wire);
assertTrue(Proxy.isProxyClass(proxy.getClass()));
@@ -47,7 +53,7 @@
protected void setUp() throws Exception {
super.setUp();
- proxyService = new JDKProxyService();
+ proxyService = new JDKProxyService(null, null);
}
public static interface TestInterface {
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org