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;
         }
       });
       


Reply via email to