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 2013/11/22 11:12:03 UTC

svn commit: r1544463 - in /uima/sandbox/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/query/ui: QueryActionHandler.java QueryComposite.java

Author: pkluegl
Date: Fri Nov 22 10:12:03 2013
New Revision: 1544463

URL: http://svn.apache.org/r1544463
Log:
UIMA-3445
- applied patch

Modified:
    uima/sandbox/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/query/ui/QueryActionHandler.java
    uima/sandbox/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/query/ui/QueryComposite.java

Modified: uima/sandbox/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/query/ui/QueryActionHandler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/query/ui/QueryActionHandler.java?rev=1544463&r1=1544462&r2=1544463&view=diff
==============================================================================
--- uima/sandbox/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/query/ui/QueryActionHandler.java (original)
+++ uima/sandbox/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/query/ui/QueryActionHandler.java Fri Nov 22 10:12:03 2013
@@ -330,6 +330,12 @@ public class QueryActionHandler implemen
         ae.destroy();
         monitor.done();
       } catch (Exception e) {
+        // report error in query view:
+        queryComposite.getDisplay().syncExec(new Runnable() {
+          public void run() {
+            queryComposite.setRutaQuerySyntaxError(true);
+          }
+        });
         RutaAddonsPlugin.error(e);
       }
 

Modified: uima/sandbox/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/query/ui/QueryComposite.java
URL: http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/query/ui/QueryComposite.java?rev=1544463&r1=1544462&r2=1544463&view=diff
==============================================================================
--- uima/sandbox/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/query/ui/QueryComposite.java (original)
+++ uima/sandbox/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/query/ui/QueryComposite.java Fri Nov 22 10:12:03 2013
@@ -25,10 +25,8 @@ import java.util.Iterator;
 import java.util.regex.Pattern;
 import java.util.regex.PatternSyntaxException;
 
-import org.apache.commons.lang.StringUtils;
 import org.apache.uima.caseditor.editor.AnnotationEditor;
 import org.apache.uima.ruta.addons.RutaAddonsPlugin;
-import org.apache.uima.ruta.cde.utils.DocumentData;
 import org.apache.uima.ruta.ide.core.RutaLanguageToolkit;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IWorkspace;
@@ -46,6 +44,8 @@ import org.eclipse.jface.preference.IPre
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jface.text.Document;
 import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.text.ITextListener;
+import org.eclipse.jface.text.TextEvent;
 import org.eclipse.jface.viewers.DoubleClickEvent;
 import org.eclipse.jface.viewers.IDoubleClickListener;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -120,7 +120,9 @@ public class QueryComposite extends org.
 
   private Text inputPatternText;
 
-  private ControlDecoration deco;
+  private ControlDecoration decoFileFilterPattern;
+
+  private ControlDecoration decoQueryRules;
 
   private Clipboard clipboard;
 
@@ -225,12 +227,12 @@ public class QueryComposite extends org.
       inputPatternText.setLayoutData(inputPatternTextData);
       inputPatternText.setText(".+\\.xmi");
 
-      deco = new ControlDecoration(this.inputPatternText, SWT.TOP | SWT.LEFT);
-      Image image = FieldDecorationRegistry.getDefault()
+      decoFileFilterPattern = new ControlDecoration(this.inputPatternText, SWT.TOP | SWT.LEFT);
+      Image imageError = FieldDecorationRegistry.getDefault()
               .getFieldDecoration(FieldDecorationRegistry.DEC_ERROR).getImage();
-      deco.setDescriptionText("PatternSyntaxException for this regular expression.");
-      deco.setImage(image);
-      deco.hide();
+      decoFileFilterPattern.setDescriptionText("PatternSyntaxException for this regular expression.");
+      decoFileFilterPattern.setImage(imageError);
+      decoFileFilterPattern.hide();
       inputPatternText.addModifyListener(new ModifyListener() {
         public void modifyText(ModifyEvent e) {
           // without that listener, the text fields forget the
@@ -238,7 +240,7 @@ public class QueryComposite extends org.
           // we also MUST call getText() otherwise the changes in
           // the field are lost (what is this???!!)
           Text t = (Text) e.widget;
-          deco.hide();
+          decoFileFilterPattern.hide();
         }
       });
 
@@ -326,6 +328,29 @@ public class QueryComposite extends org.
       setInformation("");
       compositeQueryRules.layout();
 
+      viewer.addTextListener(new ITextListener() {
+
+        public void textChanged(TextEvent arg0) {
+          setRutaQuerySyntaxError(false);
+        }
+      });
+
+      decoQueryRules = new ControlDecoration(compositeQueryRules, SWT.TOP | SWT.LEFT);
+      decoQueryRules.setDescriptionText("Could not run query, maybe illegal Ruta rule syntax.");
+      decoQueryRules.setImage(imageError);
+      decoQueryRules.hide();
+      // TODO
+      // inputPatternText.addModifyListener(new ModifyListener() {
+      // public void modifyText(ModifyEvent e) {
+      // // without that listener, the text fields forget the
+      // // last change when leaving with tab! don't know why!
+      // // we also MUST call getText() otherwise the changes in
+      // // the field are lost (what is this???!!)
+      // Text t = (Text) e.widget;
+      // decoPattern.hide();
+      // }
+      // });
+
       // next row: query results
 
       FormAttachment top5 = new FormAttachment(compositeQueryRules, 10);
@@ -575,10 +600,10 @@ public class QueryComposite extends org.
     String string = inputPatternText.getText().trim();
     try {
       Pattern.compile(string);
-      this.deco.hide();
+      this.decoFileFilterPattern.hide();
       return string;
     } catch (PatternSyntaxException e) {
-      this.deco.show();
+      this.decoFileFilterPattern.show();
       return "";
     }
   }
@@ -634,4 +659,12 @@ public class QueryComposite extends org.
     typeSystemFileText.setText(typeSystemLocation);
   }
 
+  public void setRutaQuerySyntaxError(boolean hasError) {
+    if (hasError) {
+      this.decoQueryRules.show();
+    } else {
+      this.decoQueryRules.hide();
+    }
+  }
+
 }