Author: jmarino
Date: Fri May  5 00:29:03 2006
New Revision: 399998

URL: http://svn.apache.org/viewcvs?rev=399998&view=rev
Log:
more spi refactors

Removed:
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireConfiguration.java
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireFactory.java
Modified:
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKSourceWireFactory.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKTargetWireFactory.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/jdk/JDKWireFactoryFactoryTestCase.java
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvocationConfiguration.java
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceWireFactory.java
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetWireFactory.java
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireFactoryFactory.java
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireSourceConfiguration.java
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireTargetConfiguration.java

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKSourceWireFactory.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKSourceWireFactory.java?rev=399998&r1=399997&r2=399998&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKSourceWireFactory.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKSourceWireFactory.java
 Fri May  5 00:29:03 2006
@@ -30,7 +30,7 @@
  *
  * @version $Rev: 394431 $ $Date: 2006-04-15 21:27:44 -0700 (Sat, 15 Apr 2006) 
$
  */
-public class JDKSourceWireFactory implements SourceWireFactory {
+public class JDKSourceWireFactory<T> implements SourceWireFactory<T> {
 
     private static final int UNINITIALIZED = 0;
 
@@ -57,12 +57,13 @@
         state = INITIALIZED;
     }
 
-    public Object createProxy() {
+    @SuppressWarnings("unchecked")
+    public T createProxy() {
         if (state != INITIALIZED) {
             throw new IllegalStateException("Proxy factory not INITIALIZED [" 
+ state + "]");
         }
         InvocationHandler handler = new 
JDKInvocationHandler(methodToInvocationConfig);
-        return Proxy.newProxyInstance(configuration.getProxyClassLoader(), 
businessInterfaceArray, handler);
+        return (T) 
Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), 
businessInterfaceArray, handler);
     }
 
     public WireSourceConfiguration getConfiguration() {
@@ -77,8 +78,8 @@
         businessInterfaceArray = new Class[]{interfaze};
     }
 
-    public Class getBusinessInterface() {
-        return businessInterfaceArray[0];
+    public T getBusinessInterface() {
+        return (T)businessInterfaceArray[0];
     }
 
     public void addInterface(Class claz) {

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKTargetWireFactory.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKTargetWireFactory.java?rev=399998&r1=399997&r2=399998&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKTargetWireFactory.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKTargetWireFactory.java
 Fri May  5 00:29:03 2006
@@ -1,23 +1,24 @@
 package org.apache.tuscany.core.wire.jdk;
 
-import org.apache.tuscany.spi.wire.WireFactoryInitException;
-import org.apache.tuscany.spi.wire.TargetWireFactory;
-import org.apache.tuscany.spi.wire.TargetInvocationConfiguration;
-import org.apache.tuscany.spi.wire.WireTargetConfiguration;
-import org.apache.tuscany.core.util.MethodHashMap;
-
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.Method;
 import java.lang.reflect.Proxy;
 import java.util.Map;
 
+import org.apache.tuscany.core.util.MethodHashMap;
+import org.apache.tuscany.spi.wire.TargetInvocationConfiguration;
+import org.apache.tuscany.spi.wire.TargetWireFactory;
+import org.apache.tuscany.spi.wire.WireFactoryInitException;
+import org.apache.tuscany.spi.wire.WireTargetConfiguration;
+
 /**
- * Creates proxies that are returned to non-SCA clients using JDK dynamic 
proxy facilities and front a wire. The proxies implement
- * the business interface associated with the target service of the wire and 
are typically returned by a locate operation.
+ * Creates proxies that are returned to non-SCA clients using JDK dynamic 
proxy facilities and front a wire.
+ * The proxies implement the business interface associated with the target 
service of the wire and are
+ * typically returned by a locate operation.
  *
  * @version $Rev: 394431 $ $Date: 2006-04-15 21:27:44 -0700 (Sat, 15 Apr 2006) 
$
  */
-public class JDKTargetWireFactory implements TargetWireFactory {
+public class JDKTargetWireFactory<T> implements TargetWireFactory<T> {
 
     private static final int UNINITIALIZED = 0;
 
@@ -44,12 +45,13 @@
         state = INITIALIZED;
     }
 
-    public Object createProxy() {
+    @SuppressWarnings("unchecked")
+    public T createProxy() {
         if (state != INITIALIZED) {
             throw new IllegalStateException("Proxy factory not INITIALIZED [" 
+ state + "]");
         }
         InvocationHandler handler = new 
JDKInvocationHandler(methodToInvocationConfig);
-        return Proxy.newProxyInstance(configuration.getProxyClassLoader(), 
businessInterfaceArray, handler);
+        return (T) 
Proxy.newProxyInstance(Thread.currentThread().getContextClassLoader(), 
businessInterfaceArray, handler);
     }
 
     public WireTargetConfiguration getConfiguration() {
@@ -64,8 +66,8 @@
         businessInterfaceArray = new Class[]{interfaze};
     }
 
-    public Class getBusinessInterface() {
-        return businessInterfaceArray[0];
+    public T getBusinessInterface() {
+        return (T)businessInterfaceArray[0];
     }
 
     public void addInterface(Class claz) {

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/jdk/JDKWireFactoryFactoryTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/jdk/JDKWireFactoryFactoryTestCase.java?rev=399998&r1=399997&r2=399998&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/jdk/JDKWireFactoryFactoryTestCase.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/jdk/JDKWireFactoryFactoryTestCase.java
 Fri May  5 00:29:03 2006
@@ -50,13 +50,12 @@
         source.build();
         Map<Method, SourceInvocationConfiguration> configs = new 
MethodHashMap<SourceInvocationConfiguration>();
         configs.put(hello, source);
-        WireSourceConfiguration config = new WireSourceConfiguration("foo", 
new QualifiedName("foo"), configs, Thread.currentThread()
-                .getContextClassLoader());
-        JDKSourceWireFactory factory = new JDKSourceWireFactory();
+        WireSourceConfiguration config = new WireSourceConfiguration("foo", 
new QualifiedName("foo"), configs);
+        JDKSourceWireFactory<SimpleTarget> factory = new 
JDKSourceWireFactory<SimpleTarget>();
         factory.setConfiguration(config);
         factory.setBusinessInterface(SimpleTarget.class);
         factory.initialize();
-        SimpleTarget instance = (SimpleTarget) factory.createProxy();
+        SimpleTarget instance = factory.createProxy();
         assertEquals("foo", instance.hello("foo"));
     }
 
@@ -69,13 +68,12 @@
         source.build();
         Map<Method, TargetInvocationConfiguration> configs = new 
MethodHashMap<TargetInvocationConfiguration>();
         configs.put(hello, source);
-        WireTargetConfiguration config = new WireTargetConfiguration(new 
QualifiedName("foo"), configs, Thread.currentThread()
-                .getContextClassLoader());
-        JDKTargetWireFactory factory = new JDKTargetWireFactory();
+        WireTargetConfiguration config = new WireTargetConfiguration(new 
QualifiedName("foo"), configs);
+        JDKTargetWireFactory<SimpleTarget> factory = new 
JDKTargetWireFactory<SimpleTarget>();
         factory.setConfiguration(config);
         factory.setBusinessInterface(SimpleTarget.class);
         factory.initialize();
-        SimpleTarget instance = (SimpleTarget) factory.createProxy();
+        SimpleTarget instance = factory.createProxy();
         assertEquals("foo", instance.hello("foo"));
     }
 }

Modified: 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvocationConfiguration.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvocationConfiguration.java?rev=399998&r1=399997&r2=399998&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvocationConfiguration.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvocationConfiguration.java
 Fri May  5 00:29:03 2006
@@ -28,7 +28,7 @@
  * references to the target.
  * <p/>
  * <code>InvocationChain</code>s are managed by [EMAIL PROTECTED] 
WireSourceConfiguration}s and [EMAIL PROTECTED]
- * WireTargetConfiguration}s, which are used by [EMAIL PROTECTED] 
org.apache.tuscany.spi.wire.WireFactory}s to
+ * WireTargetConfiguration}s, which are used by wire factories to
  * buildSource wires and proxies.
  * <p/>
  * Invocation configurations must contain at least one interceptor and may 
have 0 to N handlers. Handlers
@@ -78,7 +78,6 @@
  *
  * @version $Rev: 396284 $ $Date: 2006-04-23 08:27:42 -0700 (Sun, 23 Apr 2006) 
$
  * @see org.apache.tuscany.spi.builder.WireBuilder
- * @see WireFactory
  * @see TargetInvoker
  * @see MessageDispatcher
  */

Modified: 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceWireFactory.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceWireFactory.java?rev=399998&r1=399997&r2=399998&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceWireFactory.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceWireFactory.java
 Fri May  5 00:29:03 2006
@@ -18,7 +18,39 @@
  *
  * @version $$Rev$$ $$Date$$
  */
-public interface SourceWireFactory<T> extends WireFactory<T> {
+public interface SourceWireFactory<T> {
+
+    /**
+     * Prepares the factory. This will typically be called at buildSource 
time, after bridging source- and target-side invocation chains.
+     *
+     * @throws WireFactoryInitException if an error is encountered during 
initialization
+     */
+    public void initialize() throws WireFactoryInitException;
+
+    /**
+     * Returns a proxy for a service specified by a reference or target
+     */
+    public T createProxy() throws ProxyCreationException;
+
+    /**
+     * Sets the primary interface type generated proxies implement
+     */
+    public void setBusinessInterface(Class interfaze);
+
+    /**
+     * Returns the primary interface type implemented by generated proxies
+     */
+    public T getBusinessInterface();
+
+    /**
+     * Adds an interface type generated proxies implement
+     */
+    public void addInterface(Class claz);
+
+    /**
+     * Returns an array of all interfaces implemented by generated proxies
+     */
+    public Class[] getImplementatedInterfaces();
 
     /**
      * Returns the configuration information used to create the source-side of 
a wire, including invocation chains

Modified: 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetWireFactory.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetWireFactory.java?rev=399998&r1=399997&r2=399998&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetWireFactory.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetWireFactory.java
 Fri May  5 00:29:03 2006
@@ -18,7 +18,39 @@
  *
  * @version $$Rev$$ $$Date$$
  */
-public interface TargetWireFactory<T> extends WireFactory<T> {
+public interface TargetWireFactory<T> {
+
+    /**
+     * Prepares the factory. This will typically be called at buildSource 
time, after bridging source- and target-side invocation chains.
+     *
+     * @throws WireFactoryInitException if an error is encountered during 
initialization
+     */
+    public void initialize() throws WireFactoryInitException;
+
+    /**
+     * Returns a proxy for a service specified by a reference or target
+     */
+    public T createProxy() throws ProxyCreationException;
+
+    /**
+     * Sets the primary interface type generated proxies implement
+     */
+    public void setBusinessInterface(Class interfaze);
+
+    /**
+     * Returns the primary interface type implemented by generated proxies
+     */
+    public T getBusinessInterface();
+
+    /**
+     * Adds an interface type generated proxies implement
+     */
+    public void addInterface(Class claz);
+
+    /**
+     * Returns an array of all interfaces implemented by generated proxies
+     */
+    public Class[] getImplementatedInterfaces();
 
     /**
      * Returns the configuration information used to create the target-side of 
a wire, including invocation chains

Modified: 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireFactoryFactory.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireFactoryFactory.java?rev=399998&r1=399997&r2=399998&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireFactoryFactory.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireFactoryFactory.java
 Fri May  5 00:29:03 2006
@@ -16,7 +16,7 @@
 import java.lang.reflect.InvocationHandler;
 
 /**
- * Implementations provide a runtime system service that creates [EMAIL 
PROTECTED] org.apache.tuscany.spi.wire.WireFactory}s
+ * Implementations provide a runtime system service that creates wire factories
  * 
  * @version $Rev$ $Date$
  */

Modified: 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireSourceConfiguration.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireSourceConfiguration.java?rev=399998&r1=399997&r2=399998&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireSourceConfiguration.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireSourceConfiguration.java
 Fri May  5 00:29:03 2006
@@ -27,7 +27,6 @@
 
     private String referenceName;
     protected Map<Method, SourceInvocationConfiguration> configurations;
-    protected ClassLoader proxyClassLoader;
     protected QualifiedName targetName;
 
 
@@ -37,16 +36,10 @@
      * @param referenceName     the name of the reference the wire is 
associated with
      * @param targetName        the qualified name of the target service 
specified by the wire
      * @param invocationConfigs a collection of service 
operation-to-invocation chain mappings
-     * @param proxyClassLoader  the classloader to use when creating a proxy
      */
     public WireSourceConfiguration(String referenceName, QualifiedName 
targetName,
-                                   Map<Method, SourceInvocationConfiguration> 
invocationConfigs, ClassLoader proxyClassLoader) {
+                                   Map<Method, SourceInvocationConfiguration> 
invocationConfigs) {
         this.targetName = targetName;
-        if (proxyClassLoader == null) {
-            this.proxyClassLoader = 
Thread.currentThread().getContextClassLoader();
-        } else {
-            this.proxyClassLoader = proxyClassLoader;
-        }
         this.referenceName = referenceName;
         this.configurations = invocationConfigs;
     }
@@ -56,11 +49,9 @@
      *
      * @param targetName        the qualified name of the target service 
specified by the wire
      * @param invocationConfigs a collection of service 
operation-to-invocation chain mappings
-     * @param proxyClassLoader  the classloader to use when creating a proxy
      */
-    public WireSourceConfiguration(QualifiedName targetName,
-                                   Map<Method, SourceInvocationConfiguration> 
invocationConfigs, ClassLoader proxyClassLoader) {
-        this(null, targetName, invocationConfigs, proxyClassLoader);
+    public WireSourceConfiguration(QualifiedName targetName, Map<Method, 
SourceInvocationConfiguration> invocationConfigs) {
+        this(null, targetName, invocationConfigs);
     }
 
     /**
@@ -68,13 +59,6 @@
      */
     public QualifiedName getTargetName() {
         return targetName;
-    }
-
-    /**
-     * Returns the classloader used for creating proxies
-     */
-    public ClassLoader getProxyClassLoader() {
-        return proxyClassLoader;
     }
 
     /**

Modified: 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireTargetConfiguration.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireTargetConfiguration.java?rev=399998&r1=399997&r2=399998&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireTargetConfiguration.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireTargetConfiguration.java
 Fri May  5 00:29:03 2006
@@ -14,8 +14,6 @@
 
     protected Map<Method, TargetInvocationConfiguration> configurations;
 
-    protected ClassLoader proxyClassLoader;
-
     protected QualifiedName targetName;
 
 
@@ -24,17 +22,10 @@
      *
      * @param targetName        the qualified name of the target service 
specified by the wire
      * @param invocationConfigs a collection of target service 
operation-to-invocation chain mappings
-     * @param proxyClassLoader  the classloader to use when creating a proxy
      */
-    public WireTargetConfiguration(QualifiedName targetName, Map<Method, 
TargetInvocationConfiguration> invocationConfigs,
-                                   ClassLoader proxyClassLoader) {
-        this.targetName = targetName;
-        if (proxyClassLoader == null) {
-            this.proxyClassLoader = 
Thread.currentThread().getContextClassLoader();
-        } else {
-            this.proxyClassLoader = proxyClassLoader;
-        }
+    public WireTargetConfiguration(QualifiedName targetName, Map<Method, 
TargetInvocationConfiguration> invocationConfigs) {
         assert (invocationConfigs != null) : "No wire configuration map 
specified";
+        this.targetName = targetName;
         configurations = invocationConfigs;
 
     }
@@ -47,21 +38,12 @@
     }
 
     /**
-     * Returns the classloader used for creating proxies
-     */
-    public ClassLoader getProxyClassLoader() {
-        return proxyClassLoader;
-    }
-
-    /**
      * Returns the invocation configuration for each operation on a service 
specified by a reference or a
      * target service.
      */
     public Map<Method, TargetInvocationConfiguration> 
getInvocationConfigurations() {
         return configurations;
     }
-
-
 
 
 }


Reply via email to