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 2010/01/27 05:29:47 UTC
svn commit: r903541 - in /tuscany/sca-java-2.x/trunk:
itest/scdl/src/test/java/org/apache/tuscany/sca/itest/scdl/
modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/
modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ modul...
Author: rfeng
Date: Wed Jan 27 04:29:29 2010
New Revision: 903541
URL: http://svn.apache.org/viewvc?rev=903541&view=rev
Log:
Fix for TUSCANY-3409
Modified:
tuscany/sca-java-2.x/trunk/itest/scdl/src/test/java/org/apache/tuscany/sca/itest/scdl/ValidateDependenciesTestCase.java
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractProperty.java
tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractPropertyImpl.java
tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java
tuscany/sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java
tuscany/sca-java-2.x/trunk/modules/implementation-java/META-INF/MANIFEST.MF
tuscany/sca-java-2.x/trunk/modules/implementation-java/pom.xml
tuscany/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java
tuscany/sca-java-2.x/trunk/modules/policy-transaction/META-INF/MANIFEST.MF
tuscany/sca-java-2.x/trunk/modules/policy-transaction/pom.xml
Modified: tuscany/sca-java-2.x/trunk/itest/scdl/src/test/java/org/apache/tuscany/sca/itest/scdl/ValidateDependenciesTestCase.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/itest/scdl/src/test/java/org/apache/tuscany/sca/itest/scdl/ValidateDependenciesTestCase.java?rev=903541&r1=903540&r2=903541&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/itest/scdl/src/test/java/org/apache/tuscany/sca/itest/scdl/ValidateDependenciesTestCase.java (original)
+++ tuscany/sca-java-2.x/trunk/itest/scdl/src/test/java/org/apache/tuscany/sca/itest/scdl/ValidateDependenciesTestCase.java Wed Jan 27 04:29:29 2010
@@ -33,27 +33,25 @@
* Current required jars are:
* geronimo-stax-api_1.0_spec-1.0.1.jar
* jsr181-api-1.0-MR1.jar
- * junit-4.5.jar
+ * junit-4.8.1.jar
* tuscany-assembly-2.0-SNAPSHOT.jar
* tuscany-assembly-xml-2.0-SNAPSHOT.jar
* tuscany-assembly-xsd-2.0-SNAPSHOT.jar
* tuscany-binding-jms-2.0-SNAPSHOT.jar
* tuscany-binding-jsonp-2.0-SNAPSHOT.jar
* tuscany-binding-rmi-2.0-SNAPSHOT.jar
- * tuscany-binding-ws-2.0-SNAPSHOT.jar
+ * tuscany-builder-2.0-SNAPSHOT.jar
* tuscany-common-java-2.0-SNAPSHOT.jar
* tuscany-common-xml-2.0-SNAPSHOT.jar
* tuscany-contribution-2.0-SNAPSHOT.jar
+ * tuscany-databinding-2.0-SNAPSHOT.jar
+ * tuscany-deployment-2.0-SNAPSHOT.jar
* tuscany-extensibility-2.0-SNAPSHOT.jar
- * tuscany-implementation-bpel-2.0-SNAPSHOT.jar
* tuscany-implementation-java-2.0-SNAPSHOT.jar
* tuscany-interface-java-2.0-SNAPSHOT.jar
- * tuscany-interface-wsdl-2.0-SNAPSHOT.jar
* tuscany-monitor-2.0-SNAPSHOT.jar
* tuscany-sca-api-2.0-SNAPSHOT.jar
- * tuscany-scdl-2.0-SNAPSHOT.jar
* tuscany-xsd-2.0-SNAPSHOT.jar
- * wsdl4j-1.6.2.jar
* wstx-asl-3.2.4.jar
* XmlSchema-1.4.2.jar
*
@@ -68,6 +66,6 @@
Assert.assertTrue(dependenciesDir.exists());
File[] dependencyFiles = dependenciesDir.listFiles();
- Assert.assertEquals(20, dependencyFiles.length);
+ Assert.assertEquals(23, dependencyFiles.length);
}
}
Modified: tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractProperty.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractProperty.java?rev=903541&r1=903540&r2=903541&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractProperty.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/AbstractProperty.java Wed Jan 27 04:29:29 2010
@@ -20,6 +20,8 @@
import javax.xml.namespace.QName;
+import org.apache.tuscany.sca.interfacedef.DataType;
+
/**
* A property allows for the configuration of an implementation with externally
* set data values. An implementation can have zero or more properties. Each
@@ -118,5 +120,16 @@
* @param element the element defining the type of this property
*/
void setXSDElement(QName element);
-
+
+ /**
+ * Get the data type for this property
+ * @return The data type
+ */
+ DataType getDataType();
+
+ /**
+ * Set the data type
+ * @param dataType The data type
+ */
+ void setDataType(DataType dataType);
}
Modified: tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractPropertyImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractPropertyImpl.java?rev=903541&r1=903540&r2=903541&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractPropertyImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/AbstractPropertyImpl.java Wed Jan 27 04:29:29 2010
@@ -22,6 +22,7 @@
import javax.xml.namespace.QName;
import org.apache.tuscany.sca.assembly.AbstractProperty;
+import org.apache.tuscany.sca.interfacedef.DataType;
/**
* Represents an abstract property.
@@ -29,12 +30,13 @@
* @version $Rev$ $Date$
*/
public class AbstractPropertyImpl extends ExtensibleImpl implements AbstractProperty {
- private Object value;
- private String name;
- private QName xsdType;
- private QName xsdElement;
- private boolean many;
- private boolean mustSupply;
+ protected Object value;
+ protected String name;
+ protected QName xsdType;
+ protected QName xsdElement;
+ protected boolean many;
+ protected boolean mustSupply;
+ protected DataType dataType;
/**
* Constructs a new abstract property.
@@ -90,4 +92,12 @@
this.xsdType = type;
}
+ public DataType getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(DataType dataType) {
+ this.dataType = dataType;
+ }
+
}
Modified: tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java?rev=903541&r1=903540&r2=903541&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/builder/src/main/java/org/apache/tuscany/sca/builder/impl/ComponentBuilderImpl.java Wed Jan 27 04:29:29 2010
@@ -630,8 +630,8 @@
"PropertXSDElementsDontMatch",
component.getName(),
componentProperty.getName(),
- componentProperty.getXSDElement().toString(),
- componentTypeProperty.getXSDElement().toString());
+ componentProperty.getXSDElement(),
+ componentTypeProperty.getXSDElement());
}
if ( componentProperty.getXSDType() != null &&
@@ -642,8 +642,8 @@
"PropertXSDTypesDontMatch",
component.getName(),
componentProperty.getName(),
- componentProperty.getXSDType().toString(),
- componentTypeProperty.getXSDType().toString());
+ componentProperty.getXSDType(),
+ componentTypeProperty.getXSDType());
}
}
}
Modified: tuscany/sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java?rev=903541&r1=903540&r2=903541&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/JavaPropertyValueObjectFactory.java Wed Jan 27 04:29:29 2010
@@ -65,18 +65,6 @@
this.mediator = mediator;
}
- /**
- * Introspect the property
- * @param javaElement
- * @return
- */
- private DataType<?> introspect(JavaElementImpl javaElement) {
- DataType<XMLType> dt =
- new DataTypeImpl<XMLType>(null, javaElement.getType(), javaElement.getGenericType(), XMLType.UNKNOWN);
- mediator.getDataBindings().introspectType(dt, null);
- return dt;
- }
-
public ObjectFactory createValueFactory(Property property, Object propertyValue, JavaElementImpl javaElement) {
Document doc = (Document)propertyValue;
List<Node> nodes = getValues(doc);
@@ -131,24 +119,28 @@
sourceDataType =
new DataTypeImpl<XMLType>(DOMDataBinding.NAME, Node.class,
new XMLType(null, this.property.getXSDType()));
- TypeInfo typeInfo = null;
- if (this.property.getXSDType() != null) {
- if (simpleTypeMapper.isSimpleXSDType(this.property.getXSDType())) {
- typeInfo = new TypeInfo(property.getXSDType(), true, null);
+
+ targetDataType = property.getDataType();
+ if (targetDataType == null) {
+ TypeInfo typeInfo = null;
+ if (this.property.getXSDType() != null) {
+ if (simpleTypeMapper.isSimpleXSDType(this.property.getXSDType())) {
+ typeInfo = new TypeInfo(property.getXSDType(), true, null);
+ } else {
+ typeInfo = new TypeInfo(property.getXSDType(), false, null);
+ }
} else {
typeInfo = new TypeInfo(property.getXSDType(), false, null);
}
- } else {
- typeInfo = new TypeInfo(property.getXSDType(), false, null);
- }
- XMLType xmlType = new XMLType(typeInfo);
- String dataBinding = null; // (String)property.getExtensions().get(DataBinding.class.getName());
- if (dataBinding != null) {
- targetDataType = new DataTypeImpl<XMLType>(dataBinding, javaType, xmlType);
- } else {
- targetDataType = new DataTypeImpl<XMLType>(dataBinding, javaType, xmlType);
- mediator.getDataBindings().introspectType(targetDataType, null);
+ XMLType xmlType = new XMLType(typeInfo);
+ String dataBinding = null; // (String)property.getExtensions().get(DataBinding.class.getName());
+ if (dataBinding != null) {
+ targetDataType = new DataTypeImpl<XMLType>(dataBinding, javaType, xmlType);
+ } else {
+ targetDataType = new DataTypeImpl<XMLType>(dataBinding, javaType, xmlType);
+ mediator.getDataBindings().introspectType(targetDataType, null);
+ }
}
}
}
Modified: tuscany/sca-java-2.x/trunk/modules/implementation-java/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/implementation-java/META-INF/MANIFEST.MF?rev=903541&r1=903540&r2=903541&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/implementation-java/META-INF/MANIFEST.MF (original)
+++ tuscany/sca-java-2.x/trunk/modules/implementation-java/META-INF/MANIFEST.MF Wed Jan 27 04:29:29 2010
@@ -27,11 +27,15 @@
org.apache.tuscany.sca.contribution.processor;version="2.0.0",
org.apache.tuscany.sca.contribution.resolver;version="2.0.0",
org.apache.tuscany.sca.core;version="2.0.0",
+ org.apache.tuscany.sca.databinding;version="2.0.0",
+ org.apache.tuscany.sca.databinding.impl;version="2.0.0",
+ org.apache.tuscany.sca.databinding.util;version="2.0.0",
org.apache.tuscany.sca.definitions;version="2.0.0";resolution:=optional,
org.apache.tuscany.sca.extensibility;version="2.0.0",
org.apache.tuscany.sca.implementation.java;version="2.0.0",
org.apache.tuscany.sca.implementation.java.introspect;version="2.0.0",
org.apache.tuscany.sca.interfacedef;version="2.0.0",
+ org.apache.tuscany.sca.interfacedef.impl;version="2.0.0",
org.apache.tuscany.sca.interfacedef.java;version="2.0.0",
org.apache.tuscany.sca.interfacedef.java.impl;version="2.0.0";resolution:=optional,
org.apache.tuscany.sca.interfacedef.util;version="2.0.0",
Modified: tuscany/sca-java-2.x/trunk/modules/implementation-java/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/implementation-java/pom.xml?rev=903541&r1=903540&r2=903541&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/implementation-java/pom.xml (original)
+++ tuscany/sca-java-2.x/trunk/modules/implementation-java/pom.xml Wed Jan 27 04:29:29 2010
@@ -40,6 +40,12 @@
<artifactId>tuscany-interface-java</artifactId>
<version>2.0-SNAPSHOT</version>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-databinding</artifactId>
+ <version>2.0-SNAPSHOT</version>
+ </dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
Modified: tuscany/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java?rev=903541&r1=903540&r2=903541&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java (original)
+++ tuscany/sca-java-2.x/trunk/modules/implementation-java/src/main/java/org/apache/tuscany/sca/implementation/java/introspect/impl/AbstractPropertyProcessor.java Wed Jan 27 04:29:29 2010
@@ -29,13 +29,18 @@
import org.apache.tuscany.sca.assembly.Property;
import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.core.UtilityExtensionPoint;
+import org.apache.tuscany.sca.databinding.Mediator;
import org.apache.tuscany.sca.implementation.java.IntrospectionException;
import org.apache.tuscany.sca.implementation.java.JavaElementImpl;
import org.apache.tuscany.sca.implementation.java.JavaImplementation;
import org.apache.tuscany.sca.implementation.java.JavaParameterImpl;
import org.apache.tuscany.sca.implementation.java.introspect.BaseJavaClassVisitor;
import org.apache.tuscany.sca.implementation.java.introspect.JavaIntrospectionHelper;
+import org.apache.tuscany.sca.interfacedef.DataType;
+import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl;
import org.apache.tuscany.sca.interfacedef.util.JavaXMLMapper;
+import org.apache.tuscany.sca.interfacedef.util.XMLType;
/**
* Base class for ImplementationProcessors that handle annotations that add
@@ -45,10 +50,26 @@
*/
public abstract class AbstractPropertyProcessor<A extends Annotation> extends BaseJavaClassVisitor {
private final Class<A> annotationClass;
+ private Mediator mediator;
protected AbstractPropertyProcessor(ExtensionPointRegistry registry, Class<A> annotationClass) {
super(registry);
this.annotationClass = annotationClass;
+ UtilityExtensionPoint utilityExtensionPoint = registry.getExtensionPoint(UtilityExtensionPoint.class);
+ this.mediator = utilityExtensionPoint.getUtility(Mediator.class);
+ }
+
+ /**
+ * Introspect the property
+ * @param javaElement
+ * @return
+ */
+ private DataType<?> introspect(Property property, JavaElementImpl javaElement) {
+ XMLType xmlType = new XMLType(property.getXSDElement(), property.getXSDType());
+ DataType<XMLType> dt =
+ new DataTypeImpl<XMLType>(null, javaElement.getType(), javaElement.getGenericType(), xmlType);
+ mediator.getDataBindings().introspectType(dt, null);
+ return dt;
}
private static boolean removeProperty(JavaElementImpl prop, JavaImplementation type) {
@@ -208,8 +229,17 @@
Property property = assemblyFactory.createProperty();
property.setName(name);
- Class<?> baseType = JavaIntrospectionHelper.getBaseType(element.getType(), element.getGenericType());
- property.setXSDType(JavaXMLMapper.getXMLType(baseType));
+
+ DataType dt = introspect(property, element);
+ property.setDataType(dt);
+ if(dt.getLogical() instanceof XMLType) {
+ XMLType xmlType = (XMLType) dt.getLogical();
+ property.setXSDType(xmlType.getTypeName());
+ property.setXSDElement(xmlType.getElementName());
+ } else {
+ Class<?> baseType = JavaIntrospectionHelper.getBaseType(element.getType(), element.getGenericType());
+ property.setXSDType(JavaXMLMapper.getXMLType(baseType));
+ }
Class<?> javaType = element.getType();
if (javaType.isArray() || Collection.class.isAssignableFrom(javaType)) {
Modified: tuscany/sca-java-2.x/trunk/modules/policy-transaction/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/policy-transaction/META-INF/MANIFEST.MF?rev=903541&r1=903540&r2=903541&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/policy-transaction/META-INF/MANIFEST.MF (original)
+++ tuscany/sca-java-2.x/trunk/modules/policy-transaction/META-INF/MANIFEST.MF Wed Jan 27 04:29:29 2010
@@ -8,6 +8,8 @@
Bundle-Description: Apache Tuscany Security Policy Model
Import-Package: javax.security.auth.callback,
javax.security.auth.login,
+ javax.transaction;version="1.1.0",
+ javax.transaction.xa;version="1.1.0",
javax.xml.namespace,
javax.xml.stream,
org.apache.tuscany.sca.assembly;version="2.0.0",
Modified: tuscany/sca-java-2.x/trunk/modules/policy-transaction/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/policy-transaction/pom.xml?rev=903541&r1=903540&r2=903541&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/policy-transaction/pom.xml (original)
+++ tuscany/sca-java-2.x/trunk/modules/policy-transaction/pom.xml Wed Jan 27 04:29:29 2010
@@ -44,13 +44,13 @@
<dependency>
<groupId>org.apache.geronimo.components</groupId>
<artifactId>geronimo-transaction</artifactId>
- <version>2.1.1</version>
+ <version>2.1.3</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.components</groupId>
<artifactId>geronimo-connector</artifactId>
- <version>2.1.1</version>
+ <version>2.1.3</version>
</dependency>
</dependencies>