/** * Create an instance of {@link PolicyConstraintsType } * */ public PolicyConstraintsType createPolicyConstraintsType() { return new PolicyConstraintsType(); }
public PolicyConstraintsType exclusion(ExclusionPolicyConstraintType value) { getExclusion().add(value); return this; }
public List<MultiplicityPolicyConstraintType> createMinAssigneesList() { PrismForJAXBUtil.createContainer(asPrismContainerValue(), F_MIN_ASSIGNEES); return getMinAssignees(); }
@Override protected PolicyConstraintsType createItem(PrismContainerValue value) { PolicyConstraintsType not = new PolicyConstraintsType(); not.setupContainerValue(value); return not; }
public PolicyConstraintsType beginOr() { PolicyConstraintsType value = new PolicyConstraintsType(); or(value); return value; }
public PolicyConstraintsType beginNot() { PolicyConstraintsType value = new PolicyConstraintsType(); not(value); return value; }
rv = rv && visit(pc.getMinAssignees(), F_MIN_ASSIGNEES, visitor) && visit(pc.getMaxAssignees(), F_MAX_ASSIGNEES, visitor) && visit(pc.getObjectMinAssigneesViolation(), F_OBJECT_MIN_ASSIGNEES_VIOLATION, visitor) && visit(pc.getObjectMaxAssigneesViolation(), F_OBJECT_MAX_ASSIGNEES_VIOLATION, visitor) && visit(pc.getExclusion(), F_EXCLUSION, visitor) && visit(pc.getAssignment(), F_ASSIGNMENT, visitor) && visit(pc.getHasAssignment(), F_HAS_ASSIGNMENT, visitor) && visit(pc.getHasNoAssignment(), F_HAS_NO_ASSIGNMENT, visitor) && visit(pc.getModification(), F_MODIFICATION, visitor) && visit(pc.getObjectTimeValidity(), F_OBJECT_TIME_VALIDITY, visitor) && visit(pc.getAssignmentTimeValidity(), F_ASSIGNMENT_TIME_VALIDITY, visitor) && visit(pc.getAssignmentState(), F_ASSIGNMENT_STATE, visitor) && visit(pc.getObjectState(), F_OBJECT_STATE, visitor) && visit(pc.getSituation(), F_SITUATION, visitor) && visit(pc.getTransition(), F_TRANSITION, visitor) && visit(pc.getAnd(), F_AND, visitor) && visit(pc.getOr(), F_OR, visitor) && visit(pc.getNot(), F_NOT, visitor); if (!ignoreRefs && !pc.getRef().isEmpty()) { throw new IllegalStateException("Unresolved constraint reference (" + pc.getRef() + ")."); for (TransitionPolicyConstraintType transitionConstraint : pc.getTransition()) { rv = rv && accept(transitionConstraint.getConstraints(), visitor, true, alsoRoots, F_AND, ignoreRefs); && accept(pc.getAnd(), visitor, alsoRoots, F_AND, ignoreRefs) && accept(pc.getOr(), visitor, alsoRoots, F_OR, ignoreRefs) && accept(pc.getNot(), visitor, alsoRoots, F_AND, ignoreRefs);
@Nullable private String getSituationFromConstraints(PolicyConstraintsType policyConstraints) { if (!policyConstraints.getExclusion().isEmpty()) { return PredefinedPolicySituation.EXCLUSION_VIOLATION.getUrl(); } else if (!policyConstraints.getMinAssignees().isEmpty()) { return PredefinedPolicySituation.UNDERASSIGNED.getUrl(); } else if (!policyConstraints.getMaxAssignees().isEmpty()) { return PredefinedPolicySituation.OVERASSIGNED.getUrl(); } else if (!policyConstraints.getModification().isEmpty()) { return PredefinedPolicySituation.MODIFIED.getUrl(); } else if (!policyConstraints.getAssignment().isEmpty()) { return PredefinedPolicySituation.ASSIGNMENT_MODIFIED.getUrl(); } else if (!policyConstraints.getObjectTimeValidity().isEmpty()) { return PredefinedPolicySituation.OBJECT_TIME_VALIDITY.getUrl(); } else if (!policyConstraints.getAssignmentTimeValidity().isEmpty()) { return PredefinedPolicySituation.ASSIGNMENT_TIME_VALIDITY.getUrl(); } else if (!policyConstraints.getHasAssignment().isEmpty()) { return PredefinedPolicySituation.HAS_ASSIGNMENT.getUrl(); } else if (!policyConstraints.getHasNoAssignment().isEmpty()) { return PredefinedPolicySituation.HAS_NO_ASSIGNMENT.getUrl(); } else if (!policyConstraints.getObjectState().isEmpty()) { return PredefinedPolicySituation.OBJECT_STATE.getUrl(); } else if (!policyConstraints.getAssignmentState().isEmpty()) { return PredefinedPolicySituation.ASSIGNMENT_STATE.getUrl(); for (TransitionPolicyConstraintType tc : policyConstraints.getTransition()) { String s = getSituationFromConstraints(tc.getConstraints()); if (s != null) { for (PolicyConstraintsType subconstraints : policyConstraints.getAnd()) {
private boolean hasSituationConstraint(PolicyConstraintsType constraints) { return constraints != null && (!constraints.getSituation().isEmpty() || hasSituationConstraint(constraints.getAnd()) || hasSituationConstraint(constraints.getOr()) || hasSituationConstraint(constraints.getNot())); }
protected PolicyRuleType createMinAssigneePolicyRule(int minAssignees) { PolicyRuleType policyRule = new PolicyRuleType(); PolicyConstraintsType policyContraints = new PolicyConstraintsType(); MultiplicityPolicyConstraintType minAssigneeConstraint = new MultiplicityPolicyConstraintType(); minAssigneeConstraint.setMultiplicity(Integer.toString(minAssignees)); policyContraints.getMinAssignees().add(minAssigneeConstraint); policyRule.setPolicyConstraints(policyContraints); return policyRule; }
protected PolicyRuleType createExclusionPolicyRule(String excludedRoleOid) { PolicyRuleType policyRule = new PolicyRuleType(); PolicyConstraintsType policyContraints = new PolicyConstraintsType(); ExclusionPolicyConstraintType exclusionConstraint = new ExclusionPolicyConstraintType(); ObjectReferenceType targetRef = new ObjectReferenceType(); targetRef.setOid(excludedRoleOid); targetRef.setType(RoleType.COMPLEX_TYPE); exclusionConstraint.setTargetRef(targetRef); policyContraints.getExclusion().add(exclusionConstraint); policyRule.setPolicyConstraints(policyContraints); return policyRule; }
assertNotNull("no rule1", rule1); PolicyConstraintsType pc1 = rule1.getPolicyConstraints(); assertEquals(1, pc1.getAnd().size()); PolicyConstraintsType pc1inner = pc1.getAnd().get(0); assertEquals("mod-description-and-riskLevel-and-inducement", pc1inner.getName()); assertEquals("mod-riskLevel-and-inducement", pc1inner.getAnd().get(0).getName()); assertEquals(2, pc1inner.getAnd().get(0).getModification().size()); assertEquals("mod-description-and-riskLevel-and-inducement", pc2.getName()); assertEquals("mod-riskLevel-and-inducement", pc2.getAnd().get(0).getName()); assertEquals(2, pc2.getAnd().get(0).getModification().size()); assertEquals("Constraints in rule1, rule2 are different", pc1inner, pc2); assertNotNull("no rule3", rule3); PolicyConstraintsType pc3 = rule3.getPolicyConstraints(); assertEquals("mod-riskLevel-and-inducement", pc3.getName()); assertEquals(2, pc3.getModification().size()); assertEquals("Constraints in rule2 and rule3 are different", pc2.getAnd().get(0), pc3); assertEquals(1, pc4.getModification().size()); assertEquals("mod-inducement", pc4.getModification().get(0).getName());
protected PolicyRuleType createMaxAssigneePolicyRule(int maxAssignees) { PolicyRuleType policyRule = new PolicyRuleType(); PolicyConstraintsType policyContraints = new PolicyConstraintsType(); MultiplicityPolicyConstraintType maxAssigneeConstraint = new MultiplicityPolicyConstraintType(); maxAssigneeConstraint.setMultiplicity(Integer.toString(maxAssignees)); policyContraints.getMaxAssignees().add(maxAssigneeConstraint); policyRule.setPolicyConstraints(policyContraints); return policyRule; }
public PolicyConstraintsType clone() { PolicyConstraintsType object = new PolicyConstraintsType(); PrismContainerValue value = asPrismContainerValue().clone(); object.setupContainerValue(value); return object; }
public PolicyConstraintsType beginAnd() { PolicyConstraintsType value = new PolicyConstraintsType(); and(value); return value; }
public List<ExclusionPolicyConstraintType> createExclusionList() { PrismForJAXBUtil.createContainer(asPrismContainerValue(), F_EXCLUSION); return getExclusion(); }
public PolicyConstraintsType minAssignees(MultiplicityPolicyConstraintType value) { getMinAssignees().add(value); return this; }
public PolicyConstraintsType objectTimeValidity(TimeValidityPolicyConstraintType value) { getObjectTimeValidity().add(value); return this; }
public List<MultiplicityPolicyConstraintType> createMaxAssigneesList() { PrismForJAXBUtil.createContainer(asPrismContainerValue(), F_MAX_ASSIGNEES); return getMaxAssignees(); }
public List<AssignmentModificationPolicyConstraintType> createAssignmentList() { PrismForJAXBUtil.createContainer(asPrismContainerValue(), F_ASSIGNMENT); return getAssignment(); }