Class ConversationManagementBot
java.lang.Object
com.flowable.engage.engine.impl.bot.ConversationManagementBot
- All Implemented Interfaces:
BotService
A service bot supporting basic conversation management functionality like joining or dropping participants, archiving, etc.
- Author:
- Micha Kiener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ConversationPermissionServiceprotected final ConversationServiceprotected StringThe user id of the digital assistant used in ticket and desk conversations, defaults to the digital assistant user, if not changed.protected final PlatformIdentityServiceprotected final MessageServiceprotected final com.fasterxml.jackson.databind.ObjectMapperprotected final TaskService -
Constructor Summary
ConstructorsConstructorDescriptionConversationManagementBot(ConversationService conversationService, TaskService taskService, MessageService messageService, ConversationPermissionService conversationPermissionService, PlatformIdentityService identityService, com.fasterxml.jackson.databind.ObjectMapper objectMapper) -
Method Summary
Modifier and TypeMethodDescriptionprotected BotActionResultaddParticipantsToConversation(Collection<String> participantIds, String conversationId, Map<String, Object> payload) protected BotActionResultarchiveConversation(String conversationId) protected StringcreateTask(String conversationId, String subject, String description, Date dueDate, String ownerId, String assigneeId) protected BooleangetBooleanValueOrDefault(Object value, Boolean defaultValue) protected BooleangetBooleanValueOrNull(Object value) protected StringgetConversationName(Conversation conversation) protected IntegergetIntegerValueOrNull(Object value) getKey()getName()protected StringgetStringValueOrNull(Object value) getUserName(String userId, String tenantId) protected BotActionResulthandleCreateNewConversationTask(String conversationId, String currentUserId, Map<String, Object> payload) protected BotActionResulthandleCreateNewTopicAction(String conversationId, String currentUserId, Map<String, Object> payload, String userIdForPermissionChecks) invokeBot(HistoricActionInstance actionInstance, ActionDefinition actionDefinition, Map<String, Object> payload) protected BotActionResultremoveParticipantsFromConversation(Collection<String> participantIds, String conversationId) voidsetDigitalAssistantUserId(String digitalAssistantUserId) protected voidvalidateAddParticipantsPermission(Collection<String> participantIds, String conversationId) protected voidvalidateArchiveConversationPermission(String conversationId) protected voidvalidateDropParticipantsPermission(Collection<String> participantIds, String conversationId) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.flowable.action.api.bot.BotService
invokeBot
-
Field Details
-
digitalAssistantUserId
The user id of the digital assistant used in ticket and desk conversations, defaults to the digital assistant user, if not changed. -
conversationService
-
taskService
-
messageService
-
conversationPermissionService
-
identityService
-
objectMapper
protected final com.fasterxml.jackson.databind.ObjectMapper objectMapper
-
-
Constructor Details
-
ConversationManagementBot
public ConversationManagementBot(ConversationService conversationService, TaskService taskService, MessageService messageService, ConversationPermissionService conversationPermissionService, PlatformIdentityService identityService, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
-
Method Details
-
getKey
- Specified by:
getKeyin interfaceBotService
-
getName
- Specified by:
getNamein interfaceBotService
-
getDescription
- Specified by:
getDescriptionin interfaceBotService
-
invokeBot
public BotActionResult invokeBot(HistoricActionInstance actionInstance, ActionDefinition actionDefinition, Map<String, Object> payload) - Specified by:
invokeBotin interfaceBotService
-
addParticipantsToConversation
protected BotActionResult addParticipantsToConversation(Collection<String> participantIds, String conversationId, Map<String, Object> payload) -
validateAddParticipantsPermission
protected void validateAddParticipantsPermission(Collection<String> participantIds, String conversationId) -
removeParticipantsFromConversation
protected BotActionResult removeParticipantsFromConversation(Collection<String> participantIds, String conversationId) -
validateDropParticipantsPermission
protected void validateDropParticipantsPermission(Collection<String> participantIds, String conversationId) -
archiveConversation
-
validateArchiveConversationPermission
-
handleCreateNewTopicAction
-
handleCreateNewConversationTask
-
createTask
-
getConversationName
-
getStringValueOrNull
-
getBooleanValueOrNull
-
getBooleanValueOrDefault
-
getIntegerValueOrNull
-
getUserName
-
getDigitalAssistantUserId
-
setDigitalAssistantUserId
-