Author: rec
Date: Tue Nov 4 14:52:22 2014
New Revision: 1636596
URL: http://svn.apache.org/r1636596
Log:
[UIMA-3024] CASDumpWriter is sensitive to type system changes
- As a last resort try sorting by CAS address.
Modified:
uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/component/CasDumpWriter.java
Modified:
uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/component/CasDumpWriter.java
URL:
http://svn.apache.org/viewvc/uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/component/CasDumpWriter.java?rev=1636596&r1=1636595&r2=1636596&view=diff
==============================================================================
---
uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/component/CasDumpWriter.java
(original)
+++
uima/uimafit/trunk/uimafit-core/src/main/java/org/apache/uima/fit/component/CasDumpWriter.java
Tue Nov 4 14:52:22 2014
@@ -41,6 +41,7 @@ import org.apache.uima.analysis_engine.A
import org.apache.uima.cas.CAS;
import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
+import org.apache.uima.cas.impl.FeatureStructureImpl;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.fit.descriptor.ConfigurationParameter;
import org.apache.uima.resource.ResourceInitializationException;
@@ -206,7 +207,19 @@ public class CasDumpWriter extends CasCo
return end;
}
- return aO1.getType().getName().compareTo(aO2.getType().getName());
+ int name =
aO1.getType().getName().compareTo(aO2.getType().getName());
+ if (name != 0) {
+ return name;
+ }
+
+ // Last resort: try the address.
+ if (aO1 instanceof FeatureStructureImpl && aO2 instanceof
FeatureStructureImpl) {
+ return ((FeatureStructureImpl) aO1).getAddress()
+ - ((FeatureStructureImpl) aO2).getAddress();
+ }
+
+ // Fall back to name.
+ return name;
}
});