Sebastien was asking me about how to find the Java implementation class for a given XMLSchema built-in type (e.g., xsd:decimal). The SDO spec includes a table on page 95 that shows how XSD types map to SDO Types and consequently to Java instanceClass (3 column table). Note that the mapping from the second to third column (SDO Type to Java class) is provided by the commonj.sdo.Type.getInstanceClass() method. But, unfortunately, there is currently no API defined in the SDO spec that implements the first to second column mapping (XSD type to SDO type). Therefore there is no standard way to do it.
With the current EMF-based implementation, there is a simple EMF call that can be used to directly go from the XSD type to the Java instanceClass, but calling that would require an EMF dependency. So, I think that there are several alternatives that we can provide in the SDO project: 1. An SDOUtil method (e.g., getXSDJavaInstanceClass(String xsdType)) that returns the Java instance class given an xsd type name 2. An SDOUtil method (e.g., getXSDSDOType(String xsdType) that returns the SDO Type given an xsd type name 3. Provide both methods The first one could be implemented in a matter of minutes using the existing EMF function mentioned above. The Second one will be needed eventually, but still needs to be implemented from scratch. Providing both methods turns the first one into a simple convenience function, since given the second call (that returns the Type) the Java class can be retrieved from it. Maybe these methods should be proposed as XSDHelper new methods. Thoughts, preferences? Thanks, Frank.
