You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jb...@apache.org on 2007/02/13 20:15:35 UTC

svn commit: r507165 - in /incubator/tuscany/java/sca/kernel/spi/src: main/java/org/apache/tuscany/spi/extension/ test/java/org/apache/tuscany/spi/extension/

Author: jboynes
Date: Tue Feb 13 11:15:33 2007
New Revision: 507165

URL: http://svn.apache.org/viewvc?view=rev&rev=507165
Log:
refactor ComponentContextImpl out of extension to allow individual implementations to define their functionality

Removed:
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/SystemAtomicComponentExtension.java
Modified:
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AbstractComponentExtension.java
    incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AbstractComponentExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AbstractComponentExtension.java?view=diff&rev=507165&r1=507164&r2=507165
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AbstractComponentExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AbstractComponentExtension.java Tue Feb 13 11:15:33 2007
@@ -21,10 +21,7 @@
 import java.net.URI;
 import java.util.Map;
 
-import org.osoa.sca.CallableReference;
 import org.osoa.sca.ComponentContext;
-import org.osoa.sca.RequestContext;
-import org.osoa.sca.ServiceReference;
 
 import org.apache.tuscany.spi.component.AbstractSCAObject;
 import org.apache.tuscany.spi.component.Component;
@@ -36,7 +33,6 @@
  */
 public abstract class AbstractComponentExtension extends AbstractSCAObject implements Component {
     protected ScopeContainer scopeContainer;
-    private final ComponentContext context;
     private Map<String, PropertyValue<?>> defaultPropertyValues;
 
     /**
@@ -46,7 +42,6 @@
      */
     public AbstractComponentExtension(URI name) {
         super(name);
-        this.context = new ComponentContextImpl();
     }
 
     public void setScopeContainer(ScopeContainer scopeContainer) {
@@ -66,41 +61,7 @@
     }
 
     public ComponentContext getComponentContext() {
-        return context;
-    }
-
-    private class ComponentContextImpl implements ComponentContext {
-
-        public String getURI() {
-            return AbstractComponentExtension.this.getUri().toString();
-        }
-
-        public <B, R extends CallableReference<B>> R cast(B target) throws IllegalArgumentException {
-            throw new UnsupportedOperationException();
-        }
-
-        public <B> B getService(Class<B> businessInterface, String referenceName) {
-            throw new UnsupportedOperationException();
-        }
-
-        public <B> ServiceReference<B> getServiceReference(Class<B> businessInterface, String referenceName) {
-            throw new UnsupportedOperationException();
-        }
-
-        public <B> B getProperty(Class<B> type, String propertyName) {
-            throw new UnsupportedOperationException();
-        }
-
-        public <B> ServiceReference<B> createSelfReference(Class<B> businessInterface) {
-            throw new UnsupportedOperationException();
-        }
-
-        public <B> ServiceReference<B> createSelfReference(Class<B> businessInterface, String serviceName) {
-            throw new UnsupportedOperationException();
-        }
-
-        public RequestContext getRequestContext() {
-            throw new UnsupportedOperationException();
-        }
+        // by default, a component will not give out a component context
+        return null;
     }
 }

Modified: incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java?view=diff&rev=507165&r1=507164&r2=507165
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/extension/AtomicComponentExtensionTestCase.java Tue Feb 13 11:15:33 2007
@@ -18,104 +18,65 @@
  */
 package org.apache.tuscany.spi.extension;
 
-import java.lang.reflect.InvocationTargetException;
 import java.net.URI;
 
+import junit.framework.AssertionFailedError;
+import junit.framework.TestCase;
+import org.easymock.EasyMock;
+
 import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.component.ScopeContainer;
+import org.apache.tuscany.spi.component.TargetInvokerCreationException;
 import org.apache.tuscany.spi.component.TargetResolutionException;
 import org.apache.tuscany.spi.model.Operation;
 import org.apache.tuscany.spi.model.Scope;
 import org.apache.tuscany.spi.wire.InboundWire;
-import org.apache.tuscany.spi.wire.InvocationRuntimeException;
-import org.apache.tuscany.spi.wire.Message;
 import org.apache.tuscany.spi.wire.TargetInvoker;
 
-import junit.framework.TestCase;
-import org.easymock.EasyMock;
-
 /**
  * @version $Rev$ $Date$
  */
 public class AtomicComponentExtensionTestCase extends TestCase {
+    private AtomicComponentExtension ext;
+    private URI uri;
 
-    public void testIsEagerInit() throws Exception {
-        TestExtension ext = new TestExtension();
-        ext.isEagerInit();
-    }
-
-    public void testInit() throws Exception {
-        TestExtension ext = new TestExtension();
-        ext.init(null);
+    public void testURI() {
+        assertSame(uri, ext.getUri());
     }
-
-    public void testDestroy() throws Exception {
-        TestExtension ext = new TestExtension();
-        ext.destroy(null);
+    
+    public void testRemoveInstance() throws Exception {
+        ScopeContainer scopeContainer = EasyMock.createMock(ScopeContainer.class);
+        EasyMock.expect(scopeContainer.getScope()).andReturn(Scope.COMPOSITE);
+        scopeContainer.remove(ext);
+        EasyMock.replay(scopeContainer);
+        ext.setScopeContainer(scopeContainer);
+        ext.removeInstance();
+        EasyMock.verify(scopeContainer);
     }
 
-    public void testInboundWire() throws Exception {
-        TestExtension ext = new TestExtension();
-        ext.getInboundWire(null);
+    protected void setUp() throws Exception {
+        super.setUp();
+        uri = URI.create("http://example.com/foo");
+        ext = new TestExtension(uri);
     }
 
-    public void testRemoveInstance() throws Exception {
-        ScopeContainer container = EasyMock.createMock(ScopeContainer.class);
-        EasyMock.expect(container.getScope()).andReturn(Scope.COMPOSITE);
-        container.remove(EasyMock.isA(AtomicComponentExtension.class));
-        EasyMock.replay(container);
-        TestExtension ext = new TestExtension(container);
-        ext.removeInstance();
-        EasyMock.verify(container);
-    }
+    private static class TestExtension extends AtomicComponentExtension {
 
-    private class TestExtension extends AtomicComponentExtension {
-        public TestExtension() {
-            super(URI.create("_foo"), null, null, null, null, 0);
+        public TestExtension(URI uri) {
+            super(uri, null, null, null, null, 0);
         }
 
-        public TestExtension(ScopeContainer scopeContainer) {
-            super(URI.create("_foo"), null, null, null, null, 0);
-            setScopeContainer(scopeContainer);
+        public TargetInvoker createTargetInvoker(String targetName, Operation operation, InboundWire callbackWire)
+            throws TargetInvokerCreationException {
+            throw new AssertionFailedError();
         }
 
         public Object createInstance() throws ObjectCreationException {
-            return null;
+            throw new AssertionFailedError();
         }
 
         public Object getTargetInstance() throws TargetResolutionException {
-            return null;
+            throw new AssertionFailedError();
         }
-
-        public TargetInvoker createTargetInvoker(String targetName, Operation operation, InboundWire callbackWire) {
-            return new TargetInvoker() {
-
-                public Object invokeTarget(final Object payload, final short sequence)
-                    throws InvocationTargetException {
-                    return null;
-                }
-
-                public Message invoke(Message msg) throws InvocationRuntimeException {
-                    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();
-                }
-            };
-        }
-
     }
 }



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