static RolloutGroupCreate fromRequest(final EntityFactory entityFactory, final MgmtRolloutGroup restRequest) { return entityFactory.rolloutGroup().create().name(restRequest.getName()) .description(restRequest.getDescription()).targetFilterQuery(restRequest.getTargetFilterQuery()) .targetPercentage(restRequest.getTargetPercentage()).conditions(fromRequest(restRequest, false)); }
/** * Builds a group definition from this group row * * @return the RolloutGroupCreate definition */ public RolloutGroupCreate getGroupEntity() { final RolloutGroupConditionBuilder conditionBuilder = new RolloutGroupConditionBuilder() .successAction(RolloutGroup.RolloutGroupSuccessAction.NEXTGROUP, null) .successCondition(RolloutGroup.RolloutGroupSuccessCondition.THRESHOLD, triggerThreshold.getValue()); if (!StringUtils.isEmpty(errorThreshold.getValue())) { conditionBuilder .errorCondition(RolloutGroup.RolloutGroupErrorCondition.THRESHOLD, errorThreshold.getValue()) .errorAction(RolloutGroup.RolloutGroupErrorAction.PAUSE, null); } final String percentageString = targetPercentage.getValue().replace(",", "."); final Float percentage = Float.parseFloat(percentageString); return entityFactory.rolloutGroup().create().name(groupName.getValue()).description(groupName.getValue()) .targetFilterQuery(getTargetFilterQuery()).targetPercentage(percentage) .conditions(conditionBuilder.build()); }
/** * Builds a group definition from this group row * * @return the RolloutGroupCreate definition */ public RolloutGroupCreate getGroupEntity() { final RolloutGroupConditionBuilder conditionBuilder = new RolloutGroupConditionBuilder() .successAction(RolloutGroup.RolloutGroupSuccessAction.NEXTGROUP, null) .successCondition(RolloutGroup.RolloutGroupSuccessCondition.THRESHOLD, triggerThreshold.getValue()); if (!StringUtils.isEmpty(errorThreshold.getValue())) { conditionBuilder .errorCondition(RolloutGroup.RolloutGroupErrorCondition.THRESHOLD, errorThreshold.getValue()) .errorAction(RolloutGroup.RolloutGroupErrorAction.PAUSE, null); } final String percentageString = targetPercentage.getValue().replace(",", "."); final Float percentage = Float.parseFloat(percentageString); return entityFactory.rolloutGroup().create().name(groupName.getValue()).description(groupName.getValue()) .targetFilterQuery(getTargetFilterQuery()).targetPercentage(percentage) .conditions(conditionBuilder.build()); }
final float percentTargetsInGroup2 = 100; final RolloutGroup group1 = entityFactory.rolloutGroup().create().name("Group1").description("Group1desc") .targetFilterQuery("name==targets-1*").targetPercentage(percentTargetsInGroup1) .conditions(new RolloutGroupConditionBuilder() rolloutGroups.add(group1); final RolloutGroup group2 = entityFactory.rolloutGroup().create().name("Group2").description("Group2desc") .targetPercentage(percentTargetsInGroup2).build(); rolloutGroups.add(group2);