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 {


Reply via email to