Question:

Way back in October in r589154 SDODataBinding.introspect was changed to
propagate the Java dflt elem QName into the XMLType logical with code that
looks like:

        Object logical = dataType.getLogical();
        if (logical instanceof XMLType) {
            elementName = ((XMLType)logical).getElementName();
        }
        dataType.setLogical(new XMLType(elementName, xmlType));

I'm noticing this breaks some code I had which was relying on the default
behavior in which DataObject2XMLStreamReader would call
SDOContextHelper.getElement() and get back the default elem QName of {
commonj.sdo}dataObject.

(I also noticed when I was going from SDO->AXIOM I didn't have this issue
since the unwrapped->wrapped path in Output2OutputTransformer grabbed the
elem name from the AXIOM/WSDL)

Anyway.. it seems that when I later do XMLStreamReader2DataObject now with
the new dflt elem, the SDO I get is not recognized as matching the
particular SDO type which it should, and so I end up with an instance of
type AnyTypeDataObjectImpl instead of, say, a PersonImpl type.

Maybe it would help me adjust if I could learn what was gained from this
switch.

Could anyone (Raymond) kindly explain please?

Thanks, Scott

Reply via email to