Search in sources :

Example 1 with Text

use of org.camunda.bpm.model.dmn.instance.Text in project camunda-bpm-platform by camunda.

the class DecisionDefinitionDeployerTest method createDmnModelInstance.

protected static DmnModelInstance createDmnModelInstance() {
    DmnModelInstance modelInstance = Dmn.createEmptyModel();
    Definitions definitions = modelInstance.newInstance(Definitions.class);
    definitions.setId(DmnModelConstants.DMN_ELEMENT_DEFINITIONS);
    definitions.setName(DmnModelConstants.DMN_ELEMENT_DEFINITIONS);
    definitions.setNamespace(DmnModelConstants.CAMUNDA_NS);
    modelInstance.setDefinitions(definitions);
    Decision decision = modelInstance.newInstance(Decision.class);
    decision.setId("Decision-1");
    decision.setName("foo");
    decision.setCamundaHistoryTimeToLive(5);
    modelInstance.getDefinitions().addChildElement(decision);
    DecisionTable decisionTable = modelInstance.newInstance(DecisionTable.class);
    decisionTable.setId(DmnModelConstants.DMN_ELEMENT_DECISION_TABLE);
    decisionTable.setHitPolicy(HitPolicy.FIRST);
    decision.addChildElement(decisionTable);
    Input input = modelInstance.newInstance(Input.class);
    input.setId("Input-1");
    input.setLabel("Input");
    decisionTable.addChildElement(input);
    InputExpression inputExpression = modelInstance.newInstance(InputExpression.class);
    inputExpression.setId("InputExpression-1");
    Text inputExpressionText = modelInstance.newInstance(Text.class);
    inputExpressionText.setTextContent("input");
    inputExpression.setText(inputExpressionText);
    inputExpression.setTypeRef("string");
    input.setInputExpression(inputExpression);
    Output output = modelInstance.newInstance(Output.class);
    output.setName("output");
    output.setLabel("Output");
    output.setTypeRef("string");
    decisionTable.addChildElement(output);
    return modelInstance;
}
Also used : DecisionTable(org.camunda.bpm.model.dmn.instance.DecisionTable) Input(org.camunda.bpm.model.dmn.instance.Input) Definitions(org.camunda.bpm.model.dmn.instance.Definitions) Output(org.camunda.bpm.model.dmn.instance.Output) Text(org.camunda.bpm.model.dmn.instance.Text) InputExpression(org.camunda.bpm.model.dmn.instance.InputExpression) Decision(org.camunda.bpm.model.dmn.instance.Decision) DmnModelInstance(org.camunda.bpm.model.dmn.DmnModelInstance)

Example 2 with Text

use of org.camunda.bpm.model.dmn.instance.Text in project camunda-dmn-model by camunda.

the class ExampleTestCompatibility method shouldWriteElements.

@Test
public void shouldWriteElements() throws Exception {
    modelInstance = Dmn.createEmptyModel();
    // Definitions
    Definitions definitions = generateNamedElement(Definitions.class, "definitions");
    definitions.setNamespace(TEST_NAMESPACE);
    modelInstance.setDocumentElement(definitions);
    // Decision
    Decision decision = generateNamedElement(Decision.class, "Check Order");
    definitions.addChildElement(decision);
    // Decision table
    DecisionTable decisionTable = generateElement(DecisionTable.class);
    decision.addChildElement(decisionTable);
    // 1. Input clause
    Input input = generateElement(Input.class, 1);
    input.setLabel("Customer Status");
    InputExpression inputExpression = generateElement(InputExpression.class, 1);
    inputExpression.setTypeRef("string");
    Text text = generateElement(Text.class);
    text.setTextContent("status");
    inputExpression.setText(text);
    input.setInputExpression(inputExpression);
    InputValues inputValues = generateElement(InputValues.class);
    text = generateElement(Text.class);
    text.setTextContent("\"bronze\",\"silver\",\"gold\"");
    inputValues.setText(text);
    input.setInputValues(inputValues);
    decisionTable.getInputs().add(input);
    // 2. Input clause
    input = generateElement(Input.class, 2);
    input.setLabel("Order Sum");
    inputExpression = generateElement(InputExpression.class, 2);
    inputExpression.setTypeRef("double");
    text = generateElement(Text.class);
    text.setTextContent("sum");
    inputExpression.setText(text);
    input.setInputExpression(inputExpression);
    decisionTable.getInputs().add(input);
    // 1. Output clause
    Output output = generateElement(Output.class, 1);
    output.setLabel("Check Result");
    output.setName("result");
    output.setTypeRef("string");
    OutputValues outputValues = generateElement(OutputValues.class);
    text = generateElement(Text.class);
    text.setTextContent("\"ok\",\"notok\"");
    outputValues.setText(text);
    output.setOutputValues(outputValues);
    decisionTable.getOutputs().add(output);
    // 2. Output clause
    output = generateElement(Output.class, 2);
    output.setLabel("Reason");
    output.setName("reason");
    output.setTypeRef("string");
    decisionTable.getOutputs().add(output);
    // 1. Rule
    Rule rule = generateElement(Rule.class, 1);
    InputEntry inputEntry = generateElement(InputEntry.class, 1);
    text = generateElement(Text.class);
    text.setTextContent("\"bronze\"");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    inputEntry = generateElement(InputEntry.class, 2);
    text = generateElement(Text.class);
    text.setTextContent("");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    OutputEntry outputEntry = generateElement(OutputEntry.class, 1);
    text = generateElement(Text.class);
    text.setTextContent("\"notok\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    outputEntry = generateElement(OutputEntry.class, 2);
    text = generateElement(Text.class);
    text.getDomElement().addCDataSection("\"work on your status first, as bronze you're not going to get anything\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    decisionTable.getRules().add(rule);
    // 2. Rule
    rule = generateElement(Rule.class, 2);
    inputEntry = generateElement(InputEntry.class, 3);
    text = generateElement(Text.class);
    text.setTextContent("\"silver\"");
    rule.getInputEntries().add(inputEntry);
    inputEntry.setText(text);
    inputEntry = generateElement(InputEntry.class, 4);
    text = generateElement(Text.class);
    text.getDomElement().addCDataSection("< 1000");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    outputEntry = generateElement(OutputEntry.class, 3);
    text = generateElement(Text.class);
    text.setTextContent("\"ok\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    outputEntry = generateElement(OutputEntry.class, 4);
    text = generateElement(Text.class);
    text.setTextContent("\"you little fish will get what you want\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    decisionTable.getRules().add(rule);
    // 3. Rule
    rule = generateElement(Rule.class, 3);
    inputEntry = generateElement(InputEntry.class, 5);
    text = generateElement(Text.class);
    text.setTextContent("\"silver\"");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    inputEntry = generateElement(InputEntry.class, 6);
    text = generateElement(Text.class);
    text.getDomElement().addCDataSection(">= 1000");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    outputEntry = generateElement(OutputEntry.class, 5);
    text = generateElement(Text.class);
    text.setTextContent("\"notok\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    outputEntry = generateElement(OutputEntry.class, 6);
    text = generateElement(Text.class);
    text.setTextContent("\"you took too much man, you took too much!\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    decisionTable.getRules().add(rule);
    // 4. Rule
    rule = generateElement(Rule.class, 4);
    inputEntry = generateElement(InputEntry.class, 7);
    text = generateElement(Text.class);
    text.setTextContent("\"gold\"");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    inputEntry = generateElement(InputEntry.class, 8);
    text = generateElement(Text.class);
    text.setTextContent("");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    outputEntry = generateElement(OutputEntry.class, 7);
    text = generateElement(Text.class);
    text.setTextContent("\"ok\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    outputEntry = generateElement(OutputEntry.class, 8);
    text = generateElement(Text.class);
    text.setTextContent("\"you get anything you want\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    decisionTable.getRules().add(rule);
    assertModelEqualsFile(EXAMPLE_DMN);
}
Also used : DecisionTable(org.camunda.bpm.model.dmn.instance.DecisionTable) InputValues(org.camunda.bpm.model.dmn.instance.InputValues) Input(org.camunda.bpm.model.dmn.instance.Input) OutputEntry(org.camunda.bpm.model.dmn.instance.OutputEntry) OutputValues(org.camunda.bpm.model.dmn.instance.OutputValues) Definitions(org.camunda.bpm.model.dmn.instance.Definitions) Output(org.camunda.bpm.model.dmn.instance.Output) Text(org.camunda.bpm.model.dmn.instance.Text) Rule(org.camunda.bpm.model.dmn.instance.Rule) InputExpression(org.camunda.bpm.model.dmn.instance.InputExpression) Decision(org.camunda.bpm.model.dmn.instance.Decision) InputEntry(org.camunda.bpm.model.dmn.instance.InputEntry) Test(org.junit.Test)

Example 3 with Text

use of org.camunda.bpm.model.dmn.instance.Text in project camunda-dmn-model by camunda.

the class ExampleCompatibilityTest method shouldWriteElements.

@Test
public void shouldWriteElements() throws Exception {
    modelInstance = Dmn.createEmptyModel();
    // Definitions
    Definitions definitions = generateNamedElement(Definitions.class, "definitions");
    definitions.setNamespace(TEST_NAMESPACE);
    modelInstance.setDocumentElement(definitions);
    // Decision
    Decision decision = generateNamedElement(Decision.class, "Check Order");
    definitions.addChildElement(decision);
    // Decision table
    DecisionTable decisionTable = generateElement(DecisionTable.class);
    decision.addChildElement(decisionTable);
    // 1. Input clause
    Input input = generateElement(Input.class, 1);
    input.setLabel("Customer Status");
    InputExpression inputExpression = generateElement(InputExpression.class, 1);
    inputExpression.setTypeRef("string");
    Text text = generateElement(Text.class);
    text.setTextContent("status");
    inputExpression.setText(text);
    input.setInputExpression(inputExpression);
    InputValues inputValues = generateElement(InputValues.class);
    text = generateElement(Text.class);
    text.setTextContent("\"bronze\",\"silver\",\"gold\"");
    inputValues.setText(text);
    input.setInputValues(inputValues);
    decisionTable.getInputs().add(input);
    // 2. Input clause
    input = generateElement(Input.class, 2);
    input.setLabel("Order Sum");
    inputExpression = generateElement(InputExpression.class, 2);
    inputExpression.setTypeRef("double");
    text = generateElement(Text.class);
    text.setTextContent("sum");
    inputExpression.setText(text);
    input.setInputExpression(inputExpression);
    decisionTable.getInputs().add(input);
    // 1. Output clause
    Output output = generateElement(Output.class, 1);
    output.setLabel("Check Result");
    output.setName("result");
    output.setTypeRef("string");
    OutputValues outputValues = generateElement(OutputValues.class);
    text = generateElement(Text.class);
    text.setTextContent("\"ok\",\"notok\"");
    outputValues.setText(text);
    output.setOutputValues(outputValues);
    decisionTable.getOutputs().add(output);
    // 2. Output clause
    output = generateElement(Output.class, 2);
    output.setLabel("Reason");
    output.setName("reason");
    output.setTypeRef("string");
    decisionTable.getOutputs().add(output);
    // 1. Rule
    Rule rule = generateElement(Rule.class, 1);
    InputEntry inputEntry = generateElement(InputEntry.class, 1);
    text = generateElement(Text.class);
    text.setTextContent("\"bronze\"");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    inputEntry = generateElement(InputEntry.class, 2);
    text = generateElement(Text.class);
    text.setTextContent("");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    OutputEntry outputEntry = generateElement(OutputEntry.class, 1);
    text = generateElement(Text.class);
    text.setTextContent("\"notok\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    outputEntry = generateElement(OutputEntry.class, 2);
    text = generateElement(Text.class);
    text.getDomElement().addCDataSection("\"work on your status first, as bronze you're not going to get anything\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    decisionTable.getRules().add(rule);
    // 2. Rule
    rule = generateElement(Rule.class, 2);
    inputEntry = generateElement(InputEntry.class, 3);
    text = generateElement(Text.class);
    text.setTextContent("\"silver\"");
    rule.getInputEntries().add(inputEntry);
    inputEntry.setText(text);
    inputEntry = generateElement(InputEntry.class, 4);
    text = generateElement(Text.class);
    text.getDomElement().addCDataSection("< 1000");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    outputEntry = generateElement(OutputEntry.class, 3);
    text = generateElement(Text.class);
    text.setTextContent("\"ok\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    outputEntry = generateElement(OutputEntry.class, 4);
    text = generateElement(Text.class);
    text.setTextContent("\"you little fish will get what you want\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    decisionTable.getRules().add(rule);
    // 3. Rule
    rule = generateElement(Rule.class, 3);
    inputEntry = generateElement(InputEntry.class, 5);
    text = generateElement(Text.class);
    text.setTextContent("\"silver\"");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    inputEntry = generateElement(InputEntry.class, 6);
    text = generateElement(Text.class);
    text.getDomElement().addCDataSection(">= 1000");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    outputEntry = generateElement(OutputEntry.class, 5);
    text = generateElement(Text.class);
    text.setTextContent("\"notok\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    outputEntry = generateElement(OutputEntry.class, 6);
    text = generateElement(Text.class);
    text.setTextContent("\"you took too much man, you took too much!\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    decisionTable.getRules().add(rule);
    // 4. Rule
    rule = generateElement(Rule.class, 4);
    inputEntry = generateElement(InputEntry.class, 7);
    text = generateElement(Text.class);
    text.setTextContent("\"gold\"");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    inputEntry = generateElement(InputEntry.class, 8);
    text = generateElement(Text.class);
    text.setTextContent("");
    inputEntry.setText(text);
    rule.getInputEntries().add(inputEntry);
    outputEntry = generateElement(OutputEntry.class, 7);
    text = generateElement(Text.class);
    text.setTextContent("\"ok\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    outputEntry = generateElement(OutputEntry.class, 8);
    text = generateElement(Text.class);
    text.setTextContent("\"you get anything you want\"");
    outputEntry.setText(text);
    rule.getOutputEntries().add(outputEntry);
    decisionTable.getRules().add(rule);
    assertModelEqualsFile(EXAMPLE_DMN);
}
Also used : DecisionTable(org.camunda.bpm.model.dmn.instance.DecisionTable) InputValues(org.camunda.bpm.model.dmn.instance.InputValues) Input(org.camunda.bpm.model.dmn.instance.Input) OutputEntry(org.camunda.bpm.model.dmn.instance.OutputEntry) OutputValues(org.camunda.bpm.model.dmn.instance.OutputValues) Definitions(org.camunda.bpm.model.dmn.instance.Definitions) Output(org.camunda.bpm.model.dmn.instance.Output) Text(org.camunda.bpm.model.dmn.instance.Text) Rule(org.camunda.bpm.model.dmn.instance.Rule) InputExpression(org.camunda.bpm.model.dmn.instance.InputExpression) Decision(org.camunda.bpm.model.dmn.instance.Decision) InputEntry(org.camunda.bpm.model.dmn.instance.InputEntry) Test(org.junit.Test)

Example 4 with Text

use of org.camunda.bpm.model.dmn.instance.Text in project camunda-dmn-model by camunda.

the class TextImpl method registerType.

public static void registerType(ModelBuilder modelBuilder) {
    ModelElementTypeBuilder typeBuilder = modelBuilder.defineType(Text.class, DMN_ELEMENT_TEXT).namespaceUri(DMN11_NS).instanceProvider(new ModelTypeInstanceProvider<Text>() {

        public Text newInstance(ModelTypeInstanceContext instanceContext) {
            return new TextImpl(instanceContext);
        }
    });
    typeBuilder.build();
}
Also used : ModelElementTypeBuilder(org.camunda.bpm.model.xml.type.ModelElementTypeBuilder) Text(org.camunda.bpm.model.dmn.instance.Text) ModelTypeInstanceContext(org.camunda.bpm.model.xml.impl.instance.ModelTypeInstanceContext)

Aggregations

Text (org.camunda.bpm.model.dmn.instance.Text)4 Decision (org.camunda.bpm.model.dmn.instance.Decision)3 DecisionTable (org.camunda.bpm.model.dmn.instance.DecisionTable)3 Definitions (org.camunda.bpm.model.dmn.instance.Definitions)3 Input (org.camunda.bpm.model.dmn.instance.Input)3 InputExpression (org.camunda.bpm.model.dmn.instance.InputExpression)3 Output (org.camunda.bpm.model.dmn.instance.Output)3 InputEntry (org.camunda.bpm.model.dmn.instance.InputEntry)2 InputValues (org.camunda.bpm.model.dmn.instance.InputValues)2 OutputEntry (org.camunda.bpm.model.dmn.instance.OutputEntry)2 OutputValues (org.camunda.bpm.model.dmn.instance.OutputValues)2 Rule (org.camunda.bpm.model.dmn.instance.Rule)2 Test (org.junit.Test)2 DmnModelInstance (org.camunda.bpm.model.dmn.DmnModelInstance)1 ModelTypeInstanceContext (org.camunda.bpm.model.xml.impl.instance.ModelTypeInstanceContext)1 ModelElementTypeBuilder (org.camunda.bpm.model.xml.type.ModelElementTypeBuilder)1