private void markExternalPoliciesAsDisabled(List<PolicyUnit> units) { for (PolicyUnit policyUnit : units) { if (!policyUnit.isInternal()) { policyUnit.setEnabled(false); getPolicyUnitDao().update(policyUnit); } } }
private void sendToDb( ExternalSchedulerDiscoveryUnit discovery, Guid policyUnitId, PolicyUnitType type) { PolicyUnit policy = createFromDiscoveryUnit(discovery, type); if (policyUnitId != null) { policy.setId(policyUnitId); getPolicyUnitDao().update(policy); } else { policy.setId(Guid.newGuid()); getPolicyUnitDao().save(policy); } }
private PolicyUnit compareToDB( List<PolicyUnit> dbEnteries, ExternalSchedulerDiscoveryUnit discoveryUnit, PolicyUnitType type) { for (PolicyUnit policyUnit : dbEnteries) { if (policyUnit.isInternal()) { continue; } if (policyUnit.getPolicyUnitType() != type) { continue; } if (!policyUnit.getName().equals(discoveryUnit.getName())) { continue; } Map<String, String> discoveryPropMap = StringUtils.isEmpty(discoveryUnit.getRegex()) ? new LinkedHashMap<String, String>() : SimpleCustomPropertiesUtil.getInstance() .convertProperties(discoveryUnit.getRegex()); if (!discoveryPropMap.equals(policyUnit.getParameterRegExMap()) || !discoveryUnit.getDescription().equals(policyUnit.getDescription()) || !policyUnit.isEnabled()) { sendToDb(discoveryUnit, policyUnit.getId(), type); } return policyUnit; } sendToDb(discoveryUnit, null, type); return null; }
private void fillClusterPolicy( Map<Guid, ClusterPolicy> map, List<ClusterPolicyUnit> clusterPolicyUnits) { Map<Guid, PolicyUnit> policyUnitMap = new HashMap<Guid, PolicyUnit>(); for (PolicyUnit policyUnit : policyUnitDao.getAll()) { policyUnitMap.put(policyUnit.getId(), policyUnit); } for (ClusterPolicyUnit clusterPolicyUnit : clusterPolicyUnits) { ClusterPolicy clusterPolicy = map.get(clusterPolicyUnit.getClusterPolicyId()); if (policyUnitMap.get(clusterPolicyUnit.getPolicyUnitId()).getPolicyUnitType() == PolicyUnitType.FILTER) { if (clusterPolicy.getFilters() == null) { clusterPolicy.setFilters(new ArrayList<Guid>()); } clusterPolicy.getFilters().add(clusterPolicyUnit.getPolicyUnitId()); if (clusterPolicyUnit.getFilterSequence() != 0) { if (clusterPolicy.getFilterPositionMap() == null) { clusterPolicy.setFilterPositionMap(new HashMap<Guid, Integer>()); } clusterPolicy .getFilterPositionMap() .put(clusterPolicyUnit.getPolicyUnitId(), clusterPolicyUnit.getFilterSequence()); } } if (policyUnitMap.get(clusterPolicyUnit.getPolicyUnitId()).getPolicyUnitType() == PolicyUnitType.WEIGHT) { if (clusterPolicy.getFunctions() == null) { clusterPolicy.setFunctions(new ArrayList<Pair<Guid, Integer>>()); } clusterPolicy .getFunctions() .add( new Pair<Guid, Integer>( clusterPolicyUnit.getPolicyUnitId(), clusterPolicyUnit.getFactor())); } if (policyUnitMap.get(clusterPolicyUnit.getPolicyUnitId()).getPolicyUnitType() == PolicyUnitType.LOAD_BALANCING) { clusterPolicy.setBalance(clusterPolicyUnit.getPolicyUnitId()); } } }
private PolicyUnit createFromDiscoveryUnit( ExternalSchedulerDiscoveryUnit discoveryUnit, PolicyUnitType type) { PolicyUnit policy = new PolicyUnit(); policy.setInternal(false); policy.setName(discoveryUnit.getName()); policy.setPolicyUnitType(type); policy.setDescription(discoveryUnit.getDescription()); if (!StringUtils.isEmpty(discoveryUnit.getRegex())) { policy.setParameterRegExMap( SimpleCustomPropertiesUtil.getInstance().convertProperties(discoveryUnit.getRegex())); } else { policy.setParameterRegExMap(new LinkedHashMap<String, String>()); } return policy; }