Author: pkluegl Date: Fri Jun 26 15:55:33 2015 New Revision: 1687790 URL: http://svn.apache.org/r1687790 Log: UIMA-4486 - hotfixed workaround for staying compatible to uima 2.7.0
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java?rev=1687790&r1=1687789&r2=1687790&view=diff ============================================================================== --- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java (original) +++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java Fri Jun 26 15:55:33 2015 @@ -556,6 +556,9 @@ public class RutaStream extends FSIterat if (isVisible(pointer) || !isValid()) { moveToPrevious(); } + if(!isValid()) { + moveToLast(); + } if (isValid()) { RutaBasic nextBasic = (RutaBasic) get(); // TODO HOTFIX for annotation of length 0 Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java?rev=1687790&r1=1687789&r2=1687790&view=diff ============================================================================== --- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java (original) +++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java Fri Jun 26 15:55:33 2015 @@ -302,7 +302,7 @@ public class WildCardRuleElement extends result.add(ruleMatch); return result; } - if(iterator.isValid() && !stream.isVisible(iterator.get())) { + if (iterator.isValid() && !stream.isVisible(iterator.get())) { moveOn(after, iterator, stream); } boolean doneHere = false; @@ -386,8 +386,16 @@ public class WildCardRuleElement extends } else { AnnotationFS pointer = stream.getAnchor(after, annotation); result = cas.getAnnotationIndex(type).iterator(pointer); - if (!after) { - result.moveToPrevious(); + if (!result.isValid()) { + if (after) { + result.moveToFirst(); + } else { + result.moveToLast(); + } + } else { + if (!after) { + result.moveToPrevious(); + } } if (annotation != null && result.isValid()) { // hotfix for index overflow... @@ -420,8 +428,16 @@ public class WildCardRuleElement extends result = cas.getAnnotationIndex(type).subiterator(window); AnnotationFS pointer = stream.getAnchor(after, annotation); result.moveTo(pointer); - if (!after) { - result.moveToPrevious(); + if (!result.isValid()) { + if (after) { + result.moveToFirst(); + } else { + result.moveToLast(); + } + } else { + if (!after) { + result.moveToPrevious(); + } } } } @@ -501,7 +517,7 @@ public class WildCardRuleElement extends } else { iterator.moveToPrevious(); } - while(iterator.isValid() && !stream.isVisible(iterator.get())) { + while (iterator.isValid() && !stream.isVisible(iterator.get())) { if (after) { iterator.moveToNext(); } else {