protected boolean hasRepetitionRule(PlanItem planItem) { return planItem.getItemControl() != null && planItem.getItemControl().getRepetitionRule() != null; }
public TimerEventListenerActivityBehaviour(TimerEventListener timerEventListener) { this.timerExpression = timerEventListener.getTimerExpression(); this.startTriggerSourceRef = timerEventListener.getTimerStartTriggerSourceRef(); this.startTriggerStandardEvent = timerEventListener.getTimerStartTriggerStandardEvent(); }
@Override protected String getPlanItemDefinitionXmlElementValue(Stage stage) { // start plan model or stage element if (stage.isPlanModel()) { return ELEMENT_PLAN_MODEL; } else { return ELEMENT_STAGE; } }
protected static void writePlanItem(PlanItem planItem, CmmnModel model, XMLStreamWriter xtw) throws Exception { createCmmnShape(model, planItem.getId(), xtw); for (Criterion criterion : planItem.getEntryCriteria()) { createCmmnShape(model, criterion.getId(), xtw); } for (Criterion criterion : planItem.getExitCriteria()) { createCmmnShape(model, criterion.getId(), xtw); } }
public static boolean criterionHasOnPartDependingOnPlanItem(Criterion criterion, PlanItem planItem, String event) { Sentry sentry = criterion.getSentry(); if (sentry != null) { for (SentryOnPart sentryOnPart : sentry.getOnParts()) { if (sentryOnPart.getSource().getId().equals(planItem.getId()) && sentryOnPart.getStandardEvent().equals(event)) { return true; } } } return false; }
protected static void writePlanModel(Stage stage, CmmnModel model, XMLStreamWriter xtw) throws Exception { createCmmnShape(model, stage.getId(), xtw); for (Criterion criterion : stage.getExitCriteria()) { createCmmnShape(model, criterion.getId(), xtw); } }
public ProcessTaskActivityBehavior(Process process, Expression processRefExpression, ProcessTask processTask) { super(processTask.isBlocking(), processTask.getBlockingExpression()); this.process = process; this.processRefExpression = processRefExpression; this.processRef = processTask.getProcessRef(); this.inParameters = processTask.getInParameters(); this.outParameters = processTask.getOutParameters(); this.fallbackToDefaultTenant = processTask.getFallbackToDefaultTenant(); }
protected void resolveExitCriteriaSentry(HasExitCriteria hasExitCriteria) { for (Criterion exitCriterion : hasExitCriteria.getExitCriteria()) { Sentry sentry = exitCriterion.getParent().findSentry(exitCriterion.getSentryRef()); if (sentry != null) { exitCriterion.setSentry(sentry); } else { throw new FlowableException("No sentry found for reference " + exitCriterion.getSentryRef() + " of exit criterion " + exitCriterion.getId()); } } }
protected void resolveEntryCriteria(HasEntryCriteria hasEntryCriteria) { for (Criterion entryCriterion : hasEntryCriteria.getEntryCriteria()) { Sentry sentry = entryCriterion.getParent().findSentry(entryCriterion.getSentryRef()); if (sentry != null) { entryCriterion.setSentry(sentry); } else { throw new FlowableException("No sentry found for reference " + entryCriterion.getSentryRef() + " of entry criterion " + entryCriterion.getId()); } } }
protected boolean planItemsShareDirectParentStage(PlanItem planItemOne, PlanItem planItemTwo) { Stage parentStage = planItemOne.getParentStage(); return parentStage.findPlanItemInPlanFragmentOrDownwards(planItemTwo.getId()) != null; }
protected boolean isPlanItemRepeatableOnComplete(PlanItem planItem) { return planItem != null && planItem.getEntryCriteria().isEmpty() && planItem.getItemControl() != null && planItem.getItemControl().getRepetitionRule() != null; }
private boolean isStageAncestor(String stageId, PlanItemDefinition planItemDefinition) { while (planItemDefinition.getParentStage() != null) { String currentStageId = planItemDefinition.getParentStage().getId(); if (currentStageId != null && currentStageId.equals(stageId)) { return true; } planItemDefinition = planItemDefinition.getParentStage(); } return false; }
protected String getCounterVariable(PlanItemInstanceEntity repeatingPlanItemInstanceEntity) { String repetitionCounterVariableName = repeatingPlanItemInstanceEntity.getPlanItem().getItemControl().getRepetitionRule().getRepetitionCounterVariableName(); return repetitionCounterVariableName; }
protected Stage getStage(PlanItemInstanceEntity planItemInstanceEntity) { PlanItemDefinition planItemDefinition = planItemInstanceEntity.getPlanItem().getPlanItemDefinition(); if (planItemDefinition instanceof Stage) { return (Stage) planItemDefinition; } else { return planItemDefinition.getParentStage(); } }
protected boolean isAsync() { if (planItemInstanceEntity.getPlanItem().getPlanItemDefinition() instanceof Task) { Task task = (Task) planItemInstanceEntity.getPlanItem().getPlanItemDefinition(); if (task.isAsync()) { return true; } } return false; }
protected boolean evaluateRepetitionRule(PlanItemInstanceEntity planItemInstanceEntity) { if (hasRepetitionRule(planItemInstanceEntity)) { String repetitionCondition = planItemInstanceEntity.getPlanItem().getItemControl().getRepetitionRule().getCondition(); return evaluateRepetitionRule(planItemInstanceEntity, repetitionCondition); } return false; }
public CaseTaskActivityBehavior(Expression caseRefExpression, CaseTask caseTask) { super(caseTask.isBlocking(), caseTask.getBlockingExpression()); this.caseRefExpression = caseRefExpression; this.fallbackToDefaultTenant = caseTask.getFallbackToDefaultTenant(); }
@Override protected CmmnElement convert(XMLStreamReader xtr, ConversionHelper conversionHelper) { PlanItemControl planItemControl = new PlanItemControl(); CmmnElement currentCmmnElement = conversionHelper.getCurrentCmmnElement(); if (currentCmmnElement instanceof PlanItem) { ((PlanItem) currentCmmnElement).setItemControl(planItemControl); } return planItemControl; }
@Override protected CmmnElement convert(XMLStreamReader xtr, ConversionHelper conversionHelper) { PlanItemControl planItemControl = new PlanItemControl(); CmmnElement currentCmmnElement = conversionHelper.getCurrentCmmnElement(); if (currentCmmnElement instanceof PlanItemDefinition) { ((PlanItemDefinition) currentCmmnElement).setDefaultControl(planItemControl); } return planItemControl; } }
@Override protected BaseElement convert(XMLStreamReader xtr, ConversionHelper conversionHelper) { TimerEventListener timerEventListener = new TimerEventListener(); // Timer expression / start trigger will be handled by dedicated converters return timerEventListener; }