Search in sources :

Example 1 with Sentry

use of org.camunda.bpm.model.cmmn.instance.Sentry in project camunda-cmmn-model by camunda.

the class PlanItemImpl method getEntryCriteria.

public Collection<Sentry> getEntryCriteria() {
    if (!isCmmn11()) {
        return Collections.unmodifiableCollection(getEntryCriterias());
    } else {
        List<Sentry> sentries = new ArrayList<Sentry>();
        Collection<EntryCriterion> entryCriterions = getEntryCriterions();
        for (EntryCriterion entryCriterion : entryCriterions) {
            Sentry sentry = entryCriterion.getSentry();
            if (sentry != null) {
                sentries.add(sentry);
            }
        }
        return Collections.unmodifiableCollection(sentries);
    }
}
Also used : ArrayList(java.util.ArrayList) Sentry(org.camunda.bpm.model.cmmn.instance.Sentry) EntryCriterion(org.camunda.bpm.model.cmmn.instance.EntryCriterion)

Example 2 with Sentry

use of org.camunda.bpm.model.cmmn.instance.Sentry in project camunda-cmmn-model by camunda.

the class SentryImpl method registerType.

public static void registerType(ModelBuilder modelBuilder) {
    ModelElementTypeBuilder typeBuilder = modelBuilder.defineType(Sentry.class, CMMN_ELEMENT_SENTRY).extendsType(CmmnElement.class).namespaceUri(CMMN11_NS).instanceProvider(new ModelTypeInstanceProvider<Sentry>() {

        public Sentry newInstance(ModelTypeInstanceContext instanceContext) {
            return new SentryImpl(instanceContext);
        }
    });
    nameAttribute = typeBuilder.stringAttribute(CMMN_ATTRIBUTE_NAME).build();
    SequenceBuilder sequenceBuilder = typeBuilder.sequence();
    onPartCollection = sequenceBuilder.elementCollection(OnPart.class).build();
    ifPartChild = sequenceBuilder.element(IfPart.class).build();
    typeBuilder.build();
}
Also used : SequenceBuilder(org.camunda.bpm.model.xml.type.child.SequenceBuilder) ModelElementTypeBuilder(org.camunda.bpm.model.xml.type.ModelElementTypeBuilder) Sentry(org.camunda.bpm.model.cmmn.instance.Sentry) ModelTypeInstanceContext(org.camunda.bpm.model.xml.impl.instance.ModelTypeInstanceContext)

Example 3 with Sentry

use of org.camunda.bpm.model.cmmn.instance.Sentry in project camunda-cmmn-model by camunda.

the class StageImpl method getExitCriteria.

public Collection<Sentry> getExitCriteria() {
    if (!isCmmn11()) {
        return Collections.unmodifiableCollection(getExitCriterias());
    } else {
        List<Sentry> sentries = new ArrayList<Sentry>();
        Collection<ExitCriterion> exitCriterions = getExitCriterions();
        for (ExitCriterion exitCriterion : exitCriterions) {
            Sentry sentry = exitCriterion.getSentry();
            if (sentry != null) {
                sentries.add(sentry);
            }
        }
        return Collections.unmodifiableCollection(sentries);
    }
}
Also used : ArrayList(java.util.ArrayList) Sentry(org.camunda.bpm.model.cmmn.instance.Sentry) ExitCriterion(org.camunda.bpm.model.cmmn.instance.ExitCriterion)

Example 4 with Sentry

use of org.camunda.bpm.model.cmmn.instance.Sentry in project camunda-cmmn-model by camunda.

the class Cmmn10Test method shouldGetMultipleIfPartConditions.

@Test
public void shouldGetMultipleIfPartConditions() {
    CmmnModelInstance modelInstance = getCmmnModelInstance();
    Sentry sentry = modelInstance.getModelElementsByType(Sentry.class).iterator().next();
    IfPart ifPart = sentry.getIfPart();
    assertThat(ifPart).isNotNull();
    Collection<ConditionExpression> conditions = ifPart.getConditions();
    assertThat(conditions).hasSize(2);
    ConditionExpression condition = ifPart.getCondition();
    assertThat(condition).isNotNull();
}
Also used : IfPart(org.camunda.bpm.model.cmmn.instance.IfPart) ConditionExpression(org.camunda.bpm.model.cmmn.instance.ConditionExpression) Sentry(org.camunda.bpm.model.cmmn.instance.Sentry) CmmnModelInstance(org.camunda.bpm.model.cmmn.CmmnModelInstance) Test(org.junit.Test)

Example 5 with Sentry

use of org.camunda.bpm.model.cmmn.instance.Sentry in project camunda-bpm-platform by camunda.

the class ItemHandler method initializeEntryCriterias.

protected void initializeEntryCriterias(CmmnElement element, CmmnActivity activity, CmmnHandlerContext context) {
    Collection<Sentry> entryCriterias = getEntryCriterias(element);
    if (!entryCriterias.isEmpty()) {
        CmmnActivity parent = activity.getParent();
        if (parent != null) {
            for (Sentry sentry : entryCriterias) {
                String sentryId = sentry.getId();
                CmmnSentryDeclaration sentryDeclaration = parent.getSentry(sentryId);
                if (sentryDeclaration != null) {
                    activity.addEntryCriteria(sentryDeclaration);
                }
            }
        }
    }
}
Also used : CmmnSentryDeclaration(org.camunda.bpm.engine.impl.cmmn.model.CmmnSentryDeclaration) Sentry(org.camunda.bpm.model.cmmn.instance.Sentry) CmmnActivity(org.camunda.bpm.engine.impl.cmmn.model.CmmnActivity) CamundaString(org.camunda.bpm.model.cmmn.instance.camunda.CamundaString)

Aggregations

Sentry (org.camunda.bpm.model.cmmn.instance.Sentry)49 CmmnSentryDeclaration (org.camunda.bpm.engine.impl.cmmn.model.CmmnSentryDeclaration)41 Test (org.junit.Test)40 CmmnActivity (org.camunda.bpm.engine.impl.cmmn.model.CmmnActivity)39 ConditionExpression (org.camunda.bpm.model.cmmn.instance.ConditionExpression)37 IfPart (org.camunda.bpm.model.cmmn.instance.IfPart)37 SentryHandler (org.camunda.bpm.engine.impl.cmmn.handler.SentryHandler)36 CasePlanModelHandler (org.camunda.bpm.engine.impl.cmmn.handler.CasePlanModelHandler)34 ExitCriterion (org.camunda.bpm.model.cmmn.instance.ExitCriterion)25 Body (org.camunda.bpm.model.cmmn.instance.Body)23 EntryCriterion (org.camunda.bpm.model.cmmn.instance.EntryCriterion)23 CmmnModelInstance (org.camunda.bpm.model.cmmn.CmmnModelInstance)4 ArrayList (java.util.ArrayList)3 PlanItem (org.camunda.bpm.model.cmmn.instance.PlanItem)3 CmmnOnPartDeclaration (org.camunda.bpm.engine.impl.cmmn.model.CmmnOnPartDeclaration)2 CamundaString (org.camunda.bpm.model.cmmn.instance.camunda.CamundaString)2 PlanItemTransition (org.camunda.bpm.model.cmmn.PlanItemTransition)1 CasePlanModel (org.camunda.bpm.model.cmmn.instance.CasePlanModel)1 ModelTypeInstanceContext (org.camunda.bpm.model.xml.impl.instance.ModelTypeInstanceContext)1 ModelElementTypeBuilder (org.camunda.bpm.model.xml.type.ModelElementTypeBuilder)1