Item definitions not appearing in generated dmn from modeler

We used Camunda modeler to generate dmn. Generated dmn does not have elements for itemDefinitions. Should we be expecting it ?

Hi @sid_gaur,

currently, the DMN engine doesn’t support item definitions. It will just ignore them.

What is your use case?
Why do you need item definitions?

Best regards,
Philipp

We were looking to create a RESTFUL interface for decision evaluation which will use camunda’s DMN engine. While evaluation of decision we would need to know the type of the input data . I was thinking, having item definitions would help us to infer the type of input data.

Hi @sid_gaur,

you can set the type of an input value in the decision table. If you want to know the type before evaluation then you can use the Model API to read the model.

Does this help you?

Best regards,
Philipp

Since we are talking about types, i have a question. We have a decision table as shown below. I have just included the input parts.
<decisionTable id="decisionTable" hitPolicy="RULE ORDER">
      <input id="input1" label="Process Category" camunda:inputVariable="processCategory">
        <inputExpression id="inputExpression1" typeRef="string">
          <text>businessProcessRouting.processCategory</text>
        </inputExpression>
      </input>
      <input id="InputClause_12bz2ks" label="Business Process" camunda:inputVariable="businessProcess">
        <inputExpression id="LiteralExpression_0mki0xs" typeRef="string">
          <text>businessProcessRouting.businessProcess</text>
        </inputExpression>
      </input>
      <input id="InputClause_0xqudfk" label="Skillset" camunda:inputVariable="skillSet">
        <inputExpression id="LiteralExpression_0wy4317" typeRef="string">
          <text>businessProcessRouting.skillset</text>
        </inputExpression>
      </input> ....

In expression businessProcessRouting.processCategory , I have an understanding that businessProcessRouting refers to an object of a class which has processCategory as a field. Can businessProcessRouting also be a Map object with processCategory as a key ?

Hi @sid_gaur,

I’m not sure if this is supported by the Camunda DMN engine. Just try it out. I guess that it works.

Note that the hit policy “RULE ORDER” is currently not support by the Camunda DMN engine.

Best regards,
Philipp

You mean expressions like businessProcessRouting.processCategory are not supported or passing in a Map for a complex type is not supported?

Qualified names like foo.bar are supported if “bar” is a property of “foo”. I’m not 100% sure if this also works if “bar” is a key of a map “foo”.

You should try it out!

I tried. it didn’t work …