Hi Frank,
  Thanks.

> SDO (SDO 3) is planning to provide an api for accessing extended XSD
metadata

  That is good news. However, identity mechanics should appear more
distinctly on API surface e.g. 
   boolean Proprty.isIdentifier();
   List<Property> Type.getIdentifiers();

I will qualify absence of any identity semantics from SDO a major
drawback. Especially, if it comes to any persistence operation on SDO
DataObject/DataGraph. Hopefully some of the SDO spec writers would
notice this omission and add it to future spec version. 

After a quick pick in current DAS implementation, it appeared that
'primary key' identification is based on existing database column name
"ID" (yes, hardcoded) -- but I may be wrong and am ready to learn how
DAS is handling identity issue.

> SDO (SDO 3) is planning to provide an api for accessing extended XSD
metadata
That is a good decision. Wrapping should always provide access to what
is being wrapped.

> downcasting to the EMF implementation class

Thanks for this info. I will do this for now. But I heed your advice and
have already a scheme in place that programs against *only* commonj.sdo
API but can access underlying implementaion, if available, without any
compile-time binding.
Slightly costly -- but works for, say, extracting package name from
Types. 
    


Pinaki Poddar
972.834.2865

-----Original Message-----
From: Frank Budinsky [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, July 24, 2007 9:16 AM
To: [email protected]
Subject: Re: How does xsd:ID property type is distinguished from
xsd:string

Hi Pinaki,

They can't be distinguished in the current version of SDO metadata, you
need to look at the original XSD. The next version of SDO (SDO 3) is
planning to provide an api for accessing extended XSD metadata. In
Tuscany, you can currently determine this by downcasting to the EMF
implementation class, although we don't recommend people do that:

      System.out.println("  Property isID: " +
((property.getType().isDataType()) && ((EAttribute)property).isID()));

Frank.

"Pinaki Poddar" <[EMAIL PROTECTED]> wrote on 07/24/2007 01:00:03 AM:

> 
> Hi,
> 
> A newbie question:
>    How does two Property: one defined as xsd:string and other as 
> xsd:ID can be distiguished?
> 
> Assume:
>  1. we have a simple XML schema defining a Person SDO Type with two 
> properties as follows:
>     <xsd:complexType name="Person">
>          <xsd:attribute name="firstName" type="xsd:string"/>
>          <xsd:attribute name="id"        type="xsd:ID"/>
>     </xsd:complexType>
> 
>  2. TypeHelper.INSTANCE.define()
>     defines SDO Type with two commonj.sdo.Property, p1 (for firstName)

> and p2 (for id)
> 
>  3. both p1.getType().getInstanceClass() and
> p2.getType().getInstanceClass() return java.lang.String
>     both p1.getType().isDataType() and p2.getType().isDataType() 
> return true
> 
> The question is, what can be done to identify p2 as a property that 
> were defined as xsd:ID?
> 
> 
> Thanks for your help --
> 
> 
> 
> 
> Pinaki Poddar
> 972.834.2865
> 
> Notice:  This email message, together with any attachments, may 
> contain information  of  BEA Systems,  Inc.,  its subsidiaries  and 
> affiliated entities,  that may be confidential,  proprietary, 
> copyrighted  and/or legally privileged, and is intended solely for the

> use of the individual or entity named in this message. If you are not 
> the intended recipient, and have received this message in error, 
> please immediately return this by email and then delete it.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Notice:  This email message, together with any attachments, may contain 
information  of  BEA Systems,  Inc.,  its subsidiaries  and  affiliated 
entities,  that may be confidential,  proprietary,  copyrighted  and/or legally 
privileged, and is intended solely for the use of the individual or entity 
named in this message. If you are not the intended recipient, and have received 
this message in error, please immediately return this by email and then delete 
it.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to