You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by me...@apache.org on 2006/12/31 18:34:14 UTC

svn commit: r491456 - in /incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi: component/Component.java extension/AbstractComponentExtension.java

Author: meerajk
Date: Sun Dec 31 09:34:13 2006
New Revision: 491456

URL: http://svn.apache.org/viewvc?view=rev&rev=491456
Log:
Added operation to get the component definition.

Modified:
    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/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=491456&r1=491455&r2=491456
==============================================================================
--- 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 Sun Dec 31 09:34:13 2006
@@ -22,6 +22,8 @@
 import java.util.List;
 import java.util.Map;
 
+import org.apache.tuscany.spi.model.ComponentDefinition;
+import org.apache.tuscany.spi.model.Implementation;
 import org.apache.tuscany.spi.model.Operation;
 import org.apache.tuscany.spi.wire.InboundWire;
 import org.apache.tuscany.spi.wire.OutboundWire;
@@ -75,9 +77,19 @@
         throws TargetInvokerCreationException;
     
     /**
-     * Gets all the properties for the components.
-     * @return All properties configured for the component.
+     * Gets the component definition associated with the component.
+     * @return Definition associated with the component.
      */
-    Map<String, Object> getProperties();
+    ComponentDefinition<Implementation<?>> getComponentDefinition();
+    
+    /**
+     * Gets the component definition associated with the component.
+     * @param definition Definition associated with the component.
+     * TODO This shouldn't be mutable, rather set during construction. However,
+     * passing it in the constructor of the implementing class has implications 
+     * in the usage of various types in the inheritance tree.
+     * @deprecated Remove this when immutability is enforced in the implemenation tree.
+     */
+    void setComponentDefinition(ComponentDefinition<Implementation<?>> definition);
 
 }

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=491456&r1=491455&r2=491456
==============================================================================
--- 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 Sun Dec 31 09:34:13 2006
@@ -18,11 +18,11 @@
  */
 package org.apache.tuscany.spi.extension;
 
-import java.util.Map;
-
 import org.apache.tuscany.spi.component.AbstractSCAObject;
 import org.apache.tuscany.spi.component.Component;
 import org.apache.tuscany.spi.component.CompositeComponent;
+import org.apache.tuscany.spi.model.ComponentDefinition;
+import org.apache.tuscany.spi.model.Implementation;
 
 /**
  * 
@@ -31,22 +31,45 @@
  */
 public abstract class AbstractComponentExtension extends AbstractSCAObject implements Component {
 
+    /** Component Definition */
+    private ComponentDefinition<Implementation<?>> componentDefinition;
+    
+    /**
+     * Initializes component name and parent.
+     * 
+     * @param name Name of the component.
+     * @param parent Parent of the component.
+     * @param componentDefinition Definition of this component.
+     */
+    public AbstractComponentExtension(String name, CompositeComponent parent, ComponentDefinition<Implementation<?>> componentDefinition) {
+        super(name, parent);
+        this.componentDefinition = componentDefinition;
+    }
+    
     /**
      * Initializes component name and parent.
      * 
      * @param name Name of the component.
      * @param parent Parent of the component.
+     * @param componentDefinition Definition of this component.
+     * @deprecated Use <code>AbstractComponentExtension(String name, CompositeComponent parent, ComponentDefinition<Implementation<?>> componentDefinition)</code>. 
      */
     public AbstractComponentExtension(String name, CompositeComponent parent) {
         super(name, parent);
     }
 
     /**
-     * @see org.apache.tuscany.spi.component.Component#getProperties()
+     * @see org.apache.tuscany.spi.component.Component#getComponentDefinition()
      */
+    public ComponentDefinition<Implementation<?>> getComponentDefinition() {
+        return componentDefinition;
+    }
 
-    public Map<String, Object> getProperties() {
-        return null;
+    /**
+     * @see org.apache.tuscany.spi.component.Component#setComponentDefinition(org.apache.tuscany.spi.model.ComponentDefinition)
+     */
+    public void setComponentDefinition(ComponentDefinition<Implementation<?>> componentDefinition) {
+        this.componentDefinition = componentDefinition;
     }
 
 }



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