I think it should be isMany=false but of type "commonj.sdo{Strings}". Then 
get() or getList() would return List<String>. Only getString() would 
convert to the space-separated value we're returning today.

Frank.

[EMAIL PROTECTED] wrote on 12/11/2007 06:44:22 AM:

> Hi Amita,
> 
>   thanks for looking at this.  I'm a bit surprised, on digging a little 
way
> in, that the enumeration Property is isMany==false.  I'll dig a bit
> further,  but I had expected to be able to find the Property named
> enumeration and get a list of entries.
> 
> Kelvin.
> 
> On 11/12/2007, Amita Vadhavkar <[EMAIL PROTECTED]> wrote:
> >
> > Hi,
> > I tried TUSCANY-1360 related to enumeration facet. Below is the 
summary of
> > what was
> > discussed so far and a few questions.
> >
> > 
> 
-------------------------------------------------------------------------------------------------------------------------------------
> > 1) One way to do this is -
> > public static List<String> getEnumerationFacet(Type type) {
> >     return 
ExtendedMetaData.INSTANCE.getEnumerationFacet((EDataType)type);
> > }
> >
> > which works very straight forward and gives a list of enums.
> >
> > 
> 
-------------------------------------------------------------------------------------------------------------------------------------
> > 2) Another way is -
> > Do type.getInstanceProperties() and find the Property called
> > "enumeration".
> >
> > Where, getInstanceProperties() calls
> > DataObjectUtil.getMetaObjectInstanceProperties(EModelElement 
metaObject)
> > in which for the given metaObject its annotations and details of each
> > annotations are traversed. Each
> > Annotation Detail is mapped to EStringToStringMapEntryImpl entry like
> > below
> > -
> >
> > EStringToStringMapEntryImpl entry =
> > (EStringToStringMapEntryImpl)iter.next();   //iter is Iterator over
> > current
> > Annotation's Details
> > String propertyName = entry.getTypedKey();
> >
> > Property globalProperty = getGlobalProperty(hc, propertyURI,
> > propertyName);
> > if (globalProperty != null)
> > {
> >    result.add(globalProperty);
> > }
> >
> > Result is a UniqueEList which is returned at the end.
> >
> > Here, when entry.getTypedKey() is "enumeration", entry.getTypedValue()
> > gives
> > a String having space separated enums
> >
> > e.g. for
> > <simpleType name="ExampleRating">
> >     <restriction base="string">
> >         <enumeration value=""/>
> >         <enumeration value="Good"/>
> >         <enumeration value="Bad"/>
> >     </restriction>
> > </simpleType>
> >
> > it gives,"   Good Bad"
> >
> > As we see in Property globalProperty = getGlobalProperty(hc, 
propertyURI,
> > propertyName); the TypedKey information is
> > used when forming Property with name "enumeration", but the TypedValue
> > information is not stored in the Property.
> > Same thing will be applicable for other facets like MinLenght,
> > MaxExclusive....
> >
> > 
> 
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> > Questions:
> >
> > Thus, the question I have is, in case of following 2), what will be 
the
> > way
> > to preserve the mapping (key-value)
> > information available about facets from EMF in the formed Property? 
And
> > what
> > will be better approach for TUSCANY-1360
> > and as such for any other facets?
> >
> > Regards,
> > Amita
> >


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

Reply via email to