You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by sv...@apache.org on 2007/04/19 20:00:53 UTC

svn commit: r530504 - in /incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context: JavaComponentBuilder.java PojoAtomicComponent.java PojoComponent.java

Author: svkrish
Date: Thu Apr 19 11:00:52 2007
New Revision: 530504

URL: http://svn.apache.org/viewvc?view=rev&rev=530504
Log:
Changes resulting from fixing https://issues.apache.org/jira/browse/TUSCANY-1215

Modified:
    incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilder.java
    incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java
    incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoComponent.java

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilder.java?view=diff&rev=530504&r1=530503&r2=530504
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilder.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaComponentBuilder.java Thu Apr 19 11:00:52 2007
@@ -19,8 +19,13 @@
 package org.apache.tuscany.implementation.java.context;
 
 import java.net.URI;
+import java.util.HashMap;
+import java.util.Map;
 
 import org.apache.tuscany.assembly.Component;
+import org.apache.tuscany.assembly.ComponentProperty;
+import org.apache.tuscany.assembly.Property;
+import org.apache.tuscany.core.builder.ComponentNotFoundException;
 import org.apache.tuscany.databinding.DataBindingExtensionPoint;
 import org.apache.tuscany.implementation.java.JavaImplementation;
 import org.apache.tuscany.implementation.java.impl.JavaImplementationDefinition;
@@ -28,6 +33,7 @@
 import org.apache.tuscany.implementation.java.injection.ResourceObjectFactory;
 import org.apache.tuscany.spi.ObjectFactory;
 import org.apache.tuscany.spi.builder.BuilderConfigException;
+import org.apache.tuscany.spi.builder.BuilderException;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.deployer.DeploymentContext;
 import org.apache.tuscany.spi.extension.ComponentBuilderExtension;
@@ -67,16 +73,17 @@
         JavaAtomicComponent component = new JavaAtomicComponent(configuration);
         component.setPropertyValueFactory(propertyValueObjectFactory);
         component.setDataBindingRegistry(dataBindingRegistry);
-
+        
         if (componentType.getConversationIDMember() != null) {
             component.addConversationIDFactory(componentType.getConversationIDMember());
         }
         
+        component.configureProperties(definition.getProperties());
         handleResources(componentType, component);
 
         return component;
     }
-
+    
     private void handleResources(
         JavaImplementationDefinition componentType,
         JavaAtomicComponent component) {

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java?view=diff&rev=530504&r1=530503&r2=530504
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoAtomicComponent.java Thu Apr 19 11:00:52 2007
@@ -31,6 +31,7 @@
 
 import org.apache.tuscany.assembly.ComponentProperty;
 import org.apache.tuscany.assembly.Multiplicity;
+import org.apache.tuscany.assembly.Property;
 import org.apache.tuscany.assembly.Reference;
 import org.apache.tuscany.core.component.ComponentContextImpl;
 import org.apache.tuscany.core.component.ComponentContextProvider;
@@ -121,18 +122,26 @@
         return wires.get(name);
     }
     
-    public void configureProperty(String propertyName) {
-        JavaElement element = configuration.getDefinition().getPropertyMembers().get(propertyName);
+    public void configureProperties(List<ComponentProperty> definedProperties) {
+        for (ComponentProperty p : definedProperties) {
+            getProperties().put(p.getName(), p);
+            configureProperty(p);
+        }
+    }
+
+    public void configureProperty(ComponentProperty configuredProperty) {
+        JavaElement element = 
+            configuration.getDefinition().getPropertyMembers().get(configuredProperty.getName());
 
-        if (element != null && !(element.getAnchor() instanceof Constructor)) {
+        if (element != null && !(element.getAnchor() instanceof Constructor) && 
+            configuredProperty.getValue() != null) {
             configuration.getInjectionSites().add(element);
-        }
         
-        ComponentProperty configuredProperty = (ComponentProperty)getDefaultPropertyValues().get(propertyName);
-        Class propertyJavaType = JavaIntrospectionHelper.getBaseType(element.getType(), element.getGenericType());
-        ObjectFactory<?> propertyObjectFactory =
-            createPropertyValueFactory(configuredProperty, configuredProperty.getValue(), propertyJavaType);
-        configuration.setObjectFactory(element, propertyObjectFactory);
+            Class propertyJavaType = JavaIntrospectionHelper.getBaseType(element.getType(), element.getGenericType());
+            ObjectFactory<?> propertyObjectFactory =
+                createPropertyValueFactory(configuredProperty, configuredProperty.getValue(), propertyJavaType);
+            configuration.setObjectFactory(element, propertyObjectFactory);
+        }
     }
 
 

Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoComponent.java?view=diff&rev=530504&r1=530503&r2=530504
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoComponent.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/PojoComponent.java Thu Apr 19 11:00:52 2007
@@ -126,11 +126,11 @@
         return null;
     }
 
-    public Map<String, Property> getDefaultPropertyValues() {
+    public Map<String, Property> getProperties() {
         return null;
     }
 
-    public void setDefaultPropertyValues(Map<String, Property> defaultPropertyValues) {
+    public void setProperties(Map<String, Property> defaultPropertyValues) {
     }
 
     public ScopeContainer getScopeContainer() {



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