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/12 08:26:32 UTC

svn commit: r527788 [2/2] - in /incubator/tuscany/java/sca/modules: core-databinding/src/main/java/org/apache/tuscany/core/databinding/processor/ core-databinding/src/main/java/org/apache/tuscany/core/databinding/transformers/ core-databinding/src/main...

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java?view=diff&rev=527788&r1=527787&r2=527788
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerTestCase.java Wed Apr 11 23:26:30 2007
@@ -19,7 +19,9 @@
 package org.apache.tuscany.core.binding.local;
 
 import java.net.URI;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import junit.framework.TestCase;
@@ -70,9 +72,10 @@
         chain = EasyMock.createMock(InvocationChain.class);
         EasyMock.expect(chain.getTargetInvoker()).andReturn(null);
         EasyMock.expect(chain.getHeadInterceptor()).andReturn(head);
+        EasyMock.expect(chain.getTargetOperation()).andReturn(operation);
         EasyMock.replay(chain);
-        Map<Operation, InvocationChain> chains = new HashMap<Operation, InvocationChain>();
-        chains.put(operation, chain);
+        List<InvocationChain> chains = new ArrayList<InvocationChain>();
+        chains.add(chain);
         wire = EasyMock.createMock(Wire.class);
         EasyMock.expect(wire.getCallbackInvocationChains()).andReturn(chains);
         EasyMock.replay(wire);

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java?view=diff&rev=527788&r1=527787&r2=527788
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalCallbackTargetInvokerThrowableTestCase.java Wed Apr 11 23:26:30 2007
@@ -58,7 +58,7 @@
         InvocationChain chain = new InvocationChainImpl(operation);
         chain.addInterceptor(new InsidiuousInterceptor());
         Wire wire = new WireImpl();
-        wire.addCallbackInvocationChain(operation, chain);
+        wire.addCallbackInvocationChain(chain);
         invoker = new LocalCallbackTargetInvoker(operation, wire);
     }
 

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java?view=diff&rev=527788&r1=527787&r2=527788
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/binding/local/LocalTargetInvokerTestCase.java Wed Apr 11 23:26:30 2007
@@ -54,7 +54,7 @@
         InvocationChain chain = new InvocationChainImpl(operation);
         chain.setTargetInvoker(targetInvoker);
         Wire wire = new WireImpl();
-        wire.addInvocationChain(operation, chain);
+        wire.addInvocationChain(chain);
         wire.setSourceContract(serviceContract);
         TargetInvoker invoker = new LocalTargetInvoker(operation, wire);
         Message msg = invoker.invoke(new MessageImpl());
@@ -77,12 +77,12 @@
         chain.setTargetInvoker(targetInvoker);
         InvocationChain callbackChain = new InvocationChainImpl(operation);
         Wire wire = new WireImpl();
-        wire.addInvocationChain(operation, chain);
-        wire.addCallbackInvocationChain(operation, callbackChain);
+        wire.addInvocationChain(chain);
+        wire.addCallbackInvocationChain(callbackChain);
         wire.setSourceContract(serviceContract);
         URI uri = URI.create("foo");
         wire.setSourceUri(uri);
-        wire.addInvocationChain(operation, chain);
+        wire.addInvocationChain(chain);
         TargetInvoker invoker = new LocalTargetInvoker(operation, wire);
         Message msg = EasyMock.createMock(Message.class);
         msg.pushCallbackUri(EasyMock.eq(uri));
@@ -101,7 +101,7 @@
         chain.setTargetInvoker(targetInvoker);
         Wire wire = new WireImpl();
         wire.setSourceContract(serviceContract);
-        wire.addInvocationChain(operation, chain);
+        wire.addInvocationChain(chain);
         TargetInvoker invoker = new LocalTargetInvoker(operation, wire);
         Message msg = invoker.invoke(new MessageImpl());
         assertTrue(msg.isFault());

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java?view=diff&rev=527788&r1=527787&r2=527788
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireObjectFactoryTestCase.java Wed Apr 11 23:26:30 2007
@@ -18,8 +18,9 @@
  */
 package org.apache.tuscany.core.wire;
 
+import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 import junit.framework.TestCase;
@@ -39,14 +40,15 @@
  * @version $Rev$ $Date$
  */
 public class WireObjectFactoryTestCase extends TestCase {
+    private List<InvocationChain> emptyChains = Collections.emptyList();
 
-    @SuppressWarnings({"unchecked"})
+    @SuppressWarnings( {"unchecked"})
     public void testCreateInstance() throws Exception {
         Operation op = new OperationImpl("hello");
         InvocationChain chain = new InvocationChainImpl(op);
         Wire wire = EasyMock.createMock(Wire.class);
-        Map<Operation, InvocationChain> chains = new HashMap<Operation, InvocationChain>();
-        chains.put(op, chain);
+        List<InvocationChain> chains = new ArrayList<InvocationChain>();
+        chains.add(chain);
         EasyMock.expect(wire.getInvocationChains()).andReturn(chains);
         EasyMock.expect(wire.isOptimizable()).andReturn(false);
         EasyMock.replay(wire);
@@ -68,11 +70,11 @@
     @SuppressWarnings("unchecked")
     public void testOptimizedCreateInstance() throws Exception {
         InterfaceContract service = createContract(Foo.class);
-        
+
         Wire wire = EasyMock.createMock(Wire.class);
         EasyMock.expect(wire.isOptimizable()).andReturn(true);
         EasyMock.expect(wire.getSourceContract()).andReturn(service).atLeastOnce();
-        EasyMock.expect(wire.getInvocationChains()).andReturn((Map) Collections.emptyMap());
+        EasyMock.expect(wire.getInvocationChains()).andReturn(emptyChains);
         EasyMock.expect(wire.getTargetInstance()).andReturn(new Foo() {
             public void hello() {
             }
@@ -93,7 +95,8 @@
     }
 
     /**
-     * Verifies that a proxy is created when the required client contract is different than the wire contract
+     * Verifies that a proxy is created when the required client contract is
+     * different than the wire contract
      */
     @SuppressWarnings("unchecked")
     public void testCannotOptimizeDifferentContractsCreateInstance() throws Exception {
@@ -101,7 +104,7 @@
         Wire wire = EasyMock.createMock(Wire.class);
         EasyMock.expect(wire.isOptimizable()).andReturn(true);
         EasyMock.expect(wire.getSourceContract()).andReturn(contract).atLeastOnce();
-        EasyMock.expect(wire.getInvocationChains()).andReturn((Map) Collections.emptyMap());
+        EasyMock.expect(wire.getInvocationChains()).andReturn(emptyChains);
         EasyMock.replay(wire);
         ProxyService service = EasyMock.createMock(ProxyService.class);
         service.createProxy(EasyMock.eq(Foo.class), EasyMock.eq(wire), EasyMock.isA(Map.class));
@@ -124,7 +127,7 @@
         Wire wire = EasyMock.createMock(Wire.class);
         EasyMock.expect(wire.isOptimizable()).andReturn(true);
         EasyMock.expect(wire.getSourceContract()).andReturn(contract).atLeastOnce();
-        EasyMock.expect(wire.getInvocationChains()).andReturn((Map) Collections.emptyMap());
+        EasyMock.expect(wire.getInvocationChains()).andReturn(emptyChains);
         EasyMock.replay(wire);
         ProxyService service = EasyMock.createMock(ProxyService.class);
         service.createProxy(EasyMock.eq(Foo.class), EasyMock.eq(wire), EasyMock.isA(Map.class));
@@ -144,6 +147,5 @@
     private interface Foo {
         void hello();
     }
-
 
 }

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireOptimizationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireOptimizationTestCase.java?view=diff&rev=527788&r1=527787&r2=527788
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireOptimizationTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireOptimizationTestCase.java Wed Apr 11 23:26:30 2007
@@ -48,7 +48,7 @@
         Wire wire = new WireImpl();
         InvocationChain chain = new InvocationChainImpl(operation);
         chain.addInterceptor(new OptimizableInterceptor());
-        wire.addInvocationChain(operation, chain);
+        wire.addInvocationChain(chain);
         assertTrue(WireUtils.isOptimizable(wire));
     }
 
@@ -58,7 +58,7 @@
         Wire wire = new WireImpl();
         InvocationChain chain = new InvocationChainImpl(operation);
         chain.addInterceptor(new NonOptimizableInterceptor());
-        wire.addInvocationChain(operation, chain);
+        wire.addInvocationChain(chain);
         assertFalse(WireUtils.isOptimizable(wire));
     }
 

Modified: incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireUtilsTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireUtilsTestCase.java?view=diff&rev=527788&r1=527787&r2=527788
==============================================================================
--- incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireUtilsTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/core/src/test/java/org/apache/tuscany/core/wire/WireUtilsTestCase.java Wed Apr 11 23:26:30 2007
@@ -40,7 +40,7 @@
         Operation op = new OperationImpl();
         op.setName("hello");
         InvocationChain chain = new InvocationChainImpl(op);
-        wire.addInvocationChain(op, chain);
+        wire.addInvocationChain(chain);
         Map<Method, ChainHolder> chains = WireUtils.createInterfaceToWireMapping(Foo.class, wire);
         assertEquals(1, chains.size());
         assertNotNull(chains.get(m));
@@ -51,7 +51,7 @@
         Operation op = new OperationImpl();
         op.setName("goodbye");
         InvocationChain chain = new InvocationChainImpl(op);
-        wire.addInvocationChain(op, chain);
+        wire.addInvocationChain(chain);
         try {
             WireUtils.createInterfaceToWireMapping(Foo.class, wire);
             fail();

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/proxy/JDKCallbackInvocationHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/proxy/JDKCallbackInvocationHandler.java?view=diff&rev=527788&r1=527787&r2=527788
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/proxy/JDKCallbackInvocationHandler.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/proxy/JDKCallbackInvocationHandler.java Wed Apr 11 23:26:30 2007
@@ -28,6 +28,7 @@
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.IdentityHashMap;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -44,16 +45,15 @@
 import org.apache.tuscany.spi.wire.Wire;
 import org.osoa.sca.NoRegisteredCallbackException;
 
-
 /**
- * Responsible for dispatching to a callback through a wire.
- * <p/>
- * TODO cache target invoker
+ * Responsible for dispatching to a callback through a wire. <p/> TODO cache
+ * target invoker
+ * 
  * @Deprecated
  * @version $Rev$ $Date$
  */
-public class JDKCallbackInvocationHandler extends AbstractInvocationHandler
-    implements InvocationHandler, Externalizable, SCAExternalizable {
+public class JDKCallbackInvocationHandler extends AbstractInvocationHandler implements InvocationHandler,
+    Externalizable, SCAExternalizable {
     /**
      * 
      */
@@ -82,16 +82,14 @@
         }
     }
 
-    @SuppressWarnings({"unchecked"})
+    @SuppressWarnings( {"unchecked"})
     public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
         if (method.getParameterTypes().length == 0 && "toString".equals(method.getName())) {
             return "[Proxy - " + Integer.toHexString(hashCode()) + "]";
-        } else if (method.getDeclaringClass().equals(Object.class)
-            && "equals".equals(method.getName())) {
+        } else if (method.getDeclaringClass().equals(Object.class) && "equals".equals(method.getName())) {
             // TODO implement
             throw new UnsupportedOperationException();
-        } else if (Object.class.equals(method.getDeclaringClass())
-            && "hashCode".equals(method.getName())) {
+        } else if (Object.class.equals(method.getDeclaringClass()) && "hashCode".equals(method.getName())) {
             return hashCode();
             // TODO beter hash algorithm
         }
@@ -101,9 +99,13 @@
         assert targetAddress != null;
         Wire wire = wires.get(targetAddress);
         assert wire != null;
-        Map<Operation, InvocationChain> chains = wire.getCallbackInvocationChains();
-        Operation operation = JavaInterfaceUtil.findOperation(method, chains.keySet());
-        InvocationChain chain = chains.get(operation);
+        List<InvocationChain> chains = wire.getCallbackInvocationChains();
+        IdentityHashMap<Operation, InvocationChain> map = new IdentityHashMap<Operation, InvocationChain>();
+        for (InvocationChain chain : chains) {
+            map.put(chain.getTargetOperation(), chain);
+        }
+        Operation operation = JavaInterfaceUtil.findOperation(method, map.keySet());
+        InvocationChain chain = map.get(operation);
         TargetInvoker invoker = chain.getTargetInvoker();
         Object correlationId = context.getCorrelationId();
         context.setCorrelationId(null);
@@ -129,7 +131,7 @@
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
         int num = in.readInt();
         for (int i = 0; i <= num; i++) {
-            sourceWireNames.add((String) in.readObject());
+            sourceWireNames.add((String)in.readObject());
         }
     }
 

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandler.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandler.java?view=diff&rev=527788&r1=527787&r2=527788
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandler.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandler.java Wed Apr 11 23:26:30 2007
@@ -238,7 +238,7 @@
         if (holder.getCachedInvoker() == null) {
             assert chain != null;
             if (chain.getTargetInvoker() == null) {
-                String name = chain.getOperation().getName();
+                String name = chain.getTargetOperation().getName();
                 throw new TargetInvocationException("No target invoker configured for operation", name);
             }
             if (chain.getTargetInvoker().isCacheable()) {

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandlerProxyTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandlerProxyTestCase.java?view=diff&rev=527788&r1=527787&r2=527788
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandlerProxyTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandlerProxyTestCase.java Wed Apr 11 23:26:30 2007
@@ -57,7 +57,7 @@
         interfaceContract.setInterface(introspector.introspect(Target.class));
         for (Operation operation : interfaceContract.getInterface().getOperations()) {
             InvocationChain chain = new InvocationChainImpl(operation);
-            wire.addInvocationChain(operation, chain);
+            wire.addInvocationChain(chain);
         }
         wire.setSourceContract(interfaceContract);
         wire.setSourceUri(URI.create("foo#bar"));
@@ -66,7 +66,7 @@
         EasyMock.expect(targetInvoker.invokeTarget(null, TargetInvoker.NONE, null)).andReturn(response);
         EasyMock.expect(targetInvoker.isCacheable()).andReturn(false);
         EasyMock.replay(targetInvoker);
-        wire.getInvocationChains().values().iterator().next().setTargetInvoker(targetInvoker);
+        wire.getInvocationChains().iterator().next().setTargetInvoker(targetInvoker);
 
         JDKInvocationHandler handler = new JDKInvocationHandler(Client.class, wire, null);
         assertSame(response, handler.invoke(null, clientHello, null));

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandlerSerializationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandlerSerializationTestCase.java?view=diff&rev=527788&r1=527787&r2=527788
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandlerSerializationTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandlerSerializationTestCase.java Wed Apr 11 23:26:30 2007
@@ -86,11 +86,11 @@
         EasyMock.expect(container.getUri()).andReturn(URI.create("bar")).atLeastOnce();
 
         wire = EasyMock.createMock(Wire.class);
-        Map<Operation, InvocationChain> map = new HashMap<Operation, InvocationChain>();
+        List<InvocationChain> map = new ArrayList<InvocationChain>();
         Operation operation = new OperationImpl("invoke");
         Contract opContract = ModelHelper.createReference("foo", Foo.class);
         operation.setInterface(opContract.getInterfaceContract().getInterface());
-        map.put(operation, createChain(operation));
+        map.add(createChain(operation));
         EasyMock.expect(wire.getSourceContract()).andReturn(contract.getInterfaceContract()).atLeastOnce();
         URI uri = URI.create("#foo");
         EasyMock.expect(wire.getSourceUri()).andReturn(uri).atLeastOnce();

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandlerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandlerTestCase.java?view=diff&rev=527788&r1=527787&r2=527788
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandlerTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/test/java/org/apache/tuscany/implementation/java/proxy/JDKInvocationHandlerTestCase.java Wed Apr 11 23:26:30 2007
@@ -91,7 +91,7 @@
 
             InvocationChain chain = new InvocationChainImpl(op1);
             chain.setTargetInvoker(invoker);
-            wire.addInvocationChain(op1, chain);
+            wire.addInvocationChain(chain);
             URI uri = URI.create("fooRef");
             wire.setSourceUri(uri);
             wire.setSourceContract(contract.getInterfaceContract());

Modified: incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/impl/OperationImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/impl/OperationImpl.java?view=diff&rev=527788&r1=527787&r2=527788
==============================================================================
--- incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/impl/OperationImpl.java (original)
+++ incubator/tuscany/java/sca/modules/interface/src/main/java/org/apache/tuscany/interfacedef/impl/OperationImpl.java Wed Apr 11 23:26:30 2007
@@ -59,6 +59,20 @@
         this.name = name;
     }
 
+    /**
+     * @param name
+     * @param inputType
+     * @param outputType
+     * @param faultTypes
+     */
+    public OperationImpl(String name, DataType<List<DataType>> inputType, DataType outputType, List<DataType> faultTypes) {
+        super();
+        this.name = name;
+        this.inputType = inputType;
+        this.outputType = outputType;
+        this.faultTypes = faultTypes;
+    }
+    
     public String getName() {
         return name;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org