13 Replies Latest reply on Oct 1, 2011 6:02 PM by tob1as

    Event Based Gateway Split - xml parsing error

    tob1as

      hi,

       

      I am trying to use an event based gateway split. Since oryx is not saving event based splits, I modeled a parallel gateway instead.

      I then tried to change the xml manually and execute it with the engine. However, I received an error. See at the bottom:

       

      Capture10.PNG

       

      The parallel gateway:

      <bpmn2:parallelGateway id="_DF4A4948-3BEF-4E89-869E-8D44E1541900" name="Should be event split" gatewayDirection="Diverging">
        <bpmn2:incoming>_C763BDA9-C7BA-4308-A6B1-746CA4ABE974</bpmn2:incoming>
        <bpmn2:outgoing>_DE06FFCD-C6F8-4F01-8EC8-BCED4B8FC022</bpmn2:outgoing>
        <bpmn2:outgoing>_847F1835-11D2-4D6E-A06B-FCEB3733DC34</bpmn2:outgoing>
      </bpmn2:parallelGateway>
      

       

      The manually changed event based gateway:

       

      <bpmn2:eventBasedGateway id="_DF4A4948-3BEF-4E89-869E-8D44E1541900" name="Should be event split" gatewayDirection="Diverging">
        <bpmn2:incoming>_C763BDA9-C7BA-4308-A6B1-746CA4ABE974</bpmn2:incoming>
        <bpmn2:outgoing>_DE06FFCD-C6F8-4F01-8EC8-BCED4B8FC022</bpmn2:outgoing>
        <bpmn2:outgoing>_847F1835-11D2-4D6E-A06B-FCEB3733DC34</bpmn2:outgoing>
      </bpmn2:eventBasedGateway>
      

       

      The error:

       

      Element type "bpmn2:eventBasedGateway" must be followed by either attribute specifications, ">" or "/>".

       

      I then erased the 3 red lines:

      <bpmn2:eventBasedGateway id="_DF4A4948-3BEF-4E89-869E-8D44E1541900" name="Should be event split" gatewayDirection="Diverging">

        <bpmn2:incoming>_C763BDA9-C7BA-4308-A6B1-746CA4ABE974</bpmn2:incoming>

        <bpmn2:outgoing>_DE06FFCD-C6F8-4F01-8EC8-BCED4B8FC022</bpmn2:outgoing>

        <bpmn2:outgoing>_847F1835-11D2-4D6E-A06B-FCEB3733DC34</bpmn2:outgoing>

      </bpmn2:eventBasedGateway>

       

      The parsing works then, but of course the connections to the nodes following nodes are gone .

       

      How could I go on from here?

       

      Best regards,

       

      Tobias


        • 1. Re: Event Based Gateway Split - xml parsing error
          tsurdilovic

          Hi Tobias,

           

          >> Since oryx is not saving event based splits...<< If you encounter things like this _please_ raise a jBPM jira and use "Designer" as the component. You can assign them directly to me if you wish. This will drive fixes into the next version. For now I have opened a Jira for you: https://issues.jboss.org/browse/JBPM-3361.

           

          Regarding the other issue, if you can provide a full example that fails I could be able to add fixes for both issues in the next release which is targeted for early next week now.

           

          Hope this helps.

          1 of 1 people found this helpful
          • 2. Re: Event Based Gateway Split - xml parsing error
            tob1as

            Thanks Tihomir,

             

            I am happy to help reporting. However, I do not want to spam your issue tracker. So far, most of my findings were known issues already.

             

            Regarding the example. It is pretty big and involves external jars. I will see if I can post the full example.

             

            It seems like the engine does not accept a event based gateway to have any entities inside. Incoming and Outgoing edges within the gateway are not parsed.

             

            This is what oryx would probably produce, since gateways usually have the incoming and outgoing edges inside:

            <bpmn2:eventBasedGateway id="_DF4A4948-3BEF-4E89-869E-8D44E1541900" name="Should be event split" gatewayDirection="Diverging">

              <bpmn2:incoming>_C763BDA9-C7BA-4308-A6B1-746CA4ABE974</bpmn2:incoming>

              <bpmn2:outgoing>_DE06FFCD-C6F8-4F01-8EC8-BCED4B8FC022</bpmn2:outgoing>

              <bpmn2:outgoing>_847F1835-11D2-4D6E-A06B-FCEB3733DC34</bpmn2:outgoing>

            </bpmn2:eventBasedGateway>

             

             

            This is what the designer produces:

             

            <eventBasedGateway id="_2" name="Split" gatewayDirection="Diverging" />

             

            The sequence Flows are within the process tags, but not within the gateway>

            <sequenceFlow id="_11-_2" sourceRef="_11" targetRef="_2" />

            <sequenceFlow id="_2-_3" sourceRef="_2" targetRef="_3" />

            <sequenceFlow id="_2-_4" sourceRef="_2" targetRef="_4" />

             

            The xml of the designer works.

            • 3. Re: Event Based Gateway Split - xml parsing error
              tsurdilovic

              Don't worry about spamming. It's better to file a Jira than to not We can sort out duplicates, it's no problem.

               

              Thanks for the further info. I will take a look and try to fix asap.

              • 4. Re: Event Based Gateway Split - xml parsing error
                tsurdilovic

                BTW, are there any outstanding requests from the last batch of bugs you found? Regarding the order of BPMN2 elements that get produced by eclipse.bpmn2 -> I'm working on trying to fix this, it is not easy however and will take a little time. The OMG Semantic.xsd is really the issue. OMG has not thought of implementations much when creating the specification (what's new?? ) and since eclipse.bpmn2 is implemented via an EMF ecore model, the output does not always follow Semantic.xsd. For now you can just turn off schema validation in your Eclipse code and your tests should run fine with the bpmn2 produced by Designer.

                • 5. Re: Event Based Gateway Split - xml parsing error
                  tob1as

                  The bug with the id in the definition tag

                   

                  is fixed and works fine, thanks for that.

                   

                  Regarding the order, I just list it briefly

                   

                  I always have to copy

                  • itemdefinitions,
                  • messages,
                  • interfaces ,
                  • errors

                   

                  to the top of the xml document (before the process tag opens), in that exact same order.

                   

                  if the messages for example are defined after the interfaces, I get the exceptions that messages are not defined.

                   

                  Also, any property is usually (for example a process variable x) just before the process tag closes.

                   

                  However, I always have to move the properties to the top just after the process tag opens. Basically between the  <process> and <startevent> tags.

                   

                  Hope that helps you with the order issue.

                   

                  If I get my hands on my sample snippets, I ll post them.

                  • 6. Re: Event Based Gateway Split - xml parsing error
                    tsurdilovic

                    Yes, this is an issue because the OMG Semantic.xsd defines a specific sequence for the process element

                     

                     

                    <xsd:complexType name="tProcess">

                            <xsd:complexContent>

                                <xsd:extension base="tCallableElement">

                                    <xsd:sequence>

                                        <xsd:element ref="auditing" minOccurs="0" maxOccurs="1"/>

                                        <xsd:element ref="monitoring" minOccurs="0" maxOccurs="1"/>

                                        <xsd:element ref="property" minOccurs="0" maxOccurs="unbounded"/>

                                        <xsd:element ref="laneSet" minOccurs="0" maxOccurs="unbounded"/>

                                        <xsd:element ref="flowElement" minOccurs="0" maxOccurs="unbounded"/>

                                        <xsd:element ref="artifact" minOccurs="0" maxOccurs="unbounded"/>

                                        <xsd:element ref="resourceRole" minOccurs="0" maxOccurs="unbounded"/>

                                        <xsd:element ref="correlationSubscription" minOccurs="0" maxOccurs="unbounded"/>

                                        <xsd:element name="supports" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>

                                    </xsd:sequence>

                                    <xsd:attribute name="processType" type="tProcessType" default="None"/>

                                    <xsd:attribute name="isClosed" type="xsd:boolean" default="false"/>

                                    <xsd:attribute name="isExecutable" type="xsd:boolean"/>

                                    <xsd:attribute name="definitionalCollaborationRef" type="xsd:QName" use="optional"/>

                                </xsd:extension>

                            </xsd:complexContent>

                     

                     

                    eclipse.bpmn2 on the other hand cannot follow this sequence as defined. Bypassing Semantic.xsd fixes the issue for now

                    I am working on a fix for this but it's going to take some time unfortunately.

                    • 7. Re: Event Based Gateway Split - xml parsing error
                      tsurdilovic

                      Hi Tobias, https://issues.jboss.org/browse/JBPM-3361 is resolved.

                      A new designer version which includes this and a number of other fixes is available now for download: https://sourceforge.net/projects/jbpm/files/designer/designer-1.0.0.055/. Please give it a spin and report any issues.

                       

                      Thanks!

                      1 of 1 people found this helpful
                      • 8. Re: Event Based Gateway Split - xml parsing error
                        tob1as

                        Awesome, thanks for fixing it so quickly.

                        • 9. Re: Event Based Gateway Split - xml parsing error
                          tsurdilovic

                          Np. Mind putting this thread as "answered", unless there is anything else to be done/answered

                          • 10. Re: Event Based Gateway Split - xml parsing error
                            krausest

                            Thanks for fixing it - I've just run into the same issue and was very happy to see that it's already fixed.

                            Some other things I've noticed with version 1.0.0.055

                             

                            * Non interrupting boundary events become interrupting when reopended.

                            * There are encoding issues with german umlauts like in "Prüfe"

                            • 11. Re: Event Based Gateway Split - xml parsing error
                              tsurdilovic

                              Hi Stefan, thanks for using the jBPM web designer!

                               

                              >> Non interrupting boundary events become interrupting when reopended. <<

                              Can you please raise a jBPM Jira for this and provide sample bpmn2 we can test with? (JBoss Jira: https://issues.jboss.org, project name: jBPM, Component name: Designer ... assign to me please )

                               

                              >> There are encoding issues with german umlauts like in "Prüfe" <<

                              We worked on this before and made sure UTF-8 is fully supported within the designer UI. Could you provide a simple test bpmn2 that still causes

                              characters to display wrong?

                               

                              I would also like to ask if you can open a new thread for all this as this thread is resolved already.

                               

                              Thank you.

                              • 12. Re: Event Based Gateway Split - xml parsing error
                                tsurdilovic

                                Hi Tobias,

                                can you please re-test with latest code from master (please note its _not_ an official release):

                                http://people.redhat.com/tsurdilo/oryx/latest/

                                 

                                Let me know if further modifications of the saved bpmn is necessary.

                                 

                                Thanks.

                                • 13. Re: Event Based Gateway Split - xml parsing error
                                  tob1as

                                  Hi Tihomir,

                                   

                                  I ll hopefully have time to do so on Tuesday.

                                   

                                  Thanks for the bugfixes.

                                   

                                  Best regards,

                                   

                                  Tobi