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/09/29 12:55:42 UTC
svn commit: r1762762 [1/2] - in /uima/ruta/trunk:
ruta-core-ext/src/main/java/org/apache/uima/ruta/block/fst/
ruta-core/src/main/java/org/apache/uima/ruta/
ruta-core/src/main/java/org/apache/uima/ruta/action/
ruta-core/src/main/java/org/apache/uima/rut...
Author: pkluegl
Date: Thu Sep 29 12:55:41 2016
New Revision: 1762762
URL: http://svn.apache.org/viewvc?rev=1762762&view=rev
Log:
UIMA-5108
- refactoring
- cleanup
- support feature structures in matching
Modified:
uima/ruta/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/block/fst/Automaton.java
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/action/ImplicitFeatureAction.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ImplicitCondition.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/BasicTypeConstraint.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/NotConstraint.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/NotMatchConstraint.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlConverter.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlConverterPSpan.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlVisitor.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaCutter.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaModifier.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/ViewWriter.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationFeatureExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListFeatureExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFeatureExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanListFeatureExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureMatchExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/LazyFeature.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NegativeNumberExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFeatureExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberListFeatureExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberVariableExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/SimpleStringExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFeatureExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringListFeatureExpression.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/AnonymousWordList.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/CSVTable.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordList.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/ResourcePathResourceLoader.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TextNode.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/AnnotationComparator.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElement.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElementMatch.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ConjunctRulesRuleElement.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElement.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElementCaretaker.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElementComparator.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElementIsolator.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleMatch.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleMatchComparator.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaAnnotationMatcher.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaMatcher.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaRuleElement.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaTypeMatcher.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ConditionVerbalizer.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/visitor/CreatedByVisitor.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/visitor/DebugInfoCollectorVisitor.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/visitor/DebugInfoFactory.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/visitor/InferenceCrowd.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/visitor/StatisticsVisitor.java
uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/visitor/TimeProfilerVisitor.java
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/MarkFastWithFeatureProjectionTest.java
uima/ruta/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationFeatureExpressionTest.java
Modified: uima/ruta/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/block/fst/Automaton.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/block/fst/Automaton.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/block/fst/Automaton.java (original)
+++ uima/ruta/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/block/fst/Automaton.java Thu Sep 29 12:55:41 2016
@@ -137,7 +137,7 @@ public class Automaton {
for (RuleElement element : root.getPossibleTransitions()) {
AbstractState targetState = root.getTransition(element);
RutaMatcher matcher = ((RutaRuleElement) element).getMatcher();
- for (AnnotationFS annoFS : matcher.getMatchingAnnotations(stream, parent)) {
+ for (AnnotationFS annoFS : matcher.getMatchingAnnotations(parent, stream)) {
if (targetState instanceof TransitionState) {
LinkedList<RuleMatch> ruleMatches = createMatches(annoFS,
((TransitionState) targetState).getRules(), stream, crowd);
@@ -176,7 +176,7 @@ public class Automaton {
RutaMatcher matcher = ((RutaRuleElement) element).getMatcher();
AbstractState targetState = startState.getTransition(element);
for (AnnotationFS annoFS : matcher.getAnnotationsAfter((RutaRuleElement) ruleElement, anno,
- stream, parent)) {
+ parent, stream)) {
if (targetState instanceof TransitionState) {
LinkedList<RuleMatch> ruleMatches = filterMatches(annoFS, matches,
(TransitionState) targetState, stream, crowd);
@@ -236,15 +236,7 @@ public class Automaton {
// boolean base = matcher.match(annotation, stream, getParent());
boolean base = true;
MatchContext context = new MatchContext(annotation, element, ruleMatch, true);
- RutaMatcher matcher = ((RutaRuleElement) element).getMatcher();
- if (matcher instanceof RutaTypeMatcher) {
- RutaTypeMatcher rtm = (RutaTypeMatcher) matcher;
- IRutaExpression expression = rtm.getExpression();
- if (expression instanceof FeatureExpression) {
- base = matcher.match(annotation, stream, element.getParent());
- }
- }
-
+
List<AnnotationFS> textsMatched = new ArrayList<AnnotationFS>(1);
if (annotation != null) {
textsMatched.add(annotation);
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=1762762&r1=1762761&r2=1762762&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 Thu Sep 29 12:55:41 2016
@@ -433,6 +433,7 @@ public class RutaStream extends FSIterat
return stream;
}
+ @Override
public FSIterator<AnnotationFS> copy() {
RutaStream stream = new RutaStream(cas, basicType, beginAnchors, endAnchors, filter,
lowMemoryProfile, simpleGreedyForComposed, crowd);
@@ -442,14 +443,17 @@ public class RutaStream extends FSIterat
return stream;
}
+ @Override
public AnnotationFS get() throws NoSuchElementException {
return currentIt.get();
}
+ @Override
public boolean isValid() {
return currentIt.isValid();
}
+ @Override
public void moveTo(FeatureStructure fs) {
try {
currentIt.moveTo(fs);
@@ -458,18 +462,22 @@ public class RutaStream extends FSIterat
}
}
+ @Override
public void moveToFirst() {
currentIt.moveToFirst();
}
+ @Override
public void moveToLast() {
currentIt.moveToLast();
}
+ @Override
public void moveToNext() {
currentIt.moveToNext();
}
+ @Override
public void moveToPrevious() {
currentIt.moveToPrevious();
}
@@ -916,7 +924,7 @@ public class RutaStream extends FSIterat
windowAnnotation.getBegin(), windowAnnotation.getEnd());
FSIterator<AnnotationFS> subiterator = cas.getAnnotationIndex(type).subiterator(frame);
while (subiterator.hasNext()) {
- AnnotationFS each = (AnnotationFS) subiterator.next();
+ AnnotationFS each = subiterator.next();
if (isVisible(each)) {
result.add(each);
}
@@ -1111,7 +1119,7 @@ public class RutaStream extends FSIterat
List<AnnotationFS> featureAnnotations = inWindow;
if (fe.getFeatures(context, this) != null) {
featureAnnotations = new ArrayList<AnnotationFS>(
- sfe.getFeatureAnnotations(inWindow, this, context, false));
+ sfe.getAnnotations(inWindow, false, context, this));
}
if (feature.getRange().isArray()) {
annotation.setFeatureValue(feature,
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/ImplicitFeatureAction.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/ImplicitFeatureAction.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/ImplicitFeatureAction.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/ImplicitFeatureAction.java Thu Sep 29 12:55:41 2016
@@ -75,8 +75,8 @@ public class ImplicitFeatureAction exten
for (AnnotationFS each : annotations) {
stream.getCas().removeFsFromIndexes(each);
}
- Collection<AnnotationFS> featureAnnotations = expr.getFeatureAnnotations(annotations, stream,
- context, false);
+ Collection<? extends AnnotationFS> featureAnnotations = expr.getAnnotations(annotations, false,
+ context, stream);
if (featureAnnotations.isEmpty()) {
// null value in feature, but we require the host
featureAnnotations = annotations;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java Thu Sep 29 12:55:41 2016
@@ -65,7 +65,7 @@ public class BeforeCondition extends Typ
boolean result = false;
FSIterator<AnnotationFS> it = stream.getCas().getAnnotationIndex(t).iterator(annotation);
while (it.isValid()) {
- AnnotationFS a = (AnnotationFS) it.get();
+ AnnotationFS a = it.get();
if (a.getEnd() >= annotation.getBegin()) {
result = true;
break;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ImplicitCondition.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ImplicitCondition.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ImplicitCondition.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ImplicitCondition.java Thu Sep 29 12:55:41 2016
@@ -70,8 +70,8 @@ public class ImplicitCondition extends A
} else if(annotationExpr!=null) {
annotations.add(annotationExpr.getAnnotation(context, stream));
}
- Collection<AnnotationFS> featureAnnotations = fme.getFeatureAnnotations(annotations, stream,
- context, true);
+ Collection<? extends AnnotationFS> featureAnnotations = fme.getAnnotations(annotations, true,
+ context, stream);
return new EvaluatedCondition(this, !featureAnnotations.isEmpty());
}
return new EvaluatedCondition(this, false);
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/BasicTypeConstraint.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/BasicTypeConstraint.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/BasicTypeConstraint.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/BasicTypeConstraint.java Thu Sep 29 12:55:41 2016
@@ -48,14 +48,17 @@ public class BasicTypeConstraint impleme
}
}
+ @Override
public void add(Type type) {
types.add(type);
}
+ @Override
public void add(String typeString) {
throw new NotImplementedException();
}
+ @Override
public boolean match(FeatureStructure fs) {
boolean result = false;
if (fs instanceof RutaBasic) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/NotConstraint.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/NotConstraint.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/NotConstraint.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/NotConstraint.java Thu Sep 29 12:55:41 2016
@@ -32,6 +32,7 @@ public class NotConstraint implements FS
this.constraint = constraint;
}
+ @Override
public boolean match(FeatureStructure fs) {
return !constraint.match(fs);
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/NotMatchConstraint.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/NotMatchConstraint.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/NotMatchConstraint.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/constraint/NotMatchConstraint.java Thu Sep 29 12:55:41 2016
@@ -32,6 +32,7 @@ public class NotMatchConstraint implemen
this.constraint = constraint;
}
+ @Override
public boolean match(FeatureStructure fs) {
return !constraint.match(fs);
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java Thu Sep 29 12:55:41 2016
@@ -354,7 +354,7 @@ public class RutaDescriptorBuilder {
private void fillTypeNameMap(Map<String, String> typeNameMap, TypeSystem typeSystem) {
Iterator<Type> typeIterator = typeSystem.getTypeIterator();
while (typeIterator.hasNext()) {
- Type type = (Type) typeIterator.next();
+ Type type = typeIterator.next();
String shortName = type.getShortName();
String name = type.getName();
typeNameMap.put(shortName, name);
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlConverter.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlConverter.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlConverter.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlConverter.java Thu Sep 29 12:55:41 2016
@@ -323,7 +323,7 @@ public class HtmlConverter extends JCasA
// check if view already exists:
Iterator<JCas> viewIterator = jcas.getViewIterator();
while (viewIterator.hasNext()) {
- JCas jCas2 = (JCas) viewIterator.next();
+ JCas jCas2 = viewIterator.next();
if (jCas2.getViewName().equals(modifiedViewName)) {
modview = jCas2;
getContext().getLogger().log(Level.WARNING,
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlConverterPSpan.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlConverterPSpan.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlConverterPSpan.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlConverterPSpan.java Thu Sep 29 12:55:41 2016
@@ -49,6 +49,7 @@ public class HtmlConverterPSpan implemen
return end;
}
+ @Override
public int compareTo(HtmlConverterPSpan o) {
if (this.begin == o.begin) {
if (this.end == o.end) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlVisitor.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlVisitor.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlVisitor.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/HtmlVisitor.java Thu Sep 29 12:55:41 2016
@@ -54,6 +54,7 @@ public class HtmlVisitor extends NodeVis
this.onlyContent = onlyContent;
}
+ @Override
public void visitTag(Tag tag) {
String name = getName(tag);
Type type = getType(name, cas);
@@ -83,6 +84,7 @@ public class HtmlVisitor extends NodeVis
}
}
+ @Override
public void visitRemarkNode(Remark node) {
Type type = getType("REMARK", cas);
int begin = getBeginOffset(node);
@@ -93,11 +95,12 @@ public class HtmlVisitor extends NodeVis
annotations.add(annotation);
}
+ @Override
public void visitEndTag(Tag tag) {
String name = getName(tag);
AnnotationFS found = null;
for (int i = annotationStack.size() - 1; i >= 0; i--) {
- AnnotationFS each = (AnnotationFS) annotationStack.get(i);
+ AnnotationFS each = annotationStack.get(i);
Feature nameFeature = each.getType().getFeatureByBaseName("name");
String eachName = each.getStringValue(nameFeature);
if (name.equals(eachName)) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaCutter.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaCutter.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaCutter.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaCutter.java Thu Sep 29 12:55:41 2016
@@ -114,7 +114,7 @@ public class RutaCutter extends JCasAnno
// check if view already exists:
Iterator<JCas> viewIterator = jcas.getViewIterator();
while (viewIterator.hasNext()) {
- JCas jCas2 = (JCas) viewIterator.next();
+ JCas jCas2 = viewIterator.next();
if (jCas2.getViewName().equals(outputViewName)) {
modview = jCas2;
getContext().getLogger().log(Level.WARNING,
@@ -137,7 +137,7 @@ public class RutaCutter extends JCasAnno
if (keepType == null) {
Iterator<Type> typeIterator = typeSystem.getTypeIterator();
while (typeIterator.hasNext()) {
- Type type = (Type) typeIterator.next();
+ Type type = typeIterator.next();
String shortName = type.getShortName();
if (shortName.equals(keep)) {
keepType = type;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaModifier.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaModifier.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaModifier.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaModifier.java Thu Sep 29 12:55:41 2016
@@ -261,6 +261,7 @@ public class RutaModifier extends JCasAn
}
}
Collections.sort(result, new Comparator<Type>() {
+ @Override
public int compare(Type o1, Type o2) {
return o1.getShortName().compareTo(o2.getShortName());
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java Thu Sep 29 12:55:41 2016
@@ -164,7 +164,7 @@ public class StyleMapFactory {
Boolean ck = e.getChecked();
String ckString = ck.toString();
- Boolean hid = (Boolean) Boolean.FALSE;
+ Boolean hid = Boolean.FALSE;
String hidString = hid.toString();
// this prevents hidden from being checked,
// becasue that is not a meaningful combination
@@ -214,7 +214,7 @@ public class StyleMapFactory {
if (color.startsWith("#")) {
return Color.decode(color);
} else {
- String string = (String) colorNameMap.get(color);
+ String string = colorNameMap.get(color);
if (string != null)
return Color.decode(string);
else
@@ -226,7 +226,7 @@ public class StyleMapFactory {
if (color.startsWith("#")) {
return Color.decode(color);
} else {
- String string = (String) colorNameMap.get(color);
+ String string = colorNameMap.get(color);
if (string != null)
return Color.decode(string);
else
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/ViewWriter.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/ViewWriter.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/ViewWriter.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/ViewWriter.java Thu Sep 29 12:55:41 2016
@@ -154,10 +154,12 @@ public class ViewWriter extends JCasMult
outView = null;
}
+ @Override
public boolean hasNext() throws AnalysisEngineProcessException {
return false;
}
+ @Override
public AbstractCas next() throws AnalysisEngineProcessException {
return null;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java Thu Sep 29 12:55:41 2016
@@ -84,8 +84,8 @@ public class AnnotationTypeExpression ex
.getBestGuessedAnnotationsAt(context.getAnnotation(), type);
Collection<AnnotationFS> annotations = new ArrayList<>();
annotations.addAll(bestGuessedAnnotationsAt);
- Collection<AnnotationFS> featureAnnotations = getFeatureExpression()
- .getFeatureAnnotations(annotations, stream, context, false);
+ Collection<? extends AnnotationFS> featureAnnotations = getFeatureExpression()
+ .getAnnotations(annotations, false, context, stream);
if (featureAnnotations != null && !featureAnnotations.isEmpty()) {
return featureAnnotations.iterator().next();
}
@@ -143,8 +143,8 @@ public class AnnotationTypeExpression ex
if (getFeatureExpression() != null) {
List<AnnotationFS> bestGuessedAnnotationsAt = stream
.getBestGuessedAnnotationsAt(context.getAnnotation(), type);
- Collection<AnnotationFS> featureAnnotations = getFeatureExpression()
- .getFeatureAnnotations(bestGuessedAnnotationsAt, stream, context, false);
+ Collection<? extends AnnotationFS> featureAnnotations = getFeatureExpression()
+ .getAnnotations(bestGuessedAnnotationsAt, false, context, stream);
return new ArrayList<>(featureAnnotations);
} else {
return stream.getAnnotationsByTypeInContext(type, context);
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java Thu Sep 29 12:55:41 2016
@@ -149,6 +149,7 @@ public class MatchReference extends Ruta
return featureExpression;
}
+ @Override
public String toString() {
return reference;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/NullExpression.java Thu Sep 29 12:55:41 2016
@@ -23,6 +23,7 @@ import java.util.Collection;
import java.util.List;
import org.apache.uima.cas.Feature;
+import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
@@ -40,11 +41,17 @@ public class NullExpression extends Feat
}
@Override
- public Collection<AnnotationFS> getFeatureAnnotations(Collection<AnnotationFS> annotations,
- RutaStream stream, MatchContext context, boolean checkOnFeatureValue) {
+ public Collection<AnnotationFS> getAnnotations(Collection<? extends FeatureStructure> featureStructures, boolean checkOnFeatureValue,
+ MatchContext context, RutaStream stream) {
return null;
}
-
+
+ @Override
+ public Collection<? extends FeatureStructure> getFeatureStructures(Collection<? extends FeatureStructure> featureStructures, boolean checkOnFeatureValue,
+ MatchContext context, RutaStream stream) {
+ return null;
+ }
+
@Override
public Type getType(MatchContext context, RutaStream stream) {
return null;
@@ -74,5 +81,6 @@ public class NullExpression extends Feat
public AnnotationFS getAnnotation(MatchContext context, RutaStream stream) {
return null;
}
+
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationFeatureExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationFeatureExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationFeatureExpression.java Thu Sep 29 12:55:41 2016
@@ -44,8 +44,8 @@ public class AnnotationFeatureExpression
public AnnotationFS getAnnotation(MatchContext context, RutaStream stream) {
AnnotationFS annotation = context.getAnnotation();
List<AnnotationFS> list = getTargetAnnotation(annotation, fe, context, stream);
- Collection<AnnotationFS> featureAnnotations = fe.getFeatureAnnotations(list, stream, context,
- false);
+ Collection<? extends AnnotationFS> featureAnnotations = fe.getAnnotations(list, false, context,
+ stream);
if (!featureAnnotations.isEmpty()) {
AnnotationFS next = featureAnnotations.iterator().next();
return next;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListFeatureExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListFeatureExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/annotation/AnnotationListFeatureExpression.java Thu Sep 29 12:55:41 2016
@@ -45,8 +45,8 @@ public class AnnotationListFeatureExpres
public List<AnnotationFS> getList(MatchContext context, RutaStream stream) {
AnnotationFS annotation = context.getAnnotation();
List<AnnotationFS> list = getTargetAnnotation(annotation, fe, context, stream);
- Collection<AnnotationFS> featureAnnotations = fe.getFeatureAnnotations(list, stream, context,
- false);
+ Collection<? extends AnnotationFS> featureAnnotations = fe.getAnnotations(list, false, context,
+ stream);
return new ArrayList<AnnotationFS>(featureAnnotations);
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFeatureExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFeatureExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFeatureExpression.java Thu Sep 29 12:55:41 2016
@@ -42,8 +42,8 @@ public class BooleanFeatureExpression ex
AnnotationFS annotation = context.getAnnotation();
Feature feature = fe.getFeature(context, stream);
List<AnnotationFS> list = getTargetAnnotation(annotation, fe, context, stream);
- Collection<AnnotationFS> featureAnnotations = fe.getFeatureAnnotations(list, stream, context,
- false);
+ Collection<? extends AnnotationFS> featureAnnotations = fe.getAnnotations(list, false, context,
+ stream);
if (!featureAnnotations.isEmpty()) {
AnnotationFS next = featureAnnotations.iterator().next();
return next.getBooleanValue(feature);
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanListFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanListFeatureExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanListFeatureExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanListFeatureExpression.java Thu Sep 29 12:55:41 2016
@@ -56,8 +56,8 @@ public class BooleanListFeatureExpressio
return Collections.emptyList();
}
List<AnnotationFS> list = getTargetAnnotation(annotation, fe, context, stream);
- Collection<AnnotationFS> featureAnnotations = fe.getFeatureAnnotations(list, stream, context,
- false);
+ Collection<? extends AnnotationFS> featureAnnotations = fe.getAnnotations(list, false, context,
+ stream);
List<Boolean> result = new ArrayList<>();
for (AnnotationFS each : featureAnnotations) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureExpression.java Thu Sep 29 12:55:41 2016
@@ -23,6 +23,7 @@ import java.util.Collection;
import java.util.List;
import org.apache.uima.cas.Feature;
+import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
@@ -37,9 +38,13 @@ public abstract class FeatureExpression
public abstract List<String> getFeatureStringList(MatchContext context, RutaStream stream);
- public abstract Collection<AnnotationFS> getFeatureAnnotations(
- Collection<AnnotationFS> annotations, RutaStream stream, MatchContext context,
- boolean checkOnFeatureValue);
+ public abstract Collection<? extends AnnotationFS> getAnnotations(
+ Collection<? extends FeatureStructure> featureStructures, boolean checkOnFeatureValue, MatchContext context,
+ RutaStream stream);
+
+ public abstract Collection<? extends FeatureStructure> getFeatureStructures(
+ Collection<? extends FeatureStructure> featureStructures, boolean checkOnFeatureValue, MatchContext context,
+ RutaStream stream);
public abstract Type getInitialType(MatchContext context, RutaStream stream);
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureMatchExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureMatchExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureMatchExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureMatchExpression.java Thu Sep 29 12:55:41 2016
@@ -25,6 +25,7 @@ import java.util.Collection;
import java.util.List;
import org.apache.uima.cas.Feature;
+import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.ruta.RutaStream;
import org.apache.uima.ruta.UIMAConstants;
@@ -69,12 +70,12 @@ public class FeatureMatchExpression exte
this.op = op;
}
- public boolean checkFeatureValue(AnnotationFS afs, MatchContext context, RutaStream stream) {
+ public boolean checkFeatureValue(FeatureStructure fs, MatchContext context, RutaStream stream) {
Feature feature = getFeature(context, stream);
- return checkFeatureValue(afs, context, feature, stream);
+ return checkFeatureValue(fs, feature, context, stream);
}
- public boolean checkFeatureValue(AnnotationFS afs, MatchContext context, Feature feature,
+ public boolean checkFeatureValue(FeatureStructure fs, Feature feature, MatchContext context,
RutaStream stream) {
String rn = null;
if(feature instanceof CoveredTextFeature) {
@@ -84,7 +85,7 @@ public class FeatureMatchExpression exte
}
if (rn.equals(UIMAConstants.TYPE_BOOLEAN)) {
- Boolean v1 = afs.getBooleanValue(feature);
+ Boolean v1 = fs.getBooleanValue(feature);
if (getArg() instanceof IBooleanExpression) {
IBooleanExpression expr = (IBooleanExpression) getArg();
Boolean v2 = expr.getBooleanValue(context, stream);
@@ -92,21 +93,21 @@ public class FeatureMatchExpression exte
}
} else if (rn.equals(UIMAConstants.TYPE_INTEGER) || rn.equals(UIMAConstants.TYPE_BYTE)
|| rn.equals(UIMAConstants.TYPE_SHORT) || rn.equals(UIMAConstants.TYPE_LONG)) {
- Integer v1 = afs.getIntValue(feature);
+ Integer v1 = fs.getIntValue(feature);
if (getArg() instanceof INumberExpression) {
INumberExpression expr = (INumberExpression) getArg();
Integer v2 = expr.getIntegerValue(context, stream);
return compare(v1, v2);
}
} else if (rn.equals(UIMAConstants.TYPE_DOUBLE)) {
- Double v1 = afs.getDoubleValue(feature);
+ Double v1 = fs.getDoubleValue(feature);
if (getArg() instanceof INumberExpression) {
INumberExpression expr = (INumberExpression) getArg();
Double v2 = expr.getDoubleValue(context, stream);
return compare(v1, v2);
}
} else if (rn.equals(UIMAConstants.TYPE_FLOAT)) {
- Float v1 = afs.getFloatValue(feature);
+ Float v1 = fs.getFloatValue(feature);
if (getArg() instanceof INumberExpression) {
INumberExpression expr = (INumberExpression) getArg();
Float v2 = expr.getFloatValue(context, stream);
@@ -115,10 +116,10 @@ public class FeatureMatchExpression exte
} else if (rn.equals(UIMAConstants.TYPE_STRING)) {
String v1 = null;
// null is possibly coveredText
- if(feature instanceof CoveredTextFeature) {
- v1 = afs.getCoveredText();
+ if(feature instanceof CoveredTextFeature && fs instanceof AnnotationFS) {
+ v1 = ((AnnotationFS) fs).getCoveredText();
} else if (feature != null) {
- v1 = afs.getStringValue(feature);
+ v1 = fs.getStringValue(feature);
}
if (getArg() instanceof IStringExpression) {
IStringExpression expr = (IStringExpression) getArg();
@@ -127,11 +128,11 @@ public class FeatureMatchExpression exte
}
} else if (!feature.getRange().isPrimitive() && getArg() instanceof FeatureExpression) {
FeatureExpression fe = (FeatureExpression) getArg();
- List<AnnotationFS> list = new ArrayList<AnnotationFS>(1);
- list.add(afs);
- Collection<AnnotationFS> featureAnnotations = fe.getFeatureAnnotations(list, stream, context,
- false);
- return compare(afs.getFeatureValue(feature), featureAnnotations);
+ List<FeatureStructure> list = new ArrayList<>(1);
+ list.add(fs);
+ Collection<? extends AnnotationFS> featureAnnotations = fe.getAnnotations(list, false, context,
+ stream);
+ return compare(fs.getFeatureValue(feature), featureAnnotations);
}
return false;
}
@@ -185,6 +186,7 @@ public class FeatureMatchExpression exte
return false;
}
+ @Override
public String toString() {
String result = super.toString();
if(op != null) {
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=1762762&r1=1762761&r2=1762762&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 Thu Sep 29 12:55:41 2016
@@ -19,8 +19,8 @@
package org.apache.uima.ruta.expression.feature;
import org.apache.uima.cas.Feature;
+import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
-import org.apache.uima.cas.text.AnnotationFS;
public class LazyFeature implements Feature {
@@ -41,14 +41,8 @@ public class LazyFeature implements Feat
return delegate;
}
- public Feature initialize(AnnotationFS annotation) {
- if(annotation!= null) {
- delegate = annotation.getType().getFeatureByBaseName(featureName);
- }
- if(delegate == null) {
- return this;
- }
- return delegate;
+ public Feature initialize(FeatureStructure featureStructure) {
+ return initialize(featureStructure.getType());
}
@Override
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java Thu Sep 29 12:55:41 2016
@@ -22,7 +22,6 @@ package org.apache.uima.ruta.expression.
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.TreeSet;
import org.apache.commons.lang3.StringUtils;
import org.apache.uima.cas.Feature;
@@ -35,7 +34,6 @@ import org.apache.uima.ruta.UIMAConstant
import org.apache.uima.ruta.expression.MatchReference;
import org.apache.uima.ruta.expression.annotation.IAnnotationExpression;
import org.apache.uima.ruta.expression.type.ITypeExpression;
-import org.apache.uima.ruta.rule.AnnotationComparator;
import org.apache.uima.ruta.rule.MatchContext;
import org.apache.uima.ruta.utils.IndexedReference;
import org.apache.uima.ruta.utils.ParsingUtils;
@@ -44,8 +42,6 @@ public class SimpleFeatureExpression ext
private MatchReference mr;
- protected AnnotationComparator comparator = new AnnotationComparator();
-
public SimpleFeatureExpression(MatchReference mr) {
super();
this.mr = mr;
@@ -59,8 +55,9 @@ public class SimpleFeatureExpression ext
if (feature instanceof LazyFeature) {
LazyFeature lazyFeature = (LazyFeature) feature;
AnnotationFS annotation = context.getAnnotation();
- List<AnnotationFS> targetAnnotation = getTargetAnnotation(annotation, this, context, stream);
- if(targetAnnotation != null && !targetAnnotation.isEmpty()) {
+ List<AnnotationFS> targetAnnotation = getTargetAnnotation(annotation, this, context,
+ stream);
+ if (targetAnnotation != null && !targetAnnotation.isEmpty()) {
annotation = targetAnnotation.get(0);
}
feature = lazyFeature.initialize(annotation);
@@ -88,7 +85,7 @@ public class SimpleFeatureExpression ext
}
} else if (StringUtils.equals(each, UIMAConstants.FEATURE_COVERED_TEXT)
|| StringUtils.equals(each, UIMAConstants.FEATURE_COVERED_TEXT_SHORT)) {
- if(type != null) {
+ if (type != null) {
feature = type.getFeatureByBaseName(each);
}
if (feature == null) {
@@ -101,8 +98,8 @@ public class SimpleFeatureExpression ext
} else {
feature = type.getFeatureByBaseName(each);
if (feature == null) {
- throw new IllegalArgumentException(
- "Not able to access feature " + each + " of type " + type.getName());
+ // type maybe not specific enough
+ feature = new LazyFeature(each);
}
}
result.add(feature);
@@ -132,38 +129,64 @@ public class SimpleFeatureExpression ext
return null;
}
+ @Override
public List<String> getFeatureStringList(MatchContext context, RutaStream stream) {
return mr.getFeatureList();
}
- public Collection<AnnotationFS> getFeatureAnnotations(Collection<AnnotationFS> annotations,
- RutaStream stream, MatchContext context, boolean checkOnFeatureValue) {
+ @Override
+ public Collection<? extends AnnotationFS> getAnnotations(
+ Collection<? extends FeatureStructure> featureStructures, boolean checkOnFeatureValue,
+ MatchContext context, RutaStream stream) {
- Collection<AnnotationFS> result = new TreeSet<AnnotationFS>(comparator);
+ Collection<AnnotationFS> result = new ArrayList<>();
List<Feature> features = getFeatures(context, stream);
if (features != null && !features.isEmpty()) {
- collectFeatureAnnotations(annotations, features, checkOnFeatureValue, result, stream,
- context);
+ collectFeatureStructures(featureStructures, features, checkOnFeatureValue, true, result,
+ stream, context);
return result;
} else {
- return annotations;
+ return filterAnnotations(featureStructures);
}
}
- private void collectFeatureAnnotations(Collection<AnnotationFS> annotations,
- List<Feature> features, boolean checkOnFeatureValue, Collection<AnnotationFS> result,
- RutaStream stream, MatchContext context) {
- for (AnnotationFS each : annotations) {
- collectFeatureAnnotations(each, features, checkOnFeatureValue, result, stream, context);
+ @Override
+ public Collection<? extends FeatureStructure> getFeatureStructures(
+ Collection<? extends FeatureStructure> featureStructures, boolean checkOnFeatureValue,
+ MatchContext context, RutaStream stream) {
+ Collection<FeatureStructure> result = new ArrayList<>();
+ List<Feature> features = getFeatures(context, stream);
+ if (features != null && !features.isEmpty()) {
+ collectFeatureStructures(featureStructures, features, checkOnFeatureValue, false, result,
+ stream, context);
+ return result;
+ } else {
+ return featureStructures;
}
}
- private void collectFeatureAnnotations(AnnotationFS annotation, List<Feature> features,
- boolean checkOnFeatureValue, Collection<AnnotationFS> result, RutaStream stream,
- MatchContext context) {
- if (annotation == null) {
+ private <T> void collectFeatureStructures(Collection<? extends FeatureStructure> featureStructures,
+ List<Feature> features, boolean checkOnFeatureValue, boolean onlyAnnotations,
+ Collection<T> result, RutaStream stream, MatchContext context) {
+ for (FeatureStructure each : featureStructures) {
+ collectFeatureStructures(each, features, checkOnFeatureValue, onlyAnnotations, null, result,
+ stream, context);
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private <T> void collectFeatureStructures(FeatureStructure featureStructure, List<Feature> features,
+ boolean checkOnFeatureValue, boolean collectOnlyAnnotations,
+ T lastValidFeatureStructure, Collection<T> result,
+ RutaStream stream, MatchContext context) {
+ if (featureStructure == null) {
return;
}
+ if (!collectOnlyAnnotations) {
+ lastValidFeatureStructure = (T) featureStructure;
+ } else if (featureStructure instanceof AnnotationFS) {
+ lastValidFeatureStructure = (T) featureStructure;
+ }
Feature currentFeature = null;
List<Feature> tail = null;
@@ -172,10 +195,10 @@ public class SimpleFeatureExpression ext
currentFeature = features.get(0);
if (currentFeature instanceof LazyFeature) {
LazyFeature lazyFeature = (LazyFeature) currentFeature;
- Feature delegate = lazyFeature.initialize(annotation);
+ Feature delegate = lazyFeature.initialize(featureStructure);
if (delegate == null) {
throw new RuntimeException("Invalid feature! Feature '" + lazyFeature.getFeatureName()
- + "' is not defined for type '" + annotation.getType() + "'.");
+ + "' is not defined for type '" + featureStructure.getType() + "'.");
} else {
currentFeature = delegate;
}
@@ -189,33 +212,35 @@ public class SimpleFeatureExpression ext
if (this instanceof FeatureMatchExpression) {
FeatureMatchExpression fme = (FeatureMatchExpression) this;
if (checkOnFeatureValue) {
- if (fme.checkFeatureValue(annotation, context, currentFeature, stream)) {
- result.add(annotation);
+ if (fme.checkFeatureValue(featureStructure, currentFeature, context, stream)) {
+ result.add(lastValidFeatureStructure);
}
} else {
- result.add(annotation);
+ result.add(lastValidFeatureStructure);
}
} else {
- result.add(annotation);
+ result.add(lastValidFeatureStructure);
}
} else {
- collectFeatureAnnotations(annotation, currentFeature, tail, checkOnFeatureValue, result,
- stream, context);
+ collectFeatureStructures(featureStructure, currentFeature, tail, checkOnFeatureValue,
+ collectOnlyAnnotations, lastValidFeatureStructure, result, stream, context);
}
}
- private void collectFeatureAnnotations(AnnotationFS annotation, Feature currentFeature,
- List<Feature> tail, boolean checkOnFeatureValue, Collection<AnnotationFS> result,
- RutaStream stream, MatchContext context) {
+ private <T> void collectFeatureStructures(FeatureStructure featureStructure, Feature currentFeature,
+ List<Feature> tail, boolean checkOnFeatureValue, boolean collectOnlyAnnotations,
+ T lastValidFeatureStructure, Collection<T> result, RutaStream stream,
+ MatchContext context) {
+
// stop early for match expressions
if (this instanceof FeatureMatchExpression && (tail == null || tail.isEmpty())) {
FeatureMatchExpression fme = (FeatureMatchExpression) this;
if (checkOnFeatureValue) {
- if (fme.checkFeatureValue(annotation, context, currentFeature, stream)) {
- result.add(annotation);
+ if (fme.checkFeatureValue(featureStructure, currentFeature, context, stream)) {
+ result.add(lastValidFeatureStructure);
}
} else {
- result.add(annotation);
+ result.add(lastValidFeatureStructure);
}
return;
}
@@ -227,32 +252,35 @@ public class SimpleFeatureExpression ext
index = indexedFeature.getIndex();
}
- FeatureStructure value = annotation.getFeatureValue(currentFeature);
+ FeatureStructure value = featureStructure.getFeatureValue(currentFeature);
if (value instanceof AnnotationFS) {
AnnotationFS next = (AnnotationFS) value;
- collectFeatureAnnotations(next, tail, checkOnFeatureValue, result, stream, context);
+ collectFeatureStructures(next, tail, checkOnFeatureValue, collectOnlyAnnotations,
+ lastValidFeatureStructure, result, stream, context);
} else if (value instanceof FSArray && index >= 0) {
FSArray array = (FSArray) value;
if (index < array.size()) {
FeatureStructure fs = array.get(index);
if (fs instanceof AnnotationFS) {
AnnotationFS next = (AnnotationFS) fs;
- collectFeatureAnnotations(next, tail, checkOnFeatureValue, result, stream, context);
+ collectFeatureStructures(next, tail, checkOnFeatureValue, collectOnlyAnnotations,
+ lastValidFeatureStructure, result, stream, context);
}
}
} else if (value instanceof FSArray) {
FSArray array = (FSArray) value;
for (int i = 0; i < array.size(); i++) {
- // TODO: also feature structures or only annotations?
FeatureStructure fs = array.get(i);
- if (fs instanceof AnnotationFS) {
- AnnotationFS next = (AnnotationFS) fs;
- collectFeatureAnnotations(next, tail, checkOnFeatureValue, result, stream, context);
- }
+ collectFeatureStructures(fs, tail, checkOnFeatureValue, collectOnlyAnnotations,
+ lastValidFeatureStructure, result, stream, context);
}
+ } else if (value != null && !value.getType().isPrimitive()) {
+ // feature structure feature values
+ collectFeatureStructures(value, tail, checkOnFeatureValue, collectOnlyAnnotations,
+ lastValidFeatureStructure, result, stream, context);
} else if (value != null) {
- result.add(annotation);
// primitive? -> return last annotation for further processing
+ result.add(lastValidFeatureStructure);
// throw new IllegalArgumentException(value.getType()
// + " is not supported in a feature match expression (" + mr.getMatch() + ").");
}
@@ -262,8 +290,21 @@ public class SimpleFeatureExpression ext
return mr;
}
+ @Override
public String toString() {
return mr.getMatch();
}
+ private Collection<AnnotationFS> filterAnnotations(
+ Collection<? extends FeatureStructure> featureStructures) {
+ Collection<AnnotationFS> result = new ArrayList<>(featureStructures.size());
+
+ for (FeatureStructure featureStructure : featureStructures) {
+ if (featureStructure instanceof AnnotationFS) {
+ result.add((AnnotationFS) featureStructure);
+ }
+ }
+ return result;
+ }
+
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/ComposedNumberExpression.java Thu Sep 29 12:55:41 2016
@@ -36,6 +36,7 @@ public class ComposedNumberExpression ex
this.ops = ops;
}
+ @Override
public double getDoubleValue(MatchContext context, RutaStream stream) {
INumberExpression numberExpression = getExpressions().get(0);
if (numberExpression == null) {
@@ -52,6 +53,7 @@ public class ComposedNumberExpression ex
return result;
}
+ @Override
public float getFloatValue(MatchContext context, RutaStream stream) {
INumberExpression numberExpression = getExpressions().get(0);
if (numberExpression == null) {
@@ -68,6 +70,7 @@ public class ComposedNumberExpression ex
return result;
}
+ @Override
public int getIntegerValue(MatchContext context, RutaStream stream) {
int result = getExpressions().get(0).getIntegerValue(context, stream);
for (int i = 0; i < getOperators().size(); i++) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NegativeNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NegativeNumberExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NegativeNumberExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NegativeNumberExpression.java Thu Sep 29 12:55:41 2016
@@ -31,18 +31,22 @@ public class NegativeNumberExpression ex
this.ne = simpleNumberExpression;
}
+ @Override
public double getDoubleValue(MatchContext context, RutaStream stream) {
return -ne.getDoubleValue(context, stream);
}
+ @Override
public float getFloatValue(MatchContext context, RutaStream stream) {
return -ne.getFloatValue(context, stream);
}
+ @Override
public int getIntegerValue(MatchContext context, RutaStream stream) {
return -ne.getIntegerValue(context, stream);
}
+ @Override
public String getStringValue(MatchContext context, RutaStream stream) {
return "-" + ne.getStringValue(context, stream);
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFeatureExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFeatureExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFeatureExpression.java Thu Sep 29 12:55:41 2016
@@ -39,16 +39,19 @@ public class NumberFeatureExpression ext
this.fe = fe;
}
+ @Override
public int getIntegerValue(MatchContext context, RutaStream stream) {
Number v = getNumberValue(context, stream);
return v == null ? 0 : v.intValue();
}
+ @Override
public double getDoubleValue(MatchContext context, RutaStream stream) {
Number v = getNumberValue(context, stream);
return v == null ? 0 : v.doubleValue();
}
+ @Override
public float getFloatValue(MatchContext context, RutaStream stream) {
Number v = getNumberValue(context, stream);
return v == null ? 0 : v.floatValue();
@@ -58,8 +61,8 @@ public class NumberFeatureExpression ext
AnnotationFS annotation = context.getAnnotation();
Number result = null;
List<AnnotationFS> list = getTargetAnnotation(annotation, fe, context, stream);
- Collection<AnnotationFS> featureAnnotations = fe.getFeatureAnnotations(list, stream, context,
- false);
+ Collection<? extends AnnotationFS> featureAnnotations = fe.getAnnotations(list, false, context,
+ stream);
if (!featureAnnotations.isEmpty()) {
Feature feature = fe.getFeature(context, stream);
Type range = feature.getRange();
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberListFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberListFeatureExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberListFeatureExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberListFeatureExpression.java Thu Sep 29 12:55:41 2016
@@ -58,8 +58,8 @@ public class NumberListFeatureExpression
return Collections.emptyList();
}
List<AnnotationFS> list = getTargetAnnotation(annotation, fe, context, stream);
- Collection<AnnotationFS> featureAnnotations = fe.getFeatureAnnotations(list, stream, context,
- false);
+ Collection<? extends AnnotationFS> featureAnnotations = fe.getAnnotations(list, false, context,
+ stream);
List<Number> result = new ArrayList<>();
for (AnnotationFS each : featureAnnotations) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberVariableExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberVariableExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberVariableExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberVariableExpression.java Thu Sep 29 12:55:41 2016
@@ -32,6 +32,7 @@ public class NumberVariableExpression ex
this.var = var;
}
+ @Override
public double getDoubleValue(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
Object value = parent.getEnvironment().getVariableValue(getVar(), stream);
@@ -42,6 +43,7 @@ public class NumberVariableExpression ex
return variableValue;
}
+ @Override
public float getFloatValue(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
Object value = parent.getEnvironment().getVariableValue(getVar(), stream);
@@ -52,6 +54,7 @@ public class NumberVariableExpression ex
return variableValue;
}
+ @Override
public int getIntegerValue(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
Object value = parent.getEnvironment().getVariableValue(getVar(), stream);
@@ -62,6 +65,7 @@ public class NumberVariableExpression ex
return variableValue;
}
+ @Override
public String getStringValue(MatchContext context, RutaStream stream) {
RutaBlock parent = context.getParent();
Class<?> variableType = parent.getEnvironment().getVariableType(getVar());
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/SimpleNumberExpression.java Thu Sep 29 12:55:41 2016
@@ -31,14 +31,17 @@ public class SimpleNumberExpression exte
this.number = number;
}
+ @Override
public double getDoubleValue(MatchContext context, RutaStream stream) {
return number.doubleValue();
}
+ @Override
public float getFloatValue(MatchContext context, RutaStream stream) {
return number.floatValue();
}
+ @Override
public int getIntegerValue(MatchContext context, RutaStream stream) {
return number.intValue();
}
@@ -47,6 +50,7 @@ public class SimpleNumberExpression exte
return number;
}
+ @Override
public String getStringValue(MatchContext context, RutaStream stream) {
boolean floating = number.intValue() != number.doubleValue();
if (floating) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/SimpleStringExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/SimpleStringExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/SimpleStringExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/SimpleStringExpression.java Thu Sep 29 12:55:41 2016
@@ -48,6 +48,7 @@ public class SimpleStringExpression exte
return value;
}
+ @Override
public String toString() {
return value;
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFeatureExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFeatureExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFeatureExpression.java Thu Sep 29 12:55:41 2016
@@ -43,8 +43,8 @@ public class StringFeatureExpression ext
AnnotationFS annotation = context.getAnnotation();
Feature feature = fe.getFeature(context, stream);
List<AnnotationFS> list = getTargetAnnotation(annotation, fe, context, stream);
- Collection<AnnotationFS> featureAnnotations = fe.getFeatureAnnotations(list, stream, context,
- false);
+ Collection<? extends AnnotationFS> featureAnnotations = fe.getAnnotations(list, false, context,
+ stream);
if (!featureAnnotations.isEmpty()) {
AnnotationFS next = featureAnnotations.iterator().next();
if (feature instanceof CoveredTextFeature) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringListFeatureExpression.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringListFeatureExpression.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringListFeatureExpression.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringListFeatureExpression.java Thu Sep 29 12:55:41 2016
@@ -56,8 +56,8 @@ public class StringListFeatureExpression
return Collections.emptyList();
}
List<AnnotationFS> list = getTargetAnnotation(annotation, fe, context, stream);
- Collection<AnnotationFS> featureAnnotations = fe.getFeatureAnnotations(list, stream, context,
- false);
+ Collection<? extends AnnotationFS> featureAnnotations = fe.getAnnotations(list, false, context,
+ stream);
List<String> result = new ArrayList<>();
for (AnnotationFS each : featureAnnotations) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/AnonymousWordList.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/AnonymousWordList.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/AnonymousWordList.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/AnonymousWordList.java Thu Sep 29 12:55:41 2016
@@ -36,16 +36,19 @@ public class AnonymousWordList implement
this.list = strings;
}
+ @Override
public boolean contains(String s, boolean ignoreCase, int size, char[] ignoreChars,
int maxIgnoreChars, boolean ignoreWS) {
return list.contains(s);
}
+ @Override
public boolean containsFragment(String s, boolean ignoreCase, int size, char[] ignoreChars,
int maxIgnoreChars, boolean ignoreWS) {
return contains(s, ignoreCase, size, ignoreChars, maxIgnoreChars, ignoreWS);
}
+ @Override
public List<AnnotationFS> find(RutaStream stream, boolean ignoreCase, int size,
char[] ignoreToken, int maxIgnoredTokens, boolean ignoreWS) {
List<AnnotationFS> result = new ArrayList<AnnotationFS>();
@@ -61,16 +64,19 @@ public class AnonymousWordList implement
return result;
}
+ @Override
public List<AnnotationFS> find(RutaStream stream, Map<String, Object> typeMap,
boolean ignoreCase, int ignoreLength, boolean edit, double distance, String ignoreToken) {
return new ArrayList<AnnotationFS>();
}
+ @Override
public List<String> contains(String string, boolean ignoreCase, int ignoreLength, boolean edit,
double distance, String ignoreToken) {
return null;
}
+ @Override
public List<String> containsFragment(String string, boolean ignoreCase, int ignoreLength,
boolean edit, double distance, String ignoreToken) {
return null;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/CSVTable.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/CSVTable.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/CSVTable.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/CSVTable.java Thu Sep 29 12:55:41 2016
@@ -82,6 +82,7 @@ public class CSVTable implements RutaTab
sc.close();
}
+ @Override
public RutaWordList getWordList(int index, RutaBlock parent) {
RutaWordList list = columnWordLists.get(index);
if (list == null) {
@@ -110,10 +111,12 @@ public class CSVTable implements RutaTab
return result;
}
+ @Override
public String getEntry(int row, int column) {
return tableData.get(row).get(column);
}
+ @Override
public List<String> getRowWhere(int column, String value) {
List<String> columnData = getColumnData(column);
int i = 0;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordList.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordList.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordList.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordList.java Thu Sep 29 12:55:41 2016
@@ -404,6 +404,7 @@ public class MultiTreeWordList implement
* @return Returns a list of types which belong to a string.
*/
+ @Override
public List<String> contains(String string, boolean ignoreCase, int ignoreLength, boolean edit,
double distance, String ignoreToken) {
@@ -482,6 +483,7 @@ public class MultiTreeWordList implement
* The maximum number of ignored characters.
* @return true, if TreeWordList contains the string, false otherwise.
*/
+ @Override
public boolean contains(String s, boolean ignoreCase, int size, char[] ignoreChars,
int maxIgnoreChars, boolean ignoreWS) {
@@ -509,6 +511,7 @@ public class MultiTreeWordList implement
* The maximum number of ignored characters.
* @return true, if TreeWordList contains a prefix of the string, false otherwise.
*/
+ @Override
public boolean containsFragment(String s, boolean ignoreCase, int size, char[] ignoreChars,
int maxIgnoreChars, boolean ignoreWS) {
MultiTextNode pointer = root;
@@ -562,6 +565,7 @@ public class MultiTreeWordList implement
* @return A list of types which belong to a prefix of a string that is contained by the
* MultiTreeWordList.
*/
+ @Override
public List<String> containsFragment(String string, boolean ignoreCase, int ignoreLength,
boolean edit, double distance, String ignoreToken) {
@@ -788,6 +792,7 @@ public class MultiTreeWordList implement
}
}
+ @Override
public Collection<AnnotationFS> find(RutaStream stream, Map<String, Object> typeMap,
boolean ignoreCase, int ignoreLength, boolean edit, double distance, String ignoreToken) {
@@ -862,6 +867,7 @@ public class MultiTreeWordList implement
return results;
}
+ @Override
public List<AnnotationFS> find(RutaStream stream, boolean ignoreCase, int size,
char[] ignoreChars, int maxIgnoredChars, boolean ignoreWS) {
assert false;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/ResourcePathResourceLoader.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/ResourcePathResourceLoader.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/ResourcePathResourceLoader.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/ResourcePathResourceLoader.java Thu Sep 29 12:55:41 2016
@@ -40,6 +40,7 @@ public class ResourcePathResourceLoader
this.resourcePaths = resourcePaths;
}
+ @Override
public Resource getResource(String location) {
if (resourcePaths != null) {
for (String parent : resourcePaths) {
@@ -53,6 +54,7 @@ public class ResourcePathResourceLoader
return new DescriptiveResource(location + " was not found in resource paths");
}
+ @Override
public ClassLoader getClassLoader() {
return getClass().getClassLoader();
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TextNode.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TextNode.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TextNode.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TextNode.java Thu Sep 29 12:55:41 2016
@@ -77,6 +77,7 @@ public class TextNode {
return this.children;
}
+ @Override
public String toString() {
return value + (isWordEnd ? "+" : "");
}
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java Thu Sep 29 12:55:41 2016
@@ -199,6 +199,7 @@ public class TreeWordList implements Rut
pointer.setWordEnd(s.length() > 0);
}
+ @Override
public boolean contains(String s, boolean ignoreCase, int size, char[] ignoreChars,
int maxIgnoreChars, boolean ignoreWS) {
if (s == null) {
@@ -209,6 +210,7 @@ public class TreeWordList implements Rut
maxIgnoreChars, ignoreWS);
}
+ @Override
public boolean containsFragment(String s, boolean ignoreCase, int size, char[] ignoreChars,
int maxIgnoreChars, boolean ignoreWS) {
TextNode pointer = root;
@@ -303,6 +305,7 @@ public class TreeWordList implements Rut
return null;
}
+ @Override
public List<AnnotationFS> find(RutaStream stream, boolean ignoreCase, int size,
char[] ignoreChars, int maxIgnoredChars, boolean ignoreWS) {
ArrayList<AnnotationFS> results = new ArrayList<AnnotationFS>();
@@ -463,16 +466,19 @@ public class TreeWordList implements Rut
return name;
}
+ @Override
public List<AnnotationFS> find(RutaStream stream, Map<String, Object> typeMap,
boolean ignoreCase, int ignoreLength, boolean edit, double distance, String ignoreToken) {
return null;
}
+ @Override
public List<String> contains(String string, boolean ignoreCase, int ignoreLength, boolean edit,
double distance, String ignoreToken) {
return null;
}
+ @Override
public List<String> containsFragment(String string, boolean ignoreCase, int ignoreLength,
boolean edit, double distance, String ignoreToken) {
return null;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/AnnotationComparator.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/AnnotationComparator.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/AnnotationComparator.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/AnnotationComparator.java Thu Sep 29 12:55:41 2016
@@ -34,6 +34,7 @@ public class AnnotationComparator implem
*
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
*/
+ @Override
public int compare(AnnotationFS o1, AnnotationFS o2) {
if (o1.getBegin() < o2.getBegin()) {
return -1;
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElement.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElement.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElement.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElement.java Thu Sep 29 12:55:41 2016
@@ -58,11 +58,13 @@ public class ComposedRuleElement extends
this.caretaker = new RuleElementCaretaker(this);
}
+ @Override
public void apply(RuleMatch match, RutaStream symbolStream, InferenceCrowd crowd) {
applyRuleElements(match, symbolStream, crowd);
super.apply(match, symbolStream, crowd);
}
+ @Override
public List<RuleMatch> startMatch(RuleMatch ruleMatch, RuleApply ruleApply,
ComposedRuleElementMatch containerMatch, RuleElement entryPoint, RutaStream stream,
InferenceCrowd crowd) {
@@ -176,6 +178,7 @@ public class ComposedRuleElement extends
return composedMatch;
}
+ @Override
public List<RuleMatch> continueMatch(boolean after, AnnotationFS annotation, RuleMatch ruleMatch,
RuleApply ruleApply, ComposedRuleElementMatch containerMatch,
RutaRuleElement sideStepOrigin, RuleElement entryPoint, RutaStream stream,
@@ -353,6 +356,7 @@ public class ComposedRuleElement extends
return result;
}
+ @Override
public List<RuleMatch> continueOwnMatch(boolean after, AnnotationFS annotation,
RuleMatch ruleMatch, RuleApply ruleApply, ComposedRuleElementMatch containerMatch,
RutaRuleElement sideStepOrigin, RuleElement entryPoint, RutaStream stream,
@@ -564,12 +568,14 @@ public class ComposedRuleElement extends
match.setInlinedRulesMatched(inlinedRulesMatched);
}
- public Collection<AnnotationFS> getAnchors(RutaStream stream) {
+ @Override
+ public Collection<? extends AnnotationFS> getAnchors(RutaStream stream) {
RuleElement anchorElement = getAnchoringRuleElement(stream);
- Collection<AnnotationFS> anchors = anchorElement.getAnchors(stream);
+ Collection<? extends AnnotationFS> anchors = anchorElement.getAnchors(stream);
return anchors;
}
+ @Override
public long estimateAnchors(RutaStream stream) {
long result = 1;
for (RuleElement each : elements) {
@@ -583,10 +589,12 @@ public class ComposedRuleElement extends
return result;
}
+ @Override
public RuleElement getAnchoringRuleElement(RutaStream stream) {
return caretaker.getAnchoringRuleElement(stream);
}
+ @Override
public List<RuleElement> getRuleElements() {
return elements;
}
@@ -595,18 +603,22 @@ public class ComposedRuleElement extends
this.elements = elements;
}
+ @Override
public RuleElement getFirstElement() {
return caretaker.getFirstElement();
}
+ @Override
public RuleElement getLastElement() {
return caretaker.getLastElement();
}
+ @Override
public void applyRuleElements(RuleMatch ruleMatch, RutaStream stream, InferenceCrowd crowd) {
caretaker.applyRuleElements(ruleMatch, stream, crowd);
}
+ @Override
public String toString() {
String con = "";
if (conjunct != null) {
@@ -620,6 +632,7 @@ public class ComposedRuleElement extends
;
}
+ @Override
public RuleElement getNextElement(boolean after, RuleElement ruleElement) {
// return caretaker.getNextElement(after, ruleElement);
if (conjunct == null || this.equals(ruleElement)) {
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElementMatch.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElementMatch.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElementMatch.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElementMatch.java Thu Sep 29 12:55:41 2016
@@ -41,7 +41,7 @@ public class ComposedRuleElementMatch ex
ComposedRuleElementMatch containerMatch) {
super(ruleElement, containerMatch);
baseConditionMatched = false;
- ComposedRuleElement cre = (ComposedRuleElement) ruleElement;
+ ComposedRuleElement cre = ruleElement;
innerMatches = new TreeMap<RuleElement, List<RuleElementMatch>>(new RuleElementComparator(cre));
List<RuleElement> ruleElements = cre.getRuleElements();
for (RuleElement eachRuleElement : ruleElements) {
@@ -107,6 +107,7 @@ public class ComposedRuleElementMatch ex
}
}
+ @Override
public ComposedRuleElementMatch copy() {
ComposedRuleElementMatch copy = new ComposedRuleElementMatch((ComposedRuleElement) ruleElement,
containerMatch);
@@ -262,10 +263,12 @@ public class ComposedRuleElementMatch ex
enforceUpdate();
}
+ @Override
public String toString() {
return "CREM" + innerMatches.toString();
}
+ @Override
public List<AnnotationFS> getTextsMatched() {
if (!textsMatchedUpdated || textsMatched == null) {
Collection<AnnotationFS> set = new TreeSet<AnnotationFS>(new AnnotationComparator());
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ConjunctRulesRuleElement.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ConjunctRulesRuleElement.java?rev=1762762&r1=1762761&r2=1762762&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ConjunctRulesRuleElement.java (original)
+++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ConjunctRulesRuleElement.java Thu Sep 29 12:55:41 2016
@@ -39,6 +39,7 @@ public class ConjunctRulesRuleElement ex
this.elements = elements;
}
+ @Override
public List<RuleMatch> startMatch(RuleMatch ruleMatch, RuleApply ruleApply,
ComposedRuleElementMatch containerMatch, RuleElement entryPoint, RutaStream stream,
InferenceCrowd crowd) {
@@ -73,6 +74,7 @@ public class ConjunctRulesRuleElement ex
return result;
}
+ @Override
public List<RuleMatch> continueMatch(boolean after, AnnotationFS annotation, RuleMatch ruleMatch,
RuleApply ruleApply, ComposedRuleElementMatch containerMatch,
RutaRuleElement sideStepOrigin, RuleElement entryPoint, RutaStream stream,
@@ -80,6 +82,7 @@ public class ConjunctRulesRuleElement ex
throw new UnsupportedOperationException();
}
+ @Override
public List<RuleMatch> continueOwnMatch(boolean after, AnnotationFS annotation,
RuleMatch ruleMatch, RuleApply ruleApply, ComposedRuleElementMatch containerMatch,
RutaRuleElement sideStepOrigin, RuleElement entryPoint, RutaStream stream,
@@ -87,34 +90,42 @@ public class ConjunctRulesRuleElement ex
throw new UnsupportedOperationException();
}
+ @Override
public Collection<AnnotationFS> getAnchors(RutaStream symbolStream) {
throw new UnsupportedOperationException();
}
+ @Override
public long estimateAnchors(RutaStream stream) {
throw new UnsupportedOperationException();
}
+ @Override
public List<RuleElement> getRuleElements() {
return elements;
}
+ @Override
public RuleElement getFirstElement() {
return null;
}
+ @Override
public RuleElement getLastElement() {
return null;
}
+ @Override
public RuleElement getAnchoringRuleElement(RutaStream stream) {
return null;
}
+ @Override
public RuleElement getNextElement(boolean after, RuleElement ruleElement) {
return null;
}
+ @Override
public boolean hasAncestor(boolean after) {
return false;
}