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/02/07 00:55:38 UTC
svn commit: r504378 - in /incubator/tuscany/java/sca:
kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/
kernel/core/src/main/java/org/apache/tuscany/core/property/
kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/ kern...
Author: rfeng
Date: Tue Feb 6 15:55:37 2007
New Revision: 504378
URL: http://svn.apache.org/viewvc?view=rev&rev=504378
Log:
Update databinding extensions to depend on the latest kernel
Modified:
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/DOMNode2JavaBeanTransformer.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2DOMNodeTransformer.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2XMLTransformer.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/DataBinding.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java
incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java
incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java
incubator/tuscany/java/sca/services/databinding/databinding-castor/pom.xml
incubator/tuscany/java/sca/services/databinding/databinding-jaxb/pom.xml
incubator/tuscany/java/sca/services/databinding/databinding-sdo/pom.xml
incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java
incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java
incubator/tuscany/java/sca/services/databinding/databinding-test/pom.xml
incubator/tuscany/java/sca/services/databinding/databinding-xmlbeans/pom.xml
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/DOMNode2JavaBeanTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/DOMNode2JavaBeanTransformer.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/DOMNode2JavaBeanTransformer.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/DOMNode2JavaBeanTransformer.java Tue Feb 6 15:55:37 2007
@@ -21,12 +21,7 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.databinding.Transformer;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
-import org.apache.tuscany.spi.idl.ElementInfo;
-import org.apache.tuscany.spi.idl.TypeInfo;
import org.osoa.sca.annotations.Service;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
@@ -41,11 +36,11 @@
@Override
public List<Node> getChildElements(Node parent) throws XML2JavaMapperException {
NodeList nodeList = parent.getChildNodes();
- ArrayList<Node> nodeArrayList = new ArrayList<Node>(nodeList.getLength());
- for (int count = 0 ; count < nodeList.getLength() ; ++count) {
+ List<Node> nodeArrayList = new ArrayList<Node>(nodeList.getLength());
+ for (int count = 0; count < nodeList.getLength(); ++count) {
nodeArrayList.add(nodeList.item(count));
}
-
+
return nodeArrayList;
}
@@ -64,11 +59,7 @@
@Override
public boolean isTextElement(Node element) throws XML2JavaMapperException {
- if (element.getNodeType() == 3) {
- return true;
- } else {
- return false;
- }
+ return element.getNodeType() == Node.TEXT_NODE;
}
public Class getSourceType() {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2DOMNodeTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2DOMNodeTransformer.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2DOMNodeTransformer.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2DOMNodeTransformer.java Tue Feb 6 15:55:37 2007
@@ -21,11 +21,8 @@
import javax.xml.namespace.QName;
import javax.xml.parsers.ParserConfigurationException;
-import org.apache.tuscany.spi.databinding.PullTransformer;
-import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.databinding.Transformer;
import org.apache.tuscany.spi.databinding.extension.DOMHelper;
-import org.apache.tuscany.spi.databinding.extension.TransformerExtension;
import org.osoa.sca.annotations.Service;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
@@ -55,9 +52,9 @@
@Override
public Node createElement(QName qName) throws Java2XMLMapperException {
- String qualifedName =
- (qName.getPrefix() == null || qName.getPrefix().length() <= 0) ? qName.getLocalPart() :
- qName.getPrefix() + COLON + qName.getLocalPart();
+ String qualifedName =
+ (qName.getPrefix() == null || qName.getPrefix().length() <= 0) ? qName.getLocalPart()
+ : qName.getPrefix() + COLON + qName.getLocalPart();
return factory.createElementNS(qName.getNamespaceURI(), qualifedName);
}
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2XMLTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2XMLTransformer.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2XMLTransformer.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/JavaBean2XMLTransformer.java Tue Feb 6 15:55:37 2007
@@ -48,12 +48,12 @@
public static final String PERIOD = ".";
public static final String FWD_SLASH = "/";
public static final String HTTP = "http://";
- public static int prefix_count = 1;
+ private static int prefixCount = 1;
- protected SimpleTypeMapperExtension<T> mapper;
+ protected SimpleTypeMapperExtension mapper;
public JavaBean2XMLTransformer() {
- this.mapper = new SimpleTypeMapperExtension<T>();
+ this.mapper = new SimpleTypeMapperExtension();
}
public T transform(Object source, TransformationContext context) {
@@ -204,16 +204,6 @@
}
}
- private QName resolveQualifiedElementName(Class javaType) {
- if (javaType.isArray()) {
- return new QName(HTTP + javaType.getComponentType().getPackage().getName().replace(PERIOD, FWD_SLASH),
- javaType.getComponentType().getSimpleName(), getNexPrefix());
- } else {
- return new QName(HTTP + javaType.getPackage().getName().replace(PERIOD, FWD_SLASH),
- javaType.getSimpleName(), getNexPrefix());
- }
- }
-
private String resolveFieldFromMethod(String methodName) {
StringBuffer fieldName = new StringBuffer();
fieldName.append(Character.toLowerCase(methodName.charAt(GET.length())));
@@ -222,7 +212,7 @@
}
public String getNexPrefix() {
- return PREFIX + prefix_count++;
+ return PREFIX + prefixCount++;
}
public abstract T createElement(QName qName) throws Java2XMLMapperException;
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/databinding/javabeans/XML2JavaBeanTransformer.java Tue Feb 6 15:55:37 2007
@@ -45,10 +45,10 @@
public static final String SET = "set";
- protected SimpleTypeMapperExtension<T> mapper;
+ protected SimpleTypeMapperExtension mapper;
public XML2JavaBeanTransformer() {
- this.mapper = new SimpleTypeMapperExtension<T>();
+ this.mapper = new SimpleTypeMapperExtension();
}
public Object transform(T source, TransformationContext context) {
@@ -66,7 +66,7 @@
public Object toJavaObject(TypeInfo xmlType, T xmlElement, TransformationContext context) {
if (xmlType.isSimpleType()) {
- return mapper.toSimpleJavaObject(xmlType, getText(xmlElement), context);
+ return mapper.toJavaObject(xmlType, getText(xmlElement), context);
} else {
Class<?> javaType = (Class<?>) context.getTargetDataType().getLogical();
return createJavaObject(xmlElement, javaType, context);
@@ -78,7 +78,7 @@
throws XML2JavaMapperException {
List<T> childElements = getChildElements(element);
if (childElements.size() == 1 && isTextElement(childElements.get(0))) {
- return (L) mapper.toSimpleJavaObject(mapper.getXMLType(javaType),
+ return (L) mapper.toJavaObject(mapper.getXMLType(javaType),
getText(childElements.get(0)),
context);
} else {
Modified: incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java (original)
+++ incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/property/SimplePropertyObjectFactory.java Tue Feb 6 15:55:37 2007
@@ -56,7 +56,7 @@
if (xmlType == null) {
throw new IllegalArgumentException("Complex property is not supported.");
}
- instance = (P)typeMapper.toSimpleJavaObject(xmlType, text, null);
+ instance = (P)typeMapper.toJavaObject(xmlType, text, null);
}
return instance;
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/DataBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/DataBinding.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/DataBinding.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/DataBinding.java Tue Feb 6 15:55:37 2007
@@ -55,9 +55,15 @@
WrapperHandler getWrapperHandler();
/**
- * make a copy of the input object
+ * Make a copy of the object for "pass-by-value" semantics
* @param source object to copy
* @return copy of the object passed in as argument
*/
Object copy(Object object);
+
+ /**
+ * Get the type mapper for simple types
+ * @return The databinding-specific simple type mapper
+ */
+ SimpleTypeMapper getSimpleTypeMapper();
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/SimpleTypeMapper.java Tue Feb 6 15:55:37 2007
@@ -24,7 +24,7 @@
/**
* Type Mapper between XML schema simple data types and java objects
*/
-public interface SimpleTypeMapper<T> {
+public interface SimpleTypeMapper {
/**
* Parse the XML lexical representation into a java object
* @param simpleType The XSD simple type
@@ -32,7 +32,7 @@
* @param context The context of the transformation
* @return A java object for the XML value
*/
- Object toJavaObject(TypeInfo simpleType, T value, TransformationContext context);
+ Object toJavaObject(TypeInfo simpleType, String value, TransformationContext context);
/**
* Create the XML lexical representation for a java object
* @param simpleType The XSD simple type
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/DataBindingExtension.java Tue Feb 6 15:55:37 2007
@@ -36,6 +36,7 @@
import org.apache.tuscany.spi.annotation.Autowire;
import org.apache.tuscany.spi.databinding.DataBinding;
import org.apache.tuscany.spi.databinding.DataBindingRegistry;
+import org.apache.tuscany.spi.databinding.SimpleTypeMapper;
import org.apache.tuscany.spi.databinding.WrapperHandler;
import org.apache.tuscany.spi.model.DataType;
@@ -169,6 +170,10 @@
};
return ois;
+ }
+
+ public SimpleTypeMapper getSimpleTypeMapper() {
+ return new SimpleTypeMapperExtension();
}
}
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleType2JavaTransformer.java Tue Feb 6 15:55:37 2007
@@ -35,11 +35,11 @@
protected SimpleTypeMapper mapper;
public SimpleType2JavaTransformer() {
- this.mapper = new SimpleTypeMapperExtension<Node>();
+ this.mapper = new SimpleTypeMapperExtension();
}
public SimpleType2JavaTransformer(SimpleTypeMapper mapper) {
- this.mapper = (mapper != null) ? mapper : new SimpleTypeMapperExtension<Node>();
+ this.mapper = (mapper != null) ? mapper : new SimpleTypeMapperExtension();
}
public Object transform(T source, TransformationContext context) {
@@ -50,7 +50,7 @@
simpleType = (TypeInfo)element.getType();
}
- return mapper.toJavaObject(simpleType, source, context);
+ return mapper.toJavaObject(simpleType, getText(source), context);
}
public Class getTargetType() {
Modified: incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/main/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtension.java Tue Feb 6 15:55:37 2007
@@ -33,15 +33,12 @@
import org.apache.tuscany.spi.databinding.SimpleTypeMapper;
import org.apache.tuscany.spi.databinding.TransformationContext;
import org.apache.tuscany.spi.idl.TypeInfo;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-public class SimpleTypeMapperExtension<T> extends XSDDataTypeConverter implements
- SimpleTypeMapper<T> {
-
+public class SimpleTypeMapperExtension extends XSDDataTypeConverter implements SimpleTypeMapper {
+
public static final int BASE64_ENCODING = 1;
public static final int HEXBIN_ENCODING = 2;
-
+
public static final String SET = "set";
public static final Map<Class, String> JAVA2XML = new HashMap<Class, String>();
@@ -102,26 +99,21 @@
public static final QName XSD_NCNAME = new QName(URI_2001_SCHEMA_XSD, "NCName");
- public static final QName XSD_NEGATIVEINTEGER =
- new QName(URI_2001_SCHEMA_XSD, "negativeInteger");
+ public static final QName XSD_NEGATIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "negativeInteger");
public static final QName XSD_NMTOKEN = new QName(URI_2001_SCHEMA_XSD, "NMTOKEN");
public static final QName XSD_NMTOKENS = new QName(URI_2001_SCHEMA_XSD, "NMTOKENS");
- public static final QName XSD_NONNEGATIVEINTEGER =
- new QName(URI_2001_SCHEMA_XSD, "nonNegativeInteger");
+ public static final QName XSD_NONNEGATIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "nonNegativeInteger");
- public static final QName XSD_NONPOSITIVEINTEGER =
- new QName(URI_2001_SCHEMA_XSD, "nonPositiveInteger");
+ public static final QName XSD_NONPOSITIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "nonPositiveInteger");
- public static final QName XSD_NORMALIZEDSTRING =
- new QName(URI_2001_SCHEMA_XSD, "normalizedString");
+ public static final QName XSD_NORMALIZEDSTRING = new QName(URI_2001_SCHEMA_XSD, "normalizedString");
public static final QName XSD_NOTATION = new QName(URI_2001_SCHEMA_XSD, "NOTATION");
- public static final QName XSD_POSITIVEINTEGER =
- new QName(URI_2001_SCHEMA_XSD, "positiveInteger");
+ public static final QName XSD_POSITIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "positiveInteger");
public static final QName XSD_QNAME = new QName(URI_2001_SCHEMA_XSD, "QName");
@@ -148,14 +140,12 @@
public static final QName XSD_YEARMONTH = new QName(URI_2001_SCHEMA_XSD, "gYearMonth");
private static final String[] XSD_TYPE_NAMES =
- {"string", "boolean", "double", "float", "int", "integer", "long", "short", "byte",
- "decimal", "base64Binary", "hexBinary", "anySimpleType", "anyType", "any",
- "QName", "dateTime", "date", "time", "normalizedString", "token",
- "unsignedLong", "unsignedInt", "unsignedShort", "unsignedByte",
- "positiveInteger", "negativeInteger", "nonNegativeInteger",
- "nonPositiveInteger", "gYearMonth", "gMonthDay", "gYear", "gMonth", "gDay",
- "duration", "Name", "NCName", "NMTOKEN", "NMTOKENS", "NOTATION", "ENTITY",
- "ENTITIES", "IDREF", "IDREFS", "anyURI", "language", "ID"};
+ {"string", "boolean", "double", "float", "int", "integer", "long", "short", "byte", "decimal", "base64Binary",
+ "hexBinary", "anySimpleType", "anyType", "any", "QName", "dateTime", "date", "time", "normalizedString",
+ "token", "unsignedLong", "unsignedInt", "unsignedShort", "unsignedByte", "positiveInteger", "negativeInteger",
+ "nonNegativeInteger", "nonPositiveInteger", "gYearMonth", "gMonthDay", "gYear", "gMonth", "gDay", "duration",
+ "Name", "NCName", "NMTOKEN", "NMTOKENS", "NOTATION", "ENTITY", "ENTITIES", "IDREF", "IDREFS", "anyURI",
+ "language", "ID"};
static {
for (String type : XSD_TYPE_NAMES) {
@@ -228,7 +218,7 @@
XML2JAVA.put("NOTATION", javax.xml.namespace.QName.class);
}
- private int byteEncoding = BASE64_ENCODING;
+ private int byteEncoding = BASE64_ENCODING;
private DatatypeFactory factory;
public SimpleTypeMapperExtension() {
@@ -252,9 +242,7 @@
return XSD_SIMPLE_TYPES.get(JAVA2XML.get(javaType));
}
- public Object toSimpleJavaObject(TypeInfo simpleType,
- String literal,
- TransformationContext context) {
+ public Object toJavaObject(TypeInfo simpleType, String literal, TransformationContext context) {
/**
* <ul>
* <li>xsd:string --- java.lang.String
@@ -277,8 +265,10 @@
* <li>xsd:time --- javax.xml.datatype.XMLGregorianCalendar
* <li>xsd:date --- javax.xml.datatype.XMLGregorianCalendar
* <li>xsd:g* --- javax.xml.datatype.XMLGregorianCalendar
- * <li>xsd:anySimpleType (for xsd:element of this type)a java.lang.Object
- * <li>xsd:anySimpleType (for xsd:attribute of this type) java.lang.String
+ * <li>xsd:anySimpleType (for xsd:element of this type)a
+ * java.lang.Object
+ * <li>xsd:anySimpleType (for xsd:attribute of this type)
+ * java.lang.String
* <li>xsd:duration javax.xml.datatype.Duration
* <li>xsd:NOTATION javax.xml.namespace.QName
* </ul>
@@ -293,7 +283,7 @@
}
TypeInfo baseType = simpleType;
while (baseType.getBaseType() != null) {
- baseType = (TypeInfo) baseType.getBaseType();
+ baseType = (TypeInfo)baseType.getBaseType();
}
QName type = baseType.getQName();
@@ -341,15 +331,11 @@
return parseBase64Binary(value);
} else if (type.equals(XSD_QNAME)) {
NamespaceContext namespaceContext =
- (NamespaceContext) ((context != null) ? context.getMetadata()
- .get(NamespaceContext.class)
- : null);
+ (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class) : null);
return parseQName(value, namespaceContext);
} else if (type.equals(XSD_NOTATION)) {
NamespaceContext namespaceContext =
- (NamespaceContext) ((context != null) ? context.getMetadata()
- .get(NamespaceContext.class)
- : null);
+ (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class) : null);
return parseQName(value, namespaceContext);
} else if (type.equals(XSD_YEAR)) {
return factory.newXMLGregorianCalendar(value);
@@ -369,12 +355,8 @@
@SuppressWarnings("deprecation")
private XMLGregorianCalendar toXMLGregorianCalendar(Date date) {
GregorianCalendar c =
- new GregorianCalendar(date.getYear(),
- date.getMonth(),
- date.getDate(),
- date.getHours(),
- date.getMinutes(),
- date.getSeconds());
+ new GregorianCalendar(date.getYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(),
+ date.getSeconds());
return factory.newXMLGregorianCalendar(c);
}
@@ -385,17 +367,17 @@
public String toXMLLiteral(TypeInfo simpleType, Object obj, TransformationContext context) {
if (obj instanceof Float || obj instanceof Double) {
if (obj instanceof Float) {
- return printDouble(((Float) obj).floatValue());
+ return printDouble(((Float)obj).floatValue());
} else {
- return printDouble(((Double) obj).doubleValue());
+ return printDouble(((Double)obj).doubleValue());
}
} else if (obj instanceof GregorianCalendar) {
- GregorianCalendar calendar = (GregorianCalendar) obj;
+ GregorianCalendar calendar = (GregorianCalendar)obj;
return toXMLGregorianCalendar(calendar).toXMLFormat();
} else if (obj instanceof Date) {
- return toXMLGregorianCalendar((Date) obj).toXMLFormat();
+ return toXMLGregorianCalendar((Date)obj).toXMLFormat();
} else if (obj instanceof XMLGregorianCalendar) {
- return ((XMLGregorianCalendar) obj).toXMLFormat();
+ return ((XMLGregorianCalendar)obj).toXMLFormat();
} else if (obj instanceof byte[]) {
if (simpleType != null) {
if (simpleType.getQName().equals(XSD_BASE64)) {
@@ -405,39 +387,21 @@
}
}
if (byteEncoding == BASE64_ENCODING) {
- return printBase64Binary((byte[]) obj);
+ return printBase64Binary((byte[])obj);
} else if (byteEncoding == HEXBIN_ENCODING) {
- return printHexBinary((byte[]) obj);
+ return printHexBinary((byte[])obj);
}
} else if (obj instanceof QName) {
NamespaceContext namespaceContext =
- (NamespaceContext) ((context != null) ? context.getMetadata()
- .get(NamespaceContext.class)
- : null);
- return printQName((QName) obj, namespaceContext);
+ (NamespaceContext)((context != null) ? context.getMetadata().get(NamespaceContext.class) : null);
+ return printQName((QName)obj, namespaceContext);
}
return obj.toString();
}
public static boolean isSimpleXSDType(QName typeName) {
- return typeName.getNamespaceURI().equals(URI_2001_SCHEMA_XSD)
- && XSD_SIMPLE_TYPES.get(typeName.getLocalPart()) != null;
- }
-
- protected String getText(T source) {
- Node sourceNode = (Node) source;
- if (source instanceof Document) {
- sourceNode = ((Document) sourceNode).getDocumentElement();
- }
- return sourceNode.getTextContent();
- }
-
- public Object toJavaObject(TypeInfo simpleType, T xmlNode, TransformationContext context) {
- if (simpleType.isSimpleType()) {
- return toSimpleJavaObject(simpleType, getText(xmlNode), context);
- } else {
- throw new IllegalArgumentException("Complex XML Types not supported by SimpleTypeMapperExtension");
- }
+ return typeName.getNamespaceURI().equals(URI_2001_SCHEMA_XSD)
+ && XSD_SIMPLE_TYPES.get(typeName.getLocalPart()) != null;
}
public int getByteEncoding() {
Modified: incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java (original)
+++ incubator/tuscany/java/sca/kernel/spi/src/test/java/org/apache/tuscany/spi/databinding/extension/SimpleTypeMapperExtensionTestCase.java Tue Feb 6 15:55:37 2007
@@ -48,6 +48,18 @@
SAMPLE_VALUES.put("duration", new String[] {"P8M3DT7H33M2S", "P5Y2M10DT15H"});
SAMPLE_VALUES.put("float", new String[] {"3.1415292", "INF", "NaN"});
SAMPLE_VALUES.put("gDay", "---11");
+ /*
+ * The value space of xsd:gMonth is the period of one calendar month recurring
+ * each calendar year (such as the month of April). Its lexical space should
+ * follow the ISO 8601 syntax for such periods (i.e., -- MM) with an optional
+ * time zone.
+ * Tip: There's a typo in the W3C XML Schema Recommendation, in which the format
+ * is defined as -- MM -- --. Even though an erratum should be published to
+ * bring the W3C XML Schema inline with ISO 8601, most current schema processors
+ * expect the (bogus) -- MM -- -- format.
+ *
+ * The test might be broken in JDK 1.6
+ */
SAMPLE_VALUES.put("gMonth", "--02--");
SAMPLE_VALUES.put("gMonthDay", "--02-14");
SAMPLE_VALUES.put("gYear", "1999");
@@ -96,14 +108,14 @@
Object value = SAMPLE_VALUES.get(name);
if (value instanceof String[]) {
for (String s : (String[])value) {
- Object obj = extension.toSimpleJavaObject(simpleType, s, context);
+ Object obj = extension.toJavaObject(simpleType, s, context);
String str = extension.toXMLLiteral(simpleType, obj, context);
assertNotNull(str);
// assertTrue("[" + name + "] " + s + " " + str,
// str.contains((String) s));
}
} else if (value instanceof String) {
- Object obj = extension.toSimpleJavaObject(simpleType, (String)value, context);
+ Object obj = extension.toJavaObject(simpleType, (String)value, context);
String str = extension.toXMLLiteral(simpleType, obj, context);
assertNotNull(str);
// assertTrue("[" + name + "] " + value + " " + str,
Modified: incubator/tuscany/java/sca/services/databinding/databinding-castor/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-castor/pom.xml?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-castor/pom.xml (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-castor/pom.xml Tue Feb 6 15:55:37 2007
@@ -32,7 +32,7 @@
<dependency>
<groupId>org.apache.tuscany.sca.kernel</groupId>
<artifactId>tuscany-spi</artifactId>
- <version>0.1-pre-spec-SNAPSHOT</version>
+ <version>1.0-incubator-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
Modified: incubator/tuscany/java/sca/services/databinding/databinding-jaxb/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-jaxb/pom.xml?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-jaxb/pom.xml (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-jaxb/pom.xml Tue Feb 6 15:55:37 2007
@@ -55,7 +55,7 @@
<dependency>
<groupId>org.apache.tuscany.sca.kernel</groupId>
<artifactId>tuscany-spi</artifactId>
- <version>0.1-pre-spec-SNAPSHOT</version>
+ <version>1.0-incubator-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
@@ -67,7 +67,7 @@
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
- <version>2.0.4</version>
+ <version>2.0.5</version>
<scope>runtime</scope>
<!-- Relacing stax 1.0 with stax 1.0.1 -->
<exclusions>
Modified: incubator/tuscany/java/sca/services/databinding/databinding-sdo/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-sdo/pom.xml?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-sdo/pom.xml (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-sdo/pom.xml Tue Feb 6 15:55:37 2007
@@ -32,7 +32,7 @@
<dependency>
<groupId>org.apache.tuscany.sca.kernel</groupId>
<artifactId>tuscany-spi</artifactId>
- <version>0.1-pre-spec-SNAPSHOT</version>
+ <version>1.0-incubator-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
@@ -46,7 +46,6 @@
<dependency>
<groupId>org.apache.tuscany.sca.kernel</groupId>
<artifactId>core</artifactId>
- <version>0.1-pre-spec-SNAPSHOT</version>
<scope>test</scope>
</dependency>
Modified: incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/ImportSDOLoader.java Tue Feb 6 15:55:37 2007
@@ -20,6 +20,8 @@
import java.io.IOException;
import java.io.InputStream;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
import java.net.URI;
import java.net.URL;
@@ -81,13 +83,14 @@
helperContext = SDOUtil.createHelperContext();
}
- importFactory(reader, deploymentContext);
+ importFactory(reader, deploymentContext, helperContext);
importWSDL(reader, deploymentContext, helperContext);
LoaderUtil.skipToEndElement(reader);
return new SDOType(helperContext);
}
- private void importFactory(XMLStreamReader reader, DeploymentContext deploymentContext) throws LoaderException {
+ private void importFactory(XMLStreamReader reader, DeploymentContext deploymentContext, HelperContext helperContext)
+ throws LoaderException {
String factoryName = reader.getAttributeValue(null, "factory");
if (factoryName != null) {
ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
@@ -105,6 +108,13 @@
Thread.currentThread().setContextClassLoader(oldCL);
}
}
+ }
+
+ private static void register(Class<?> factoryClass, HelperContext helperContext) throws Exception {
+ Field field = factoryClass.getField("INSTANCE");
+ Object instance = field.get(null);
+ Method regMethod = factoryClass.getMethod("register", new Class[] {HelperContext.class});
+ regMethod.invoke(instance, helperContext);
}
private void importWSDL(XMLStreamReader reader, DeploymentContext deploymentContext, HelperContext helperContext)
Modified: incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-sdo/src/main/java/org/apache/tuscany/databinding/sdo/SDODataBinding.java Tue Feb 6 15:55:37 2007
@@ -21,6 +21,7 @@
import javax.xml.namespace.QName;
+import org.apache.tuscany.spi.databinding.SimpleTypeMapper;
import org.apache.tuscany.spi.databinding.WrapperHandler;
import org.apache.tuscany.spi.databinding.extension.DataBindingExtension;
import org.apache.tuscany.spi.model.DataType;
@@ -31,7 +32,7 @@
import commonj.sdo.helper.XSDHelper;
/**
- *
+ * SDO Databinding
*/
public class SDODataBinding extends DataBindingExtension {
private WrapperHandler<Object> wrapperHandler;
@@ -60,6 +61,10 @@
@Override
public WrapperHandler getWrapperHandler() {
return wrapperHandler;
+ }
+
+ public SimpleTypeMapper getSimpleTypeMapper() {
+ return new SDOSimpleTypeMapper();
}
}
Modified: incubator/tuscany/java/sca/services/databinding/databinding-test/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-test/pom.xml?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-test/pom.xml (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-test/pom.xml Tue Feb 6 15:55:37 2007
@@ -46,7 +46,7 @@
<dependency>
<groupId>org.apache.tuscany.sca.kernel</groupId>
<artifactId>tuscany-spi</artifactId>
- <version>0.1-pre-spec-SNAPSHOT</version>
+ <version>1.0-incubator-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
@@ -92,7 +92,7 @@
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
- <version>2.0.4</version>
+ <version>2.0.5</version>
<scope>test</scope>
<!-- Relacing stax 1.0 with stax 1.0.1 -->
<exclusions>
@@ -106,7 +106,6 @@
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>test</artifactId>
- <version>0.1-pre-spec-SNAPSHOT</version>
<scope>test</scope>
</dependency>
</dependencies>
Modified: incubator/tuscany/java/sca/services/databinding/databinding-xmlbeans/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/services/databinding/databinding-xmlbeans/pom.xml?view=diff&rev=504378&r1=504377&r2=504378
==============================================================================
--- incubator/tuscany/java/sca/services/databinding/databinding-xmlbeans/pom.xml (original)
+++ incubator/tuscany/java/sca/services/databinding/databinding-xmlbeans/pom.xml Tue Feb 6 15:55:37 2007
@@ -32,7 +32,7 @@
<dependency>
<groupId>org.apache.tuscany.sca.kernel</groupId>
<artifactId>tuscany-spi</artifactId>
- <version>0.1-pre-spec-SNAPSHOT</version>
+ <version>1.0-incubator-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
@@ -41,7 +41,6 @@
<version>2.1.0</version>
<scope>compile</scope>
</dependency>
-
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org