Текучий: ошибка моделирования CMMN при преобразовании CasePlanModel - PullRequest
0 голосов
/ 08 сентября 2018

Я развернул Flowable 6.3.1 через Apache tomcat. При попытке смоделировать следующую модель Flowable BpmnJsonConverter (что, кстати, я понятия не имею, какое отношение это имеет к моделированию CMMN) выдает NullPointerException. Модель CMMN

Сгенерированный xml выглядит следующим образом.

    <?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/CMMN/20151109/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:flowable="http://flowable.org/cmmn" xmlns:cmmndi="http://www.omg.org/spec/CMMN/20151109/CMMNDI" xmlns:dc="http://www.omg.org/spec/CMMN/20151109/DC" xmlns:di="http://www.omg.org/spec/CMMN/20151109/DI" targetNamespace="http://www.flowable.org/casedef">
  <case id="holidayRequest" name="HolidayRequest" flowable:initiatorVariableName="initiator">
    <casePlanModel id="casePlanModel" flowable:formKey="requestHoliday">
      <planItem id="planItem1" name="checkRequest" definitionRef="sid-0F1F1EF4-7661-4CC8-9AD7-4F2566DF989C">
        <entryCriterion id="sid-43F0EC01-FD2F-417C-9CC7-46F0F3141D40" sentryRef="sentry1"></entryCriterion>
      </planItem>
      <planItem id="planItem2" name="isCheckNeeded" definitionRef="sid-C7C05BD3-1D12-4060-9AE8-FD5E4CB9DF94">
        <itemControl>
          <requiredRule></requiredRule>
        </itemControl>
      </planItem>
      <sentry id="sentry1">
        <ifPart>
          <condition><![CDATA[${decisionNeeded == "true"}]]></condition>
        </ifPart>
      </sentry>
      <humanTask id="sid-0F1F1EF4-7661-4CC8-9AD7-4F2566DF989C" name="checkRequest" flowable:candidateUsers="admin,boss" flowable:formKey="checkHoliday"></humanTask>
      <decisionTask id="sid-C7C05BD3-1D12-4060-9AE8-FD5E4CB9DF94" name="isCheckNeeded" isBlocking="false">
        <extensionElements>
          <flowable:field name="decisionTaskThrowErrorOnNoHits">
            <flowable:string><![CDATA[false]]></flowable:string>
          </flowable:field>
        </extensionElements>
      </decisionTask>
    </casePlanModel>
  </case>
  <cmmndi:CMMNDI>
    <cmmndi:CMMNDiagram id="CMMNDiagram_holidayRequest">
      <cmmndi:CMMNShape id="CMMNShape_casePlanModel" cmmnElementRef="casePlanModel">
        <dc:Bounds height="424.0" width="580.0" x="40.0" y="40.0"></dc:Bounds>
        <cmmndi:CMMNLabel></cmmndi:CMMNLabel>
      </cmmndi:CMMNShape>
      <cmmndi:CMMNShape id="CMMNShape_planItem1" cmmnElementRef="planItem1">
        <dc:Bounds height="80.0" width="100.0" x="300.0" y="180.0"></dc:Bounds>
        <cmmndi:CMMNLabel></cmmndi:CMMNLabel>
      </cmmndi:CMMNShape>
      <cmmndi:CMMNShape id="CMMNShape_sid-43F0EC01-FD2F-417C-9CC7-46F0F3141D40" cmmnElementRef="sid-43F0EC01-FD2F-417C-9CC7-46F0F3141D40">
        <dc:Bounds height="22.0" width="14.0" x="292.58765691867626" y="227.54247101841793"></dc:Bounds>
        <cmmndi:CMMNLabel></cmmndi:CMMNLabel>
      </cmmndi:CMMNShape>
      <cmmndi:CMMNShape id="CMMNShape_planItem2" cmmnElementRef="planItem2">
        <dc:Bounds height="80.0" width="100.0" x="105.5" y="183.0"></dc:Bounds>
        <cmmndi:CMMNLabel></cmmndi:CMMNLabel>
      </cmmndi:CMMNShape>
      <cmmndi:CMMNEdge id="CMMNEdge_sid-BDE0FC41-0461-4EAB-93E8-4E3E19709E7B" cmmnElementRef="sid-C7C05BD3-1D12-4060-9AE8-FD5E4CB9DF94" targetCMMNElementRef="sid-0F1F1EF4-7661-4CC8-9AD7-4F2566DF989C">
        <di:waypoint x="205.44999999999806" y="222.2287917737789"></di:waypoint>
        <di:waypoint x="299.99999999999847" y="220.77043701799485"></di:waypoint>
        <cmmndi:CMMNLabel></cmmndi:CMMNLabel>
      </cmmndi:CMMNEdge>
    </cmmndi:CMMNDiagram>
  </cmmndi:CMMNDI>
</definitions>

что мне нужно сделать, чтобы это исправить?

P.S. Раньше у меня была эта проблема, и когда я пытался развернуть это приложение, оно вызывало исключение, говорящее о теге extensionElement и о том, что у него не должно быть ребенка! но теперь он развертывается без каких-либо исключений.

РЕДАКТИРОВАТЬ-1: Я обнаружил, что ссылка на таблицу решений была нулевой, поэтому, когда я изменил ее, чтобы указать на таблицу решений, я получил то же исключение, которое упомянул ранее в P.S. часть. Это исключение CmmnXMLE. Сводка трассировки стека выглядит следующим образом.

ОШИБКА 19300 --- [nio-8090-exec-8] o.f.u.m.s.ModelImageService: Ошибка создания эскиза cmmn image 073fbc3d-b36b-11e8-ae0a-005056c00008 java.lang.NullPointerException: null at org.flowable.cmmn.image.impl.DefaultCaseDiagramGenerator.connectionPerfectionizer (DefaultCaseDiagramGenerator.java:393) ~ [flowable-cmmn-image-generator-6.3.1.jar: 6.3.1] в

org.flowable.cmmn.image.impl.DefaultCaseDiagramGenerator.drawAssociation (DefaultCaseDiagramGenerator.java:369) ~ [flowable-cmmn-image-generator-6.3.1.jar: 6.3.1] в

org.flowable.cmmn.image.impl.DefaultCaseDiagramGenerator.generateCaseDiagram (DefaultCaseDiagramGenerator.java:261) ~ [flowable-cmmn-image-generator-6.3.1.jar: 6.3.1] в

org.flowable.cmmn.image.impl.DefaultCaseDiagramGenerator.generateImage (DefaultCaseDiagramGenerator.java:222) ~ [flowable-cmmn-image-generator-6.3.1.jar: 6.3.1] в

org.flowable.cmmn.image.impl.DefaultCaseDiagramGenerator.generateImage (DefaultCaseDiagramGenerator.java:227) ~ [flowable-cmmn-image-generator-6.3.1.jar: 6.3.1] в

org.flowable.cmmn.image.impl.DefaultCaseDiagramGenerator.generatePngImage (DefaultCaseDiagramGenerator.java:232) ~ [Текучий-cmmn-изображений генератор 6.3.1.jar: 6.3.1]

ОШИБКА 19300 --- [nio-8090-exec-8] o.f.c.e.i.i.CommandContext: Ошибка при закрытии команды контекст

org.flowable.cmmn.converter.CmmnXMLException: cvc-complex-type.2.4.d: Обнаружен недопустимый контент, начиная с элемента extensionElements. На этом этапе не ожидается дочерний элемент. на

org.flowable.cmmn.converter.CmmnXmlConverter.convertToCmmnModel (CmmnXmlConverter.java:173) ~ [flowable-cmmn-converter-6.3.1.jar: 6.3.1] в

org.flowable.cmmn.engine.impl.parser.CmmnParserImpl.parse (CmmnParserImpl.java:89) ~ [flowable-cmmn-engine-6.3.1.jar: 6.3.1] в

org.flowable.cmmn.engine.impl.parser.CmmnParserImpl.parse (CmmnParserImpl.java:67) ~ [flowable-cmmn-engine-6.3.1.jar: 6.3.1]

Вызвано: org.xml.sax.SAXParseException: cvc-complex-type.2.4.d: недопустимое содержимое был найден, начиная с элемента extensionElements. Нет дочернего элемента ожидается в этот момент. в org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException (Неизвестно Источник) ~ [xercesImpl-2.10.0.jar:?]

ОШИБКА 19300 --- [nio-8090-exec-2] o.f.u.m.s.AppDefinitionPublishService: неверный код результата развертывания: HTTP / 1.1 500

РЕДАКТИРОВАТЬ-2: я попытался построить Case шаг за шагом и обнаружил, что CasePlanModel дает сбой при сохранении, когда к нему добавляется форма. Кроме того, у разработчика моделей и движка возникли серьезные проблемы с интеграцией ссылок на задачи решения.

1 Ответ

0 голосов
/ 04 апреля 2019

Последний параметр вашего тега определения неверен:

targetNamespace="http://www.flowable.org/casedef"

должно быть:

targetNamespace="http://www.flowable.org/processdef"
...