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]