public EvaluatedPolicyRuleType trigger(EvaluatedPolicyRuleTriggerType value) { getTrigger().add(value); return this; }
private static void getExclusionTriggersFromRule(List<EvaluatedExclusionTriggerType> rv, EvaluatedPolicyRuleType rule) { getExclusionTriggersFromTriggers(rv, rule.getTrigger()); }
private static List<EvaluatedPolicyRuleTriggerType> getChildTriggers(EvaluatedPolicyRuleTriggerType trigger) { if (trigger instanceof EvaluatedEmbeddingTriggerType) { return ((EvaluatedEmbeddingTriggerType) trigger).getEmbedded(); } else if (trigger instanceof EvaluatedSituationTriggerType) { List<EvaluatedPolicyRuleTriggerType> rv = new ArrayList<>(); for (EvaluatedPolicyRuleType rule : ((EvaluatedSituationTriggerType) trigger).getSourceRule()) { rv.addAll(rule.getTrigger()); } return rv; } else { return Collections.emptyList(); } } //endregion
public static void visit(List<EvaluatedPolicyRuleTriggerType> triggers, Consumer<EvaluatedPolicyRuleTriggerType> visitor) { for (EvaluatedPolicyRuleTriggerType trigger : triggers) { visitor.accept(trigger); if (trigger instanceof EvaluatedSituationTriggerType) { EvaluatedSituationTriggerType situationTrigger = (EvaluatedSituationTriggerType) trigger; for (EvaluatedPolicyRuleType sourceRule : situationTrigger.getSourceRule()) { visit(sourceRule.getTrigger(), visitor); } } } }
triggers.addAll(entry.getRule().getTrigger());
private void assertExclusionViolationState(AssignmentType assignment) { assertEquals("Wrong policy situations", Collections.singletonList(SchemaConstants.MODEL_POLICY_SITUATION_EXCLUSION_VIOLATION), assignment.getPolicySituation()); assertEquals("Wrong # of triggered policy rules in assignment " + assignment, 1, assignment.getTriggeredPolicyRule().size()); List<EvaluatedPolicyRuleTriggerType> triggers = assignment.getTriggeredPolicyRule().get(0).getTrigger(); assertEquals("Wrong # of triggers in triggered policy rule in assignment " + assignment, 1, triggers.size()); assertEquals("Wrong type of trigger in " + assignment, PolicyConstraintKindType.EXCLUSION, triggers.get(0).getConstraintKind()); }
rv.getTrigger().add(trigger.toEvaluatedPolicyRuleTriggerType(options, prismContext)); if (rv.getTrigger().isEmpty()) {
copyTrigger(this.getTrigger(), clone.getTrigger());
/** * Creates a new {@code EvaluatedPolicyRuleType} instance by deeply copying a given {@code EvaluatedPolicyRuleType} instance. * * * @param o * The instance to copy. * @throws NullPointerException * if {@code o} is {@code null}. */ public EvaluatedPolicyRuleType(final EvaluatedPolicyRuleType o) { // CC-XJC Version 2.0 Build 2011-09-16T18:27:24+0000 super(); if (o == null) { throw new NullPointerException("Cannot create a copy of 'EvaluatedPolicyRuleType' from 'null'."); } // CClassInfo: com.evolveum.midpoint.xml.ns._public.common.common_3.PolicyRuleType this.policyRule = ((o.policyRule == null)?null:((o.getPolicyRule() == null)?null:o.getPolicyRule().clone())); // CBuiltinLeafInfo: java.lang.String this.ruleName = ((o.ruleName == null)?null:o.getRuleName()); // CClassInfo: com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentPathType this.assignmentPath = ((o.assignmentPath == null)?null:((o.getAssignmentPath() == null)?null:o.getAssignmentPath().clone())); // CClassInfo: com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType this.directOwnerRef = ((o.directOwnerRef == null)?null:((o.getDirectOwnerRef() == null)?null:o.getDirectOwnerRef().clone())); // CClassInfo: com.evolveum.prism.xml.ns._public.types_3.PolyStringType this.directOwnerDisplayName = ((o.directOwnerDisplayName == null)?null:((o.getDirectOwnerDisplayName() == null)?null:o.getDirectOwnerDisplayName().clone())); // 'Trigger' collection. if (o.trigger!= null) { copyTrigger(o.getTrigger(), this.getTrigger()); } }
private void assertTriggers(AssignmentType assignment, int exclusionExpected, int situationExpected) { int exclusion = 0, situation = 0; for (EvaluatedPolicyRuleType rule : assignment.getTriggeredPolicyRule()) { for (EvaluatedPolicyRuleTriggerType trigger : rule.getTrigger()) { //assertNotNull("Identifier not null in base trigger: " + trigger, trigger.getTriggerId()); if (trigger instanceof EvaluatedSituationTriggerType) { EvaluatedSituationTriggerType situationTrigger = (EvaluatedSituationTriggerType) trigger; int sourceTriggers = 0; for (EvaluatedPolicyRuleType sourceRule : situationTrigger.getSourceRule()) { for (EvaluatedPolicyRuleTriggerType sourceTrigger : sourceRule.getTrigger()) { sourceTriggers++; //assertNotNull("Ref not null in situation source trigger: " + sourceTrigger, sourceTrigger.getRef()); } } assertEquals("Wrong # of exclusion triggers in situation trigger", exclusionExpected, sourceTriggers); situation++; } else if (trigger instanceof EvaluatedExclusionTriggerType) { exclusion++; } else { fail("Unexpected trigger: " + trigger); } } } assertEquals("Wrong # of exclusion triggers", 0, exclusion); assertEquals("Wrong # of situation triggers", situationExpected, situation); List<EvaluatedExclusionTriggerType> exclusionTriggers = PolicyRuleTypeUtil .getAllExclusionTriggers(assignment.getTriggeredPolicyRule()); display("Exclusion triggers for " + assignment, exclusionTriggers); assertEquals("Wrong # of extracted exclusion triggers", exclusionExpected, exclusionTriggers.size()); }
theTrigger = (((this.trigger!= null)&&(!this.trigger.isEmpty()))?this.getTrigger():null); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "trigger", theTrigger), currentHashCode, theTrigger);
@Override protected void afterFirstClockworkRun(Task rootTask, List<Task> subtasks, List<WorkItemType> workItems, OperationResult result) throws Exception { ModelContext taskModelContext = wfTaskUtil.getModelContext(rootTask, result); ObjectDelta realDelta0 = taskModelContext.getFocusContext().getPrimaryDelta(); assertTrue("Non-empty primary focus delta: " + realDelta0.debugDump(), realDelta0.isEmpty()); assertNoObject(employee); ExpectedTask expectedTask = new ExpectedTask(null, "Adding role \"" + employee.asObjectable().getName().getOrig() + "\""); ExpectedWorkItem expectedWorkItem = new ExpectedWorkItem(userEmployeeOwnerOid, null, expectedTask); assertWfContextAfterClockworkRun(rootTask, subtasks, workItems, result, null, Collections.singletonList(expectedTask), Collections.singletonList(expectedWorkItem)); Collection<SelectorOptions<GetOperationOptions>> options = SelectorOptions.createCollection(prismContext.path(F_WORKFLOW_CONTEXT, F_WORK_ITEM), createRetrieve()); Task opTask = taskManager.createTaskInstance(); TaskType subtask = modelService.getObject(TaskType.class, subtasks.get(0).getOid(), options, opTask, result).asObjectable(); WfContextType wfc = subtask.getWorkflowContext(); ItemApprovalProcessStateType processState = WfContextUtil.getItemApprovalProcessInfo(wfc); assertEquals("Wrong # of attached policy rules entries", 1, processState.getPolicyRules().getEntry().size()); SchemaAttachedPolicyRuleType attachedRule = processState.getPolicyRules().getEntry().get(0); assertEquals(1, attachedRule.getStageMin().intValue()); assertEquals(1, attachedRule.getStageMax().intValue()); assertEquals("Wrong # of attached triggers", 1, attachedRule.getRule().getTrigger().size()); EvaluatedPolicyRuleTriggerType trigger = attachedRule.getRule().getTrigger().get(0); assertEquals("Wrong constraintKind in trigger", PolicyConstraintKindType.OBJECT_MODIFICATION, trigger.getConstraintKind()); WorkItemType workItem = wfc.getWorkItem().get(0); assertEquals("Wrong # of additional information", 0, workItem.getAdditionalInformation().size()); }
lhsTrigger = (((this.trigger!= null)&&(!this.trigger.isEmpty()))?this.getTrigger():null); List<EvaluatedPolicyRuleTriggerType> rhsTrigger; rhsTrigger = (((that.trigger!= null)&&(!that.trigger.isEmpty()))?that.getTrigger():null); if (!strategy.equals(LocatorUtils.property(thisLocator, "trigger", lhsTrigger), LocatorUtils.property(thatLocator, "trigger", rhsTrigger), lhsTrigger, rhsTrigger)) { return false;
assertEquals(1, attachedRule.getStageMin().intValue()); assertEquals(1, attachedRule.getStageMax().intValue()); assertEquals("Wrong # of attached triggers", 1, attachedRule.getRule().getTrigger().size()); EvaluatedPolicyRuleTriggerType trigger = attachedRule.getRule().getTrigger().get(0); assertEquals("Wrong constraintKind in trigger", PolicyConstraintKindType.TRANSITION, trigger.getConstraintKind());
assertEquals("wrong # of attached policy rules", 1, info.getPolicyRules().getEntry().size()); EvaluatedPolicyRuleType rule = info.getPolicyRules().getEntry().get(0).getRule(); List<EvaluatedPolicyRuleTriggerType> triggers = rule.getTrigger();