Author: jmarino
Date: Fri Oct  6 12:36:54 2006
New Revision: 453741

URL: http://svn.apache.org/viewvc?view=rev&rev=453741
Log:
add test cases for abstract invocation handlers now that they moved to SPI; 
checkstyle cleanup

Added:
    
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/
    
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractInboundInvocationHandlerTestCase.java
   (with props)
    
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandlerTestCase.java
   (with props)
Modified:
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingJavaInterfaceProcessor.java
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/PropertyHelper.java
    
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StringParserPropertyFactoryTestCase.java
    
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/property/SimplePropertyObjectFactoryTestCase.java
    
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/implementation/java/AbstractPropertyProcessor.java
    
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandler.java

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingJavaInterfaceProcessor.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingJavaInterfaceProcessor.java?view=diff&rev=453741&r1=453740&r2=453741
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingJavaInterfaceProcessor.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/impl/DataBindingJavaInterfaceProcessor.java
 Fri Oct  6 12:36:54 2006
@@ -47,8 +47,8 @@
     private static final String SIMPLE_JAVA_OBJECTS = "java.lang.Object";
 
     private static final Class[] SIMPLE_JAVA_TYPES =
-        {Byte.class, Character.class, Short.class, Integer.class, Long.class, 
Float.class, Double.class,
-         Date.class, Calendar.class, GregorianCalendar.class, Duration.class, 
XMLGregorianCalendar.class};
+            {Byte.class, Character.class, Short.class, Integer.class, 
Long.class, Float.class, Double.class,
+            Date.class, Calendar.class, GregorianCalendar.class, 
Duration.class, XMLGregorianCalendar.class};
 
     private static final Set<Class> SIMPLE_TYPE_SET = new 
HashSet<Class>(Arrays.asList(SIMPLE_JAVA_TYPES));
 

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java?view=diff&rev=453741&r1=453740&r2=453741
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/loader/ComponentLoader.java
 Fri Oct  6 12:36:54 2006
@@ -18,22 +18,21 @@
  */
 package org.apache.tuscany.core.loader;
 
-import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
-import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
-import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
-
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.Map;
-
 import javax.xml.namespace.QName;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.ParserConfigurationException;
+import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
+import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamReader;
 
-import 
org.apache.tuscany.core.implementation.system.model.SystemImplementation;
-import org.apache.tuscany.core.property.SimplePropertyObjectFactory;
+import org.w3c.dom.Document;
+import static org.osoa.sca.Version.XML_NAMESPACE_1_0;
+import org.osoa.sca.annotations.Constructor;
+
 import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.component.CompositeComponent;
@@ -58,12 +57,13 @@
 import org.apache.tuscany.spi.model.Property;
 import org.apache.tuscany.spi.model.PropertyValue;
 import org.apache.tuscany.spi.model.ReferenceTarget;
-import org.osoa.sca.annotations.Constructor;
-import org.w3c.dom.Document;
+
+import 
org.apache.tuscany.core.implementation.system.model.SystemImplementation;
+import org.apache.tuscany.core.property.SimplePropertyObjectFactory;
 
 /**
  * Loads a component definition from an XML-based assembly file
- * 
+ *
  * @version $Rev$ $Date$
  */
 public class ComponentLoader extends LoaderExtension<ComponentDefinition<?>> {
@@ -74,10 +74,10 @@
     private static final String PROPERTY_FILE_ATTR = "file";
     private static final String PROPERTY_NAME_ATTR = "name";
     private static final String PROPERTY_SOURCE_ATTR = "source";
-    
+
     private PropertyObjectFactory propertyFactory;
 
-    @Constructor( {"registry", "propertyFactory"})
+    @Constructor({"registry", "propertyFactory"})
     public ComponentLoader(@Autowire LoaderRegistry registry, @Autowire 
PropertyObjectFactory propertyFactory) {
         super(registry);
         this.propertyFactory = propertyFactory;
@@ -101,8 +101,8 @@
                         propertyValue.setValue(aProperty.getDefaultValue());
                         // 
propertyValue.setValueFactory(aProperty.getDefaultValueFactory());
                         propertyValue.setValueFactory(new 
SimplePropertyObjectFactory(aProperty,
-                                                                               
       propertyValue
-                                                                               
           .getValue()));
+                            propertyValue
+                                .getValue()));
                         propertyValues.put(aProperty.getName(), propertyValue);
                     }
                 }
@@ -117,7 +117,7 @@
     public ComponentDefinition<?> load(CompositeComponent parent,
                                        XMLStreamReader reader,
                                        DeploymentContext deploymentContext) 
throws XMLStreamException,
-        LoaderException {
+                                                                               
    LoaderException {
         assert COMPONENT.equals(reader.getName());
         String name = reader.getAttributeValue(null, "name");
         String initLevel = reader.getAttributeValue(null, "initLevel");
@@ -158,7 +158,8 @@
                     case END_ELEMENT:
                         if (reader.getName().equals(COMPONENT)) {
                             // hack to leave alone SystemImplementation
-                            if 
(!((Implementation)componentDefinition.getImplementation() instanceof 
SystemImplementation)) {
+                            if (!((Implementation) componentDefinition
+                                .getImplementation() instanceof 
SystemImplementation)) {
                                 populatePropertyValues(componentDefinition);
                             }
 
@@ -182,13 +183,13 @@
         if (!(o instanceof Implementation)) {
             throw new MissingImplementationException();
         }
-        return (Implementation<?>)o;
+        return (Implementation<?>) o;
     }
 
     protected void loadProperty(XMLStreamReader reader,
                                 DeploymentContext deploymentContext,
                                 ComponentDefinition<?> componentDefinition) 
throws XMLStreamException,
-        LoaderException {
+                                                                               
    LoaderException {
         String name = reader.getAttributeValue(null, PROPERTY_NAME_ATTR);
         Implementation<?> implementation = 
componentDefinition.getImplementation();
         ComponentType<?, ?, ?> componentType = 
implementation.getComponentType();
@@ -222,7 +223,7 @@
     protected void loadReference(XMLStreamReader reader,
                                  DeploymentContext deploymentContext,
                                  ComponentDefinition<?> componentDefinition) 
throws XMLStreamException,
-        LoaderException {
+                                                                               
     LoaderException {
         String name = reader.getAttributeValue(null, "name");
         String text = reader.getElementText();
         String target = text != null ? text.trim() : null;

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/PropertyHelper.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/PropertyHelper.java?view=diff&rev=453741&r1=453740&r2=453741
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/PropertyHelper.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/PropertyHelper.java
 Fri Oct  6 12:36:54 2006
@@ -49,7 +49,7 @@
 /**
  * The property factory backed by the DataBindingframework
  */
-public class PropertyHelper {
+public final class PropertyHelper {
 
     private static final XPathFactory FACTORY = XPathFactory.newInstance();
 

Modified: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StringParserPropertyFactoryTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StringParserPropertyFactoryTestCase.java?view=diff&rev=453741&r1=453740&r2=453741
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StringParserPropertyFactoryTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/loader/StringParserPropertyFactoryTestCase.java
 Fri Oct  6 12:36:54 2006
@@ -18,7 +18,8 @@
  */
 package org.apache.tuscany.core.loader;
 
-import javax.xml.stream.XMLStreamReader;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
 
 import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.spi.model.Property;
@@ -26,8 +27,6 @@
 
 import junit.framework.TestCase;
 import org.easymock.EasyMock;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
 
 /**
  * @version $Rev$ $Date$

Modified: 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/property/SimplePropertyObjectFactoryTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/property/SimplePropertyObjectFactoryTestCase.java?view=diff&rev=453741&r1=453740&r2=453741
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/property/SimplePropertyObjectFactoryTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/test/java/org/apache/tuscany/core/property/SimplePropertyObjectFactoryTestCase.java
 Fri Oct  6 12:36:54 2006
@@ -18,15 +18,15 @@
  */
 package org.apache.tuscany.core.property;
 
-import junit.framework.TestCase;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
 
-import org.apache.tuscany.core.property.PropertyObjectFactoryImpl;
 import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.spi.model.Property;
 import org.apache.tuscany.spi.model.PropertyValue;
+
+import junit.framework.TestCase;
 import org.easymock.EasyMock;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
 
 /**
  * @version $Rev$ $Date$

Modified: 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/implementation/java/AbstractPropertyProcessor.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/implementation/java/AbstractPropertyProcessor.java?view=diff&rev=453741&r1=453740&r2=453741
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/implementation/java/AbstractPropertyProcessor.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/implementation/java/AbstractPropertyProcessor.java
 Fri Oct  6 12:36:54 2006
@@ -109,7 +109,8 @@
     }
 
     public <T> void visitConstructor(CompositeComponent parent, Constructor<T> 
constructor,
-                                     PojoComponentType<JavaMappedService, 
JavaMappedReference, JavaMappedProperty<?>> type,
+                                     PojoComponentType<JavaMappedService,
+                                         JavaMappedReference, 
JavaMappedProperty<?>> type,
                                      DeploymentContext context) throws 
ProcessingException {
 
         ConstructorDefinition<?> definition = type.getConstructorDefinition();

Modified: 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandler.java?view=diff&rev=453741&r1=453740&r2=453741
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandler.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandler.java
 Fri Oct  6 12:36:54 2006
@@ -34,11 +34,12 @@
         if (headInterceptor == null) {
             try {
                 // short-circuit the dispatch and invoke the target directly
-                if (chain.getTargetInvoker() == null) {
+                TargetInvoker targetInvoker = chain.getTargetInvoker();
+                if (targetInvoker == null) {
                     String name = chain.getOperation().getName();
                     throw new AssertionError("No target invoker [" + name + 
"]");
                 }
-                return chain.getTargetInvoker().invokeTarget(args);
+                return targetInvoker.invokeTarget(args);
             } catch (InvocationTargetException e) {
                 // the cause was thrown by the target so throw it
                 throw e.getCause();

Added: 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractInboundInvocationHandlerTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractInboundInvocationHandlerTestCase.java?view=auto&rev=453741
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractInboundInvocationHandlerTestCase.java
 (added)
+++ 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractInboundInvocationHandlerTestCase.java
 Fri Oct  6 12:36:54 2006
@@ -0,0 +1,62 @@
+package org.apache.tuscany.spi.wire;
+
+import java.lang.reflect.Array;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class AbstractInboundInvocationHandlerTestCase extends TestCase {
+
+    public void testInvocation() throws Throwable {
+        InvocationHandler handler = new InvocationHandler();
+        Interceptor interceptor = new MockInterceptor();
+        TargetInvoker invoker = EasyMock.createMock(TargetInvoker.class);
+        EasyMock.replay(invoker);
+        InboundInvocationChain chain = 
EasyMock.createMock(InboundInvocationChain.class);
+        EasyMock.expect(chain.getHeadInterceptor()).andReturn(interceptor);
+        EasyMock.replay(chain);
+        Object resp = handler.invoke(chain, invoker, new String[]{"foo"});
+        assertEquals("response", resp);
+    }
+
+
+    private class InvocationHandler extends AbstractInboundInvocationHandler {
+
+        protected Object getMessageId() {
+            return new Object();
+        }
+
+        protected Object getCorrelationId() {
+            return new Object();
+        }
+    }
+
+    private class MockInterceptor implements Interceptor {
+
+        public Message invoke(Message msg) {
+            assertNotNull(msg.getCorrelationId());
+            assertNotNull(msg.getTargetInvoker());
+            assertNotNull(msg.getMessageId());
+            assertEquals("foo", Array.get(msg.getBody(), 0));
+            msg.setBody("response");
+            return msg;
+        }
+
+        public void setNext(Interceptor next) {
+
+        }
+
+        public Interceptor getNext() {
+            return null;
+        }
+
+        public boolean isOptimizable() {
+            return false;
+        }
+    }
+
+
+}
\ No newline at end of file

Propchange: 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractInboundInvocationHandlerTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractInboundInvocationHandlerTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandlerTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandlerTestCase.java?view=auto&rev=453741
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandlerTestCase.java
 (added)
+++ 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandlerTestCase.java
 Fri Oct  6 12:36:54 2006
@@ -0,0 +1,108 @@
+package org.apache.tuscany.spi.wire;
+
+import java.lang.reflect.Array;
+import java.lang.reflect.InvocationTargetException;
+
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class AbstractOutboundInvocationHandlerTestCase extends TestCase {
+
+    public void testInvocation() throws Throwable {
+        InvocationHandler handler = new InvocationHandler();
+        Interceptor interceptor = new MockInterceptor();
+        TargetInvoker invoker = EasyMock.createMock(TargetInvoker.class);
+        EasyMock.replay(invoker);
+        OutboundInvocationChain chain = 
EasyMock.createMock(OutboundInvocationChain.class);
+        EasyMock.expect(chain.getHeadInterceptor()).andReturn(interceptor);
+        EasyMock.replay(chain);
+        Object resp = handler.invoke(chain, invoker, new String[]{"foo"});
+        assertEquals("response", resp);
+    }
+
+    public void testShortCircuitInvocation() throws Throwable {
+        InvocationHandler handler = new InvocationHandler();
+        TargetInvoker invoker = new MockInvoker();
+        OutboundInvocationChain chain = 
EasyMock.createMock(OutboundInvocationChain.class);
+        EasyMock.expect(chain.getHeadInterceptor()).andReturn(null);
+        EasyMock.expect(chain.getTargetInvoker()).andReturn(invoker);
+        EasyMock.replay(chain);
+        Object resp = handler.invoke(chain, invoker, new String[]{"foo"});
+        assertEquals("response", resp);
+    }
+
+
+    private class MockInvoker implements TargetInvoker {
+
+        public Object invokeTarget(final Object payload) throws 
InvocationTargetException {
+            assertEquals("foo", Array.get(payload, 0));
+            return "response";
+        }
+
+        public Message invoke(Message msg) throws InvocationRuntimeException {
+            fail();
+            return null;
+        }
+
+        public boolean isCacheable() {
+            return false;
+        }
+
+        public void setCacheable(boolean cacheable) {
+
+        }
+
+        public boolean isOptimizable() {
+            return false;
+        }
+
+        public Object clone() throws CloneNotSupportedException {
+            return super.clone();
+        }
+    }
+
+    private class InvocationHandler extends AbstractOutboundInvocationHandler {
+
+        protected Object getFromAddress() {
+            return new Object();
+        }
+
+        protected Object getMessageId() {
+            return new Object();
+        }
+
+        protected Object getCorrelationId() {
+            return new Object();
+        }
+    }
+
+    private class MockInterceptor implements Interceptor {
+
+        public Message invoke(Message msg) {
+            assertNotNull(msg.getCorrelationId());
+            assertNotNull(msg.getTargetInvoker());
+            assertNotNull(msg.getMessageId());
+            assertNotNull(msg.getFromAddress());
+            assertEquals("foo", Array.get(msg.getBody(), 0));
+            msg.setBody("response");
+            return msg;
+        }
+
+        public void setNext(Interceptor next) {
+
+        }
+
+        public Interceptor getNext() {
+            return null;
+        }
+
+        public boolean isOptimizable() {
+            return false;
+        }
+    }
+
+
+}

Propchange: 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandlerTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/wire/AbstractOutboundInvocationHandlerTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to