You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2016/08/31 15:49:00 UTC

svn commit: r1758632 - in /uima/ruta/trunk/ruta-core/src: main/java/org/apache/uima/ruta/expression/feature/LazyFeature.java test/java/org/apache/uima/ruta/expression/IndexedListExpressionTest.java

Author: pkluegl
Date: Wed Aug 31 15:49:00 2016
New Revision: 1758632

URL: http://svn.apache.org/viewvc?rev=1758632&view=rev
Log:
UIMA-5089
- throw meaningful exception if lazy feature was not resolved
- deactivated test that should not have been active

Modified:
    uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/LazyFeature.java
    uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/IndexedListExpressionTest.java

Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/LazyFeature.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/LazyFeature.java?rev=1758632&r1=1758631&r2=1758632&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/LazyFeature.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/LazyFeature.java Wed Aug 31 15:49:00 2016
@@ -53,31 +53,37 @@ public class LazyFeature implements Feat
   
   @Override
   public int compareTo(Feature o) {
+    checkDelegate();
     return delegate.compareTo(o);
   }
 
   @Override
   public Type getDomain() {
+    checkDelegate();
     return delegate.getDomain();
   }
 
   @Override
   public Type getRange() {
+    checkDelegate();
     return delegate.getRange();
   }
 
   @Override
   public String getName() {
+    checkDelegate();
     return delegate.getName();
   }
 
   @Override
   public String getShortName() {
+    checkDelegate();
     return delegate.getShortName();
   }
 
   @Override
   public boolean isMultipleReferencesAllowed() {
+    checkDelegate();
     return delegate.isMultipleReferencesAllowed();
   }
 
@@ -85,5 +91,11 @@ public class LazyFeature implements Feat
     return featureName;
   }
 
+  private void checkDelegate() {
+    if(delegate == null) {
+      throw new RuntimeException("Feature with name '"+ featureName +"' has not yet been resolved. Most likely, it is not defined for the given type.");
+    }
+    
+  }
 
 }

Modified: uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/IndexedListExpressionTest.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/IndexedListExpressionTest.java?rev=1758632&r1=1758631&r2=1758632&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/IndexedListExpressionTest.java (original)
+++ uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/IndexedListExpressionTest.java Wed Aug 31 15:49:00 2016
@@ -22,31 +22,29 @@ package org.apache.uima.ruta.expression;
 import org.apache.uima.cas.CAS;
 import org.apache.uima.ruta.engine.Ruta;
 import org.apache.uima.ruta.engine.RutaTestUtils;
+import org.junit.Ignore;
 import org.junit.Test;
 
 public class IndexedListExpressionTest {
+
   @Test
-  public void test() {
+  @Ignore
+  public void test() throws Exception{
     String document = "Some text.";
     String script = "";
-    script += "STRINGLIST sl = {\"Some\", \"text\"}";
+    script += "STRINGLIST sl = {\"Some\", \"text\"};";
     script += "W.ct == sl[0]{-> T1};";
     script += "W.ct == sl[1]{-> T2};";
     script += "W{REGEXP(sl[0]) -> T3};";
     script += "W{REGEXP(sl[1]) -> T4};";
 
-    CAS cas = null;
-    try {
-      cas = RutaTestUtils.getCAS(document);
-      Ruta.apply(cas, script);
-    } catch (Exception e) {
-      e.printStackTrace();
-    }
+    CAS cas = RutaTestUtils.getCAS(document);
+    Ruta.apply(cas, script);
+
+    RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "Some");
+    RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "text");
+    RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "Some");
+    RutaTestUtils.assertAnnotationsEquals(cas, 4, 1, "text");
 
-//    RutaTestUtils.assertAnnotationsEquals(cas, 1, 1, "Some");
-//    RutaTestUtils.assertAnnotationsEquals(cas, 2, 1, "text");
-//    RutaTestUtils.assertAnnotationsEquals(cas, 3, 1, "Some");
-//    RutaTestUtils.assertAnnotationsEquals(cas, 4, 1, "text");
-    
   }
 }