private static boolean isTargetFilterInGroups(final String groupFilter, final List<RolloutGroup> groups) { return !StringUtils.isEmpty(groupFilter) && groups.stream().anyMatch(prevGroup -> !StringUtils.isEmpty(prevGroup.getTargetFilterQuery()) && prevGroup.getTargetFilterQuery().equals(groupFilter)); }
/** * @param baseFilter * the base filter from the rollout * @param group * group for which the filter string should be created * @return the final target filter query for a rollout group */ static String getGroupTargetFilter(final String baseFilter, final RolloutGroup group) { if (StringUtils.isEmpty(group.getTargetFilterQuery())) { return baseFilter; } else { return concatAndTargetFilters(baseFilter, group.getTargetFilterQuery()); } }
/** * Creates an RSQL expression that matches all targets in the provided * groups. Links all target filter queries with OR. * * @param groups * the rollout groups * @return RSQL string without base filter of the Rollout. Can be an empty * string. */ public static String getAllGroupsTargetFilter(final List<RolloutGroup> groups) { if (groups.stream().anyMatch(group -> StringUtils.isEmpty(group.getTargetFilterQuery()))) { return ""; } return "(" + groups.stream().map(RolloutGroup::getTargetFilterQuery).distinct().sorted() .collect(Collectors.joining("),(")) + ")"; }
private void populateTargetFilterQuery(final RolloutGroup group) { if (StringUtils.isEmpty(group.getTargetFilterQuery())) { targetFilterQueryCombo.setValue(null); } else { final Page<TargetFilterQuery> filterQueries = targetFilterQueryManagement .findByQuery(PageRequest.of(0, 1), group.getTargetFilterQuery()); if (filterQueries.getTotalElements() > 0) { final TargetFilterQuery filterQuery = filterQueries.getContent().get(0); targetFilterQueryCombo.setValue(filterQuery.getName()); } } }
private void populateTargetFilterQuery(final RolloutGroup group) { if (StringUtils.isEmpty(group.getTargetFilterQuery())) { targetFilterQueryCombo.setValue(null); } else { final Page<TargetFilterQuery> filterQueries = targetFilterQueryManagement .findByQuery(new PageRequest(0, 1), group.getTargetFilterQuery()); if (filterQueries.getTotalElements() > 0) { final TargetFilterQuery filterQuery = filterQueries.getContent().get(0); targetFilterQueryCombo.setValue(filterQuery.getName()); } } }
final String groupFilter = group.getTargetFilterQuery();
/** * Populates the row with the data from the provided groups. * * @param group * the data source */ public void populateByGroup(final RolloutGroup group) { initialized = false; groupName.setValue(group.getName()); targetFilterQuery.setValue(group.getTargetFilterQuery()); populateTargetFilterQuery(group); targetPercentage.setValue(String.format("%.2f", group.getTargetPercentage())); triggerThreshold.setValue(group.getSuccessConditionExp()); errorThreshold.setValue(group.getErrorConditionExp()); populated = true; initialized = true; }
/** * Populates the row with the data from the provided groups. * * @param group * the data source */ public void populateByGroup(final RolloutGroup group) { initialized = false; groupName.setValue(group.getName()); targetFilterQuery.setValue(group.getTargetFilterQuery()); populateTargetFilterQuery(group); targetPercentage.setValue(String.format("%.2f", group.getTargetPercentage())); triggerThreshold.setValue(group.getSuccessConditionExp()); errorThreshold.setValue(group.getErrorConditionExp()); populated = true; initialized = true; }
jsonGroup.put("name", group.getName()); jsonGroup.put("description", group.getDescription()); jsonGroup.put("targetFilterQuery", group.getTargetFilterQuery()); jsonGroup.put("targetPercentage", group.getTargetPercentage());
if (srcGroup.getTargetFilterQuery() != null) { group.setTargetFilterQuery(srcGroup.getTargetFilterQuery()); } else { group.setTargetFilterQuery("");
if (srcGroup.getTargetFilterQuery() != null) { group.setTargetFilterQuery(srcGroup.getTargetFilterQuery()); } else { group.setTargetFilterQuery("");
body.setStatus(rolloutGroup.getStatus().toString().toLowerCase()); body.setTargetPercentage(rolloutGroup.getTargetPercentage()); body.setTargetFilterQuery(rolloutGroup.getTargetFilterQuery()); body.setTotalTargets(rolloutGroup.getTotalTargets());