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]

Reply via email to