@RequestMapping("/conditional") public String conditonal() { StringBuilder sb = new StringBuilder(); ConditionEvaluationReport conditionEvaluationReport = beanFactory.getBean("autoConfigurationReport", ConditionEvaluationReport.class); Map<String, ConditionEvaluationReport.ConditionAndOutcomes> result = conditionEvaluationReport.getConditionAndOutcomesBySource(); for(String key : result.keySet()) { ConditionEvaluationReport.ConditionAndOutcomes conditionAndOutcomes = result.get(key); Iterator<ConditionEvaluationReport.ConditionAndOutcome> iterator = conditionAndOutcomes.iterator(); while(iterator.hasNext()) { ConditionEvaluationReport.ConditionAndOutcome conditionAndOutcome = iterator.next(); sb.append(key + " -- " + conditionAndOutcome.getCondition().getClass().getSimpleName() + " -- " + conditionAndOutcome.getOutcome() + "<br/>"); } } return sb.toString(); }
public MessageAndCondition(ConditionAndOutcome conditionAndOutcome) { Condition condition = conditionAndOutcome.getCondition(); ConditionOutcome outcome = conditionAndOutcome.getOutcome(); this.condition = ClassUtils.getShortName(condition.getClass()); if (StringUtils.hasLength(outcome.getMessage())) { this.message = outcome.getMessage(); } else { this.message = outcome.isMatch() ? "matched" : "did not match"; } }
public MessageAndConditions(ConditionAndOutcomes conditionAndOutcomes) { for (ConditionAndOutcome conditionAndOutcome : conditionAndOutcomes) { List<MessageAndCondition> target = (conditionAndOutcome.getOutcome() .isMatch() ? this.matched : this.notMatched); target.add(new MessageAndCondition(conditionAndOutcome)); } }