Class BpmDmnParse

java.lang.Object
org.flowable.dmn.engine.impl.parser.DmnParse
io.jmix.bpm.engine.parser.dmn.BpmDmnParse
All Implemented Interfaces:
org.flowable.dmn.xml.constants.DmnXMLConstants

@NullMarked public class BpmDmnParse extends org.flowable.dmn.engine.impl.parser.DmnParse
DMN parse that removes empty CDATA sections from the source XML before parsing it.

In the safe XML mode Flowable validates DMN XML against the schema through a StAX source, and the JDK fails on an empty CDATA section there with IndexOutOfBoundsException. An empty CDATA section carries no characters, so removing it does not change the document content.

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final String
     

    Fields inherited from class org.flowable.dmn.engine.impl.parser.DmnParse

    decisions, deployment, dmnDefinition, LOGGER, name, sourceSystemId, streamSource, targetNamespace, validateSchema

    Fields inherited from interface org.flowable.dmn.xml.constants.DmnXMLConstants

    ATTRIBUTE_AGGREGATION, ATTRIBUTE_DI_DMN_ELEMENT_REF, ATTRIBUTE_DI_HEIGHT, ATTRIBUTE_DI_TARGET_DMN_ELEMENT_REF, ATTRIBUTE_DI_WIDTH, ATTRIBUTE_DI_X, ATTRIBUTE_DI_Y, ATTRIBUTE_EXPORTER, ATTRIBUTE_EXPORTER_VERSION, ATTRIBUTE_FORCE_DMN_11, ATTRIBUTE_HIT_POLICY, ATTRIBUTE_HREF, ATTRIBUTE_ID, ATTRIBUTE_IS_COLLECTION, ATTRIBUTE_LABEL, ATTRIBUTE_NAME, ATTRIBUTE_NAMESPACE, ATTRIBUTE_TYPE_REF, DMN_NAMESPACE, DMNDI_NAMESPACE, DMNDI_PREFIX, ELEMENT_ALLOWED_VALUES, ELEMENT_AUTHORITY_REQUIREMENT, ELEMENT_DECISION, ELEMENT_DECISION_SERVICE, ELEMENT_DECISION_TABLE, ELEMENT_DEFINITIONS, ELEMENT_DESCRIPTION, ELEMENT_DI_BOUNDS, ELEMENT_DI_DECISION_SERVICE_DIVIDER_LINE, ELEMENT_DI_DIAGRAM, ELEMENT_DI_DMN, ELEMENT_DI_EDGE, ELEMENT_DI_LABEL, ELEMENT_DI_SHAPE, ELEMENT_DI_SIZE, ELEMENT_DI_WAYPOINT, ELEMENT_ENCAPSULATED_DECISION, ELEMENT_EXTENSIONS, ELEMENT_INFORMATION_REQUIREMENT, ELEMENT_INPUT_CLAUSE, ELEMENT_INPUT_DATA, ELEMENT_INPUT_ENTRY, ELEMENT_INPUT_EXPRESSION, ELEMENT_INPUT_VALUES, ELEMENT_ITEM_COMPONENT, ELEMENT_ITEM_DEFINITION, ELEMENT_OUTPUT_CLAUSE, ELEMENT_OUTPUT_DECISION, ELEMENT_OUTPUT_ENTRY, ELEMENT_OUTPUT_VALUES, ELEMENT_REQUIRED_AUTHORITY, ELEMENT_REQUIRED_DECISION, ELEMENT_REQUIRED_INPUT, ELEMENT_RULE, ELEMENT_TEXT, ELEMENT_TYPE_REF, ELEMENT_VARIABLE, FLOWABLE_EXTENSIONS_NAMESPACE, FLOWABLE_EXTENSIONS_PREFIX, MODEL_NAMESPACE, OMGDC_NAMESPACE, OMGDC_PREFIX, OMGDI_NAMESPACE, OMGDI_PREFIX, SCHEMA_NAMESPACE, TARGET_NAMESPACE_ATTRIBUTE, XSI_NAMESPACE, XSI_PREFIX
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected byte[]
    removeEmptyCdata(byte[] xmlBytes)
     
    org.flowable.dmn.engine.impl.parser.DmnParse
     

    Methods inherited from class org.flowable.dmn.engine.impl.parser.DmnParse

    deployment, execute, getDecisions, getDeployment, getDmnDefinition, getSourceSystemId, getTargetNamespace, isValidateSchema, name, setDeployment, setDmnDefinition, setSourceSystemId, setStreamSource, setValidateSchema, sourceResource, sourceString, sourceUrl, sourceUrl

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • BpmDmnParse

      public BpmDmnParse()
  • Method Details

    • sourceInputStream

      public org.flowable.dmn.engine.impl.parser.DmnParse sourceInputStream(InputStream inputStream)
      Overrides:
      sourceInputStream in class org.flowable.dmn.engine.impl.parser.DmnParse
    • removeEmptyCdata

      protected byte[] removeEmptyCdata(byte[] xmlBytes)