Author: pkluegl
Date: Wed Jan 16 11:45:02 2019
New Revision: 1851430

URL: http://svn.apache.org/viewvc?rev=1851430&view=rev
Log:
no jira - merge ruta v2 to ruta v3

Added:
    
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/test/java/org/apache/uima/ruta/string/bool/
    
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/test/java/org/apache/uima/ruta/string/bool/VerbalizerTest.java
    uima/uv3/ruta-v3/trunk/ruta-core/TypeSystem.xml
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaProcessRuntimeException.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanAnnotationExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanAnnotationListExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaOptionalRuleElement.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/utils/XmlUtils.java
    uima/uv3/ruta-v3/trunk/ruta-core/src/main/jflex/
    uima/uv3/ruta-v3/trunk/ruta-core/src/main/jflex/org/
    uima/uv3/ruta-v3/trunk/ruta-core/src/main/jflex/org/apache/
    uima/uv3/ruta-v3/trunk/ruta-core/src/main/jflex/org/apache/uima/
    uima/uv3/ruta-v3/trunk/ruta-core/src/main/jflex/org/apache/uima/ruta/
    uima/uv3/ruta-v3/trunk/ruta-core/src/main/jflex/org/apache/uima/ruta/seed/
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/jflex/org/apache/uima/ruta/seed/SeedLexer.flex
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/LabelAtActionTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/DummyAnnotator.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/DummySeeder.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/MultipleSeedersTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/TestRutaInferenceVisitor.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/string/
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/string/StringSubtypeAllowedValuesTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/resource/
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/resource/CSVTableTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/RutaOptionalRuleElementTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/action/ConfigureTest.ruta
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/action/ConfigureTest.txt
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/action/ConfigureTestEngine.xml
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/action/ConfigureTestTypeSystem.xml
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/resource/
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/resources/org/apache/uima/ruta/resource/test_csvfile.csv
    uima/uv3/ruta-v3/trunk/ruta-parent/src/
    uima/uv3/ruta-v3/trunk/ruta-parent/src/main/
    uima/uv3/ruta-v3/trunk/ruta-parent/src/main/groovy/
    uima/uv3/ruta-v3/trunk/ruta-parent/src/main/groovy/api-report.groovy
Removed:
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/VariableCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed/SeedLexer.flex
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/seed/SeedLexer.java
Modified:
    
uima/uv3/ruta-v3/trunk/ruta-basic-type/src/main/java/org/apache/uima/ruta/type/RutaBasic.java
    
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/action/MarkTableReloadAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/BooleanOperationsExtension.java
    
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/ContainsBooleanFunction.java
    
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EndsWithBooleanFunction.java
    
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EqualsBooleanFunction.java
    
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EqualsIgnoreCaseBooleanFunction.java
    
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/StartsWithBooleanFunction.java
    uima/uv3/ruta-v3/trunk/ruta-core/pom.xml
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaLexer.g
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaConstants.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaEnvironment.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaScriptFactory.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaStream.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractMarkAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AbstractRutaAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/ActionFactory.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AddFilterTypeAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/AddRetainTypeAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/CallAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/ConfigureAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/CreateAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/ExecAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/FillAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/FilterTypeAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/GatherAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/GetFeatureAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkOnceAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/MarkTableAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveFilterTypeAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/RemoveRetainTypeAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/SetFeatureAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/ShiftAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/SplitAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/TransferAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/TrieAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/TrimAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/action/UnmarkAllAction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/AfterCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/BeforeCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ConditionFactory.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContainsCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ContextCountCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/CountCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/CurrentCountCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/EndsWithCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/FeatureCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ImplicitCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/InListCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/IsCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/LastCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/NearCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ParseCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/PartOfNeqCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/PositionCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/RegExpCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/ScoreCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/StartsWithCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/TotalCountCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/condition/VoteCondition.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorFactory.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/Ruta.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaEngine.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/RutaTestUtils.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/engine/StyleMapFactory.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/AnnotationTypeExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/ExpressionFactory.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/MatchReference.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanFeatureExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanListFeatureExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/bool/BooleanStringExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/FeatureMatchExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/LazyFeature.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/feature/SimpleFeatureExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberFeatureExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/number/NumberListFeatureExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/ComposedStringExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/RemoveFunction.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringFeatureExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/string/StringListFeatureExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/ITypeListExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/SimpleTypeExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeListVariableExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/expression/type/TypeVariableExpression.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/AnonymousWordList.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/CSVTable.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordList.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/MultiTreeWordListPersistence.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/RutaTable.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/resource/TreeWordList.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/AbstractRuleElement.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElement.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ComposedRuleElementMatch.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/ConjunctRulesRuleElement.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RegExpRule.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleApply.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RuleElement.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaAnnotationTypeMatcher.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaLiteralMatcher.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaRule.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/RutaRuleElement.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/WildCardRuleElement.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/AbstractRuleElementQuantifier.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/MinMaxGreedy.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/MinMaxReluctant.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/PlusGreedy.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/PlusReluctant.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/QuestionGreedy.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/QuestionReluctant.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/rule/quantifier/StarGreedy.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/visitor/DebugInfoCollectorVisitor.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/visitor/DebugInfoFactory.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/main/resources/org/apache/uima/ruta/engine/BasicEngine.xml
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/FeatureMatch1Test.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/ImportStatementsTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/LoadResourceFromClassPathTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/WSDictionaryTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/ConfigureTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/CreateTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/ImplicitActionTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/action/SplitTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ContainsTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/CountTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/FeatureTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ImplicitCondition1Test.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/condition/ImplicitCondition2Test.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/descriptor/GenerateDescriptorTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/ParamVarTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/RutaEngineTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/engine/ThreeStackedScriptsVariableResetTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/AnnotationTypeExpressionTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationFeatureExpressionTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationLabelExpressionTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/annotation/AnnotationVariableExpressionTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/expression/resource/WordTableStringExpressionTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/InlinedRulesTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/MarkInGreedyComposedTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/RegExpRuleTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/SidestepInComposedTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/rule/WildCard2Test.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/seed/DefaultSeederTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ActionVerbalizerTest.java
    
uima/uv3/ruta-v3/trunk/ruta-core/src/test/java/org/apache/uima/ruta/verbalizer/ExpressionVerbalizerTest.java
    
uima/uv3/ruta-v3/trunk/ruta-docbook/src/docbook/tools.ruta.language.syntax.xml
    uima/uv3/ruta-v3/trunk/ruta-docbook/src/docbook/tools.ruta.language.xml
    uima/uv3/ruta-v3/trunk/ruta-docbook/src/docbook/tools.ruta.overview.xml
    uima/uv3/ruta-v3/trunk/ruta-eclipse-update-site/pom.xml
    
uima/uv3/ruta-v3/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/cde/utils/ConstraintXMLUtils.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/check/XMLUtils.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/explain/ExplainConstants.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/explain/tree/ExplainTree.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-addons/src/main/java/org/apache/uima/ruta/query/ui/QueryActionHandler.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/formatter/RutaFormattedPrinter.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPageFolder.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/documentation/RutaPagesLocationsBlock.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/ui/editor/RutaEditor.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/LanguageCheckerVisitor.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RuleElementLabelVisitor.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide/src/main/antlr3/org/apache/uima/ruta/ide/core/parser/RutaLexer.g
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide/src/main/antlr3/org/apache/uima/ruta/ide/core/parser/RutaParser.g
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/RutaKeywordsManager.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/DLTKRutaHelper.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/packages/PackagesManager.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ComposedRuleElement.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/ExpressionFactory.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaAction.java
    
uima/uv3/ruta-v3/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/parser/ast/RutaRuleElement.java
    uima/uv3/ruta-v3/trunk/ruta-parent/pom.xml
    
uima/uv3/ruta-v3/trunk/ruta-typesystem/src/main/resources/org/apache/uima/ruta/engine/RutaInternalTypeSystem.xml

Modified: 
uima/uv3/ruta-v3/trunk/ruta-basic-type/src/main/java/org/apache/uima/ruta/type/RutaBasic.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-basic-type/src/main/java/org/apache/uima/ruta/type/RutaBasic.java?rev=1851430&r1=1851429&r2=1851430&view=diff
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-basic-type/src/main/java/org/apache/uima/ruta/type/RutaBasic.java
 (original)
+++ 
uima/uv3/ruta-v3/trunk/ruta-basic-type/src/main/java/org/apache/uima/ruta/type/RutaBasic.java
 Wed Jan 16 11:45:02 2019
@@ -1,4 +1,21 @@
-/* First created by JCasGen Wed Apr 16 17:01:16 CEST 2008 */
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.uima.ruta.type;
 
 import java.lang.invoke.CallSite;

Modified: 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/action/MarkTableReloadAction.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/action/MarkTableReloadAction.java?rev=1851430&r1=1851429&r2=1851430&view=diff
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/action/MarkTableReloadAction.java
 (original)
+++ 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/action/MarkTableReloadAction.java
 Wed Jan 16 11:45:02 2019
@@ -129,7 +129,7 @@ public class MarkTableReloadAction exten
                 Logger.getLogger(this.getClass().getName()).info("Creating 
Table Word List from resource: " + tableNameValue);
 
                 try {
-                    table = new CSVTable(resource);
+                    table = new CSVTable(resource, 
CSVTable.DEFAULT_CSV_SEPARATOR);
                 } catch (IOException e) {
                     
Logger.getLogger(this.getClass().getName()).log(Level.SEVERE, "Unable to load 
CSV file: " + tableNameValue, e);
                 }
@@ -171,10 +171,10 @@ public class MarkTableReloadAction exten
               candidate = candidate.replaceFirst("[" + ignoreCharValue + "]", 
"");
             }
           }
-          List<String> rowWhere = table.getRowWhere(index - 1, candidate);
+          List<String> rowWhere = table.getRowWhere(index - 1, candidate, 
false);
           if (rowWhere.isEmpty() && ignoreCaseValue && candidate.length() > 
ignoreLengthValue) {
             // TODO: does not cover all variants
-            rowWhere = table.getRowWhere(index - 1, candidate.toLowerCase());
+            rowWhere = table.getRowWhere(index - 1, candidate, true);
           }
           FeatureStructure newFS = stream.getCas().createFS(type);
           if (newFS instanceof Annotation) {

Modified: 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/BooleanOperationsExtension.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/BooleanOperationsExtension.java?rev=1851430&r1=1851429&r2=1851430&view=diff
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/BooleanOperationsExtension.java
 (original)
+++ 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/BooleanOperationsExtension.java
 Wed Jan 16 11:45:02 2019
@@ -31,38 +31,39 @@ import org.apache.uima.ruta.verbalize.Ru
 
 public class BooleanOperationsExtension implements 
IRutaBooleanFunctionExtension {
 
-  private final String[] knownExtensions = new String[] { "contains", 
"endsWith",
-      "startsWith", "equals", "equalsIgnoreCase", "isEmpty" };
+  private final String[] knownExtensions = new String[] { "contains", 
"endsWith", "startsWith",
+      "equals", "equalsIgnoreCase", "isEmpty" };
 
   private final Class<?>[] extensions = new Class[] { 
ContainsBooleanFunction.class,
-      EndsWithBooleanFunction.class, StartsWithBooleanFunction.class,
-      EqualsBooleanFunction.class, EqualsIgnoreCaseBooleanFunction.class,
-      IsEmptyBooleanFunction.class };
+      EndsWithBooleanFunction.class, StartsWithBooleanFunction.class, 
EqualsBooleanFunction.class,
+      EqualsIgnoreCaseBooleanFunction.class, IsEmptyBooleanFunction.class };
 
-  
-  
+  @Override
   public String verbalize(RutaElement element, RutaVerbalizer verbalizer) {
     if (element instanceof ContainsBooleanFunction) {
       return verbalizeName(element) + "("
-              + verbalizer.verbalize(((ContainsBooleanFunction) 
element).getExpr()) + ")";
+              + verbalizer.verbalize(((ContainsBooleanFunction) 
element).getExpr()) + ","
+              + verbalizer.verbalize(((ContainsBooleanFunction) 
element).getContainsExpr()) + ")";
     } else if (element instanceof EndsWithBooleanFunction) {
       return verbalizeName(element) + "("
-              + verbalizer.verbalize(((EndsWithBooleanFunction) 
element).getExpr()) + ")";
-    }
-    //
-    else if (element instanceof StartsWithBooleanFunction) {
+              + verbalizer.verbalize(((EndsWithBooleanFunction) 
element).getExpr()) + ","
+              + verbalizer.verbalize(((EndsWithBooleanFunction) 
element).getEndExpr()) + ")";
+    } else if (element instanceof StartsWithBooleanFunction) {
       return verbalizeName(element) + "("
-              + verbalizer.verbalize(((StartsWithBooleanFunction) 
element).getExpr()) + ")";
+              + verbalizer.verbalize(((StartsWithBooleanFunction) 
element).getExpr()) + ","
+              + verbalizer.verbalize(((StartsWithBooleanFunction) 
element).getStartExpr()) + ")";
     } else if (element instanceof EqualsBooleanFunction) {
       return verbalizeName(element) + "("
-              + verbalizer.verbalize(((EqualsBooleanFunction) 
element).getExpr()) + ")";
+              + verbalizer.verbalize(((EqualsBooleanFunction) 
element).getExpr()) + ","
+              + verbalizer.verbalize(((EqualsBooleanFunction) 
element).getCompareExpr()) + ")";
     } else if (element instanceof EqualsIgnoreCaseBooleanFunction) {
       return verbalizeName(element) + "("
-              + verbalizer.verbalize(((EqualsIgnoreCaseBooleanFunction) 
element).getExpr()) + ")";
+              + verbalizer.verbalize(((EqualsIgnoreCaseBooleanFunction) 
element).getExpr()) + ","
+              + verbalizer.verbalize(((EqualsIgnoreCaseBooleanFunction) 
element).getCompareExpr())
+              + ")";
     } else if (element instanceof IsEmptyBooleanFunction) {
       return verbalizeName(element) + "("
-              + verbalizer.verbalize(((IsEmptyBooleanFunction) 
element).getExpr())
-              + ")";
+              + verbalizer.verbalize(((IsEmptyBooleanFunction) 
element).getExpr()) + ")";
     }
     //
     else {
@@ -70,46 +71,44 @@ public class BooleanOperationsExtension
     }
   }
 
-
+  @Override
   public String verbalizeName(RutaElement element) {
-    
-     if (element instanceof ContainsBooleanFunction) {
+
+    if (element instanceof ContainsBooleanFunction) {
       return knownExtensions[0];
     }
-     
-     else if (element instanceof EndsWithBooleanFunction) {
+
+    else if (element instanceof EndsWithBooleanFunction) {
       return knownExtensions[1];
     }
 
-    
     else if (element instanceof StartsWithBooleanFunction) {
       return knownExtensions[2];
     }
-    
+
     else if (element instanceof EqualsBooleanFunction) {
       return knownExtensions[3];
     }
-    
+
     else if (element instanceof EqualsIgnoreCaseBooleanFunction) {
       return knownExtensions[4];
     }
-    
+
     else if (element instanceof IsEmptyBooleanFunction) {
       return knownExtensions[5];
     }
-    
 
-    
-    
     else {
       return "UnknownStringFunction";
     }
   }
 
+  @Override
   public String[] getKnownExtensions() {
     return knownExtensions;
   }
 
+  @Override
   public Class<?>[] extensions() {
     return extensions;
   }
@@ -117,41 +116,44 @@ public class BooleanOperationsExtension
   @Override
   public BooleanFunctionExpression createBooleanFunction(String name, 
List<RutaExpression> args)
           throws RutaParseException {
-    if(args ==null ){
-      throw new RutaParseException("You have to specify at least 1 Argument to 
use these Functions !");
+    if (args == null) {
+      throw new RutaParseException(
+              "You have to specify at least 1 Argument to use these Functions 
!");
     }
-    
+
     if (name.equals(knownExtensions[5])) {
       return new IsEmptyBooleanFunction((IStringExpression) args.get(0));
     }
-    
-    if (args == null || args.size()<2) {
-      throw new RutaParseException("You have to specify at least 2 Arguments 
to use these Functions !");
+
+    if (args == null || args.size() < 2) {
+      throw new RutaParseException(
+              "You have to specify at least 2 Arguments to use these Functions 
!");
     }
 
     if (name.equals(knownExtensions[0])) {
-      return new ContainsBooleanFunction((IStringExpression) args.get(0), 
(IStringExpression) args.get(1));
+      return new ContainsBooleanFunction((IStringExpression) args.get(0),
+              (IStringExpression) args.get(1));
     }
 
     else if (name.equals(knownExtensions[1])) {
-      return new EndsWithBooleanFunction((IStringExpression) 
args.get(0),(IStringExpression) args.get(1));
+      return new EndsWithBooleanFunction((IStringExpression) args.get(0),
+              (IStringExpression) args.get(1));
     }
 
     else if (name.equals(knownExtensions[2])) {
-      return new StartsWithBooleanFunction((IStringExpression) 
args.get(0),(IStringExpression) args.get(1));
+      return new StartsWithBooleanFunction((IStringExpression) args.get(0),
+              (IStringExpression) args.get(1));
     }
-    
-     if (name.equals(knownExtensions[3])) {
-      return new EqualsBooleanFunction((IStringExpression) 
args.get(0),(IStringExpression) args.get(1));
-    }
-    else if (name.equals(knownExtensions[4])) {
-      return new EqualsIgnoreCaseBooleanFunction((IStringExpression) 
args.get(0),(IStringExpression) args.get(1));
+
+    if (name.equals(knownExtensions[3])) {
+      return new EqualsBooleanFunction((IStringExpression) args.get(0),
+              (IStringExpression) args.get(1));
+    } else if (name.equals(knownExtensions[4])) {
+      return new EqualsIgnoreCaseBooleanFunction((IStringExpression) 
args.get(0),
+              (IStringExpression) args.get(1));
     }
-     
-    
+
     return null;
   }
 
-
-
 }

Modified: 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/ContainsBooleanFunction.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/ContainsBooleanFunction.java?rev=1851430&r1=1851429&r2=1851430&view=diff
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/ContainsBooleanFunction.java
 (original)
+++ 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/ContainsBooleanFunction.java
 Wed Jan 16 11:45:02 2019
@@ -17,7 +17,6 @@
  * under the License.
  */
 
-
 package org.apache.uima.ruta.string.bool;
 
 import org.apache.uima.ruta.RutaStream;
@@ -26,29 +25,34 @@ import org.apache.uima.ruta.expression.s
 import org.apache.uima.ruta.rule.MatchContext;
 
 public class ContainsBooleanFunction extends BooleanFunctionExpression {
-  
+
   private IStringExpression text;
+
   private IStringExpression contains;
-  
-  public ContainsBooleanFunction(IStringExpression text,
-          IStringExpression contains) {
+
+  public ContainsBooleanFunction(IStringExpression text, IStringExpression 
contains) {
     this.text = text;
-    this.contains =contains;
+    this.contains = contains;
   }
 
   public IStringExpression getExpr() {
     return text;
   }
 
+  public IStringExpression getContainsExpr() {
+    return contains;
+  }
+
   @Override
   public boolean getBooleanValue(MatchContext context, RutaStream stream) {
-    
-return text.getStringValue(context, 
stream).contains(contains.getStringValue(context, stream));
+
+    return text.getStringValue(context, 
stream).contains(contains.getStringValue(context, stream));
   }
 
   @Override
   public String getStringValue(MatchContext context, RutaStream stream) {
-    Boolean isContained = text.getStringValue(context, 
stream).contains(contains.getStringValue(context, stream)); 
+    Boolean isContained = text.getStringValue(context, stream)
+            .contains(contains.getStringValue(context, stream));
     return isContained.toString();
   }
 

Modified: 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EndsWithBooleanFunction.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EndsWithBooleanFunction.java?rev=1851430&r1=1851429&r2=1851430&view=diff
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EndsWithBooleanFunction.java
 (original)
+++ 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EndsWithBooleanFunction.java
 Wed Jan 16 11:45:02 2019
@@ -17,7 +17,6 @@
  * under the License.
  */
 
-
 package org.apache.uima.ruta.string.bool;
 
 import org.apache.uima.ruta.RutaStream;
@@ -27,19 +26,23 @@ import org.apache.uima.ruta.rule.MatchCo
 
 public class EndsWithBooleanFunction extends BooleanFunctionExpression {
   private IStringExpression text;
+
   private IStringExpression end;
-  
-  public EndsWithBooleanFunction(IStringExpression text,
-          IStringExpression end) {
+
+  public EndsWithBooleanFunction(IStringExpression text, IStringExpression 
end) {
     this.text = text;
     this.end = end;
-    
+
   }
 
   public IStringExpression getExpr() {
     return text;
   }
 
+  public IStringExpression getEndExpr() {
+    return end;
+  }
+
   @Override
   public boolean getBooleanValue(MatchContext context, RutaStream stream) {
     return text.getStringValue(context, 
stream).endsWith(end.getStringValue(context, stream));
@@ -47,7 +50,8 @@ public class EndsWithBooleanFunction ext
 
   @Override
   public String getStringValue(MatchContext context, RutaStream stream) {
-    Boolean endsWith = text.getStringValue(context, 
stream).endsWith(end.getStringValue(context, stream)); 
+    Boolean endsWith = text.getStringValue(context, stream)
+            .endsWith(end.getStringValue(context, stream));
     return endsWith.toString();
   }
 }

Modified: 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EqualsBooleanFunction.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EqualsBooleanFunction.java?rev=1851430&r1=1851429&r2=1851430&view=diff
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EqualsBooleanFunction.java
 (original)
+++ 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EqualsBooleanFunction.java
 Wed Jan 16 11:45:02 2019
@@ -17,7 +17,6 @@
  * under the License.
  */
 
-
 package org.apache.uima.ruta.string.bool;
 
 import org.apache.uima.ruta.RutaStream;
@@ -26,13 +25,12 @@ import org.apache.uima.ruta.expression.s
 import org.apache.uima.ruta.rule.MatchContext;
 
 public class EqualsBooleanFunction extends BooleanFunctionExpression {
-  
+
   private IStringExpression text;
+
   private IStringExpression compare;
-  
-  
-  public EqualsBooleanFunction(IStringExpression text,
-          IStringExpression compare) {
+
+  public EqualsBooleanFunction(IStringExpression text, IStringExpression 
compare) {
     this.text = text;
     this.compare = compare;
   }
@@ -41,6 +39,10 @@ public class EqualsBooleanFunction exten
     return text;
   }
 
+  public IStringExpression getCompareExpr() {
+    return compare;
+  }
+
   @Override
   public boolean getBooleanValue(MatchContext context, RutaStream stream) {
     return text.getStringValue(context, 
stream).equals(compare.getStringValue(context, stream));
@@ -48,7 +50,8 @@ public class EqualsBooleanFunction exten
 
   @Override
   public String getStringValue(MatchContext context, RutaStream stream) {
-    Boolean equals = text.getStringValue(context, 
stream).equals(compare.getStringValue(context, stream)); 
+    Boolean equals = text.getStringValue(context, stream)
+            .equals(compare.getStringValue(context, stream));
     return equals.toString();
   }
 }

Modified: 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EqualsIgnoreCaseBooleanFunction.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EqualsIgnoreCaseBooleanFunction.java?rev=1851430&r1=1851429&r2=1851430&view=diff
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EqualsIgnoreCaseBooleanFunction.java
 (original)
+++ 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/EqualsIgnoreCaseBooleanFunction.java
 Wed Jan 16 11:45:02 2019
@@ -25,13 +25,12 @@ import org.apache.uima.ruta.expression.s
 import org.apache.uima.ruta.rule.MatchContext;
 
 public class EqualsIgnoreCaseBooleanFunction extends BooleanFunctionExpression 
{
-  
+
   private IStringExpression text;
+
   private IStringExpression compare;
-  
-  
-  public EqualsIgnoreCaseBooleanFunction(IStringExpression text,
-          IStringExpression compare) {
+
+  public EqualsIgnoreCaseBooleanFunction(IStringExpression text, 
IStringExpression compare) {
     this.text = text;
     this.compare = compare;
   }
@@ -40,14 +39,20 @@ public class EqualsIgnoreCaseBooleanFunc
     return text;
   }
 
+  public IStringExpression getCompareExpr() {
+    return compare;
+  }
+
   @Override
   public boolean getBooleanValue(MatchContext context, RutaStream stream) {
-    return text.getStringValue(context, 
stream).equalsIgnoreCase(compare.getStringValue(context, stream));
+    return text.getStringValue(context, stream)
+            .equalsIgnoreCase(compare.getStringValue(context, stream));
   }
 
   @Override
   public String getStringValue(MatchContext context, RutaStream stream) {
-    Boolean equals = text.getStringValue(context, 
stream).equalsIgnoreCase(compare.getStringValue(context, stream)); 
+    Boolean equals = text.getStringValue(context, stream)
+            .equalsIgnoreCase(compare.getStringValue(context, stream));
     return equals.toString();
   }
 }

Modified: 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/StartsWithBooleanFunction.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/StartsWithBooleanFunction.java?rev=1851430&r1=1851429&r2=1851430&view=diff
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/StartsWithBooleanFunction.java
 (original)
+++ 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/main/java/org/apache/uima/ruta/string/bool/StartsWithBooleanFunction.java
 Wed Jan 16 11:45:02 2019
@@ -40,16 +40,19 @@ public class StartsWithBooleanFunction e
     return text;
   }
 
+  public IStringExpression getStartExpr() {
+    return start;
+  }
+
   @Override
   public boolean getBooleanValue(MatchContext context, RutaStream stream) {
-    return text.getStringValue(context, stream).startsWith(
-            start.getStringValue(context, stream));
+    return text.getStringValue(context, 
stream).startsWith(start.getStringValue(context, stream));
   }
 
   @Override
   public String getStringValue(MatchContext context, RutaStream stream) {
-    Boolean endsWith = text.getStringValue(context, stream).startsWith(
-            start.getStringValue(context, stream));
+    Boolean endsWith = text.getStringValue(context, stream)
+            .startsWith(start.getStringValue(context, stream));
     return endsWith.toString();
   }
 }

Added: 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/test/java/org/apache/uima/ruta/string/bool/VerbalizerTest.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core-ext/src/test/java/org/apache/uima/ruta/string/bool/VerbalizerTest.java?rev=1851430&view=auto
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/test/java/org/apache/uima/ruta/string/bool/VerbalizerTest.java
 (added)
+++ 
uima/uv3/ruta-v3/trunk/ruta-core-ext/src/test/java/org/apache/uima/ruta/string/bool/VerbalizerTest.java
 Wed Jan 16 11:45:02 2019
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.uima.ruta.string.bool;
+
+import org.apache.uima.ruta.expression.string.SimpleStringExpression;
+import org.apache.uima.ruta.verbalize.RutaVerbalizer;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class VerbalizerTest {
+
+  @Test
+  public void test() {
+    ContainsBooleanFunction f = new ContainsBooleanFunction(new 
SimpleStringExpression("abc"),
+            new SimpleStringExpression("def"));
+
+    BooleanOperationsExtension extension = new BooleanOperationsExtension();
+    String verbalize = extension.verbalize(f, new RutaVerbalizer());
+
+    Assert.assertEquals("contains(\"abc\",\"def\")", verbalize);
+  }
+}

Added: uima/uv3/ruta-v3/trunk/ruta-core/TypeSystem.xml
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core/TypeSystem.xml?rev=1851430&view=auto
==============================================================================
--- uima/uv3/ruta-v3/trunk/ruta-core/TypeSystem.xml (added)
+++ uima/uv3/ruta-v3/trunk/ruta-core/TypeSystem.xml Wed Jan 16 11:45:02 2019
@@ -0,0 +1,697 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<typeSystemDescription xmlns="http://uima.apache.org/resourceSpecifier";>
+    <types>
+        <typeDescription>
+            <name>org.apache.uima.T1</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T10</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T11</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T12</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T13</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T14</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T15</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T16</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T17</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T18</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T19</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T2</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T20</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T21</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T22</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T23</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T24</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T25</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T26</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T27</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T28</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T29</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T3</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T30</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T31</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T32</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T33</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T34</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T35</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T36</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T37</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T38</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T39</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T4</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T40</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T41</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T42</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T43</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T44</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T45</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T46</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T47</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T48</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T49</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T5</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T50</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T6</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T7</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T8</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.T9</name>
+            <description>Type for Testing</description>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.ALL</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.TokenSeed</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.AMP</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.ANY</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.ANY</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.ALL</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.BREAK</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.WS</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.CAP</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.W</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.COLON</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.PM</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.COMMA</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.PM</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.CW</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.W</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.DebugBlockApply</name>
+            <description/>
+            
<supertypeName>org.apache.uima.ruta.type.DebugRuleApply</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>innerApply</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.FSArray</rangeTypeName>
+                    
<elementType>org.apache.uima.ruta.type.DebugScriptApply</elementType>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.DebugCreatedBy</name>
+            <description/>
+            <supertypeName>uima.cas.TOP</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>rule</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.String</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>annotation</name>
+                    <description/>
+                    <rangeTypeName>uima.tcas.Annotation</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>script</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.String</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>id</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.Integer</rangeTypeName>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.DebugEvaluatedCondition</name>
+            <description/>
+            <supertypeName>uima.cas.TOP</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>element</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.String</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>value</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.Boolean</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>conditions</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.FSArray</rangeTypeName>
+                    
<elementType>org.apache.uima.ruta.type.DebugEvaluatedCondition</elementType>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.DebugFailedRuleMatch</name>
+            <description/>
+            
<supertypeName>org.apache.uima.ruta.type.DebugRuleMatch</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.DebugMatchedRuleMatch</name>
+            <description/>
+            
<supertypeName>org.apache.uima.ruta.type.DebugRuleMatch</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.DebugRuleApply</name>
+            <description/>
+            
<supertypeName>org.apache.uima.ruta.type.DebugScriptApply</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>applied</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.Integer</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>tried</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.Integer</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>rules</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.FSArray</rangeTypeName>
+                    
<elementType>org.apache.uima.ruta.type.DebugRuleMatch</elementType>
+                </featureDescription>
+                <featureDescription>
+                    <name>id</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.Integer</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>script</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.String</rangeTypeName>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.DebugRuleElementMatch</name>
+            <description/>
+            
<supertypeName>org.apache.uima.ruta.type.ProfiledAnnotation</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>baseCondition</name>
+                    <description/>
+                    
<rangeTypeName>org.apache.uima.ruta.type.DebugEvaluatedCondition</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>conditions</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.FSArray</rangeTypeName>
+                    
<elementType>org.apache.uima.ruta.type.DebugEvaluatedCondition</elementType>
+                </featureDescription>
+                <featureDescription>
+                    <name>elements</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.FSArray</rangeTypeName>
+                    
<elementType>org.apache.uima.ruta.type.DebugRuleElementMatches</elementType>
+                    
<multipleReferencesAllowed>false</multipleReferencesAllowed>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.DebugRuleElementMatches</name>
+            <description/>
+            <supertypeName>uima.cas.TOP</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>matches</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.FSArray</rangeTypeName>
+                    
<elementType>org.apache.uima.ruta.type.DebugRuleElementMatch</elementType>
+                </featureDescription>
+                <featureDescription>
+                    <name>element</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.String</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>ruleAnchor</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.Boolean</rangeTypeName>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.DebugRuleMatch</name>
+            <description/>
+            
<supertypeName>org.apache.uima.ruta.type.ProfiledAnnotation</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>elements</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.FSArray</rangeTypeName>
+                    
<elementType>org.apache.uima.ruta.type.DebugRuleElementMatches</elementType>
+                </featureDescription>
+                <featureDescription>
+                    <name>matched</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.Boolean</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>delegates</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.FSArray</rangeTypeName>
+                    
<elementType>org.apache.uima.ruta.type.DebugScriptApply</elementType>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.DebugScriptApply</name>
+            <description/>
+            
<supertypeName>org.apache.uima.ruta.type.ProfiledAnnotation</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>element</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.String</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>timestamp</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.Long</rangeTypeName>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.EXCLAMATION</name>
+            <description/>
+            
<supertypeName>org.apache.uima.ruta.type.SENTENCEEND</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.EvalAnnotation</name>
+            <description/>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>original</name>
+                    <description/>
+                    <rangeTypeName>uima.tcas.Annotation</rangeTypeName>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.FalseNegative</name>
+            <description/>
+            
<supertypeName>org.apache.uima.ruta.type.EvalAnnotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.FalsePositive</name>
+            <description/>
+            
<supertypeName>org.apache.uima.ruta.type.EvalAnnotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.MARKUP</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.ALL</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.NBSP</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.SPACE</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.NUM</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.ANY</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.PERIOD</name>
+            <description/>
+            
<supertypeName>org.apache.uima.ruta.type.SENTENCEEND</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.PM</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.ANY</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.ProfiledAnnotation</name>
+            <description/>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>time</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.Long</rangeTypeName>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.QUESTION</name>
+            <description/>
+            
<supertypeName>org.apache.uima.ruta.type.SENTENCEEND</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.RutaAnnotation</name>
+            <description/>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>score</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.Double</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>annotation</name>
+                    <description/>
+                    <rangeTypeName>uima.tcas.Annotation</rangeTypeName>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.RutaBasic</name>
+            <description/>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>replacement</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.String</rangeTypeName>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.RutaColoring</name>
+            <description/>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>bgColor</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.String</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>targetType</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.String</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>fgColor</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.String</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>selected</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.Boolean</rangeTypeName>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.RutaFrame</name>
+            <description/>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.RutaOptional</name>
+            <description/>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.SEMICOLON</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.PM</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.SENTENCEEND</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.PM</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.SPACE</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.WS</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.SPECIAL</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.ANY</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.SW</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.W</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.Statistics</name>
+            <description/>
+            <supertypeName>uima.cas.TOP</supertypeName>
+            <features>
+                <featureDescription>
+                    <name>name</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.StringArray</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>total</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.DoubleArray</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>amount</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.IntegerArray</rangeTypeName>
+                </featureDescription>
+                <featureDescription>
+                    <name>part</name>
+                    <description/>
+                    <rangeTypeName>uima.cas.DoubleArray</rangeTypeName>
+                </featureDescription>
+            </features>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.TokenSeed</name>
+            <description/>
+            <supertypeName>uima.tcas.Annotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.TruePositive</name>
+            <description/>
+            
<supertypeName>org.apache.uima.ruta.type.EvalAnnotation</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.W</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.ANY</supertypeName>
+        </typeDescription>
+        <typeDescription>
+            <name>org.apache.uima.ruta.type.WS</name>
+            <description/>
+            <supertypeName>org.apache.uima.ruta.type.ANY</supertypeName>
+        </typeDescription>
+    </types>
+</typeSystemDescription>

Modified: uima/uv3/ruta-v3/trunk/ruta-core/pom.xml
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core/pom.xml?rev=1851430&r1=1851429&r2=1851430&view=diff
==============================================================================
--- uima/uv3/ruta-v3/trunk/ruta-core/pom.xml (original)
+++ uima/uv3/ruta-v3/trunk/ruta-core/pom.xml Wed Jan 16 11:45:02 2019
@@ -144,16 +144,46 @@
                   
<exclude>src/test/resources/org/apache/uima/ruta/**/*.ruta</exclude> <!-- test 
data -->
                   
<exclude>src/test/resources/org/apache/uima/ruta/action/*.*</exclude> <!-- test 
data -->
                   
<exclude>src/test/resources/org/apache/uima/ruta/table2.csv</exclude> <!-- test 
data -->
+                  
<exclude>src/test/resources/org/apache/uima/ruta/resource/test_csvfile.csv</exclude>
 <!-- test data -->
                   
<exclude>src/test/resources/org/apache/uima/ruta/engine/*.html</exclude> <!-- 
test data -->
                   
<exclude>src/test/resources/META-INF/org.apache.uima.fit/types.txt</exclude> 
<!-- test data -->
                   
<exclude>src/main/resources/META-INF/org.apache.uima.fit/*.txt</exclude>
                   <exclude>issuesFixed/**</exclude> <!-- generated -->
+                  <exclude>input/**</exclude> <!-- temp test data -->
+                  <exclude>TypeSystem.xml</exclude> <!-- temp test data -->
                   <exclude>marker-file-identifying-*</exclude>
                 </excludes>
               </configuration>
             </execution>
           </executions>
         </plugin>
+        <!--This plugin's configuration is used to store Eclipse m2e settings 
only. It has no influence on the Maven build itself.-->
+        <plugin>
+               <groupId>org.eclipse.m2e</groupId>
+               <artifactId>lifecycle-mapping</artifactId>
+               <version>1.0.0</version>
+               <configuration>
+                       <lifecycleMappingMetadata>
+                               <pluginExecutions>
+                                       <pluginExecution>
+                                               <pluginExecutionFilter>
+                                                       
<groupId>de.jflex</groupId>
+                                                       <artifactId>
+                                                               
jflex-maven-plugin
+                                                       </artifactId>
+                                                       
<versionRange>[1.6.1,)</versionRange>
+                                                       <goals>
+                                                               
<goal>generate</goal>
+                                                       </goals>
+                                               </pluginExecutionFilter>
+                                               <action>
+                                                       <ignore />
+                                               </action>
+                                       </pluginExecution>
+                               </pluginExecutions>
+                       </lifecycleMappingMetadata>
+               </configuration>
+        </plugin>
       </plugins>
     </pluginManagement>
     <resources>
@@ -193,6 +223,38 @@
                 </source>
               </sources>
             </configuration>
+          </execution>
+        </executions>
+      </plugin>
+
+         <plugin>
+        <groupId>de.jflex</groupId>
+        <artifactId>jflex-maven-plugin</artifactId>
+        <version>1.6.1</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>add-source</id>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>add-source</goal>
+            </goals>
+            <configuration>
+              <sources>
+                <source>${basedir}/target/generated-sources/jflex
+                </source>
+              </sources>
+            </configuration>
           </execution>
         </executions>
       </plugin>

Modified: 
uima/uv3/ruta-v3/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaLexer.g
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaLexer.g?rev=1851430&r1=1851429&r2=1851430&view=diff
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaLexer.g
 (original)
+++ 
uima/uv3/ruta-v3/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaLexer.g
 Wed Jan 16 11:45:02 2019
@@ -389,6 +389,8 @@ ADDRESS_PREFIX
 
 STARTANCHOR 
        :        '@';
+       
+OPTIONAL       : '_' ;
 
 HexLiteral : '0' ('x'|'X') HexDigit+ IntegerTypeSuffix? ;
 
@@ -548,6 +550,8 @@ GREATEREQUAL        : '>=' ;
 
 WILDCARD       : '#' ;
 
+
+
 WS  :  (' '|'\r'|'\t'|'\u000C'|'\n') {$channel=HIDDEN;}
     ;
 

Modified: 
uima/uv3/ruta-v3/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g?rev=1851430&r1=1851429&r2=1851430&view=diff
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g
 (original)
+++ 
uima/uv3/ruta-v3/trunk/ruta-core/src/main/antlr3/org/apache/uima/ruta/parser/RutaParser.g
 Wed Jan 16 11:45:02 2019
@@ -165,23 +165,23 @@ public void setExternalFactory(RutaExter
            }
            int line = e.line;
            String text = e.token.getText();
-       
+           String name = StringUtils.isBlank(moduleName) ? "unknown script" : 
moduleName;
            if (e instanceof NoViableAltException) {
              NoViableAltException nvae = (NoViableAltException) e;
-             String msg = "Error in "+moduleName+",  line " + nvae.line + ", 
\"" + text + "\": found no viable alternative";
+             String msg = "Error in "+name+",  line " + nvae.line + ", \"" + 
text + "\": found no viable alternative";
              emitErrorMessage(msg);
            } else if (e instanceof MismatchedTokenException) {
              MismatchedTokenException mte = (MismatchedTokenException) e;
              int expectedInt = mte.expecting;
              String stringExpected = expectedInt < 0 ? "'none'" : 
getTokenNames()[expectedInt];
-             String msg = "Error in "+moduleName+", line " + line + ", \"" + 
text + "\": expected " + stringExpected
+             String msg = "Error in "+name+", line " + line + ", \"" + text + 
"\": expected " + stringExpected
                      + ", but found " + stringFound;
              emitErrorMessage(msg);
            } else if (e instanceof MissingTokenException) {
              MissingTokenException mte = (MissingTokenException) e;
              int missingType = mte.getMissingType();
              String stringMissing = getTokenNames()[missingType];
-             String msg = "Error in "+moduleName+",  line " + line + ", \"" + 
text + "\": missing " + stringMissing
+             String msg = "Error in "+name+",  line " + line + ", \"" + text + 
"\": missing " + stringMissing
                     + ", but found " + stringFound;
              emitErrorMessage(msg);
            } else {
@@ -249,14 +249,23 @@ public void setExternalFactory(RutaExter
          }
          String resolvedType = name;
          if (!name.contains(".")) {
-           resolvedType = namespace + "." + moduleName + "." + name;
+           if(StringUtils.isBlank(moduleName)) {
+             resolvedType = namespace + "." + name;
+           } else {
+             resolvedType = namespace + "." + moduleName + "." + name;
+           }
          }
           parent.getEnvironment().declareType(resolvedType);
          if(descInfo != null) {
                  name = parent.getNamespace() + "." + name.trim();
                  String descriptionString = null;
                  if(StringUtils.isBlank(namespace)) {
-                         descriptionString = "Type defined in " + moduleName;
+                       if(StringUtils.isBlank(moduleName)) {
+                               descriptionString = "Type defined in unknown 
script.";
+                       } else {
+                               descriptionString = "Type defined in " + 
moduleName;
+                       }
+                         
                          } else {
                          descriptionString = "Type defined in " + 
parent.getNamespace();
                  }
@@ -989,25 +998,27 @@ String label = null;
        re1 = ruleElementAnnotationType[container] {re = re1;}
        | re2 = ruleElementLiteral[container] {re = re2;}
        | (ruleElementComposed[null])=>re3 = ruleElementComposed[container] {re 
= re3;}
-       | (ruleElementWildCard[null])=> re5 = ruleElementWildCard[container] 
{re = re5;}
+       | (ruleElementWildCard[null])=> re4 = ruleElementWildCard[container] 
{re = re4;}
+       | (ruleElementOptional[null])=> re5 = ruleElementOptional[container] 
{re = re5;}
        )
        {
        re.setLabel(label);
        re.setStartAnchor(start != null);
        }
        (t = (THEN2) 
+       {innerConditionRules = new ArrayList<RutaStatement>();}
        LCURLY 
        (rule = simpleStatement {innerConditionRules.add(rule);})+ 
        RCURLY 
-       {re.setInlinedConditionRules(innerConditionRules);}
-
-       )?
-       (t = (THEN) 
+       {re.addInlinedConditionRules(innerConditionRules);}
+       )*
+       (t = (THEN)
+       {innerActionRules = new ArrayList<RutaStatement>();} 
        LCURLY 
        (rule = simpleStatement {innerActionRules.add(rule);})+ 
        RCURLY 
-       {re.setInlinedActionRules(innerActionRules);}
-       )?
+       {re.addInlinedActionRules(innerActionRules);}
+       )*
        ;       
 
 ruleElementWildCard [RuleElementContainer container] returns 
[AbstractRuleElement re = null]
@@ -1026,6 +1037,21 @@ ruleElementWildCard [RuleElementContaine
        }
     ;
 
+ruleElementOptional [RuleElementContainer container] returns 
[AbstractRuleElement re = null]
+    :
+    
+    w = OPTIONAL 
+     {re = factory.createOptionalRuleElement(null, null, container, 
$blockDeclaration::env);} 
+        (LCURLY c = conditions? (THEN a = actions)? RCURLY)?
+   {
+       if(c!= null) {
+               re.setConditions(c);
+       }
+       if(a != null) {
+               re.setActions(a);
+       }
+       }
+    ;
 
 
 ruleElementComposed [RuleElementContainer container] returns 
[ComposedRuleElement re = null]
@@ -1712,7 +1738,11 @@ conditionSize returns [AbstractRutaCondi
     ;
 
 action  returns [AbstractRutaAction result = null]
+@init{
+  String label = null;
+}
        :
+       (l = Identifier {label = l.getText();} COLON)?
        (
        a = actionColor
        | a = actionDel
@@ -1764,7 +1794,11 @@ action  returns [AbstractRutaAction resu
        | (typeExpression)=> te = typeExpression {a = 
actionFactory.createAction(te);}
        
 //     | a = variableAction
-       ) {result = a;}
+       ) 
+       {
+       result = a;
+       result.setLabel(label);
+       }
        ;
                
        
@@ -2759,6 +2793,8 @@ composedBooleanExpression returns [IBool
        (e2 = booleanCompare)=> e2 = booleanCompare {expr = e2;}
        | (bne = booleanNumberExpression)=> bne = booleanNumberExpression{expr 
= bne;}
        | (bse = booleanStringExpression)=> bse = booleanStringExpression{expr 
= bse;}
+       | (bale = booleanAnnotationListExpression)=> bale = 
booleanAnnotationListExpression{expr = bale;}
+       | (bae = booleanAnnotationExpression)=> bae = 
booleanAnnotationExpression{expr = bae;}
        | (bte = booleanTypeExpression)=> bte = booleanTypeExpression{expr = 
bte;}
        | e1 = booleanFunction {expr = e1;}
        | LPAREN ep = booleanExpression RPAREN {expr = ep;}
@@ -2807,6 +2843,23 @@ booleanTypeExpression  returns  [IBoolea
        e2 = typeExpression
        {expr = expressionFactory.createBooleanTypeExpression(e1,op,e2);}
        ;
+
+booleanAnnotationExpression  returns  [IBooleanExpression expr = null]
+       :
+       e1 = annotationExpression
+       op = (EQUAL | NOTEQUAL)
+       e2 = annotationExpression
+       {expr = expressionFactory.createBooleanAnnotationExpression(e1,op,e2);}
+       ;
+
+booleanAnnotationListExpression  returns  [IBooleanExpression expr = null]
+       :
+       e1 = annotationListExpression
+       op = (EQUAL | NOTEQUAL)
+       e2 = annotationListExpression
+       {expr = 
expressionFactory.createBooleanAnnotationListExpression(e1,op,e2);}
+       ;
+       
 booleanStringExpression  returns  [IBooleanExpression expr = null]
        :
        e1 = stringExpression

Modified: 
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaConstants.java
URL: 
http://svn.apache.org/viewvc/uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaConstants.java?rev=1851430&r1=1851429&r2=1851430&view=diff
==============================================================================
--- 
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaConstants.java
 (original)
+++ 
uima/uv3/ruta-v3/trunk/ruta-core/src/main/java/org/apache/uima/ruta/RutaConstants.java
 Wed Jan 16 11:45:02 2019
@@ -19,11 +19,15 @@
 package org.apache.uima.ruta;
 
 public class RutaConstants {
-  
+
+  public static final String ANONYMOUS_SCRIPT = "Anonymous";
+
   public static final String RUTA_VARIABLE_ANNOTATION = "ANNOTATION";
-  
+
   public static final String RUTA_VARIABLE_ANNOTATION_LIST = "ANNOTATIONLIST";
 
   public static final String RUTA_VARIABLE_TYPE = "TYPE";
 
+  public static final String RUTA_VARIABLE_TYPE_LIST = "TYPELIST";
+
 }


Reply via email to