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 2011/10/19 18:10:43 UTC
svn commit: r1186298 - in
/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-addons/src/main/java/org/apache/uima/textmarker/query/ui:
BasicEngine.xml BasicTypeSystem.xml InternalTypeSystem.xml
QueryActionHandler.java
Author: pkluegl
Date: Wed Oct 19 16:10:42 2011
New Revision: 1186298
URL: http://svn.apache.org/viewvc?rev=1186298&view=rev
Log:
UIMA-2268
- added method to remove debug annotation before query
Additionally:
- removed descriptors, using descriptors in engine project now
- removed speed bottleneck when updating the result viewer
Removed:
uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-addons/src/main/java/org/apache/uima/textmarker/query/ui/BasicEngine.xml
uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-addons/src/main/java/org/apache/uima/textmarker/query/ui/BasicTypeSystem.xml
uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-addons/src/main/java/org/apache/uima/textmarker/query/ui/InternalTypeSystem.xml
Modified:
uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-addons/src/main/java/org/apache/uima/textmarker/query/ui/QueryActionHandler.java
Modified: uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-addons/src/main/java/org/apache/uima/textmarker/query/ui/QueryActionHandler.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-addons/src/main/java/org/apache/uima/textmarker/query/ui/QueryActionHandler.java?rev=1186298&r1=1186297&r2=1186298&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-addons/src/main/java/org/apache/uima/textmarker/query/ui/QueryActionHandler.java (original)
+++ uima/sandbox/trunk/TextMarker/uimaj-ep-textmarker-addons/src/main/java/org/apache/uima/textmarker/query/ui/QueryActionHandler.java Wed Oct 19 16:10:42 2011
@@ -37,6 +37,7 @@ import org.apache.uima.cas.FeatureStruct
import org.apache.uima.cas.Type;
import org.apache.uima.cas.impl.XmiCasDeserializer;
import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.cas.text.AnnotationIndex;
import org.apache.uima.jcas.cas.FSArray;
import org.apache.uima.resource.ResourceManager;
import org.apache.uima.resource.ResourceSpecifier;
@@ -142,7 +143,7 @@ public class QueryActionHandler implemen
// script += "TYPESYSTEM " + typeSystemFileText.getText();
script += rules;
try {
- URL aedesc = getClass().getResource("BasicEngine.xml");
+ URL aedesc = TextMarkerEngine.class.getResource("BasicEngine.xml");
XMLInputSource inae = new XMLInputSource(aedesc);
ResourceSpecifier specifier = UIMAFramework.getXMLParser().parseResourceSpecifier(inae);
ResourceManager resMgr = UIMAFramework.newDefaultResourceManager();
@@ -213,8 +214,6 @@ public class QueryActionHandler implemen
cas.setDocumentText(getText(each));
}
- ae.process(cas);
-
Type matchedType = cas.getTypeSystem().getType(
"org.apache.uima.textmarker.type.DebugMatchedRuleMatch");
Type ruleApplyType = cas.getTypeSystem().getType(
@@ -222,6 +221,10 @@ public class QueryActionHandler implemen
Type blockApplyType = cas.getTypeSystem().getType(
"org.apache.uima.textmarker.type.DebugBlockApply");
+ removeDebugAnnotations(cas, matchedType, ruleApplyType, blockApplyType);
+
+ ae.process(cas);
+
Feature innerApplyFeature = blockApplyType.getFeatureByBaseName("innerApply");
Feature ruleApplyFeature = blockApplyType.getFeatureByBaseName("rules");
FSIterator<AnnotationFS> iterator = cas.getAnnotationIndex(blockApplyType).iterator();
@@ -241,12 +244,14 @@ public class QueryActionHandler implemen
final int constFound = found;
final int constFiles = files;
- queryComposite.getDisplay().asyncExec(new Runnable() {
+ queryComposite.getDisplay().syncExec(new Runnable() {
@Override
public void run() {
+ queryComposite.setResult(result);
queryComposite.setResultInfo(constFound, constFiles);
}
});
+
}
monitor.worked(1);
@@ -261,6 +266,26 @@ public class QueryActionHandler implemen
}
+ private void removeDebugAnnotations(CAS cas, Type matchedType, Type ruleApplyType,
+ Type blockApplyType) {
+ Collection<AnnotationFS> toRemove = new ArrayList<AnnotationFS>();
+ AnnotationIndex<AnnotationFS> annotationIndex = cas.getAnnotationIndex(blockApplyType);
+ for (AnnotationFS annotationFS : annotationIndex) {
+ toRemove.add(annotationFS);
+ }
+ annotationIndex = cas.getAnnotationIndex(ruleApplyType);
+ for (AnnotationFS annotationFS : annotationIndex) {
+ toRemove.add(annotationFS);
+ }
+ annotationIndex = cas.getAnnotationIndex(matchedType);
+ for (AnnotationFS annotationFS : annotationIndex) {
+ toRemove.add(annotationFS);
+ }
+ for (AnnotationFS annotationFS : toRemove) {
+ cas.removeFsFromIndexes(annotationFS);
+ }
+ }
+
public int findRuleMatches(final List<QueryResult> result, AnnotationFS fs, File file,
final QueryComposite queryComposite, Type matchedType, Type ruleApplyType,
Type blockApplyType, Feature innerApplyFeature, Feature ruleApplyFeature) {
@@ -285,12 +310,6 @@ public class QueryActionHandler implemen
String text = fs.getCoveredText();
result.add(new QueryResult(text, file));
ret += 1;
- queryComposite.getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- queryComposite.setResult(result);
- }
- });
}
return ret;