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/07 01:32:08 UTC

svn commit: r504388 - in /incubator/tuscany/java/sca/kernel: core/src/main/java/org/apache/tuscany/core/runtime/ spi/src/main/java/org/apache/tuscany/spi/component/ spi/src/main/java/org/apache/tuscany/spi/extension/

Author: jboynes
Date: Tue Feb  6 16:32:08 2007
New Revision: 504388

URL: http://svn.apache.org/viewvc?view=rev&rev=504388
Log:
support returning a ComponentContext for a component

Modified:
    incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java
    incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/extension/AbstractComponentExtension.java

Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java?view=diff&rev=504388&r1=504387&r2=504388
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/runtime/AbstractRuntime.java Tue Feb  6 16:32:08 2007
@@ -41,6 +41,7 @@
 import org.apache.tuscany.spi.component.ComponentException;
 import org.apache.tuscany.spi.component.ComponentRegistrationException;
 import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.deployer.Deployer;
 import org.apache.tuscany.spi.loader.LoaderException;
 import org.apache.tuscany.spi.model.ComponentDefinition;
@@ -138,10 +139,6 @@
         this.managementService = managementService;
     }
 
-    protected XMLInputFactory getXMLFactory() {
-        return xmlFactory;
-    }
-
     public void initialize() throws InitializationException {
         Bootstrapper bootstrapper = createBootstrapper();
         runtime = bootstrapper.createRuntime();
@@ -191,7 +188,8 @@
 
 
     public ComponentContext getComponentContext(URI componentId) {
-        throw new UnsupportedOperationException();
+        Component component = componentManager.getComponent(componentId);
+        return component.getComponentContext();
     }
 
     protected Bootstrapper createBootstrapper() {

Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java?view=diff&rev=504388&r1=504387&r2=504388
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/component/Component.java Tue Feb  6 16:32:08 2007
@@ -22,6 +22,8 @@
 import java.util.List;
 import java.util.Map;
 
+import org.osoa.sca.ComponentContext;
+
 import org.apache.tuscany.spi.model.Operation;
 import org.apache.tuscany.spi.model.PropertyValue;
 import org.apache.tuscany.spi.wire.InboundWire;
@@ -36,6 +38,12 @@
 public interface Component extends SCAObject {
 
     /**
+     * Returns the SCA ComponentContext for this component.
+     * @return the SCA ComponentContext for this component
+     */
+    ComponentContext getComponentContext();
+
+    /**
      * Sets the scope container associated with the component
      *
      * @param scopeContainer the scope container associated with the component
@@ -96,5 +104,4 @@
      */
     TargetInvoker createTargetInvoker(String targetName, Operation operation, InboundWire callbackWire)
         throws TargetInvokerCreationException;
-
 }

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=504388&r1=504387&r2=504388
==============================================================================
--- 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  6 16:32:08 2007
@@ -21,6 +21,11 @@
 import java.util.Map;
 import java.net.URI;
 
+import org.osoa.sca.ComponentContext;
+import org.osoa.sca.CallableReference;
+import org.osoa.sca.ServiceReference;
+import org.osoa.sca.RequestContext;
+
 import org.apache.tuscany.spi.component.AbstractSCAObject;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.CompositeComponent;
@@ -31,6 +36,8 @@
  * @version Provides support for property accessors.
  */
 public abstract class AbstractComponentExtension extends AbstractSCAObject implements Component {
+    private final ComponentContext context;
+
     protected ScopeContainer scopeContainer;
 
     private Map<String, PropertyValue<?>> defaultPropertyValues;
@@ -43,6 +50,7 @@
      */
     public AbstractComponentExtension(URI name, CompositeComponent parent) {
         super(name, parent);
+        this.context = new ComponentContextImpl();
     }
 
     public void setScopeContainer(ScopeContainer scopeContainer) {
@@ -59,5 +67,44 @@
 
     public boolean isOptimizable() {
         return false;
+    }
+
+    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();
+        }
     }
 }



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