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; }
@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); }
@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); } }
/** * 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; }
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; }
@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; }