@Override public Object clone() { ActiveRule clone = new ActiveRule(getRulesProfile(), getRule(), getLevel()); if (CollectionUtils.isNotEmpty(getActiveRuleParams())) { clone.setActiveRuleParams(new ArrayList<ActiveRuleParam>(CollectionUtils.collect(getActiveRuleParams(), new Transformer() { public Object transform(Object input) { return ((ActiveRuleParam) input).clone(); } }))); } return clone; }
public Object transform(Object input) { return ((ActiveRule) input).clone(); } })));
public void synchronizeRuleOfActiveRule(ActiveRule activeRule, String pluginKey) { Rule rule = activeRule.getRule(); Rule ruleFromDataBase = getRuleByKey(pluginKey, rule.getKey()); activeRule.setRule(ruleFromDataBase); List<RuleParam> ruleParamsFromDataBase = getRuleParams(); for (ActiveRuleParam activeRuleParam : activeRule.getActiveRuleParams()) { boolean found = false; Iterator<RuleParam> iterator = ruleParamsFromDataBase.iterator(); while (iterator.hasNext() && !found) { RuleParam ruleParamFromDataBase = iterator.next(); if (isRuleParamEqual(activeRuleParam.getRuleParam(), ruleParamFromDataBase, rule.getKey(), pluginKey)) { activeRuleParam.setRuleParam(ruleParamFromDataBase); found = true; } } } }
public ActiveRule getActiveRule(String pluginKey, String ruleKey) { for (ActiveRule activeRule : getActiveRules()) { if (activeRule.getRuleKey().equals(ruleKey) && activeRule.getPluginName().equals(pluginKey)) { return activeRule; } } return null; }
@Override public String toString() { return new ToStringBuilder(this).append("id", getId()).append("rule", rule).append("level", level).append("params", activeRuleParams).toString(); }
public List<ActiveRule> getActiveRulesByPlugin(String pluginKey) { List<ActiveRule> result = new ArrayList<ActiveRule>(); for (ActiveRule activeRule : getActiveRules()) { if (pluginKey.equals(activeRule.getPluginName())) { result.add(activeRule); } } return result; }
public List<ActiveRule> getActiveRules(RuleFailureLevel level) { List<ActiveRule> result = new ArrayList<ActiveRule>(); for (ActiveRule activeRule : getActiveRules()) { if (activeRule.getLevel().equals(level)) { result.add(activeRule); } } return result; }