Hi, Cas compares are very difficult to get to work over general CAS structures, due to the ability of a CAS to contain various kinds of circularity in the structures, and the fact that two CASs could be equal, but have the FSs in different order.
The CasCompares that are embedded into v2 are "quick and dirty" approximations to complete cas compares; these were used in test cases to give a (not 100% sure) measure of confidence. For v3, it was important to be able to more completely compare the CASs produced by v2 vs v3, so more work was put into a more complete (but it's still not quite 100%, but much closer) CAS comparison utility - this is org.apache.uima.cas.impl.CasCompare. It has a rather big Javadoc at the beginning describing how to use it. The XmiCompare wasn't intended to be part of the UIMA-SDK, because it was written for a very specialized testing scenario, with specific "conventions" where it was desired to compare two directories full of xmi Cas representations, plus a type system descriptor named (by convention, exactly) "CAS_typeSystem_desc.xml". I wrote this when doing large-scale testing of v3 vs v2 on one project where it had sets of results in this kind of format. It would need work to make it more generally usable. I agree it's not trivial to backport the "improved" CasCompare from v3 to v2; so it's not on anyone's todo list at the moment (that I know of). -Marshall On 10/23/2017 5:39 AM, Richard Eckart de Castilho wrote: > Hi all, > > I noticed that there is a CasCompare and XmiCompare in UIMA v3, but > it doesn't seem to be easily back-portable to UIMA v2 (using copy/paste > and updating imports). > > Is there something similar available in UIMA v2? > > There seems to be a CasCompare embedded into BinaryCasSerDes4... I didn't > find an XmiCompare though. > > Cheers, > > -- Richard >
