OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sdo message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [sdo] Issue 118 - Proposal for review


Hi Blaise,

Yes, that's right. Wrapper types are really implementation dependent and 
special. An XML serializer needs to provide special handling for wrapper 
types.

Also, user's shouldn't be working with wrapper types directly anyway. The 
user would do this instead:

DataObject intWrapperDO = dataFactory.create("commonj.sdo", "Int");
intWrapperDO.setInt("value", 7);
xmlHelper.save(intWrapperDO, "urn:example", "root", System.out);

The implementation, knowing it's a wapper, would serialize it correctly:

<root xmlns="urn:example">7</root>

Frank.




Blaise Doughan <blaise.doughan@oracle.com> 
09/08/2008 01:50 PM

To
sdo@lists.oasis-open.org
cc

Subject
Re: [sdo] Issue 118 - Proposal for review






Hi Frank,

That schema fragment does not match my expectations for wrapper types.

For the following code fragment:
DataObject intWrapperDO = dataFactory.create("vendor.package", 
"VendorIntWrapper");
intWrapperDO.setInt(7);
xmlHelper.save(intWrapperDO, "urn:example", "root", System.out);

I would expect the above to return:
<root xmlns="urn:example">7</root>

And not:
<root xmlns="urn:example">
    <value>7</value>
</root>

-Blaise


Frank Budinsky wrote: 
VendorIntWrapper is implementation specific, so I can't say exactly what 
it looks like. It could look something like this:

  <xsd:complexType name="VendorIntWrapper">
    <xsd:complexContent>
      <xsd:extension base="sdo:DataTypeWrapper">
        <xsd:sequence>
          <xsd:element name="value" type="xsd:int"/>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>

Frank.





Blaise Doughan <blaise.doughan@oracle.com> 
09/08/2008 11:01 AM

To
sdo@lists.oasis-open.org
cc

Subject
Re: [sdo] Issue 118 - Proposal for review






Hi Frank,

Can you provide the expected schema resulting from the following call 
(assuming VendorIntWrapper extends DataTypeWrapper):

list.add(typeHelper.getType("commonj.sdo", "DataTypeWrapper"));
list.add(typeHelper.getType("vendor.package", "VendorIntWrapper"));
xsdHelper.define(list);

-Blaise


Frank Budinsky wrote: 
Here is the proposal that that we discussed in today's TC call:

1. Add the following abstract type to sdoModel.xsd:

  <xsd:complexType name="DataTypeWrapper" abstract="true"/>

2. Users can use this type to determine when a DataObject is a wrapper:

  DataObject someObject = ...
  Type dataTypeWrapperType = typeHelper.getType("commonj.sdo", 
"DataTypeWrapper");
  if (dataTypeWrapperType.isInstance(someObject)) ... // "someObject" is a 


wrapper

The actual type of a wrapper object is implementation dependent, but it 
will always extend from {commonj.sdo}DataTypeWrapper.

Wrapper types are the special implementation-dependant types used to hold 
a simpleType value for an XMLDocument rootObject or for the value of an 
anyType property. Formally defined complexTypes that extend simpleType are 


not considered wrapper types (i.e., they will not extend DataTypeWrapper), 


even though they also have a "value" property. 

Frank.




Frank Budinsky/Toronto/IBM@IBMCA 
08/20/2008 03:51 PM

To
sdo@lists.oasis-open.org
cc

Subject
Re: Fw: [sdo] Issue 118 - Creating wrapper objects for simple types






Hi Blaise,

The two cases that I remember were:

1) reading an anyType property, which maps to sdo:DataObject, but it may 
be just a DataType value.
2) the root element of an XMLDocument, which is always returned as a 
DataObject, even if the actual document simply had a simple DataType at 
the root.

Frank.




Blaise Doughan <blaise.doughan@oracle.com> 
08/20/2008 03:24 PM

To
sdo@lists.oasis-open.org
cc

Subject
Re: Fw: [sdo] Issue 118 - Creating wrapper objects for simple types






Hi Frank,

For what use case does the user need to know if the type is a data type 
wrapper?

-Blaise

Frank Budinsky wrote:
 
Unless somebody can think of a better approach, I'd like to suggest that 
 


 
we also vote on this in next weeks call.

Thanks,
Frank

----- Forwarded by Frank Budinsky/Toronto/IBM on 08/20/2008 03:15 PM 
 
-----
 
Frank Budinsky/Toronto/IBM 
08/18/2008 05:19 PM

To
sdo@lists.oasis-open.org
cc

Subject
[sdo] Issue 118 - Creating wrapper objects for simple types





If I'm not mistaken, SDO 118 has already been resolved in JSR235. We've 
agreed that DataFactory.create(someSimpleType) must return a wrapper.

What's still missing, is a way for clients to know if a type is a 
 
wrapper.
 
Proposal: Type.isDataTypeWrapper(). This would return true for any type 
that has the special "value" property (including formally defined types 
 
in 
 
an XSD).

Please let me know if you have any comments or better alternatives?

Thanks,
Frank.

---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 


 

---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 




---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 




---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 

 


---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]