You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/04/15 18:51:31 UTC
svn commit: r529006 - in /incubator/tuscany/java/sca:
modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/
modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/
sam...
Author: rfeng
Date: Sun Apr 15 09:51:30 2007
New Revision: 529006
URL: http://svn.apache.org/viewvc?view=rev&rev=529006
Log:
Add support for complex property in any databindings
Modified:
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaAtomicComponent.java
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/JavaPropertyValueObjectFactory.java
incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java
incubator/tuscany/java/sca/samples/echo-databinding/src/test/java/echo/ComponentAImpl.java
incubator/tuscany/java/sca/samples/echo-databinding/src/test/resources/application.composite
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaAtomicComponent.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaAtomicComponent.java?view=diff&rev=529006&r1=529005&r2=529006
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaAtomicComponent.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaAtomicComponent.java Sun Apr 15 09:51:30 2007
@@ -40,7 +40,6 @@
public JavaAtomicComponent(PojoConfiguration configuration) {
super(configuration);
- propertyValueFactory = new JavaPropertyValueObjectFactory();
}
public TargetInvoker createTargetInvoker(String targetName, Operation operation, boolean isCallback)
@@ -68,6 +67,10 @@
protected ObjectFactory<?> createPropertyValueFactory(ComponentProperty property, Object propertyValue, Class javaType) {
return propertyValueFactory.createValueFactory(property, propertyValue, javaType);
+ }
+
+ public void setPropertyValueFactory(JavaPropertyValueObjectFactory propertyValueFactory) {
+ this.propertyValueFactory = propertyValueFactory;
}
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=529006&r1=529005&r2=529006
==============================================================================
--- 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 Sun Apr 15 09:51:30 2007
@@ -40,7 +40,7 @@
* @version $$Rev$$ $$Date$$
*/
public class JavaComponentBuilder extends ComponentBuilderExtension<JavaImplementation> {
-
+ private JavaPropertyValueObjectFactory propertyValueObjectFactory;
private ResourceHost host;
@Reference
@@ -62,6 +62,7 @@
configuration.setWorkContext(workContext);
JavaAtomicComponent component = new JavaAtomicComponent(configuration);
+ component.setPropertyValueFactory(propertyValueObjectFactory);
if (componentType.getConversationIDMember() != null) {
component.addConversationIDFactory(componentType.getConversationIDMember());
@@ -101,6 +102,10 @@
protected Class<JavaImplementation> getImplementationType() {
return JavaImplementation.class;
+ }
+
+ public void setPropertyValueObjectFactory(JavaPropertyValueObjectFactory propertyValueObjectFactory) {
+ this.propertyValueObjectFactory = propertyValueObjectFactory;
}
}
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaPropertyValueObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaPropertyValueObjectFactory.java?view=diff&rev=529006&r1=529005&r2=529006
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaPropertyValueObjectFactory.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/context/JavaPropertyValueObjectFactory.java Sun Apr 15 09:51:30 2007
@@ -46,24 +46,14 @@
import org.w3c.dom.Node;
public class JavaPropertyValueObjectFactory {
- protected DataBindingRegistry dbRegistry = new DataBindingRegistryImpl();
+ // protected DataBindingRegistry dbRegistry = new DataBindingRegistryImpl();
protected Mediator mediator = null;
protected SimpleTypeMapper simpleTypeMapper = new SimpleTypeMapperExtension();
boolean isSimpleType;
- public JavaPropertyValueObjectFactory() {
- dbRegistry.register(new JavaBeansDataBinding());
- dbRegistry.register(new DOMDataBinding());
- TransformerRegistry transRegistry = new TransformerRegistryImpl();
- transRegistry.registerTransformer(DOMDataBinding.NAME,
- JavaBeansDataBinding.NAME,
- 50,
- new DOMNode2JavaBeanTransformer());
- MediatorImpl mediatorImpl = new MediatorImpl();
- mediatorImpl.setDataBindingRegistry(dbRegistry);
- mediatorImpl.setTransformerRegistry(transRegistry);
- this.mediator = mediatorImpl;
+ public JavaPropertyValueObjectFactory(Mediator mediator) {
+ this.mediator = mediator;
}
public ObjectFactory createValueFactory(Property property, Object propertyValue, Class javaType) {
@@ -188,7 +178,7 @@
targetDataType = new DataTypeImpl<XMLType>(dataBinding, javaType, xmlType);
} else {
targetDataType = new DataTypeImpl<XMLType>(dataBinding, javaType, xmlType);
- dbRegistry.introspectType(targetDataType, null);
+ mediator.getDataBindingRegistry().introspectType(targetDataType, null);
}
}
}
Modified: incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java?view=diff&rev=529006&r1=529005&r2=529006
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/implementation/java/module/JavaRuntimeModuleActivator.java Sun Apr 15 09:51:30 2007
@@ -25,6 +25,7 @@
import org.apache.tuscany.contribution.processor.StAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.implementation.java.JavaImplementation;
import org.apache.tuscany.implementation.java.context.JavaComponentBuilder;
+import org.apache.tuscany.implementation.java.context.JavaPropertyValueObjectFactory;
import org.apache.tuscany.implementation.java.introspect.BaseJavaClassIntrospectorExtension;
import org.apache.tuscany.implementation.java.introspect.DefaultJavaClassIntrospector;
import org.apache.tuscany.implementation.java.introspect.JavaClassIntrospectorExtension;
@@ -52,6 +53,8 @@
import org.apache.tuscany.spi.component.WorkContextTunnel;
import org.apache.tuscany.spi.component.ScopeRegistry;
import org.apache.tuscany.spi.component.WorkContext;
+import org.apache.tuscany.spi.databinding.DataBindingRegistry;
+import org.apache.tuscany.spi.databinding.Mediator;
import org.apache.tuscany.spi.wire.ProxyService;
/**
@@ -106,6 +109,10 @@
builder.setProxyService(extensionPointRegistry.getExtensionPoint(ProxyService.class));
builder.setWorkContext(extensionPointRegistry.getExtensionPoint(WorkContext.class));
builderRegistry.register(JavaImplementation.class, builder);
+
+ Mediator mediator = extensionPointRegistry.getExtensionPoint(Mediator.class);
+ JavaPropertyValueObjectFactory factory = new JavaPropertyValueObjectFactory(mediator);
+ builder.setPropertyValueObjectFactory(factory);
}
Modified: incubator/tuscany/java/sca/samples/echo-databinding/src/test/java/echo/ComponentAImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/echo-databinding/src/test/java/echo/ComponentAImpl.java?view=diff&rev=529006&r1=529005&r2=529006
==============================================================================
--- incubator/tuscany/java/sca/samples/echo-databinding/src/test/java/echo/ComponentAImpl.java (original)
+++ incubator/tuscany/java/sca/samples/echo-databinding/src/test/java/echo/ComponentAImpl.java Sun Apr 15 09:51:30 2007
@@ -86,12 +86,9 @@
/**
* @param omProperty the omProperty to set
*/
- // FIXME: We need to support other type of complex properties
- /*
@Property(name="omProperty")
public void setOmProperty(OMElement omProperty) {
this.omProperty = omProperty;
}
- */
}
Modified: incubator/tuscany/java/sca/samples/echo-databinding/src/test/resources/application.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/echo-databinding/src/test/resources/application.composite?view=diff&rev=529006&r1=529005&r2=529006
==============================================================================
--- incubator/tuscany/java/sca/samples/echo-databinding/src/test/resources/application.composite (original)
+++ incubator/tuscany/java/sca/samples/echo-databinding/src/test/resources/application.composite Sun Apr 15 09:51:30 2007
@@ -32,13 +32,11 @@
<property name="prefix">ABC</property>
<property name="prefix1" source="$messagePrefix"></property>
<property name="bar" source="$complexProperty/*[local-name()='foo']/*[local-name()='bar']"></property>
- <!--
<property name="omProperty">
<a>
<b>XYZ</b>
</a>
</property>
- -->
</component>
<component name="ComponentB">
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org