Hi Diman, Yes, there is a bug in TypeSystemUtil.typeSystem2TypeSystemDescription(). The fix is already checked in against https://issues.apache.org/jira/browse/UIMA-1877
Thanks for finding and helping to isolate this problem. Eddie On Thu, Sep 23, 2010 at 4:37 AM, Diman Karagiozov <[email protected]> wrote: > Hi Eddie, > > Indeed, the type system used for the de-serialization differs from the one > used for serialization. > In the process of serialization I am doing the following: > > // serialize the cas > final ByteArrayOutputStream osCas = new ByteArrayOutputStream(); > XmiCasSerializer.serialize( cas.getCas(), osCas ); > > // serialize the type system > final ByteArrayOutputStream osTS = new ByteArrayOutputStream(); > TypeSystemUtil.typeSystem2TypeSystemDescription( > cas.getTypeSystem() ).toXML( osTS ); > > In the type system, before serialization, I have the feature feature: > <featureDescription> > <name>hypernyms</name> > <description>List of hypernyms</description> > <rangeTypeName>uima.cas.ByteArray</rangeTypeName> > <multipleReferencesAllowed>true</multipleReferencesAllowed> > </featureDescription> > > However, in the serialized version of the type system, the > "<multipleReferencesAllowed>true</multipleReferencesAllowed>" is missing > and this causes the problem... > > <featureDescription> > <name>hypernyms</name> > <description/> > <rangeTypeName>uima.cas.ByteArray</rangeTypeName> > </featureDescription> > > > I have also other ByteArray features and the "multipleReferencesAllowed" is > missing for all of them in the serialized version. > > Is this a bug or there is another way to serialize the type system, so that > the "multipleReferencesAllowed" is handled correctly? > > greetings > Diman > > On 09/21/2010 12:13 AM, Eddie Epstein wrote: >> >> On Mon, Sep 20, 2010 at 9:50 AM, Eddie Epstein<[email protected]> >> wrote: >>> >>> Hi Diman, >>> >>> Indeed the problem is Xmi deserialization. It looks like ByteArray >>> features must be defined with >>> <multipleReferencesAllowed>true</multipleReferencesAllowed> >>> >>> At first glance this is missing from our documentation. Will double check >>> that. >>> >> In fact UIMA is working as designed. It appears that your XmiCas data >> was serialized out with multipleReferencesAllowed=true for the feature >> hypernyms, but then deserialized with a different typesystem where >> multipleReferencesAllowed=false. >> >> Eddie > >
