Author: pkluegl
Date: Thu Jun 16 12:41:54 2016
New Revision: 1748711
URL: http://svn.apache.org/viewvc?rev=1748711&view=rev
Log:
UIMA-4976
- fixed foreach block parent relinking
- improved profiling label
- avoid npe
Modified:
uima/ruta/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/visitor/DebugInfoCollectorVisitor.java
uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/explain/apply/ApplyTreeLabelProvider.java
uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/explain/createdBy/CreatedByViewPage.java
Modified:
uima/ruta/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g
URL:
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g?rev=1748711&r1=1748710&r2=1748711&view=diff
==============================================================================
---
uima/ruta/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g
(original)
+++
uima/ruta/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g
Thu Jun 16 12:41:54 2016
@@ -772,7 +772,7 @@ level--;
LCURLY body = statements RCURLY
{removeTemporaryVariables(def);}
{block.setElements(body);
- $blockDeclaration::env.getScript().addBlock(id.getText(),block);
+ {$blockDeclaration::env = block.getParent();}
}
;
Modified:
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/visitor/DebugInfoCollectorVisitor.java
URL:
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/visitor/DebugInfoCollectorVisitor.java?rev=1748711&r1=1748710&r2=1748711&view=diff
==============================================================================
---
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/visitor/DebugInfoCollectorVisitor.java
(original)
+++
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/visitor/DebugInfoCollectorVisitor.java
Thu Jun 16 12:41:54 2016
@@ -125,25 +125,17 @@ public class DebugInfoCollectorVisitor i
if (element instanceof RutaRule && parent.getRule().equals(element)
&& result instanceof RuleApply) {
blockApply.setRuleApply((RuleApply) result);
-
- // } else {
- // blockApply.add(result);
- // }
-
} else if (stack.size() == 1) {
if (callStack.size() > 1) {
// TODO hotfixed
RutaElement tme = callStack.get(callStack.size() - 2);
- if (tme.equals(parent)
- // || tme.equals(element)
- ) {
+ if (tme.equals(parent)) {
blockApply.add(result);
} else {
// TODO too many blocks added
}
} else {
blockApply.add(result);
-
}
} else {
// TODO refactor !!! ... really!!!!
Modified:
uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/explain/apply/ApplyTreeLabelProvider.java
URL:
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/explain/apply/ApplyTreeLabelProvider.java?rev=1748711&r1=1748710&r2=1748711&view=diff
==============================================================================
---
uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/explain/apply/ApplyTreeLabelProvider.java
(original)
+++
uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/explain/apply/ApplyTreeLabelProvider.java
Thu Jun 16 12:41:54 2016
@@ -19,6 +19,10 @@
package org.apache.uima.ruta.explain.apply;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.util.Locale;
+
import org.apache.uima.cas.Feature;
import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
@@ -32,6 +36,12 @@ import org.eclipse.swt.graphics.Image;
public class ApplyTreeLabelProvider extends LabelProvider implements
ILabelProvider {
+ private DecimalFormat dfTime = new DecimalFormat("###,###,##0.000",
+ DecimalFormatSymbols.getInstance(Locale.ENGLISH));;
+
+ private DecimalFormat dfPercentage = new DecimalFormat("##0.00",
+ DecimalFormatSymbols.getInstance(Locale.ENGLISH));;
+
private ApplyViewPage owner;
ImageDescriptor blockApply;
@@ -62,7 +72,7 @@ public class ApplyTreeLabelProvider exte
@Override
public String getText(Object element) {
- String result = "error";
+ StringBuilder result = new StringBuilder();
if (element instanceof IExplainTreeNode) {
IExplainTreeNode debugNode = (IExplainTreeNode) element;
TypeSystem ts = debugNode.getTypeSystem();
@@ -74,38 +84,46 @@ public class ApplyTreeLabelProvider exte
int v1 = fs.getIntValue(f1);
Feature f2 = ruleType.getFeatureByBaseName(ExplainConstants.TRIED);
int v2 = fs.getIntValue(f2);
+ result.append("[");
+ result.append(v1);
+ result.append("/");
+ result.append(v2);
+ result.append("] ");
+
Feature f3 = ruleType.getFeatureByBaseName(ExplainConstants.ELEMENT);
String v3 = fs.getStringValue(f3);
v3 = v3.replaceAll("[\\n\\r]", "");
- if(v3.length() > 150) {
+ if (v3.length() > 150) {
v3 = v3.substring(0, 148) + "...";
}
+ result.append(v3);
+
Feature f4 = ruleType.getFeatureByBaseName(ExplainConstants.TIME);
long v4 = fs.getLongValue(f4);
- String time = "";
- if (v4 > 0.0) {
+ if (v4 > 0) {
double took = v4 / 1000.0;
- time = " [" + took + "s";
+ String s = dfTime.format(took);
+ result.append(" [");
+ result.append(s);
+ result.append("s");
+
+ double percent = 100;
IExplainTreeNode parentNode = debugNode.getParent();
if (parentNode != null) {
FeatureStructure parent = parentNode.getFeatureStructure();
if (parent != null) {
long parentTime = parent.getLongValue(f4);
- double percent = (took / (parentTime / 1000.0)) * 100.0;
- percent = Math.round(percent * 100.0) / 100.0;
- time += "|" + percent + "%]";
- } else {
- time += "]";
+ percent = (took / (parentTime / 1000.0)) * 100.0;
}
- } else {
- time += "]";
}
-
+ result.append("|");
+ result.append(dfPercentage.format(percent));
+ result.append("%");
+ result.append("]");
}
- result = "[" + v1 + "/" + v2 + "] " + v3 + time;
}
}
- return result;
+ return result.toString();
}
Modified:
uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/explain/createdBy/CreatedByViewPage.java
URL:
http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/explain/createdBy/CreatedByViewPage.java?rev=1748711&r1=1748710&r2=1748711&view=diff
==============================================================================
---
uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/explain/createdBy/CreatedByViewPage.java
(original)
+++
uima/ruta/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/explain/createdBy/CreatedByViewPage.java
Thu Jun 16 12:41:54 2016
@@ -222,7 +222,7 @@ public class CreatedByViewPage extends P
while (iterator.hasNext()) {
FeatureStructure fs = (FeatureStructure) iterator.next();
AnnotationFS afs = (AnnotationFS)
fs.getFeatureValue(featureAnnotation);
- if (afs.equals(featureStructure)) {
+ if (afs != null && afs.equals(featureStructure)) {
viewer.setInput(fs);
return;
}