Package org.apache.uima.ruta.condition

Examples of org.apache.uima.ruta.condition.ContextCountCondition


    c = new ContainsCondition(typeListExpr, typeExpr2, null, null, null);
    s = v.verbalize(c);
    assertEquals("CONTAINS({Type1, typeVar}, typeVar)", s);

    // CONTEXTCOUNT
    c = new ContextCountCondition(typeExpr1, numExpr1, numExpr2, var);
    s = v.verbalize(c);
    assertEquals("CONTEXTCOUNT(Type1, 4, numVar, anyVar)", s);

    // COUNT
    c = new CountCondition(typeExpr1, numExpr1, numExpr2, var);
View Full Code Here


      } else {
        return name + verbalizer.verbalize(c.getArgList()) + ", "
                + verbalizer.verbalize(c.getArg()) + min + max + percent + ")";
      }
    } else if (condition instanceof ContextCountCondition) {
      ContextCountCondition c = (ContextCountCondition) condition;
      String type = verbalizer.verbalize(c.getType());
      INumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      INumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVar() == null ? "" : ", " + c.getVar();
      return name + type + min + max + var + ")";
    } else if (condition instanceof CountCondition) {
      CountCondition c = (CountCondition) condition;
      if (c.getArg() == null) {
        String type = verbalizer.verbalize(c.getType());
        INumberExpression minE = c.getMin();
        String min = verbalizeMin(minE, Integer.MIN_VALUE);
        INumberExpression maxE = c.getMax();
        String max = verbalizeMax(maxE, Integer.MAX_VALUE);
        String var = c.getVar() == null ? "" : ", " + c.getVar();
        return name + type + min + max + var + ")";
      } else {
        String list = verbalizer.verbalize(c.getArgList());
        String arg = verbalizer.verbalize(c.getArg());
        INumberExpression minE = c.getMin();
        String min = verbalizeMin(minE, Integer.MIN_VALUE);
        INumberExpression maxE = c.getMax();
        String max = verbalizeMax(maxE, Integer.MAX_VALUE);
        String var = c.getVar() == null ? "" : ", " + c.getVar();
        return name + list + ", " + arg + min + max + var + ")";
      }
    } else if (condition instanceof CurrentCountCondition) {
      CurrentCountCondition c = (CurrentCountCondition) condition;
      String type = verbalizer.verbalize(c.getType());
      INumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      INumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVar() == null ? "" : ", " + c.getVar();
      return name + type + min + max + var + ")";
    } else if (condition instanceof IfCondition) {
      IfCondition c = (IfCondition) condition;
      return name + verbalizer.verbalize(c.getExpression()) + ")";
    } else if (condition instanceof InListCondition) {
      InListCondition c = (InListCondition) condition;
      String list = "";
      if (c.getListExpression() != null) {
        list = verbalizer.verbalize(c.getListExpression());
      } else {
        list = verbalizer.verbalize(c.getStringList());
      }
      IStringExpression a = c.getArg();
      String arg = "";
      if (a != null) {
        arg = ", " + verbalizer.verbalize(a);
      }
      return name + list +arg + ")";
    } else if (condition instanceof LastCondition) {
      LastCondition c = (LastCondition) condition;
      return name + verbalizer.verbalize(c.getType()) + ")";
    } else if (condition instanceof MOfNCondition) {
      MOfNCondition c = (MOfNCondition) condition;
      StringBuilder sb = new StringBuilder();
      sb.append(name);

      INumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      INumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      sb.append(min.substring(2, min.length()));
      sb.append(max);
      List<AbstractRutaCondition> conditions = c.getConditions();
      if (!conditions.isEmpty()) {
        sb.append(", ");
      }
      Iterator<AbstractRutaCondition> it = conditions.iterator();
      while (it.hasNext()) {
        AbstractRutaCondition each = (AbstractRutaCondition) it.next();
        sb.append(verbalize(each));
        if (it.hasNext()) {
          sb.append(", ");
        }
      }
      sb.append(")");
      return sb.toString();
    } else if (condition instanceof NearCondition) {
      NearCondition c = (NearCondition) condition;
      String type = verbalizer.verbalize(c.getType());
      String var = verbalizer.verbalize(c.getForward());
      INumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      INumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String filtered = verbalizer.verbalize(c.getFiltered());
      if (!"".equals(filtered)) {
        filtered = ", " + filtered;
      }
      return name + type + min + max + ", " + var + filtered + ")";
    } else if (condition instanceof NotCondition) {
      NotCondition c = (NotCondition) condition;
      List<AbstractRutaCondition> conditions = c.getConditions();
      if (conditions.size() != 1) {
        StringBuilder sb = new StringBuilder();
        sb.append(name);
        Iterator<AbstractRutaCondition> it = conditions.iterator();
        while (it.hasNext()) {
          AbstractRutaCondition each = (AbstractRutaCondition) it.next();
          sb.append(verbalize(each));
          if (it.hasNext()) {
            sb.append(", ");
          }
        }
        sb.append(")");
        return sb.toString();
      } else {
        return "-" + verbalize(conditions.get(0));
      }
    } else if (condition instanceof OrCondition) {
      OrCondition c = (OrCondition) condition;
      List<AbstractRutaCondition> conditions = c.getConditions();
      StringBuilder sb = new StringBuilder();
      sb.append(name);
      Iterator<AbstractRutaCondition> it = conditions.iterator();
      while (it.hasNext()) {
        AbstractRutaCondition each = (AbstractRutaCondition) it.next();
        sb.append(verbalize(each));
        if (it.hasNext()) {
          sb.append(", ");
        }
      }
      sb.append(")");
      return sb.toString();
    } else if (condition instanceof PartOfCondition) {
      PartOfCondition c = (PartOfCondition) condition;
      if (c.getType() == null) {
        return name + verbalizer.verbalize(c.getList()) + ")";
      } else {
        return name + verbalizer.verbalize(c.getType()) + ")";
      }
    } else if (condition instanceof PartOfNeqCondition) {
      PartOfNeqCondition c = (PartOfNeqCondition) condition;
      if (c.getType() == null) {
        return name + verbalizer.verbalize(c.getList()) + ")";
      } else {
        return name + verbalizer.verbalize(c.getType()) + ")";
      }
    } else if (condition instanceof PositionCondition) {
      PositionCondition c = (PositionCondition) condition;
      String relative = "";
      if (c.getRelative() != null) {
        relative = ", " + verbalizer.verbalize(c.getRelative());
      }
      return name + verbalizer.verbalize(c.getType()) + ", "
              + verbalizer.verbalize(c.getPosition()) + relative + ")";
    } else if (condition instanceof RegExpCondition) {
      RegExpCondition c = (RegExpCondition) condition;
      IStringExpression variable = c.getVariable();
      String ic = verbalizer.verbalize(c.getIgnoreCase());
      if (variable == null) {
        return name + verbalizer.verbalize(c.getPattern()) + ", " + ic + ")";
      } else {
        return name + verbalizer.verbalize(variable) + ", " + verbalizer.verbalize(c.getPattern()) + ", " + ic + ")";
      }
    } else if (condition instanceof ScoreCondition) {
      ScoreCondition c = (ScoreCondition) condition;
      // String type = verbalizer.verbalize(c.getType());
      INumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      INumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVar() == null ? "" : ", " + c.getVar();
      return name + min.substring(2) + max + var + ")";
    } else if (condition instanceof TotalCountCondition) {
      TotalCountCondition c = (TotalCountCondition) condition;
      String type = verbalizer.verbalize(c.getType());
      INumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      INumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVar() == null ? "" : ", " + c.getVar();
      return name + type + min + max + var + ")";
    } else if (condition instanceof VoteCondition) {
      VoteCondition c = (VoteCondition) condition;
      String type1 = verbalizer.verbalize(c.getType1());
      String type2 = verbalizer.verbalize(c.getType2());
      return name + type1 + ", " + type2 + ")";
    } else if (condition instanceof FeatureCondition) {
      FeatureCondition c = (FeatureCondition) condition;
      String e1 = verbalizer.verbalize(c.getFeatureStringExpression());
      String e2 = "";
      if (c.getBooleanExpr() != null) {
        e2 = verbalizer.verbalize(c.getBooleanExpr());
      } else if (c.getNumberExpr() != null) {
        e2 = verbalizer.verbalize(c.getNumberExpr());
      } else if (c.getStringExpr() != null) {
        e2 = verbalizer.verbalize(c.getStringExpr());
      }
      return name + e1 + ", " + e2 + ")";
    } else if (condition instanceof ParseCondition) {
      ParseCondition c = (ParseCondition) condition;
      String var = c.getVar();
      return name + var + ")";
    } else if (condition instanceof IsCondition) {
      IsCondition c = (IsCondition) condition;
      String type = "";
      if (c.getType() != null) {
        type = verbalizer.verbalize(c.getType());
      } else {
        type = verbalizer.verbalize(c.getList());
      }
      return name + type + ")";
    } else if (condition instanceof BeforeCondition) {
      BeforeCondition c = (BeforeCondition) condition;
      String type = "";
      if (c.getType() != null) {
        type = verbalizer.verbalize(c.getType());
      } else {
        type = verbalizer.verbalize(c.getList());
      }
      return name + type + ")";
    } else if (condition instanceof AfterCondition) {
      AfterCondition c = (AfterCondition) condition;
      String type = "";
      if (c.getType() != null) {
        type = verbalizer.verbalize(c.getType());
      } else {
        type = verbalizer.verbalize(c.getList());
      }
      return name + type + ")";
    } else if (condition instanceof StartsWithCondition) {
      StartsWithCondition c = (StartsWithCondition) condition;
      String arg = "";
      if (c.getType() != null) {
        arg = verbalizer.verbalize(c.getType());
      } else {
        arg = verbalizer.verbalize(c.getList());
      }
      return name + arg + ")";
    } else if (condition instanceof EndsWithCondition) {
      EndsWithCondition c = (EndsWithCondition) condition;
      String type = "";
      if (c.getType() != null) {
        type = verbalizer.verbalize(c.getType());
      } else {
        type = verbalizer.verbalize(c.getList());
      }
      return name + type + ")";
    } else if (condition instanceof SizeCondition) {
      SizeCondition c = (SizeCondition) condition;
      INumberExpression minE = c.getMinExpr();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      INumberExpression maxE = c.getMaxExpr();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVarExpr() == null ? "" : ", " + c.getVarExpr();
      ListExpression<?> listExpr = c.getListExpr();
      if (listExpr == null) {
        return name + min + max + var + ")";
      } else {
        String l = verbalizer.verbalize(listExpr);
        return name + l + min + max + var + ")";
      }
    } else if (condition instanceof ImplicitCondition) {
      ImplicitCondition c = (ImplicitCondition) condition;
      return verbalizer.verbalize(c.getExpr());
    }

    return condition.getClass().getSimpleName();
  }
View Full Code Here

      } else {
        return name + verbalizer.verbalize(c.getArgList()) + ", "
                + verbalizer.verbalize(c.getArg()) + min + max + percent + ")";
      }
    } else if (condition instanceof ContextCountCondition) {
      ContextCountCondition c = (ContextCountCondition) condition;
      String type = verbalizer.verbalize(c.getType());
      NumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVar() == null ? "" : ", " + c.getVar();
      return name + type + min + max + var + ")";
    } else if (condition instanceof CountCondition) {
      CountCondition c = (CountCondition) condition;
      if (c.getArg() == null) {
        String type = verbalizer.verbalize(c.getType());
        NumberExpression minE = c.getMin();
        String min = verbalizeMin(minE, Integer.MIN_VALUE);
        NumberExpression maxE = c.getMax();
        String max = verbalizeMax(maxE, Integer.MAX_VALUE);
        String var = c.getVar() == null ? "" : ", " + c.getVar();
        return name + type + min + max + var + ")";
      } else {
        String list = verbalizer.verbalize(c.getArgList());
        String arg = verbalizer.verbalize(c.getArg());
        NumberExpression minE = c.getMin();
        String min = verbalizeMin(minE, Integer.MIN_VALUE);
        NumberExpression maxE = c.getMax();
        String max = verbalizeMax(maxE, Integer.MAX_VALUE);
        String var = c.getVar() == null ? "" : ", " + c.getVar();
        return name + list + ", " + arg + min + max + var + ")";
      }
    } else if (condition instanceof CurrentCountCondition) {
      CurrentCountCondition c = (CurrentCountCondition) condition;
      String type = verbalizer.verbalize(c.getType());
      NumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVar() == null ? "" : ", " + c.getVar();
      return name + type + min + max + var + ")";
    } else if (condition instanceof IfCondition) {
      IfCondition c = (IfCondition) condition;
      return name + verbalizer.verbalize(c.getExpression()) + ")";
    } else if (condition instanceof InListCondition) {
      InListCondition c = (InListCondition) condition;
      String list = "";
      if (c.getListExpression() != null) {
        list = verbalizer.verbalize(c.getListExpression());
      } else {
        list = verbalizer.verbalize(c.getStringList());
      }
      NumberExpression distE = c.getDistance();
      String dist = "";
      String rel = "";
      if (distE != null) {
        dist = ", " + verbalizer.verbalize(distE);
      }
      if (c.getRelative() != null) {
        rel = ", " + verbalizer.verbalize(c.getRelative());
      }
      return name + list + dist + rel + ")";
    } else if (condition instanceof LastCondition) {
      LastCondition c = (LastCondition) condition;
      return name + verbalizer.verbalize(c.getType()) + ")";
    } else if (condition instanceof MOfNCondition) {
      MOfNCondition c = (MOfNCondition) condition;
      StringBuilder sb = new StringBuilder();
      sb.append(name);

      NumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      sb.append(min.substring(2, min.length()));
      sb.append(max);
      List<AbstractRutaCondition> conditions = c.getConditions();
      if (!conditions.isEmpty()) {
        sb.append(", ");
      }
      Iterator<AbstractRutaCondition> it = conditions.iterator();
      while (it.hasNext()) {
        AbstractRutaCondition each = (AbstractRutaCondition) it.next();
        sb.append(verbalize(each));
        if (it.hasNext()) {
          sb.append(", ");
        }
      }
      sb.append(")");
      return sb.toString();
    } else if (condition instanceof NearCondition) {
      NearCondition c = (NearCondition) condition;
      String type = verbalizer.verbalize(c.getType());
      String var = verbalizer.verbalize(c.getForward());
      NumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String filtered = verbalizer.verbalize(c.getFiltered());
      if (!"".equals(filtered)) {
        filtered = ", " + filtered;
      }
      return name + type + min + max + ", " + var + filtered + ")";
    } else if (condition instanceof NotCondition) {
      NotCondition c = (NotCondition) condition;
      List<AbstractRutaCondition> conditions = c.getConditions();
      if (conditions.size() != 1) {
        StringBuilder sb = new StringBuilder();
        sb.append(name);
        Iterator<AbstractRutaCondition> it = conditions.iterator();
        while (it.hasNext()) {
          AbstractRutaCondition each = (AbstractRutaCondition) it.next();
          sb.append(verbalize(each));
          if (it.hasNext()) {
            sb.append(", ");
          }
        }
        sb.append(")");
        return sb.toString();
      } else {
        return "-" + verbalize(conditions.get(0));
      }
    } else if (condition instanceof OrCondition) {
      OrCondition c = (OrCondition) condition;
      List<AbstractRutaCondition> conditions = c.getConditions();
      StringBuilder sb = new StringBuilder();
      sb.append(name);
      Iterator<AbstractRutaCondition> it = conditions.iterator();
      while (it.hasNext()) {
        AbstractRutaCondition each = (AbstractRutaCondition) it.next();
        sb.append(verbalize(each));
        if (it.hasNext()) {
          sb.append(", ");
        }
      }
      sb.append(")");
      return sb.toString();
    } else if (condition instanceof PartOfCondition) {
      PartOfCondition c = (PartOfCondition) condition;
      if (c.getType() == null) {
        return name + verbalizer.verbalize(c.getList()) + ")";
      } else {
        return name + verbalizer.verbalize(c.getType()) + ")";
      }
    } else if (condition instanceof PartOfNeqCondition) {
      PartOfNeqCondition c = (PartOfNeqCondition) condition;
      if (c.getType() == null) {
        return name + verbalizer.verbalize(c.getList()) + ")";
      } else {
        return name + verbalizer.verbalize(c.getType()) + ")";
      }
    } else if (condition instanceof PositionCondition) {
      PositionCondition c = (PositionCondition) condition;
      String relative = "";
      if (c.getRelative() != null) {
        relative = ", " + verbalizer.verbalize(c.getRelative());
      }
      return name + verbalizer.verbalize(c.getType()) + ", "
              + verbalizer.verbalize(c.getPosition()) + relative + ")";
    } else if (condition instanceof RegExpCondition) {
      RegExpCondition c = (RegExpCondition) condition;
      String variable = c.getVariable();
      String ic = verbalizer.verbalize(c.getIgnoreCase());
      if (variable == null) {
        return name + verbalizer.verbalize(c.getPattern()) + ", " + ic + ")";
      } else {
        return name + variable + ", " + verbalizer.verbalize(c.getPattern()) + ", " + ic + ")";
      }
    } else if (condition instanceof ScoreCondition) {
      ScoreCondition c = (ScoreCondition) condition;
      // String type = verbalizer.verbalize(c.getType());
      NumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVar() == null ? "" : ", " + c.getVar();
      return name + min.substring(2) + max + var + ")";
    } else if (condition instanceof TotalCountCondition) {
      TotalCountCondition c = (TotalCountCondition) condition;
      String type = verbalizer.verbalize(c.getType());
      NumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVar() == null ? "" : ", " + c.getVar();
      return name + type + min + max + var + ")";
    } else if (condition instanceof VoteCondition) {
      VoteCondition c = (VoteCondition) condition;
      String type1 = verbalizer.verbalize(c.getType1());
      String type2 = verbalizer.verbalize(c.getType2());
      return name + type1 + ", " + type2 + ")";
    } else if (condition instanceof FeatureCondition) {
      FeatureCondition c = (FeatureCondition) condition;
      String e1 = verbalizer.verbalize(c.getFeatureStringExpression());
      String e2 = "";
      if (c.getBooleanExpr() != null) {
        e2 = verbalizer.verbalize(c.getBooleanExpr());
      } else if (c.getNumberExpr() != null) {
        e2 = verbalizer.verbalize(c.getNumberExpr());
      } else if (c.getStringExpr() != null) {
        e2 = verbalizer.verbalize(c.getStringExpr());
      }
      return name + e1 + ", " + e2 + ")";
    } else if (condition instanceof ParseCondition) {
      ParseCondition c = (ParseCondition) condition;
      String var = c.getVar();
      return name + var + ")";
    } else if (condition instanceof IsCondition) {
      IsCondition c = (IsCondition) condition;
      String type = "";
      if (c.getType() != null) {
        type = verbalizer.verbalize(c.getType());
      } else {
        type = verbalizer.verbalize(c.getList());
      }
      return name + type + ")";
    } else if (condition instanceof BeforeCondition) {
      BeforeCondition c = (BeforeCondition) condition;
      String type = "";
      if (c.getType() != null) {
        type = verbalizer.verbalize(c.getType());
      } else {
        type = verbalizer.verbalize(c.getList());
      }
      return name + type + ")";
    } else if (condition instanceof AfterCondition) {
      AfterCondition c = (AfterCondition) condition;
      String type = "";
      if (c.getType() != null) {
        type = verbalizer.verbalize(c.getType());
      } else {
        type = verbalizer.verbalize(c.getList());
      }
      return name + type + ")";
    } else if (condition instanceof StartsWithCondition) {
      StartsWithCondition c = (StartsWithCondition) condition;
      String arg = "";
      if (c.getType() != null) {
        arg = verbalizer.verbalize(c.getType());
      } else {
        arg = verbalizer.verbalize(c.getList());
      }
      return name + arg + ")";
    } else if (condition instanceof EndsWithCondition) {
      EndsWithCondition c = (EndsWithCondition) condition;
      String type = "";
      if (c.getType() != null) {
        type = verbalizer.verbalize(c.getType());
      } else {
        type = verbalizer.verbalize(c.getList());
      }
      return name + type + ")";
    } else if (condition instanceof SizeCondition) {
      SizeCondition c = (SizeCondition) condition;
      NumberExpression minE = c.getMinExpr();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMaxExpr();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVarExpr() == null ? "" : ", " + c.getVarExpr();
      ListExpression<?> listExpr = c.getListExpr();
      if(listExpr == null) {
        return name + min + max + var + ")";
      } else {
        String l = verbalizer.verbalize(listExpr);
        return name + l + min + max + var + ")";
View Full Code Here

    c = new ContainsCondition(typeListExpr, typeExpr2, null, null, null);
    s = v.verbalize(c);
    assertEquals("CONTAINS({Type1, typeVar}, typeVar)", s);

    // CONTEXTCOUNT
    c = new ContextCountCondition(typeExpr1, numExpr1, numExpr2, var);
    s = v.verbalize(c);
    assertEquals("CONTEXTCOUNT(Type1, 4, numVar, anyVar)", s);

    // COUNT
    c = new CountCondition(typeExpr1, numExpr1, numExpr2, var);
View Full Code Here

      } else {
        return name + verbalizer.verbalize(c.getArgList()) + ", "
                + verbalizer.verbalize(c.getArg()) + min + max + percent + ")";
      }
    } else if (condition instanceof ContextCountCondition) {
      ContextCountCondition c = (ContextCountCondition) condition;
      String type = verbalizer.verbalize(c.getType());
      NumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVar() == null ? "" : ", " + c.getVar();
      return name + type + min + max + var + ")";
    } else if (condition instanceof CountCondition) {
      CountCondition c = (CountCondition) condition;
      if (c.getArg() == null) {
        String type = verbalizer.verbalize(c.getType());
        NumberExpression minE = c.getMin();
        String min = verbalizeMin(minE, Integer.MIN_VALUE);
        NumberExpression maxE = c.getMax();
        String max = verbalizeMax(maxE, Integer.MAX_VALUE);
        String var = c.getVar() == null ? "" : ", " + c.getVar();
        return name + type + min + max + var + ")";
      } else {
        String list = verbalizer.verbalize(c.getArgList());
        String arg = verbalizer.verbalize(c.getArg());
        NumberExpression minE = c.getMin();
        String min = verbalizeMin(minE, Integer.MIN_VALUE);
        NumberExpression maxE = c.getMax();
        String max = verbalizeMax(maxE, Integer.MAX_VALUE);
        String var = c.getVar() == null ? "" : ", " + c.getVar();
        return name + list + ", " + arg + min + max + var + ")";
      }
    } else if (condition instanceof CurrentCountCondition) {
      CurrentCountCondition c = (CurrentCountCondition) condition;
      String type = verbalizer.verbalize(c.getType());
      NumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVar() == null ? "" : ", " + c.getVar();
      return name + type + min + max + var + ")";
    } else if (condition instanceof IfCondition) {
      IfCondition c = (IfCondition) condition;
      return name + verbalizer.verbalize(c.getExpression()) + ")";
    } else if (condition instanceof InListCondition) {
      InListCondition c = (InListCondition) condition;
      String list = "";
      if (c.getListExpression() != null) {
        list = verbalizer.verbalize(c.getListExpression());
      } else {
        list = verbalizer.verbalize(c.getStringList());
      }
      NumberExpression distE = c.getDistance();
      String dist = "";
      String rel = "";
      if (distE != null) {
        dist = ", " + verbalizer.verbalize(distE);
      }
      if (c.getRelative() != null) {
        rel = ", " + verbalizer.verbalize(c.getRelative());
      }
      return name + list + dist + rel + ")";
    } else if (condition instanceof LastCondition) {
      LastCondition c = (LastCondition) condition;
      return name + verbalizer.verbalize(c.getType()) + ")";
    } else if (condition instanceof MOfNCondition) {
      MOfNCondition c = (MOfNCondition) condition;
      StringBuilder sb = new StringBuilder();
      sb.append(name);

      NumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      sb.append(min.substring(2, min.length()));
      sb.append(max);
      List<AbstractRutaCondition> conditions = c.getConditions();
      if (!conditions.isEmpty()) {
        sb.append(", ");
      }
      Iterator<AbstractRutaCondition> it = conditions.iterator();
      while (it.hasNext()) {
        AbstractRutaCondition each = (AbstractRutaCondition) it.next();
        sb.append(verbalize(each));
        if (it.hasNext()) {
          sb.append(", ");
        }
      }
      sb.append(")");
      return sb.toString();
    } else if (condition instanceof NearCondition) {
      NearCondition c = (NearCondition) condition;
      String type = verbalizer.verbalize(c.getType());
      String var = verbalizer.verbalize(c.getForward());
      NumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String filtered = verbalizer.verbalize(c.getFiltered());
      if (!"".equals(filtered)) {
        filtered = ", " + filtered;
      }
      return name + type + min + max + ", " + var + filtered + ")";
    } else if (condition instanceof NotCondition) {
      NotCondition c = (NotCondition) condition;
      List<AbstractRutaCondition> conditions = c.getConditions();
      if (conditions.size() != 1) {
        StringBuilder sb = new StringBuilder();
        sb.append(name);
        Iterator<AbstractRutaCondition> it = conditions.iterator();
        while (it.hasNext()) {
          AbstractRutaCondition each = (AbstractRutaCondition) it.next();
          sb.append(verbalize(each));
          if (it.hasNext()) {
            sb.append(", ");
          }
        }
        sb.append(")");
        return sb.toString();
      } else {
        return "-" + verbalize(conditions.get(0));
      }
    } else if (condition instanceof OrCondition) {
      OrCondition c = (OrCondition) condition;
      List<AbstractRutaCondition> conditions = c.getConditions();
      StringBuilder sb = new StringBuilder();
      sb.append(name);
      Iterator<AbstractRutaCondition> it = conditions.iterator();
      while (it.hasNext()) {
        AbstractRutaCondition each = (AbstractRutaCondition) it.next();
        sb.append(verbalize(each));
        if (it.hasNext()) {
          sb.append(", ");
        }
      }
      sb.append(")");
      return sb.toString();
    } else if (condition instanceof PartOfCondition) {
      PartOfCondition c = (PartOfCondition) condition;
      if (c.getType() == null) {
        return name + verbalizer.verbalize(c.getList()) + ")";
      } else {
        return name + verbalizer.verbalize(c.getType()) + ")";
      }
    } else if (condition instanceof PartOfNeqCondition) {
      PartOfNeqCondition c = (PartOfNeqCondition) condition;
      if (c.getType() == null) {
        return name + verbalizer.verbalize(c.getList()) + ")";
      } else {
        return name + verbalizer.verbalize(c.getType()) + ")";
      }
    } else if (condition instanceof PositionCondition) {
      PositionCondition c = (PositionCondition) condition;
      String relative = "";
      if (c.getRelative() != null) {
        relative = ", " + verbalizer.verbalize(c.getRelative());
      }
      return name + verbalizer.verbalize(c.getType()) + ", "
              + verbalizer.verbalize(c.getPosition()) + relative + ")";
    } else if (condition instanceof RegExpCondition) {
      RegExpCondition c = (RegExpCondition) condition;
      StringExpression variable = c.getVariable();
      String ic = verbalizer.verbalize(c.getIgnoreCase());
      if (variable == null) {
        return name + verbalizer.verbalize(c.getPattern()) + ", " + ic + ")";
      } else {
        return name + verbalizer.verbalize(variable) + ", " + verbalizer.verbalize(c.getPattern()) + ", " + ic + ")";
      }
    } else if (condition instanceof ScoreCondition) {
      ScoreCondition c = (ScoreCondition) condition;
      // String type = verbalizer.verbalize(c.getType());
      NumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVar() == null ? "" : ", " + c.getVar();
      return name + min.substring(2) + max + var + ")";
    } else if (condition instanceof TotalCountCondition) {
      TotalCountCondition c = (TotalCountCondition) condition;
      String type = verbalizer.verbalize(c.getType());
      NumberExpression minE = c.getMin();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMax();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVar() == null ? "" : ", " + c.getVar();
      return name + type + min + max + var + ")";
    } else if (condition instanceof VoteCondition) {
      VoteCondition c = (VoteCondition) condition;
      String type1 = verbalizer.verbalize(c.getType1());
      String type2 = verbalizer.verbalize(c.getType2());
      return name + type1 + ", " + type2 + ")";
    } else if (condition instanceof FeatureCondition) {
      FeatureCondition c = (FeatureCondition) condition;
      String e1 = verbalizer.verbalize(c.getFeatureStringExpression());
      String e2 = "";
      if (c.getBooleanExpr() != null) {
        e2 = verbalizer.verbalize(c.getBooleanExpr());
      } else if (c.getNumberExpr() != null) {
        e2 = verbalizer.verbalize(c.getNumberExpr());
      } else if (c.getStringExpr() != null) {
        e2 = verbalizer.verbalize(c.getStringExpr());
      }
      return name + e1 + ", " + e2 + ")";
    } else if (condition instanceof ParseCondition) {
      ParseCondition c = (ParseCondition) condition;
      String var = c.getVar();
      return name + var + ")";
    } else if (condition instanceof IsCondition) {
      IsCondition c = (IsCondition) condition;
      String type = "";
      if (c.getType() != null) {
        type = verbalizer.verbalize(c.getType());
      } else {
        type = verbalizer.verbalize(c.getList());
      }
      return name + type + ")";
    } else if (condition instanceof BeforeCondition) {
      BeforeCondition c = (BeforeCondition) condition;
      String type = "";
      if (c.getType() != null) {
        type = verbalizer.verbalize(c.getType());
      } else {
        type = verbalizer.verbalize(c.getList());
      }
      return name + type + ")";
    } else if (condition instanceof AfterCondition) {
      AfterCondition c = (AfterCondition) condition;
      String type = "";
      if (c.getType() != null) {
        type = verbalizer.verbalize(c.getType());
      } else {
        type = verbalizer.verbalize(c.getList());
      }
      return name + type + ")";
    } else if (condition instanceof StartsWithCondition) {
      StartsWithCondition c = (StartsWithCondition) condition;
      String arg = "";
      if (c.getType() != null) {
        arg = verbalizer.verbalize(c.getType());
      } else {
        arg = verbalizer.verbalize(c.getList());
      }
      return name + arg + ")";
    } else if (condition instanceof EndsWithCondition) {
      EndsWithCondition c = (EndsWithCondition) condition;
      String type = "";
      if (c.getType() != null) {
        type = verbalizer.verbalize(c.getType());
      } else {
        type = verbalizer.verbalize(c.getList());
      }
      return name + type + ")";
    } else if (condition instanceof SizeCondition) {
      SizeCondition c = (SizeCondition) condition;
      NumberExpression minE = c.getMinExpr();
      String min = verbalizeMin(minE, Integer.MIN_VALUE);
      NumberExpression maxE = c.getMaxExpr();
      String max = verbalizeMax(maxE, Integer.MAX_VALUE);
      String var = c.getVarExpr() == null ? "" : ", " + c.getVarExpr();
      ListExpression<?> listExpr = c.getListExpr();
      if (listExpr == null) {
        return name + min + max + var + ")";
      } else {
        String l = verbalizer.verbalize(listExpr);
        return name + l + min + max + var + ")";
      }
    } else if (condition instanceof ImplicitCondition) {
      ImplicitCondition c = (ImplicitCondition) condition;
      return verbalizer.verbalize(c.getExpr());
    }

    return condition.getClass().getSimpleName();
  }
View Full Code Here

    c = new ContainsCondition(typeListExpr, typeExpr2, null, null, null);
    s = v.verbalize(c);
    assertEquals("CONTAINS({Type1, typeVar}, typeVar)", s);

    // CONTEXTCOUNT
    c = new ContextCountCondition(typeExpr1, numExpr1, numExpr2, var);
    s = v.verbalize(c);
    assertEquals("CONTEXTCOUNT(Type1, 4, numVar, anyVar)", s);

    // COUNT
    c = new CountCondition(typeExpr1, numExpr1, numExpr2, var);
View Full Code Here

TOP

Related Classes of org.apache.uima.ruta.condition.ContextCountCondition

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.