Author: frankb
Date: Fri Sep 8 07:28:28 2006
New Revision: 441515
URL: http://svn.apache.org/viewvc?view=rev&rev=441515
Log:
Fix for TUSCANY-685
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java?view=diff&rev=441515&r1=441514&r2=441515
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java
Fri Sep 8 07:28:28 2006
@@ -455,7 +455,7 @@
*/
public byte[] createBytesFromString(EDataType eDataType, String initialValue)
{
- return XMLTypeFactory.eINSTANCE.createBase64Binary(initialValue);
+ return XMLTypeFactory.eINSTANCE.createHexBinary(initialValue);
}
/**
@@ -466,9 +466,9 @@
public String convertBytesToString(EDataType eDataType, Object instanceValue)
{
if (instanceValue instanceof byte[]) {
- return
XMLTypeFactory.eINSTANCE.convertBase64Binary((byte[])instanceValue);
+ return XMLTypeFactory.eINSTANCE.convertHexBinary((byte[])instanceValue);
} else {
- return
XMLTypeFactory.eINSTANCE.convertBase64Binary(instanceValue.toString().getBytes());
+ return
XMLTypeFactory.eINSTANCE.convertHexBinary(instanceValue.toString().getBytes());
}
}
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java?view=diff&rev=441515&r1=441514&r2=441515
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/DataObjectUtil.java
Fri Sep 8 07:28:28 2006
@@ -62,6 +62,7 @@
import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
import org.eclipse.emf.ecore.xmi.impl.XMLOptionsImpl;
import org.eclipse.emf.ecore.xmi.impl.XMLParserPoolImpl;
+import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
import org.eclipse.xsd.util.XSDResourceFactoryImpl;
import commonj.sdo.ChangeSummary;
@@ -1658,6 +1659,10 @@
return sdf.format((Date) value);
}
+ if (value instanceof byte[]) {
+ return XMLTypeFactory.eINSTANCE.convertHexBinary((byte[])value);
+ }
+
if (value == null)
{
return null;
Modified:
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java?view=diff&rev=441515&r1=441514&r2=441515
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/main/java/org/apache/tuscany/sdo/util/SDOUtil.java
Fri Sep 8 07:28:28 2006
@@ -604,7 +604,9 @@
xsdToSdoMappings.put("anySimpleType", "Object");
xsdToSdoMappings.put("anyType", "DataObject");
xsdToSdoMappings.put("anyURI", "URI");
- xsdToSdoMappings.put("base64Binary", "Bytes");
+ // SDO Spec issue: both base64Binary and hexBinary are mapped to Bytes.
Workaround is to let base64Binary
+ // fall through to use EMF's default: XMLTypePackage.base64Binary
+ // xsdToSdoMappings.put("base64Binary", "Bytes");
xsdToSdoMappings.put("boolean", "Boolean");
xsdToSdoMappings.put("byte", "Byte");
xsdToSdoMappings.put("date", "YearMonthDay");
Modified:
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java
URL:
http://svn.apache.org/viewvc/incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java?view=diff&rev=441515&r1=441514&r2=441515
==============================================================================
---
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java
(original)
+++
incubator/tuscany/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TypeRoundTripTestCase.java
Fri Sep 8 07:28:28 2006
@@ -94,7 +94,7 @@
Test[] tests = {
new Test(types.getType(URI, "Boolean"), "true", new Boolean(true)),
new Test(types.getType(URI, "Byte"), "49", new Byte((byte)49)),
- new Test(types.getType(URI, "Bytes"), "Zm9v", "foo", new
BytesComparator()),
+ new Test(types.getType(URI, "Bytes"), "666F6F", "foo", new
BytesComparator()),
new Test(types.getType(URI, "Character"), "a", new Character('a')),
new Test(types.getType(URI, "Date"), "2005-12-12T12:12:12.012Z",
DataHelper.INSTANCE.toDate("2005-12-12T12:12:12.012Z")),
new Test(types.getType(URI, "DateTime"), "2005-12-12T12:12:12zz",
"2005-12-12T12:12:12zz"),
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]