<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Wrong ID generation for start and end events in subprocess in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/wrong-id-generation-for-start-and-end-events-in-subprocess/m-p/6857#M1681</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;In case of subprocess, start and end events have wrong IDs which prevents the result BPMN file to be deployed by Activiti:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Issue seems to be here: org.activiti.designer.export.bpmn20.export.BPMN20ExportMarshaller&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;private void createXML(EObject object, XMLStreamWriter xtw, String subProcessId) throws Exception {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (object instanceof StartEvent) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StartEvent startEvent = (StartEvent) object;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // start StartEvent element&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeStartElement("startEvent");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeAttribute("id", startEvent.getId()); //start event has plain id&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeAttribute("name", startEvent.getName());&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // end StartEvent element&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeEndElement();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (object instanceof EndEvent) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EndEvent endEvent = (EndEvent) object;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // start EndEvent element&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeStartElement("endEvent");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeAttribute("id", endEvent.getId()); //end event has plain id&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeAttribute("name", endEvent.getName());&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // end EndEvent element&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeEndElement();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else if (object instanceof SequenceFlow) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SequenceFlow sequenceFlow = (SequenceFlow) object;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // start SequenceFlow element&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeStartElement("sequenceFlow");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeAttribute("id", subProcessId + sequenceFlow.getId());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (sequenceFlow.getName() == null) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeAttribute("name", "");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeAttribute("name", sequenceFlow.getName());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeAttribute("sourceRef", subProcessId + sequenceFlow.getSourceRef().getId()); //start event source ref will have composite id&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xtw.writeAttribute("targetRef", subProcessId + sequenceFlow.getTargetRef().getId()); //start event source ref will have composite id &lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;So if we have sequence flow outgoing from i.e. start event, it will result in different id mentioned in start event and sourceRef.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Example:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;lt;process id="helloworld" name="helloworld"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;startEvent id="startevent1" name="Start"&amp;gt;&amp;lt;/startEvent&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;endEvent id="endevent1" name="End"&amp;gt;&amp;lt;/endEvent&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;userTask id="usertask1" name="User Task" activiti:candidateUsers="particopant" activiti:formKey="/form/task.form"&amp;gt;&amp;lt;/userTask&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;subProcess id="subprocess1" name="Sub Process"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;startEvent id="startevent3" name="Start"&amp;gt;&amp;lt;/startEvent&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;endEvent id="endevent2" name="End"&amp;gt;&amp;lt;/endEvent&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;userTask id="subprocess1_usertask2" name="User Task" activiti:candidateUsers="participant" activiti:formKey="/form/task.form"&amp;gt;&amp;lt;/userTask&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="subprocess1_flow4" name="" sourceRef="subprocess1_startevent3" targetRef="subprocess1_usertask2"&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="subprocess1_flow5" name="" sourceRef="subprocess1_usertask2" targetRef="subprocess1_endevent2"&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/subProcess&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="flow1" name="" sourceRef="startevent1" targetRef="usertask1"&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="flow2" name="" sourceRef="usertask1" targetRef="subprocess1"&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;sequenceFlow id="flow3" name="" sourceRef="subprocess1" targetRef="endevent1"&amp;gt;&amp;lt;/sequenceFlow&amp;gt;&lt;BR /&gt;&amp;nbsp; &amp;lt;/process&amp;gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Could you please confirm this bug and fix it if it was identified correctly? I could actually fix it locally myself if only I know how to build the plugin from sources &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt; Are there any step by step instructions regarding build procedure?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 02 Feb 2011 20:44:25 GMT</pubDate>
    <dc:creator>vgavrilov</dc:creator>
    <dc:date>2011-02-02T20:44:25Z</dc:date>
    <item>
      <title>Wrong ID generation for start and end events in subprocess</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/wrong-id-generation-for-start-and-end-events-in-subprocess/m-p/6857#M1681</link>
      <description>In case of subprocess, start and end events have wrong IDs which prevents the result BPMN file to be deployed by Activiti:Issue seems to be here: org.activiti.designer.export.bpmn20.export.BPMN20ExportMarshallerprivate void createXML(EObject object, XMLStreamWriter xtw, String subProcessId) throws E</description>
      <pubDate>Wed, 02 Feb 2011 20:44:25 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/wrong-id-generation-for-start-and-end-events-in-subprocess/m-p/6857#M1681</guid>
      <dc:creator>vgavrilov</dc:creator>
      <dc:date>2011-02-02T20:44:25Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong ID generation for start and end events in subprocess</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/wrong-id-generation-for-start-and-end-events-in-subprocess/m-p/6858#M1682</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for reporting this issue. Yes it's a bug.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If you could create a JIRA that would be great and of course it'll be fixed in the next release.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;About the build procedure, I listed the steps in this forum post:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://forums.activiti.org/en/viewtopic.php?f=8&amp;amp;t=936" rel="nofollow noopener noreferrer"&gt;http://forums.activiti.org/en/viewtopic.php?f=8&amp;amp;t=936&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I still have to create a wiki page for this, but now the 5.2 release is out I'll have the time to do this.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Feb 2011 21:15:22 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/wrong-id-generation-for-start-and-end-events-in-subprocess/m-p/6858#M1682</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2011-02-02T21:15:22Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong ID generation for start and end events in subprocess</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/wrong-id-generation-for-start-and-end-events-in-subprocess/m-p/6859#M1683</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I've already reported this issue in JIRA (&lt;/SPAN&gt;&lt;A href="http://jira.codehaus.org/browse/ACT-599" rel="nofollow noopener noreferrer"&gt;http://jira.codehaus.org/browse/ACT-599&lt;/A&gt;&lt;SPAN&gt;).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I've also attached a patch file to this issue.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hinse&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Feb 2011 07:20:30 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/wrong-id-generation-for-start-and-end-events-in-subprocess/m-p/6859#M1683</guid>
      <dc:creator>h_ter_schuur</dc:creator>
      <dc:date>2011-02-03T07:20:30Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong ID generation for start and end events in subprocess</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/wrong-id-generation-for-start-and-end-events-in-subprocess/m-p/6860#M1684</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Hinse,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks, I'll make sure this patch is committed to the trunk.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Feb 2011 13:01:54 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/wrong-id-generation-for-start-and-end-events-in-subprocess/m-p/6860#M1684</guid>
      <dc:creator>trademak</dc:creator>
      <dc:date>2011-02-03T13:01:54Z</dc:date>
    </item>
  </channel>
</rss>

