diff --git a/api-impl/src/main/kotlin/dev/bpmcrafters/processengineapi/impl/task/VariablesExt.kt b/api-impl/src/main/kotlin/dev/bpmcrafters/processengineapi/impl/task/VariablesExt.kt index d333f8f..d6f09bf 100644 --- a/api-impl/src/main/kotlin/dev/bpmcrafters/processengineapi/impl/task/VariablesExt.kt +++ b/api-impl/src/main/kotlin/dev/bpmcrafters/processengineapi/impl/task/VariablesExt.kt @@ -7,7 +7,7 @@ package dev.bpmcrafters.processengineapi.impl.task * * @since 0.0.1 */ -fun Map.filterBySubscription(subscription: TaskSubscriptionHandle): Map = +fun Map.filterBySubscription(subscription: TaskSubscriptionHandle): Map = if (subscription.payloadDescription != null) { if (subscription.payloadDescription.isEmpty()) { mapOf() diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/PayloadSupplier.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/PayloadSupplier.kt index d354f73..2590ea1 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/PayloadSupplier.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/PayloadSupplier.kt @@ -3,7 +3,8 @@ package dev.bpmcrafters.processengineapi import java.util.function.Supplier /** - * Supplier for the payload. + * Supplier for the payload of commands to the engine + * Used to for instance define process-variables when starting processes. * @since 0.0.1 */ -fun interface PayloadSupplier : Supplier> +fun interface PayloadSupplier : Supplier> diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/correlation/CorrelateMessageCmd.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/correlation/CorrelateMessageCmd.kt index bd58cef..1b7e9bd 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/correlation/CorrelateMessageCmd.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/correlation/CorrelateMessageCmd.kt @@ -30,7 +30,7 @@ data class CorrelateMessageCmd( * @param payload payload to use. * @param correlation correlation to use. */ - constructor(messageName: String, payload: Map, correlation: Correlation, restrictions: Map) : + constructor(messageName: String, payload: Map, correlation: Correlation, restrictions: Map) : this( messageName = messageName, payloadSupplier = PayloadSupplier { payload }, @@ -44,7 +44,7 @@ data class CorrelateMessageCmd( * @param payload payload to use. * @param correlation correlation to use. */ - constructor(messageName: String, payload: Map, correlation: Correlation) : + constructor(messageName: String, payload: Map, correlation: Correlation) : this( messageName = messageName, payloadSupplier = PayloadSupplier { payload }, diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/correlation/SendSignalCmd.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/correlation/SendSignalCmd.kt index 5602740..ea2ecec 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/correlation/SendSignalCmd.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/correlation/SendSignalCmd.kt @@ -26,7 +26,7 @@ data class SendSignalCmd( * @param restrictions restrictions. * @param payload payload to use. */ - constructor(signalName: String, restrictions: Map, payload: Map) : this(signalName, PayloadSupplier { payload }, restrictions ) + constructor(signalName: String, restrictions: Map, payload: Map) : this(signalName, PayloadSupplier { payload }, restrictions ) /** * Constructs a signal command by signal name, restrictions and no payload. * @param signalName signal name. diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/decision/DecisionByRefEvaluationCommand.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/decision/DecisionByRefEvaluationCommand.kt index d004b43..f9154a9 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/decision/DecisionByRefEvaluationCommand.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/decision/DecisionByRefEvaluationCommand.kt @@ -28,7 +28,7 @@ data class DecisionByRefEvaluationCommand( * @param payload payload to use. * @param restrictions restrictions for the message. */ - constructor(decisionRef: String, payload: Map, restrictions: Map) : this( + constructor(decisionRef: String, payload: Map, restrictions: Map) : this( decisionRef = decisionRef, payloadSupplier = PayloadSupplier { payload }, restrictionSupplier = { restrictions } diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/process/StartProcessByDefinitionCmd.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/process/StartProcessByDefinitionCmd.kt index e738827..1b35384 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/process/StartProcessByDefinitionCmd.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/process/StartProcessByDefinitionCmd.kt @@ -26,7 +26,7 @@ data class StartProcessByDefinitionCmd( * @param payload payload to use. * @param restrictions restrictions for the message. */ - constructor(definitionKey: String, payload: Map, restrictions: Map) : this( + constructor(definitionKey: String, payload: Map, restrictions: Map) : this( definitionKey = definitionKey, payloadSupplier = PayloadSupplier { payload }, restrictions = restrictions @@ -36,7 +36,7 @@ data class StartProcessByDefinitionCmd( * @param definitionKey process definition key. * @param payload payload to use. */ - constructor(definitionKey: String, payload: Map) : this( + constructor(definitionKey: String, payload: Map) : this( definitionKey = definitionKey, payloadSupplier = PayloadSupplier { payload } , restrictions = mapOf() diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/process/StartProcessByMessageCmd.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/process/StartProcessByMessageCmd.kt index 36780c2..ae7b63f 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/process/StartProcessByMessageCmd.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/process/StartProcessByMessageCmd.kt @@ -26,7 +26,7 @@ data class StartProcessByMessageCmd( * @param payload payload to use. * @param restrictions restrictions for the message. */ - constructor(messageName: String, payload: Map, restrictions: Map) : this( + constructor(messageName: String, payload: Map, restrictions: Map) : this( messageName = messageName, payloadSupplier = PayloadSupplier { payload }, restrictions = restrictions @@ -36,7 +36,7 @@ data class StartProcessByMessageCmd( * @param messageName message name. * @param payload payload to use. */ - constructor(messageName: String, payload: Map) : this( + constructor(messageName: String, payload: Map) : this( messageName = messageName, payloadSupplier = PayloadSupplier { payload }, restrictions = mapOf() diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/ChangePayloadModifyTaskCmd.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/ChangePayloadModifyTaskCmd.kt index fb1c49c..412209f 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/ChangePayloadModifyTaskCmd.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/ChangePayloadModifyTaskCmd.kt @@ -32,7 +32,7 @@ abstract class ChangePayloadModifyTaskCmd( * @param taskId id of the task to modify. * @param payload payload to use. */ - constructor(taskId: String, payload: Map) : this( + constructor(taskId: String, payload: Map) : this( taskId = taskId, payloadSupplier = PayloadSupplier { payload }, ) diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/CompleteTaskByErrorCmd.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/CompleteTaskByErrorCmd.kt index 66ee906..2f2a93e 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/CompleteTaskByErrorCmd.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/CompleteTaskByErrorCmd.kt @@ -31,7 +31,7 @@ open class CompleteTaskByErrorCmd( * @param errorMessage Optional details. * @param payload payload to use. */ - constructor(taskId: String, errorCode: String, errorMessage: String?, payload: Map) : this( + constructor(taskId: String, errorCode: String, errorMessage: String?, payload: Map) : this( taskId = taskId, errorCode = errorCode, errorMessage = errorMessage, diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/CompleteTaskCmd.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/CompleteTaskCmd.kt index b209462..c48268c 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/CompleteTaskCmd.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/CompleteTaskCmd.kt @@ -22,7 +22,7 @@ open class CompleteTaskCmd( * @param taskId id of the task to complete. * @param payload payload to use. */ - constructor(taskId: String, payload: Map) : this(taskId, PayloadSupplier { payload } ) + constructor(taskId: String, payload: Map) : this(taskId, PayloadSupplier { payload } ) /** * Creates the complete command for a given task id without payload. diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/TaskHandler.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/TaskHandler.kt index f0603d5..99a50d1 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/TaskHandler.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/TaskHandler.kt @@ -7,9 +7,9 @@ import java.util.function.BiConsumer * @since 0.0.1 */ @JvmDefaultWithoutCompatibility -fun interface TaskHandler : BiConsumer> { +fun interface TaskHandler : BiConsumer> { - fun process(parameters: Pair>): Pair> { + fun process(parameters: Pair>): Pair> { accept(parameters.first, parameters.second) return parameters } diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/TaskModification.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/TaskModification.kt index 155a456..1040cd4 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/TaskModification.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/TaskModification.kt @@ -40,7 +40,7 @@ class TaskModification(private val taskId: String) { * @param payload new payload. * @return builder instance. */ - fun updatePayload(payload: Map) = this.apply { + fun updatePayload(payload: Map) = this.apply { commands += UpdatePayloadTaskCmd(taskId, payload) } diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/support/AssignmentDetector.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/support/AssignmentDetector.kt index 5b5c4b2..5699030 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/support/AssignmentDetector.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/support/AssignmentDetector.kt @@ -13,5 +13,5 @@ interface AssignmentDetector { * @param newTaskInformation new task information and payload. * @return true, if assignment change is detected. Defaults to `false`. */ - fun hasChangedAssignment(oldTaskInformation: Pair>, newTaskInformation: Pair>): Boolean = false + fun hasChangedAssignment(oldTaskInformation: Pair>, newTaskInformation: Pair>): Boolean = false } diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/support/CompositeTaskHandler.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/support/CompositeTaskHandler.kt index 2eacae4..098cdbd 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/support/CompositeTaskHandler.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/support/CompositeTaskHandler.kt @@ -28,7 +28,7 @@ class CompositeTaskHandler( return CompositeTaskHandler(handlers.plus(handler).toMutableList()) } - override fun accept(taskInformation: TaskInformation, payload: Map) { + override fun accept(taskInformation: TaskInformation, payload: Map) { handlers.fold( Pair(taskInformation, payload)) { params, handler -> handler.process(params) } } diff --git a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/support/UserTaskSupport.kt b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/support/UserTaskSupport.kt index b833ef4..2871704 100644 --- a/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/support/UserTaskSupport.kt +++ b/api/src/main/kotlin/dev/bpmcrafters/processengineapi/task/support/UserTaskSupport.kt @@ -19,7 +19,7 @@ class UserTaskSupport( ) : TaskHandler, TaskTerminationHandler { private lateinit var subscription: TaskSubscription - private val payload: ConcurrentHashMap> = ConcurrentHashMap() + private val payload: ConcurrentHashMap> = ConcurrentHashMap() private val information: ConcurrentHashMap = ConcurrentHashMap() private val compositeTaskHandler: CompositeTaskHandler = CompositeTaskHandler().withHandler(this) private val compositeTaskTerminationHandler: CompositeTaskTerminationHandler = CompositeTaskTerminationHandler().withHandler(this) @@ -35,7 +35,7 @@ class UserTaskSupport( * @throws IllegalArgumentException if no task with given id is found. */ @Throws(IllegalArgumentException::class) - fun getPayload(taskId: String): Map { + fun getPayload(taskId: String): Map { return requireNotNull(payload[taskId]) { "Could not find any variables for task $taskId." } } @@ -146,7 +146,7 @@ class UserTaskSupport( * @param taskInformation task information. * @param taskPayload payload of the task. */ - fun onTaskDelivery(taskInformation: TaskInformation, taskPayload: Map) = compositeTaskHandler.process(taskInformation to taskPayload) + fun onTaskDelivery(taskInformation: TaskInformation, taskPayload: Map) = compositeTaskHandler.process(taskInformation to taskPayload) /** @@ -159,7 +159,7 @@ class UserTaskSupport( /** * Implement assignment detection. */ - override fun process(parameters: Pair>): Pair> { + override fun process(parameters: Pair>): Pair> { val taskInformation = parameters.first val taskPayload = parameters.second // first modify the reason based on the assignment detector decision @@ -186,7 +186,7 @@ class UserTaskSupport( * @param taskInformation task information. * @param taskPayload payload of the task. */ - override fun accept(taskInformation: TaskInformation, taskPayload: Map) { + override fun accept(taskInformation: TaskInformation, taskPayload: Map) { information[taskInformation.taskId] = taskInformation payload[taskInformation.taskId] = taskPayload } diff --git a/api/src/test/kotlin/dev/bpmcrafters/processengineapi/task/support/UserTaskSupportTest.kt b/api/src/test/kotlin/dev/bpmcrafters/processengineapi/task/support/UserTaskSupportTest.kt index d5d9ea1..fa3dfd3 100644 --- a/api/src/test/kotlin/dev/bpmcrafters/processengineapi/task/support/UserTaskSupportTest.kt +++ b/api/src/test/kotlin/dev/bpmcrafters/processengineapi/task/support/UserTaskSupportTest.kt @@ -10,7 +10,7 @@ import java.util.* internal class UserTaskSupportTest { private val support = UserTaskSupport(assignmentDetector = object: AssignmentDetector { - override fun hasChangedAssignment(oldTaskInformation: Pair>, newTaskInformation: Pair>): Boolean { + override fun hasChangedAssignment(oldTaskInformation: Pair>, newTaskInformation: Pair>): Boolean { return oldTaskInformation.first.meta["custom-assignment-field"] != newTaskInformation.first.meta["custom-assignment-field"] } })