protected boolean hasRepetitionRule(PlanItem planItem) { return planItem.getItemControl() != null && planItem.getItemControl().getRepetitionRule() != null; }
protected boolean isPlanItemRepeatableOnComplete(PlanItem planItem) { return planItem != null && planItem.getEntryCriteria().isEmpty() && planItem.getItemControl() != null && planItem.getItemControl().getRepetitionRule() != null; }
protected String getCounterVariable(PlanItemInstanceEntity repeatingPlanItemInstanceEntity) { String repetitionCounterVariableName = repeatingPlanItemInstanceEntity.getPlanItem().getItemControl().getRepetitionRule().getRepetitionCounterVariableName(); return repetitionCounterVariableName; }
if (planItem.getItemControl() != null) { PlanItemControl itemControl = planItem.getItemControl(); PlanItemControlExport.writeItemControl(itemControl, xtw);
protected boolean isRequiredPlanItemInstance(PlanItemInstanceEntity planItemInstanceEntity) { PlanItemControl planItemControl = planItemInstanceEntity.getPlanItem().getItemControl(); if (planItemControl != null && planItemControl.getRequiredRule() != null) { boolean isRequired = true; // Having a required rule means required by default, unless the condition says otherwise String requiredCondition = planItemControl.getRequiredRule().getCondition(); if (StringUtils.isNotEmpty(requiredCondition)) { isRequired = evaluateBooleanExpression(commandContext, planItemInstanceEntity, requiredCondition); } return isRequired; } return false; }
protected boolean isCompletionNeutralPlanItemInstance(PlanItemInstanceEntity planItemInstanceEntity) { PlanItemControl planItemControl = planItemInstanceEntity.getPlanItem().getItemControl(); if (planItemControl != null && planItemControl.getCompletionNeutralRule() != null) { boolean isCompletionNeutral = true; // Having a required rule means required by default, unless the condition says otherwise String condition = planItemControl.getCompletionNeutralRule().getCondition(); if (StringUtils.isNotEmpty(condition)) { isCompletionNeutral = evaluateBooleanExpression(commandContext, planItemInstanceEntity, condition); } return isCompletionNeutral; } return false; }
protected boolean evaluateManualActivationRule() { PlanItemControl planItemControl = planItemInstanceEntity.getPlanItem().getItemControl(); if (planItemControl != null && planItemControl.getManualActivationRule() != null) { ManualActivationRule manualActivationRule = planItemControl.getManualActivationRule(); if (StringUtils.isNotEmpty(manualActivationRule.getCondition())) { return evaluateBooleanExpression(commandContext, planItemInstanceEntity, manualActivationRule.getCondition()); } else { return true; // Having a manual activation rule without condition, defaults to true. } } return false; }
protected boolean evaluateRepetitionRule(PlanItemInstanceEntity planItemInstanceEntity) { if (hasRepetitionRule(planItemInstanceEntity)) { String repetitionCondition = planItemInstanceEntity.getPlanItem().getItemControl().getRepetitionRule().getCondition(); return evaluateRepetitionRule(planItemInstanceEntity, repetitionCondition); } return false; }
|| (hasRepetitionRule(entryDependentPlanItem) && evaluateRepetitionRule(caseInstanceEntity, entryDependentPlanItem.getItemControl().getRepetitionRule().getCondition())))) { // (terminated state) the plan item instance should not have been created anytime before