Author: pkluegl Date: Thu Aug 1 10:58:04 2013 New Revision: 1509167 URL: http://svn.apache.org/r1509167 Log: UIMA-3071 - added verbalization of conjunct rules
Modified: uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java Modified: uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java URL: http://svn.apache.org/viewvc/uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java?rev=1509167&r1=1509166&r2=1509167&view=diff ============================================================================== --- uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java (original) +++ uima/sandbox/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/verbalize/ScriptVerbalizer.java Thu Aug 1 10:58:04 2013 @@ -34,6 +34,7 @@ import org.apache.uima.ruta.expression.n import org.apache.uima.ruta.expression.string.StringExpression; import org.apache.uima.ruta.expression.type.TypeExpression; import org.apache.uima.ruta.rule.ComposedRuleElement; +import org.apache.uima.ruta.rule.ConjunctRulesRuleElement; import org.apache.uima.ruta.rule.RegExpRule; import org.apache.uima.ruta.rule.RuleElement; import org.apache.uima.ruta.rule.RutaMatcher; @@ -104,7 +105,9 @@ public class ScriptVerbalizer { List<AbstractRutaAction> actions = re.getActions(); RuleElementQuantifier quantifier = re.getQuantifier(); StringBuilder result = new StringBuilder(); - if (re instanceof ComposedRuleElement) { + if(re instanceof ConjunctRulesRuleElement) { + result.append(verbalizeConjunct((ConjunctRulesRuleElement) re)); + } else if (re instanceof ComposedRuleElement) { result.append(verbalizeComposed((ComposedRuleElement) re)); } else if (re instanceof RutaRuleElement) { RutaRuleElement tmre = (RutaRuleElement) re; @@ -140,6 +143,19 @@ public class ScriptVerbalizer { return result.toString(); } + private String verbalizeConjunct(ConjunctRulesRuleElement re) { + StringBuilder result = new StringBuilder(); + String sep = " % "; + List<RuleElement> ruleElements = re.getRuleElements(); + for (RuleElement each : ruleElements) { + if (re.getRuleElements().indexOf(each) != 0) { + result.append(sep); + } + result.append(verbalizeRuleElement(each)); + } + return result.toString(); + } + public String verbalizeComposed(ComposedRuleElement cre) { StringBuilder result = new StringBuilder(); List<RuleElement> ruleElements = cre.getRuleElements();