<?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 A TaskListener to automatically assign a task if only one candidate user exists in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/a-tasklistener-to-automatically-assign-a-task-if-only-one/m-p/216017#M169147</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I wanted to share the following TaskListener that I've used to handle the following situation:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A task is normally given some set of users as candidate users, but in some cases there is only one user in the candidate set.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;In this case I'd like the one candidate user to automatically be the assignee of the task, so they don't have to claim it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Following is the java code to accomplish this using a TaskListener.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/**&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; * Listener that automatically assigns a task if there is only one candidate.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;public class AutoAssigningTaskListener implements TaskListener&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Override&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void notify(DelegateTask t)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(t.getAssignee() == null &amp;amp;&amp;amp; t.getCandidates().size() == 1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.setAssignee(t.getCandidates().stream().filter(id-&amp;gt; id.getUserId() != null).findFirst().map(id -&amp;gt; id.getUserId()).orElse(null));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Feel free to indicate if there is a more preferred way to handle this situation.&amp;nbsp; Otherwise, I hope this is of use to someone.&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 12 Jul 2016 18:52:14 GMT</pubDate>
    <dc:creator>smorring</dc:creator>
    <dc:date>2016-07-12T18:52:14Z</dc:date>
    <item>
      <title>A TaskListener to automatically assign a task if only one candidate user exists</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/a-tasklistener-to-automatically-assign-a-task-if-only-one/m-p/216017#M169147</link>
      <description>I wanted to share the following TaskListener that I've used to handle the following situation:A task is normally given some set of users as candidate users, but in some cases there is only one user in the candidate set.In this case I'd like the one candidate user to automatically be the assignee of</description>
      <pubDate>Tue, 12 Jul 2016 18:52:14 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/a-tasklistener-to-automatically-assign-a-task-if-only-one/m-p/216017#M169147</guid>
      <dc:creator>smorring</dc:creator>
      <dc:date>2016-07-12T18:52:14Z</dc:date>
    </item>
    <item>
      <title>Re: A TaskListener to automatically assign a task if only one candidate user exists</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/a-tasklistener-to-automatically-assign-a-task-if-only-one/m-p/216018#M169148</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;P.S.&amp;nbsp; I should also mention that this event is designed to work in response to the "create" event.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Following is the java code I use to register this listener:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; private static ActivitiListener makeAutoAssigningTaskListener()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; ActivitiListener result = new ActivitiListener();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; result.setEvent(TaskListener.EVENTNAME_CREATE);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; result.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; result.setImplementation("#{autoAssigningTaskListenerFactory.makeListener()}");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return result;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Jul 2016 18:56:12 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/a-tasklistener-to-automatically-assign-a-task-if-only-one/m-p/216018#M169148</guid>
      <dc:creator>smorring</dc:creator>
      <dc:date>2016-07-12T18:56:12Z</dc:date>
    </item>
  </channel>
</rss>

