Ejemplo n.º 1
0
 public static PropositionResult buildPropositionResult(
     ExecutionEnvironment environment, boolean result, Object source) {
   PropositionResult propositionResult = new PropositionResult(result);
   BasicResult basicResult =
       new BasicResult(
           ResultEvent.PROPOSITION_EVALUATED, source, environment, propositionResult.getResult());
   environment.getEngineResults().addResult(basicResult);
   return propositionResult;
 }
Ejemplo n.º 2
0
  @Override
  public PropositionResult evaluate(ExecutionEnvironment environment) {
    Date deceasedDate =
        environment.resolveTerm(RulesExecutionConstants.STUDENT_DECEASED_DATE_TERM, this);

    if (deceasedDate == null) {
      return this.recordResultWithNoDetails(environment, true);
    }
    return this.recordResultWithNoDetails(environment, false);
  }
Ejemplo n.º 3
0
 @Override
 public void execute(ExecutionEnvironment environment) {
   if (termResolvers != null)
     for (TermResolver<?> termResolver : termResolvers) {
       environment.addTermResolver(termResolver);
     }
   List<Agenda> matchingAgendas = findMatchingAgendas(environment);
   for (Agenda matchingAgenda : matchingAgendas) {
     matchingAgenda.execute(environment);
   }
 }
Ejemplo n.º 4
0
 /**
  * Utility to construct a proposition result from an exception
  *
  * @param environment
  * @param ex
  * @return
  */
 public static PropositionResult constructExceptionPropositionResult(
     ExecutionEnvironment environment, Exception ex, Object source) {
   LOGGER.warn("Exception while executing the Process Rules.", ex);
   Map<String, Object> executionDetails = new HashMap<String, Object>();
   // on an evaluation exception, report the details of the exception to the KRMS environment
   executionDetails.put(RulesExecutionConstants.PROCESS_EVALUATION_EXCEPTION, ex);
   PropositionResult propositionResult = new PropositionResult(false, executionDetails);
   BasicResult br =
       new BasicResult(
           executionDetails, ResultEvent.PROPOSITION_EVALUATED, source, environment, false);
   environment.getEngineResults().addResult(br);
   return propositionResult;
 }
Ejemplo n.º 5
0
  public static PropositionResult buildPropositionResult(
      ExecutionEnvironment environment,
      ValidationResult validationResult,
      boolean result,
      Object source) {
    Map<String, Object> executionDetails = new LinkedHashMap<>();
    executionDetails.put(RulesExecutionConstants.PROCESS_EVALUATION_RESULTS, validationResult);
    PropositionResult propositionResult = new PropositionResult(result, executionDetails);

    BasicResult basicResult =
        new BasicResult(
            executionDetails,
            ResultEvent.PROPOSITION_EVALUATED,
            source,
            environment,
            propositionResult.getResult());
    environment.getEngineResults().addResult(basicResult);
    return propositionResult;
  }
Ejemplo n.º 6
0
    @Override
    public boolean appliesTo(ExecutionEnvironment environment) {
      if (!isActive) {
        return false;
      }
      for (Map.Entry<String, String> agendaQualifier :
          environment.getSelectionCriteria().getAgendaQualifiers().entrySet()) {
        String agendaQualifierValue = qualifiers.get(agendaQualifier.getKey());
        String environmentQualifierValue = agendaQualifier.getValue();

        if (KcKrmsConstants.UNIT_NUMBER.equals(agendaQualifier.getKey())) {
          if (!(environmentQualifierValue.equals(agendaQualifierValue)
              || isChildUnit(environmentQualifierValue, agendaQualifierValue))) {
            return false;
          }
        } else if (!environmentQualifierValue.equals(agendaQualifierValue)) {
          return false;
        }
      }
      return true;
    }