Author: jmarino
Date: Fri May  5 10:10:27 2006
New Revision: 400113

URL: http://svn.apache.org/viewcvs?rev=400113&view=rev
Log:
movement of impl classes from spi to core

Added:
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvocationConfigurationImpl.java
      - copied, changed from r399998, 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvocationConfiguration.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvokerInterceptor.java
      - copied, changed from r399988, 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvokerInterceptor.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageChannelImpl.java
   (contents, props changed)
      - copied, changed from r399988, 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/MessageChannelImpl.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageDispatcher.java
   (contents, props changed)
      - copied, changed from r399988, 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/MessageDispatcher.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/RequestResponseInterceptor.java
   (contents, props changed)
      - copied, changed from r399988, 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/RequestResponseInterceptor.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/SourceInvocationConfigurationImpl.java
      - copied, changed from r399988, 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceInvocationConfiguration.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/TargetInvocationConfigurationImpl.java
      - copied, changed from r399988, 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvocationConfiguration.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/SourceInvocationConfiguration.java
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvocationConfiguration.java
Removed:
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvokerInterceptor.java
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/MessageChannelImpl.java
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/MessageDispatcher.java
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/RequestResponseInterceptor.java
Modified:
    
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilderTestCase.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/RequestScopeContext.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/util/MethodHashMap.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandler.java
    
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/main/java/org/apache/tuscany/core/wire/jdk/JDKWireFactoryFactory.java
    
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerTestCase.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/WireFactoryFactory.java
    
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/WireTargetConfiguration.java

Modified: 
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilderTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilderTestCase.java?rev=400113&r1=400112&r2=400113&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilderTestCase.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/containers/container.java/src/test/java/org/apache/tuscany/container/java/builder/JavaTargetWireBuilderTestCase.java
 Fri May  5 10:10:27 2006
@@ -16,7 +16,7 @@
 import org.apache.tuscany.core.builder.impl.DefaultWireBuilder;
 import org.apache.tuscany.core.context.QualifiedName;
 import org.apache.tuscany.core.util.MethodHashMap;
-import org.apache.tuscany.spi.wire.InvokerInterceptor;
+import org.apache.tuscany.core.wire.InvokerInterceptor;
 import org.apache.tuscany.core.wire.jdk.JDKWireFactoryFactory;
 import org.apache.tuscany.core.wire.WireSourceConfiguration;
 import org.apache.tuscany.core.wire.WireTargetConfiguration;

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/RequestScopeContext.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/RequestScopeContext.java?rev=400113&r1=400112&r2=400113&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/RequestScopeContext.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/context/scope/RequestScopeContext.java
 Fri May  5 10:10:27 2006
@@ -23,7 +23,7 @@
 
     private final Map<AtomicContext, Map<Thread, InstanceContext>> contexts;
     private final Map<Thread, List<InstanceContext>> destroyQueues;
-
+      //flip Thread, Map<AtomicContext,InstanceContext>
     public RequestScopeContext(WorkContext workContext) {
         super("Request Scope", workContext);
         contexts = new ConcurrentHashMap<AtomicContext, Map<Thread, 
InstanceContext>>();

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/util/MethodHashMap.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/util/MethodHashMap.java?rev=400113&r1=400112&r2=400113&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/util/MethodHashMap.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/util/MethodHashMap.java
 Fri May  5 10:10:27 2006
@@ -16,15 +16,16 @@
  */
 package org.apache.tuscany.core.util;
 
-import org.apache.tuscany.spi.wire.InvocationConfiguration;
-
 import java.lang.reflect.Method;
 import java.util.HashMap;
 
+import org.apache.tuscany.spi.wire.InvocationConfiguration;
+
 /**
- * A <code>Map</code> implementation that performs a lookup on a collection of 
methods by method name. This implementation is used
- * to map methods on one interface to compatible methods on another interface, 
for example, when flowing an invocation from a
- * proxy injected on a source reference to a target service instance.
+ * A <code>Map</code> implementation that performs a lookup on a collection of 
methods by method name. This
+ * implementation is used to map methods on one interface to compatible 
methods on another interface, for
+ * example, when flowing an invocation from a proxy injected on a source 
reference to a target service
+ * instance.
  *
  * @version $Rev$ $Date$
  */

Copied: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvocationConfigurationImpl.java
 (from r399998, 
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/core2/src/main/java/org/apache/tuscany/core/wire/InvocationConfigurationImpl.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvocationConfigurationImpl.java&p1=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvocationConfiguration.java&r1=399998&r2=400113&rev=400113&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvocationConfiguration.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvocationConfigurationImpl.java
 Fri May  5 10:10:27 2006
@@ -14,74 +14,19 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.tuscany.spi.wire;
+package org.apache.tuscany.core.wire;
 
 import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.List;
 
-/**
- * Contains a source- or target-side invocation pipeline for a service 
operation. The runtime framework
- * creates invocation chains on a per-operation, per-service basis. Further, 
invocation chains are further
- * distinguished by being part of the source or target sides of a wire. Chains 
are "bridged" together by the
- * runtime by a set of [EMAIL PROTECTED] 
org.apache.tuscany.spi.builder.WireBuilder}s with the source-side holding
- * 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 wire factories to
- * buildSource wires and proxies.
- * <p/>
- * Invocation configurations must contain at least one interceptor and may 
have 0 to N handlers. Handlers
- * process a wire request or response in a one-way fashion. A typical wire 
sequence where interceptors and
- * handlers are configured for both the source and target-side will proceed as 
follows:
- * <pre>
- * <ol>
- * <li>The first source interceptor will be called with a message, which will 
in
- *     turn invoke the next interceptor in the chain <li>The last source 
interceptor, which must be of type
- * [EMAIL PROTECTED]
- *     org.apache.tuscany.core.wire.impl.RequestResponseInterceptor} if there 
are handlers present, will be
- * invoked. The RR
- *     interceptor will in turn pass the message to a [EMAIL PROTECTED] 
MessageChannel} which
- * will invoke all source-side request handlers.
- * <li>The RR interceptor will then invoke the target-side request 
<code>MessageChannel</code>.
- * <li>The last source-side handler, an instance of [EMAIL PROTECTED] 
MessageDispatcher},
- * will invoke the
- *     first source-side interceptor, which in turn will pass the message down 
the target-side interceptor
- * chain.
- * <li>If the target is a component instance the last target-side interceptor, 
an instance of
- *     [EMAIL PROTECTED] InvokerInterceptor} will retrieve the [EMAIL 
PROTECTED] TargetInvoker} from the
- * message and
- *     call it to invoke the operation on a target instance. 
<tt>TargetInvoker</tt>s are help by
- *     the source proxy to enable optimizations such as caching of target 
instances. <li> The response is
- * returned up the wire
- * stack
- *     until it reaches the source-side <tt>RequestResponseInterceptor</tt>, 
which invokes the target and
- * source-side response
- *     channels respectively.
- * <li>The response is then passed back up the rest of the wire stack. </ol>
- * </pre>
- * <p/>
- * The source-to-target bridge may be constructed in any of the following ways:
- * <pre>
- * <ul>
- * <li>Source handler-to-target handler
- * <li>Source handler-to-target interceptor
- * <li>Source interceptor-to-target handler
- * <li>Source interceptor-to-target interceptor
- * </ul>
- * </pre>
- * <p/>
- * In some scenarios, a service proxy may only contain target-side invocaton 
chains, for example, when a
- * service is resolved through a locate operation by a non-component client. 
In this case, there will be no
- * source-side wire chains and the target invoker will be held by the 
target-side and passed down the
- * pipeline.
- *
- * @version $Rev: 396284 $ $Date: 2006-04-23 08:27:42 -0700 (Sun, 23 Apr 2006) 
$
- * @see org.apache.tuscany.spi.builder.WireBuilder
- * @see TargetInvoker
- * @see MessageDispatcher
- */
-public abstract class InvocationConfiguration {
+import org.apache.tuscany.spi.wire.InvocationConfiguration;
+import org.apache.tuscany.spi.wire.TargetInvoker;
+import org.apache.tuscany.spi.wire.Interceptor;
+import org.apache.tuscany.spi.wire.MessageHandler;
+
+
+public abstract class InvocationConfigurationImpl implements 
InvocationConfiguration {
 
     // the operation on the target that will utlimately be invoked
     protected Method operation;
@@ -97,21 +42,15 @@
 
     protected List<MessageHandler> responseHandlers;
 
-    public InvocationConfiguration(Method operation) {
+    public InvocationConfigurationImpl(Method operation) {
         assert (operation != null) : "No operation type specified";
         this.operation = operation;
     }
 
-    /**
-     * Returns the target operation for this invocation chain
-     */
     public Method getMethod() {
         return operation;
     }
 
-    /**
-     * Adds an request handler to the invocation chain
-     */
     public void addRequestHandler(MessageHandler handler) {
         if (requestHandlers == null) {
             requestHandlers = new ArrayList<MessageHandler>();
@@ -119,9 +58,6 @@
         requestHandlers.add(handler);
     }
 
-    /**
-     * Adds an response handler to the invocation chain
-     */
     public void addResponseHandler(MessageHandler handler) {
         if (responseHandlers == null) {
             responseHandlers = new ArrayList<MessageHandler>();
@@ -129,37 +65,22 @@
         responseHandlers.add(handler);
     }
 
-    /**
-     * Returns the request handler chain
-     */
     public List<MessageHandler> getRequestHandlers() {
         return requestHandlers;
     }
 
-    /**
-     * Returns the response handler chain
-     */
     public List<MessageHandler> getResponseHandlers() {
         return responseHandlers;
     }
 
-    /**
-     * Sets the target invoker to pass down the chain
-     */
     public void setTargetInvoker(TargetInvoker invoker) {
         this.targetInvoker = invoker;
     }
 
-    /**
-     * Returns the target invoker that is passed down the chain
-     */
     public TargetInvoker getTargetInvoker() {
         return targetInvoker;
     }
 
-    /**
-     * Adds an interceptor to the chain
-     */
     public void addInterceptor(Interceptor interceptor) {
         if (interceptorChainHead == null) {
             interceptorChainHead = interceptor;
@@ -169,23 +90,12 @@
         interceptorChainTail = interceptor;
     }
 
-    /**
-     * Returns the last interceptor in the chain
-     */
     public Interceptor getTailInterceptor() {
         return interceptorChainTail;
     }
 
-    /**
-     * Returns the first interceptor in the chain
-     */
     public Interceptor getHeadInterceptor() {
         return interceptorChainHead;
     }
 
-    /**
-     * Signals to the chain that its configuration is complete. 
Implementations may use this callback to
-     * prepare there invocation chains.
-     */
-    public abstract void build();
 }

Copied: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvokerInterceptor.java
 (from r399988, 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvokerInterceptor.java)
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvokerInterceptor.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvokerInterceptor.java&p1=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvokerInterceptor.java&r1=399988&r2=400113&rev=400113&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvokerInterceptor.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/InvokerInterceptor.java
 Fri May  5 10:10:27 2006
@@ -11,7 +11,12 @@
  * 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.spi.wire;
+package org.apache.tuscany.core.wire;
+
+import org.apache.tuscany.spi.wire.Interceptor;
+import org.apache.tuscany.spi.wire.Message;
+import org.apache.tuscany.spi.wire.InvocationRuntimeException;
+import org.apache.tuscany.spi.wire.TargetInvoker;
 
 /**
  * Serves as a tail interceptor on a target wire chain. This implementation 
dispatches to the target invoker
@@ -19,7 +24,7 @@
  * target instances.
  *
  * @version $Rev$ $Date$
- * @see TargetInvoker
+ * @see org.apache.tuscany.spi.wire.TargetInvoker
  */
 public class InvokerInterceptor implements Interceptor {
 

Copied: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageChannelImpl.java
 (from r399988, 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/MessageChannelImpl.java)
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageChannelImpl.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageChannelImpl.java&p1=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/MessageChannelImpl.java&r1=399988&r2=400113&rev=400113&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/MessageChannelImpl.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageChannelImpl.java
 Fri May  5 10:10:27 2006
@@ -14,9 +14,13 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.tuscany.spi.wire;
+package org.apache.tuscany.core.wire;
 
 import java.util.List;
+
+import org.apache.tuscany.spi.wire.MessageChannel;
+import org.apache.tuscany.spi.wire.MessageHandler;
+import org.apache.tuscany.spi.wire.Message;
 
 /**
  * A channel comprising an ordered collection of message handlers.

Propchange: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageChannelImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageChannelImpl.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageDispatcher.java
 (from r399988, 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/MessageDispatcher.java)
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageDispatcher.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageDispatcher.java&p1=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/MessageDispatcher.java&r1=399988&r2=400113&rev=400113&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/MessageDispatcher.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageDispatcher.java
 Fri May  5 10:10:27 2006
@@ -14,7 +14,11 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.tuscany.spi.wire;
+package org.apache.tuscany.core.wire;
+
+import org.apache.tuscany.spi.wire.MessageHandler;
+import org.apache.tuscany.spi.wire.Interceptor;
+import org.apache.tuscany.spi.wire.Message;
 
 /**
  * A message handler that dispatches the message through an interceptor stack 
and the uses the response

Propchange: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageDispatcher.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/MessageDispatcher.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/RequestResponseInterceptor.java
 (from r399988, 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/RequestResponseInterceptor.java)
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/RequestResponseInterceptor.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/RequestResponseInterceptor.java&p1=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/RequestResponseInterceptor.java&r1=399988&r2=400113&rev=400113&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/RequestResponseInterceptor.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/RequestResponseInterceptor.java
 Fri May  5 10:10:27 2006
@@ -14,7 +14,11 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.tuscany.spi.wire;
+package org.apache.tuscany.core.wire;
+
+import org.apache.tuscany.spi.wire.Interceptor;
+import org.apache.tuscany.spi.wire.MessageChannel;
+import org.apache.tuscany.spi.wire.Message;
 
 /**
  * An interceptor that first sends a message down its request channel then 
extracts the response from the

Propchange: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/RequestResponseInterceptor.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/RequestResponseInterceptor.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/SourceInvocationConfigurationImpl.java
 (from r399988, 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceInvocationConfiguration.java)
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/SourceInvocationConfigurationImpl.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/SourceInvocationConfigurationImpl.java&p1=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceInvocationConfiguration.java&r1=399988&r2=400113&rev=400113&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceInvocationConfiguration.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/SourceInvocationConfigurationImpl.java
 Fri May  5 10:10:27 2006
@@ -11,16 +11,21 @@
  * 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.spi.wire;
+package org.apache.tuscany.core.wire;
 
 import java.lang.reflect.Method;
 
+import org.apache.tuscany.spi.wire.SourceInvocationConfiguration;
+import org.apache.tuscany.spi.wire.Interceptor;
+import org.apache.tuscany.spi.wire.MessageChannel;
+import org.apache.tuscany.spi.wire.MessageHandler;
+
 /**
  * Contains a source-side invocation pipeline for a service operation.
  *
  * @version $Rev: 394379 $ $Date: 2006-04-15 15:01:36 -0700 (Sat, 15 Apr 2006) 
$
  */
-public class SourceInvocationConfiguration extends InvocationConfiguration {
+public class SourceInvocationConfigurationImpl extends 
InvocationConfigurationImpl implements SourceInvocationConfiguration {
 
     // the pointer to the bridged target head interceptor or null if the 
target has no interceptors
     private Interceptor targetInterceptorChainHead;
@@ -37,47 +42,27 @@
      * @param operation the method on the interface representing specified by 
the reference, where the method corresponds to the
      *                  service operation
      */
-    public SourceInvocationConfiguration(Method operation) {
+    public SourceInvocationConfigurationImpl(Method operation) {
         super(operation);
     }
 
-    /**
-     * Sets the head interceptor of the target-side configuration for the 
wire. Used when the runtime bridges source and target
-     * chains.
-     *
-     * @param interceptor
-     */
     public void setTargetInterceptor(Interceptor interceptor) {
         targetInterceptorChainHead = interceptor;
     }
 
-    /**
-     * Returns the head target-side interceptor. This will be the head 
interceptor of the "bridged" target configuration.
-     */
     public Interceptor getTargetInterceptor() {
         return targetInterceptorChainHead;
     }
 
-    /**
-     * Sets the target-side request channel. Used when the runtime bridges 
source and target chains.
-     */
     public void setTargetRequestChannel(MessageChannel channel) {
         targetRequestChannel = channel;
     }
 
-    /**
-     * Sets the target-side response channel. Used when the runtime bridges 
source and target chains.
-     */
     public void setTargetResponseChannel(MessageChannel channel) {
         targetResponseChannel = channel;
     }
 
-    /**
-     * Prepares the configuration by linking interceptors and handlers
-     */
-    @Override
     public void build() {
-
         if (requestHandlers != null && targetInterceptorChainHead != null) {
             // on target-side, connect existing handlers and interceptors
             MessageHandler messageDispatcher = new 
MessageDispatcher(targetInterceptorChainHead);

Copied: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/TargetInvocationConfigurationImpl.java
 (from r399988, 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvocationConfiguration.java)
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/TargetInvocationConfigurationImpl.java?p2=incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/TargetInvocationConfigurationImpl.java&p1=incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvocationConfiguration.java&r1=399988&r2=400113&rev=400113&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvocationConfiguration.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/TargetInvocationConfigurationImpl.java
 Fri May  5 10:10:27 2006
@@ -11,16 +11,19 @@
  * 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.spi.wire;
+package org.apache.tuscany.core.wire;
 
 import java.lang.reflect.Method;
 
+import org.apache.tuscany.spi.wire.TargetInvocationConfiguration;
+import org.apache.tuscany.spi.wire.MessageHandler;
+
 /**
  * Contains a target-side invocation pipeline for a service operation.
  *
  * @version $Rev: 394379 $ $Date: 2006-04-15 15:01:36 -0700 (Sat, 15 Apr 2006) 
$
  */
-public class TargetInvocationConfiguration extends InvocationConfiguration {
+public class TargetInvocationConfigurationImpl extends 
InvocationConfigurationImpl implements TargetInvocationConfiguration {
 
     /**
      * Creates an new target-side pipeline for the given operation
@@ -28,14 +31,10 @@
      * @param operation the method on the interface representing target 
service, where the method corresponds
      *                  to the service operation
      */
-    public TargetInvocationConfiguration(Method operation) {
+    public TargetInvocationConfigurationImpl(Method operation) {
         super(operation);
     }
 
-    /**
-     * Prepares the configuration by linking interceptors and handlers
-     */
-    @Override
     public void build() {
         if (requestHandlers != null && interceptorChainHead != null) {
             // on target-side, connect existing handlers and interceptors

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandler.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandler.java?rev=400113&r1=400112&r2=400113&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandler.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandler.java
 Fri May  5 10:10:27 2006
@@ -16,22 +16,22 @@
  */
 package org.apache.tuscany.core.wire.jdk;
 
-import org.apache.tuscany.spi.context.TargetException;
-import org.apache.tuscany.spi.wire.Interceptor;
-import org.apache.tuscany.spi.wire.InvocationConfiguration;
-import org.apache.tuscany.spi.wire.TargetInvoker;
-import org.apache.tuscany.spi.wire.Message;
-import org.apache.tuscany.core.wire.MessageImpl;
-
 import java.lang.reflect.InvocationHandler;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.tuscany.core.wire.MessageImpl;
+import org.apache.tuscany.spi.context.TargetException;
+import org.apache.tuscany.spi.wire.Interceptor;
+import org.apache.tuscany.spi.wire.InvocationConfiguration;
+import org.apache.tuscany.spi.wire.Message;
+import org.apache.tuscany.spi.wire.TargetInvoker;
+
 /**
  * Receives a request from a JDK proxy and dispatches it to a target invoker 
or source interceptor stack
- * 
+ *
  * @version $Rev$ $Date$
  */
 public class JDKInvocationHandler implements InvocationHandler {
@@ -66,15 +66,15 @@
         }
         InvocationConfiguration config = holder.config;
         if (config != null) {
-           headInterceptor = config.getHeadInterceptor();
+            headInterceptor = config.getHeadInterceptor();
         }
 
         TargetInvoker invoker;
 
         if (holder.cachedInvoker == null) {
             assert config != null;
-            if(config.getTargetInvoker() == null){
-                TargetException e= new TargetException("No target invoker 
configured for operation");
+            if (config.getTargetInvoker() == null) {
+                TargetException e = new TargetException("No target invoker 
configured for operation");
                 e.setIdentifier(config.getMethod().getName());
                 throw e;
             }
@@ -116,18 +116,18 @@
     }
 
     /**
-     * A holder used to associate an wire configuration with a local copy of a 
target invoker that was previously
-     * cloned from the configuration master
+     * A holder used to associate an wire configuration with a local copy of a 
target invoker that was
+     * previously cloned from the configuration master
      */
     private class ConfigHolder {
 
+        InvocationConfiguration config;
+        TargetInvoker cachedInvoker;
+
         public ConfigHolder(InvocationConfiguration config) {
             this.config = config;
         }
 
-        InvocationConfiguration config;
-
-        TargetInvoker cachedInvoker;
     }
 
 }

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=400113&r1=400112&r2=400113&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 10:10:27 2006
@@ -13,20 +13,20 @@
  */
 package org.apache.tuscany.core.wire.jdk;
 
-import org.apache.tuscany.core.util.MethodHashMap;
-import org.apache.tuscany.spi.wire.WireFactoryInitException;
-import org.apache.tuscany.spi.wire.SourceInvocationConfiguration;
-import org.apache.tuscany.spi.wire.SourceWireFactory;
-import org.apache.tuscany.spi.wire.WireSourceConfiguration;
-
 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.SourceInvocationConfiguration;
+import org.apache.tuscany.spi.wire.SourceWireFactory;
+import org.apache.tuscany.spi.wire.WireFactoryInitException;
+import org.apache.tuscany.spi.wire.WireSourceConfiguration;
+
 /**
- * Creates proxies that are injected on references using JDK dynamic proxy 
facilities and front a wire. The proxies implement the
- * business interface associated with the service required by reference.
+ * Creates proxies that are injected on references using JDK dynamic proxy 
facilities and front a wire. The
+ * proxies implement the business interface associated with the service 
required by reference.
  *
  * @version $Rev: 394431 $ $Date: 2006-04-15 21:27:44 -0700 (Sat, 15 Apr 2006) 
$
  */
@@ -79,7 +79,7 @@
     }
 
     public T getBusinessInterface() {
-        return (T)businessInterfaceArray[0];
+        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=400113&r1=400112&r2=400113&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 10:10:27 2006
@@ -67,7 +67,7 @@
     }
 
     public T getBusinessInterface() {
-        return (T)businessInterfaceArray[0];
+        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/JDKWireFactoryFactory.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireFactoryFactory.java?rev=400113&r1=400112&r2=400113&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireFactoryFactory.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/main/java/org/apache/tuscany/core/wire/jdk/JDKWireFactoryFactory.java
 Fri May  5 10:10:27 2006
@@ -24,7 +24,7 @@
 import java.lang.reflect.Proxy;
 
 /**
- * A system service that creates JDK dynamic proxy-based [EMAIL PROTECTED] 
org.apache.tuscany.spi.wire.WireFactory}s
+ * A system service that creates JDK dynamic proxy-based wire factories
  *
  * @version $Rev$ $Date$
  */

Modified: 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerTestCase.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerTestCase.java?rev=400113&r1=400112&r2=400113&view=diff
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerTestCase.java
 (original)
+++ 
incubator/tuscany/sandbox/jboynes/sca/core2/src/test/java/org/apache/tuscany/core/wire/jdk/JDKInvocationHandlerTestCase.java
 Fri May  5 10:10:27 2006
@@ -1,17 +1,20 @@
 package org.apache.tuscany.core.wire.jdk;
 
 import junit.framework.TestCase;
-import org.apache.tuscany.spi.wire.InvocationConfiguration;
+import org.apache.tuscany.core.wire.InvocationConfigurationImpl;
 import org.apache.tuscany.core.util.MethodHashMap;
 import org.apache.tuscany.core.wire.mock.SimpleTarget;
 import org.apache.tuscany.core.wire.mock.SimpleTargetImpl;
 import org.apache.tuscany.core.wire.mock.MockStaticInvoker;
 import org.apache.tuscany.core.wire.mock.MockHandler;
 import org.apache.tuscany.core.wire.mock.MockSyncInterceptor;
-import org.apache.tuscany.spi.wire.InvokerInterceptor;
-import org.apache.tuscany.spi.wire.MessageChannelImpl;
-import org.apache.tuscany.spi.wire.TargetInvocationConfiguration;
+import org.apache.tuscany.core.wire.SourceInvocationConfigurationImpl;
+import org.apache.tuscany.core.wire.InvokerInterceptor;
+import org.apache.tuscany.core.wire.MessageChannelImpl;
+import org.apache.tuscany.core.wire.TargetInvocationConfigurationImpl;
 import org.apache.tuscany.spi.wire.SourceInvocationConfiguration;
+import org.apache.tuscany.spi.wire.TargetInvocationConfiguration;
+import org.apache.tuscany.spi.wire.InvocationConfiguration;
 
 import java.lang.reflect.Method;
 import java.util.Map;
@@ -52,7 +55,7 @@
     }
 
     public void testDirectErrorInvoke() throws Throwable {
-        SourceInvocationConfiguration source = new 
SourceInvocationConfiguration(hello);
+        SourceInvocationConfigurationImpl source = new 
SourceInvocationConfigurationImpl(hello);
         MockStaticInvoker invoker = new MockStaticInvoker(hello, new 
SimpleTargetImpl());
         source.setTargetInvoker(invoker);
 
@@ -68,18 +71,18 @@
     }
 
     public void testDirectInvoke() throws Throwable {
-        SourceInvocationConfiguration source = new 
SourceInvocationConfiguration(hello);
+        SourceInvocationConfigurationImpl source = new 
SourceInvocationConfigurationImpl(hello);
         MockStaticInvoker invoker = new MockStaticInvoker(hello, new 
SimpleTargetImpl());
         source.setTargetInvoker(invoker);
 
-        Map<Method, InvocationConfiguration> configs = new 
MethodHashMap<InvocationConfiguration>();
+        Map<Method, InvocationConfigurationImpl> configs = new 
MethodHashMap<InvocationConfigurationImpl>();
         configs.put(hello, source);
         JDKInvocationHandler handler = new JDKInvocationHandler(configs);
         assertEquals("foo", handler.invoke(null, hello, new Object[] { "foo" 
}));
     }
 
     private InvocationConfiguration getInvocationHandler(Method m) {
-        SourceInvocationConfiguration source = new 
SourceInvocationConfiguration(m);
+        SourceInvocationConfiguration source = new 
SourceInvocationConfigurationImpl(m);
         MockHandler sourceRequestHandler = new MockHandler();
         MockHandler sourceResponseHandler = new MockHandler();
         MockSyncInterceptor sourceInterceptor = new MockSyncInterceptor();
@@ -87,7 +90,7 @@
         source.addResponseHandler(sourceResponseHandler);
         source.addInterceptor(sourceInterceptor);
 
-        TargetInvocationConfiguration target = new 
TargetInvocationConfiguration(m);
+        TargetInvocationConfiguration target = new 
TargetInvocationConfigurationImpl(m);
         MockHandler targetRequestHandler = new MockHandler();
         MockHandler targetResponseHandler = new MockHandler();
         MockSyncInterceptor targetInterceptor = new MockSyncInterceptor();

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=400113&r1=400112&r2=400113&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 10:10:27 2006
@@ -22,12 +22,14 @@
 import org.apache.tuscany.core.wire.mock.MockSyncInterceptor;
 import org.apache.tuscany.core.wire.mock.SimpleTarget;
 import org.apache.tuscany.core.wire.mock.SimpleTargetImpl;
+import org.apache.tuscany.core.wire.SourceInvocationConfigurationImpl;
 import org.apache.tuscany.spi.QualifiedName;
-import org.apache.tuscany.spi.wire.InvokerInterceptor;
-import org.apache.tuscany.spi.wire.SourceInvocationConfiguration;
-import org.apache.tuscany.spi.wire.TargetInvocationConfiguration;
+import org.apache.tuscany.core.wire.InvokerInterceptor;
+import org.apache.tuscany.core.wire.TargetInvocationConfigurationImpl;
 import org.apache.tuscany.spi.wire.WireSourceConfiguration;
 import org.apache.tuscany.spi.wire.WireTargetConfiguration;
+import org.apache.tuscany.spi.wire.SourceInvocationConfiguration;
+import org.apache.tuscany.spi.wire.TargetInvocationConfiguration;
 
 public class JDKWireFactoryFactoryTestCase extends TestCase {
 
@@ -42,7 +44,7 @@
     }
 
     public void testSourceWireFactory() throws Exception {
-        SourceInvocationConfiguration source = new 
SourceInvocationConfiguration(hello);
+        SourceInvocationConfigurationImpl source = new 
SourceInvocationConfigurationImpl(hello);
         MockSyncInterceptor sourceInterceptor = new MockSyncInterceptor();
         source.addInterceptor(sourceInterceptor);
         source.setTargetInterceptor(new InvokerInterceptor());
@@ -60,7 +62,7 @@
     }
 
     public void testTargetWireFactory() throws Exception {
-        TargetInvocationConfiguration source = new 
TargetInvocationConfiguration(hello);
+        TargetInvocationConfigurationImpl source = new 
TargetInvocationConfigurationImpl(hello);
         MockSyncInterceptor sourceInterceptor = new MockSyncInterceptor();
         source.addInterceptor(sourceInterceptor);
         source.addInterceptor(new InvokerInterceptor());

Added: 
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=400113&view=auto
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvocationConfiguration.java
 (added)
+++ 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/InvocationConfiguration.java
 Fri May  5 10:10:27 2006
@@ -0,0 +1,122 @@
+package org.apache.tuscany.spi.wire;
+
+import java.lang.reflect.Method;
+import java.util.List;
+
+/**
+ * Contains a source- or target-side invocation pipeline for a service 
operation. The runtime framework
+ * creates invocation chains on a per-operation, per-service basis. Further, 
invocation chains are further
+ * distinguished by being part of the source or target sides of a wire. Chains 
are "bridged" together by the
+ * runtime by a set of [EMAIL PROTECTED] 
org.apache.tuscany.spi.builder.WireBuilder}s with the source-side holding
+ * 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 wire factories to
+ * buildSource wires and proxies.
+ * <p/>
+ * Invocation configurations must contain at least one interceptor and may 
have 0 to N handlers. Handlers
+ * process a wire request or response in a one-way fashion. A typical wire 
sequence where interceptors and
+ * handlers are configured for both the source and target-side will proceed as 
follows:
+ * <pre>
+ * <ol>
+ * <li>The first source interceptor will be called with a message, which will 
in
+ *     turn invoke the next interceptor in the chain <li>The last source 
interceptor, which must be of type
+ * [EMAIL PROTECTED]
+ *     org.apache.tuscany.core.wire.impl.RequestResponseInterceptor} if there 
are handlers present, will be
+ * invoked. The RR
+ *     interceptor will in turn pass the message to a [EMAIL PROTECTED] 
MessageChannel} which
+ * will invoke all source-side request handlers.
+ * <li>The RR interceptor will then invoke the target-side request 
<code>MessageChannel</code>.
+ * <li>The last source-side handler, an instance of [EMAIL PROTECTED] 
MessageDispatcher},
+ * will invoke the
+ *     first source-side interceptor, which in turn will pass the message down 
the target-side interceptor
+ * chain.
+ * <li>If the target is a component instance the last target-side interceptor, 
an instance of
+ *     [EMAIL PROTECTED] InvokerInterceptor} will retrieve the [EMAIL 
PROTECTED] TargetInvoker} from the
+ * message and
+ *     call it to invoke the operation on a target instance. 
<tt>TargetInvoker</tt>s are help by
+ *     the source proxy to enable optimizations such as caching of target 
instances. <li> The response is
+ * returned up the wire
+ * stack
+ *     until it reaches the source-side <tt>RequestResponseInterceptor</tt>, 
which invokes the target and
+ * source-side response
+ *     channels respectively.
+ * <li>The response is then passed back up the rest of the wire stack. </ol>
+ * </pre>
+ * <p/>
+ * The source-to-target bridge may be constructed in any of the following ways:
+ * <pre>
+ * <ul>
+ * <li>Source handler-to-target handler
+ * <li>Source handler-to-target interceptor
+ * <li>Source interceptor-to-target handler
+ * <li>Source interceptor-to-target interceptor
+ * </ul>
+ * </pre>
+ * <p/>
+ * In some scenarios, a service proxy may only contain target-side invocaton 
chains, for example, when a
+ * service is resolved through a locate operation by a non-component client. 
In this case, there will be no
+ * source-side wire chains and the target invoker will be held by the 
target-side and passed down the
+ * pipeline.
+ *
+ * @version $Rev: 396284 $ $Date: 2006-04-23 08:27:42 -0700 (Sun, 23 Apr 2006) 
$
+ * @see org.apache.tuscany.spi.builder.WireBuilder
+ * @see TargetInvoker
+ */
+public interface InvocationConfiguration {
+    /**
+     * Returns the target operation for this invocation chain
+     */
+    Method getMethod();
+
+    /**
+     * Adds an request handler to the invocation chain
+     */
+    void addRequestHandler(MessageHandler handler);
+
+    /**
+     * Adds an response handler to the invocation chain
+     */
+    void addResponseHandler(MessageHandler handler);
+
+    /**
+     * Returns the request handler chain
+     */
+    List<MessageHandler> getRequestHandlers();
+
+    /**
+     * Returns the response handler chain
+     */
+    List<MessageHandler> getResponseHandlers();
+
+    /**
+     * Sets the target invoker to pass down the chain
+     */
+    void setTargetInvoker(TargetInvoker invoker);
+
+    /**
+     * Returns the target invoker that is passed down the chain
+     */
+    TargetInvoker getTargetInvoker();
+
+    /**
+     * Adds an interceptor to the chain
+     */
+    void addInterceptor(Interceptor interceptor);
+
+    /**
+     * Returns the last interceptor in the chain
+     */
+    Interceptor getTailInterceptor();
+
+    /**
+     * Returns the first interceptor in the chain
+     */
+    Interceptor getHeadInterceptor();
+
+    /**
+     * Signals to the chain that its configuration is complete. 
Implementations may use this callback to
+     * prepare there invocation chains.
+     */
+    void build();
+}

Added: 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceInvocationConfiguration.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceInvocationConfiguration.java?rev=400113&view=auto
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceInvocationConfiguration.java
 (added)
+++ 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/SourceInvocationConfiguration.java
 Fri May  5 10:10:27 2006
@@ -0,0 +1,30 @@
+package org.apache.tuscany.spi.wire;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public interface SourceInvocationConfiguration extends InvocationConfiguration 
{
+    /**
+     * Sets the head interceptor of the target-side configuration for the 
wire. Used when the runtime bridges source and target
+     * chains.
+     *
+     * @param interceptor
+     */
+    void setTargetInterceptor(Interceptor interceptor);
+
+    /**
+     * Returns the head target-side interceptor. This will be the head 
interceptor of the "bridged" target configuration.
+     */
+    Interceptor getTargetInterceptor();
+
+    /**
+     * Sets the target-side request channel. Used when the runtime bridges 
source and target chains.
+     */
+    void setTargetRequestChannel(MessageChannel channel);
+
+    /**
+     * Sets the target-side response channel. Used when the runtime bridges 
source and target chains.
+     */
+    void setTargetResponseChannel(MessageChannel channel);
+
+}

Added: 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvocationConfiguration.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvocationConfiguration.java?rev=400113&view=auto
==============================================================================
--- 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvocationConfiguration.java
 (added)
+++ 
incubator/tuscany/sandbox/jboynes/sca/spi/src/main/java/org/apache/tuscany/spi/wire/TargetInvocationConfiguration.java
 Fri May  5 10:10:27 2006
@@ -0,0 +1,8 @@
+package org.apache.tuscany.spi.wire;
+
+/**
+ * @version $$Rev$$ $$Date$$
+ */
+public interface TargetInvocationConfiguration extends InvocationConfiguration 
{
+
+}

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=400113&r1=400112&r2=400113&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 10:10:27 2006
@@ -25,12 +25,12 @@
     /**
      * Creates a target-side wire factory
      */
-    public TargetWireFactory createTargetWireFactory();
+    public TargetWireFactory<?> createTargetWireFactory();
 
     /**
      * Creates a source-side wire factory
      */
-    public SourceWireFactory createSourceWireFactory();
+    public SourceWireFactory<?> createSourceWireFactory();
 
     /**
      * Determines whether the given object is a proxy

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=400113&r1=400112&r2=400113&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 10:10:27 2006
@@ -13,7 +13,6 @@
 public class WireTargetConfiguration {
 
     protected Map<Method, TargetInvocationConfiguration> configurations;
-
     protected QualifiedName targetName;
 
 


Reply via email to