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