<?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 Re: problem with adding custom xml parser - added objects disappearing.. in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/problem-with-adding-custom-xml-parser-added-objects-disappearing/m-p/227433#M180563</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;try this parser example…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://csharp.net-informations.com/xml/how-to-read-xml.htm" rel="nofollow noopener noreferrer"&gt;http://csharp.net-informations.com/xml/how-to-read-xml.htm&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Lee&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 02 May 2016 07:07:05 GMT</pubDate>
    <dc:creator>bikithalee</dc:creator>
    <dc:date>2016-05-02T07:07:05Z</dc:date>
    <item>
      <title>problem with adding custom xml parser - added objects disappearing..</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/problem-with-adding-custom-xml-parser-added-objects-disappearing/m-p/227430#M180560</link>
      <description>I have created a custom parser to add a listener and a form field to each&amp;nbsp; UserTask in our processes when imported from xml (so we don't have to add them all at design time).&amp;nbsp;&amp;nbsp; When I debug, it gets called for each task, and the system.out logs are called, showing that it seems to be operating corre</description>
      <pubDate>Fri, 01 Jan 2016 17:56:57 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/problem-with-adding-custom-xml-parser-added-objects-disappearing/m-p/227430#M180560</guid>
      <dc:creator>atirosselet</dc:creator>
      <dc:date>2016-01-01T17:56:57Z</dc:date>
    </item>
    <item>
      <title>Re: problem with adding custom xml parser - added objects disappearing..</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/problem-with-adding-custom-xml-parser-added-objects-disappearing/m-p/227431#M180561</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I'm going to partly answer myself… but I still don't understand why the previous approach didn't work&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Instead extending&amp;nbsp; AbstractBpmnParseHandler&amp;lt;UserTask&amp;gt;&amp;nbsp;&amp;nbsp; and&amp;nbsp; modifying the TaskDefinition&lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;(TaskDefinition) bpmnParse.getCurrentActivity().getProperty(UserTaskParseHandler.PROPERTY_TASK_DEFINITION)&lt;BR /&gt;&lt;/CODE&gt;&lt;SPAN&gt;works fine.&amp;nbsp; the current code is:&lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;BR /&gt;public class TopBpmnCustomParseListener extends AbstractBpmnParseHandler&amp;lt;UserTask&amp;gt; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static final String COMMENT_ATTRIBUTE_FORM_SUFFIX = "_comment";&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public static final String COMMENT_ATTRIBUTE_FORM_NAME = "comment";&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected Class&amp;lt; ? extends BaseElement&amp;gt; getHandledType() {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return UserTask.class;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected void executeParse(BpmnParse bpmnParse, UserTask element) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TaskDefinition taskDefinition = (TaskDefinition) bpmnParse.getCurrentActivity().getProperty(UserTaskParseHandler.PROPERTY_TASK_DEFINITION);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("custom processing of :" + ((UserTask) element).getName());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("with properties :"+bpmnParse.getCurrentActivity().getProperties());&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // if there are not already any of our listeners attached to the TaskListener.EVENTNAME_ALL_EVENTS event. then add one.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (taskDefinition.getTaskListeners().containsKey(TaskListener.EVENTNAME_ALL_EVENTS)){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!taskDefinition.getTaskListeners().get(TaskListener.EVENTNAME_ALL_EVENTS).stream().anyMatch(y-&amp;gt;y instanceof TopTaskEventListener)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("Adding task listener…to " + ((UserTask) element).getName());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TaskListener listener = new TopTaskEventListener();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; taskDefinition.addTaskListener(TaskListener.EVENTNAME_ALL_EVENTS, listener);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String commentFieldName = element.getId() + COMMENT_ATTRIBUTE_FORM_SUFFIX;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; List&amp;lt;FormPropertyHandler&amp;gt; fphList = ((DefaultTaskFormHandler)(taskDefinition.getTaskFormHandler())).getFormPropertyHandlers();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // if we don't already have an id_comment form property, then add one&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!fphList.stream().anyMatch(field -&amp;gt; field.getId().equals(commentFieldName))) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println("adding required _comment string field…");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FormPropertyHandler field = new FormPropertyHandler();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field.setId(commentFieldName);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field.setType(new StringFormType());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field.setRequired(false);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field.setWritable(true);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field.setReadable(true);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field.setName(COMMENT_ATTRIBUTE_FORM_NAME);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field.setVariableName(COMMENT_ATTRIBUTE_FORM_NAME);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fphList.add(field);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&lt;/CODE&gt;&lt;SPAN&gt;and it works fine.&amp;nbsp; I guess now that doing the same thing with implementing&amp;nbsp; BpmnParseHandler would have the same effect, but at least here I don't have to cast element to UserTask &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; Should I assume that what I was doing previously - altering the passed in element has no effect on the parsing process since this is a POST processing.&amp;nbsp; Unless perhaps I use a preBpmnParseHandlers to change the objects before the normal parsing happens?&amp;nbsp;&amp;nbsp; I'm not sure if what I'm saying here makes sense though &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;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In any case… if anyone needs to add FormProperties or TaskListeners.. it works just fine &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; thanks&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Cheers&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Ati&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;P.S.&amp;nbsp; yes.. I know I keep answering my own questions… &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;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jan 2016 19:40:25 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/problem-with-adding-custom-xml-parser-added-objects-disappearing/m-p/227431#M180561</guid>
      <dc:creator>atirosselet</dc:creator>
      <dc:date>2016-01-01T19:40:25Z</dc:date>
    </item>
    <item>
      <title>Re: problem with adding custom xml parser - added objects disappearing..</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/problem-with-adding-custom-xml-parser-added-objects-disappearing/m-p/227432#M180562</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You've stumbled upon something in Activiti v5 that we've fixed in v6.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;What you've now discovered that in v5, you need to know the internal model of the 'PVM' (that's where that TaskDefinition is stored) to get the advanced stuff done. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In v6, we've fixed that (read &lt;/SPAN&gt;&lt;A href="http://www.jorambarrez.be/blog/2015/09/08/activiti-6-an-evolution-of-the-core-engine/" rel="nofollow noopener noreferrer"&gt;http://www.jorambarrez.be/blog/2015/09/08/activiti-6-an-evolution-of-the-core-engine/&lt;/A&gt;&lt;SPAN&gt;). Your first piece of code, would probably work on v6 (haven't tested it), as during runtime execution we simple get the ActivitiListener instances and execute them without any model in between.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Jan 2016 20:23:45 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/problem-with-adding-custom-xml-parser-added-objects-disappearing/m-p/227432#M180562</guid>
      <dc:creator>jbarrez</dc:creator>
      <dc:date>2016-01-04T20:23:45Z</dc:date>
    </item>
    <item>
      <title>Re: problem with adding custom xml parser - added objects disappearing..</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/problem-with-adding-custom-xml-parser-added-objects-disappearing/m-p/227433#M180563</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;try this parser example…&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://csharp.net-informations.com/xml/how-to-read-xml.htm" rel="nofollow noopener noreferrer"&gt;http://csharp.net-informations.com/xml/how-to-read-xml.htm&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Lee&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 May 2016 07:07:05 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/problem-with-adding-custom-xml-parser-added-objects-disappearing/m-p/227433#M180563</guid>
      <dc:creator>bikithalee</dc:creator>
      <dc:date>2016-05-02T07:07:05Z</dc:date>
    </item>
  </channel>
</rss>

