public void dataChanged()

in appactive-java-client/client-rule/src/main/java/io/appactive/rule/traffic/impl/TrafficRouteRuleServiceImpl.java [92:115]


        public void dataChanged(UnitMappingRuleBO old,UnitMappingRuleBO unitMappingRule) {
            if (!checkRule(unitMappingRule)) {
                LogUtil.error("forbidden rule error,not change memory value,data:"+ JSON.toJSONString(unitMappingRule));
                return;
            }
            if (unitMappingRule == null){
                return;
            }
            List<TrafficCondition> trafficConditions = new ArrayList<>();
            Map<String, List<RuleCondition>> unitConditionMap = ConditionUtil.getUnitConditionMap(unitMappingRule);
            for (Entry<String, List<RuleCondition>> entry : unitConditionMap.entrySet()) {
                String unitFlag = entry.getKey().toUpperCase();
                List<RuleCondition> ruleConditions = entry.getValue();
                for (RuleCondition ruleCondition : ruleConditions) {
                    int priority = ruleCondition.priority();
                    TrafficCondition trafficCondition = new TrafficCondition(unitFlag,ruleCondition,priority);
                    trafficConditions.add(trafficCondition);
                }
            }

            Comparator<TrafficCondition> comparator = Comparator.comparingInt(TrafficCondition::getPriority);
            trafficConditions.sort(comparator);
            trafficConditionList = trafficConditions;
        }