/** * Create an instance of {@link ExclusionPolicyConstraintType } * */ public ExclusionPolicyConstraintType createExclusionPolicyConstraintType() { return new ExclusionPolicyConstraintType(); }
public List<OrderConstraintsType> createOrderConstraintList() { PrismForJAXBUtil.createContainer(asPrismContainerValue(), F_ORDER_CONSTRAINT); return getOrderConstraint(); }
public List<OrderConstraintsType> createTargetOrderConstraintList() { PrismForJAXBUtil.createContainer(asPrismContainerValue(), F_TARGET_ORDER_CONSTRAINT); return getTargetOrderConstraint(); }
@Override protected ExclusionPolicyConstraintType createItem(PrismContainerValue value) { ExclusionPolicyConstraintType exclusion = new ExclusionPolicyConstraintType(); exclusion.setupContainerValue(value); return exclusion; }
public ExclusionPolicyConstraintType clone() { ExclusionPolicyConstraintType object = new ExclusionPolicyConstraintType(); PrismContainerValue value = asPrismContainerValue().clone(); object.setupContainerValue(value); return object; }
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; }
List<OrderConstraintsType> sourceOrderConstraints = defaultIfEmpty(constraint.getValue().getOrderConstraint()); List<OrderConstraintsType> targetOrderConstraints = defaultIfEmpty(constraint.getValue().getTargetOrderConstraint()); if (ctx.policyRule.isGlobal()) { if (!pathMatches(ctx.policyRule.getAssignmentPath(), sourceOrderConstraints)) { if (!oidMatches(constraint.getValue().getTargetRef(), targetB, prismContext, matchingRuleRegistry, "exclusion constraint")) { continue;
@Override protected PrismContainerValue getValueFrom(ExclusionPolicyConstraintType value) { return value.asPrismContainerValue(); }
private <F extends AssignmentHolderType> void checkAndTriggerExclusionConstraintViolationLegacy(EvaluatedAssignmentImpl<F> assignmentA, @NotNull EvaluatedAssignmentImpl<F> assignmentB, EvaluatedAssignmentTargetImpl roleA, EvaluatedAssignmentTargetImpl roleB, ExclusionPolicyConstraintType constraint) throws PolicyViolationException { ObjectReferenceType targetRef = constraint.getTargetRef(); if (roleB.getOid().equals(targetRef.getOid())) { EvaluatedExclusionTrigger trigger = new EvaluatedExclusionTrigger( constraint, buildFallbackMessage("Violation of SoD policy: " + roleA.getTarget() + " excludes " + roleB.getTarget() + ", they cannot be assigned at the same time"), buildFallbackMessage(roleA.getTarget().getName() + " excludes " + roleB.getTarget().getName()), assignmentB, roleA.getTarget() != null ? roleA.getTarget().asObjectable() : null, roleB.getTarget() != null ? roleB.getTarget().asObjectable() : null, roleA.getAssignmentPath(), roleB.getAssignmentPath()); assignmentA.triggerConstraintLegacy(trigger, localizationService); } }
public ExclusionPolicyConstraintType targetRef(ObjectReferenceType value) { setTargetRef(value); return this; }
public ExclusionPolicyConstraintType targetOrderConstraint(OrderConstraintsType value) { getTargetOrderConstraint().add(value); return this; }
public ExclusionPolicyConstraintType orderConstraint(OrderConstraintsType value) { getOrderConstraint().add(value); return this; }
public OrderConstraintsType beginOrderConstraint() { OrderConstraintsType value = new OrderConstraintsType(); orderConstraint(value); return value; }
@Override protected ExclusionPolicyConstraintType createItem(PrismContainerValue value) { ExclusionPolicyConstraintType exclusion = new ExclusionPolicyConstraintType(); exclusion.setupContainerValue(value); return exclusion; }
@Override protected PrismContainerValue getValueFrom(ExclusionPolicyConstraintType value) { return value.asPrismContainerValue(); }
private AssignmentType assertExclusion(PrismObject<RoleType> roleExclusion, String excludedRoleOid) { PrismContainer<AssignmentType> assignmentContainer = roleExclusion.findContainer(RoleType.F_ASSIGNMENT); assertNotNull("No assignment container in "+roleExclusion, assignmentContainer); assertEquals("Wrong size of assignment container in "+roleExclusion, 1, assignmentContainer.size()); AssignmentType exclusionAssignment = assignmentContainer.getValue().asContainerable(); PolicyRuleType exclusionPolicyRule = exclusionAssignment.getPolicyRule(); assertNotNull("No policy rule in "+roleExclusion, exclusionPolicyRule); PolicyConstraintsType exclusionPolicyConstraints = exclusionPolicyRule.getPolicyConstraints(); assertNotNull("No policy rule constraints in "+roleExclusion, exclusionPolicyConstraints); List<ExclusionPolicyConstraintType> exclusionExclusionPolicyConstraints = exclusionPolicyConstraints.getExclusion(); assertEquals("Wrong size of exclusion policy constraints in "+roleExclusion, 1, exclusionExclusionPolicyConstraints.size()); ExclusionPolicyConstraintType exclusionPolicyConstraint = exclusionExclusionPolicyConstraints.get(0); assertNotNull("No exclusion policy constraint in "+roleExclusion, exclusionPolicyConstraint); ObjectReferenceType targetRef = exclusionPolicyConstraint.getTargetRef(); assertNotNull("No targetRef in exclusion policy constraint in "+roleExclusion, targetRef); assertEquals("Wrong OID targetRef in exclusion policy constraint in "+roleExclusion, excludedRoleOid, targetRef.getOid()); return exclusionAssignment; }
/** * Create an instance of {@link ExclusionPolicyConstraintType } * */ public ExclusionPolicyConstraintType createExclusionPolicyConstraintType() { return new ExclusionPolicyConstraintType(); }
@Override public boolean equals(Object object) { if (!(object instanceof ExclusionPolicyConstraintType)) { return false; } ExclusionPolicyConstraintType other = ((ExclusionPolicyConstraintType) object); return asPrismContainerValue().equivalent(other.asPrismContainerValue()); }
/** * Create an instance of {@link ExclusionPolicyConstraintType } * */ public ExclusionPolicyConstraintType createExclusionPolicyConstraintType() { return new ExclusionPolicyConstraintType(); }
@XmlSchemaType(name = "string") @XmlElement(name = "policy") public ExclusionPolicyType getPolicy() { return PrismForJAXBUtil.getPropertyValue(asPrismContainerValue(), F_POLICY, ExclusionPolicyType.class); }