Class FindConversationParticipantsCmd
java.lang.Object
com.flowable.engage.engine.impl.cmd.FindConversationParticipantsCmd
- All Implemented Interfaces:
org.flowable.common.engine.impl.interceptor.Command<java.util.Collection<java.lang.String>>
public class FindConversationParticipantsCmd
extends java.lang.Object
implements org.flowable.common.engine.impl.interceptor.Command<java.util.Collection<java.lang.String>>
Resolves the participants of a conversation with options whether to only include directly assigned users or
users assigned over member groups (like candidate groups or assigned group).
- Author:
- Micha Kiener, Filip Hrisafov
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
conversationId
protected java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity>
conversationIdentities
protected boolean
includeGroupBasedParticipants
protected boolean
includeUserBasedParticipants
-
Constructor Summary
Constructors Constructor Description FindConversationParticipantsCmd(java.lang.String conversationId)
FindConversationParticipantsCmd(java.lang.String conversationId, boolean includeUserBasedParticipants, boolean includeGroupBasedParticipants)
Creates a new command to find participants with options to resolve indirect users over group memberships.FindConversationParticipantsCmd(java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> conversationIdentities)
FindConversationParticipantsCmd(java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> conversationIdentities, boolean includeUserBasedParticipants, boolean includeGroupBasedParticipants)
Creates a new command to find participants with options to resolve indirect users over group memberships. -
Method Summary
Modifier and Type Method Description java.util.Collection<java.lang.String>
execute(org.flowable.common.engine.impl.interceptor.CommandContext commandContext)
protected java.util.Collection<java.lang.String>
getAllGroupsUsers(org.flowable.common.engine.impl.interceptor.CommandContext commandContext, java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> identities)
protected java.util.Collection<java.lang.String>
getAllUsers(java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> identities)
protected java.util.Collection<java.lang.String>
resolveGroupMembers(org.flowable.common.engine.impl.interceptor.CommandContext commandContext, java.util.Collection<java.lang.String> groups)
-
Field Details
-
conversationId
protected final java.lang.String conversationId -
conversationIdentities
protected java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> conversationIdentities -
includeUserBasedParticipants
protected final boolean includeUserBasedParticipants -
includeGroupBasedParticipants
protected final boolean includeGroupBasedParticipants
-
-
Constructor Details
-
FindConversationParticipantsCmd
public FindConversationParticipantsCmd(java.lang.String conversationId) -
FindConversationParticipantsCmd
public FindConversationParticipantsCmd(java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> conversationIdentities) -
FindConversationParticipantsCmd
public FindConversationParticipantsCmd(java.lang.String conversationId, boolean includeUserBasedParticipants, boolean includeGroupBasedParticipants)Creates a new command to find participants with options to resolve indirect users over group memberships.- Parameters:
conversationId
- the id of the conversation to find participantsincludeUserBasedParticipants
-true
if all directly assigned users should be returned as wellincludeGroupBasedParticipants
-true
if all group members of the assigned groups of the conversation should be resolved as well
-
FindConversationParticipantsCmd
public FindConversationParticipantsCmd(java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> conversationIdentities, boolean includeUserBasedParticipants, boolean includeGroupBasedParticipants)Creates a new command to find participants with options to resolve indirect users over group memberships.- Parameters:
conversationIdentities
- the list of conversation identitiesincludeUserBasedParticipants
-true
if all directly assigned users should be returned as wellincludeGroupBasedParticipants
-true
if all group members of the assigned groups of the conversation should be resolved as well
-
-
Method Details
-
execute
public java.util.Collection<java.lang.String> execute(org.flowable.common.engine.impl.interceptor.CommandContext commandContext)- Specified by:
execute
in interfaceorg.flowable.common.engine.impl.interceptor.Command<java.util.Collection<java.lang.String>>
-
getAllUsers
protected java.util.Collection<java.lang.String> getAllUsers(java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> identities) -
getAllGroupsUsers
protected java.util.Collection<java.lang.String> getAllGroupsUsers(org.flowable.common.engine.impl.interceptor.CommandContext commandContext, java.util.List<org.flowable.identitylink.service.impl.persistence.entity.IdentityLinkEntity> identities) -
resolveGroupMembers
protected java.util.Collection<java.lang.String> resolveGroupMembers(org.flowable.common.engine.impl.interceptor.CommandContext commandContext, java.util.Collection<java.lang.String> groups)
-