From 8b7e48b166e0281f5a4530ffbbcb4468f2e316e9 Mon Sep 17 00:00:00 2001 From: Simon Amport Date: Fri, 15 Sep 2023 16:51:22 +0200 Subject: [PATCH] #3659: Return definition category --- .../history/HistoricProcessInstance.java | 5 + .../impl/cmd/AbstractDynamicInjectionCmd.java | 2 + .../persistence/entity/ExecutionEntity.java | 4 +- .../entity/ExecutionEntityImpl.java | 23 +++- .../entity/ExecutionEntityManagerImpl.java | 1 + .../entity/HistoricProcessInstanceEntity.java | 10 +- .../HistoricProcessInstanceEntityImpl.java | 13 ++ .../engine/runtime/ProcessInstance.java | 5 + .../flowable/db/mapping/entity/Execution.xml | 116 ++++++++++-------- .../entity/HistoricProcessInstance.xml | 101 ++++++++------- ...cProcessInstanceAndVariablesQueryTest.java | 2 +- .../api/runtime/ProcessInstanceQueryTest.java | 28 ++++- .../Flowable5ProcessInstanceWrapper.java | 5 + 13 files changed, 206 insertions(+), 109 deletions(-) diff --git a/modules/flowable-engine/src/main/java/org/flowable/engine/history/HistoricProcessInstance.java b/modules/flowable-engine/src/main/java/org/flowable/engine/history/HistoricProcessInstance.java index c4102aa5ab5..97e268368d8 100644 --- a/modules/flowable-engine/src/main/java/org/flowable/engine/history/HistoricProcessInstance.java +++ b/modules/flowable-engine/src/main/java/org/flowable/engine/history/HistoricProcessInstance.java @@ -50,6 +50,11 @@ public interface HistoricProcessInstance { /** The version of the process definition of the process instance. */ Integer getProcessDefinitionVersion(); + /** + * The category of the process definition of the process instance. + */ + String getProcessDefinitionCategory(); + /** * The deployment id of the process definition of the process instance. */ diff --git a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/cmd/AbstractDynamicInjectionCmd.java b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/cmd/AbstractDynamicInjectionCmd.java index 5d588e305d1..7691b6e9444 100644 --- a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/cmd/AbstractDynamicInjectionCmd.java +++ b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/cmd/AbstractDynamicInjectionCmd.java @@ -131,6 +131,7 @@ protected void updateExecutions(CommandContext commandContext, ProcessDefinition String previousProcessDefinitionId = processInstance.getProcessDefinitionId(); processInstance.setProcessDefinitionId(processDefinitionEntity.getId()); processInstance.setProcessDefinitionVersion(processDefinitionEntity.getVersion()); + processInstance.setProcessDefinitionCategory(processDefinitionEntity.getCategory()); ProcessEngineConfigurationImpl processEngineConfiguration = CommandContextUtil.getProcessEngineConfiguration(commandContext); List currentTasks = processEngineConfiguration.getTaskServiceConfiguration().getTaskService() @@ -175,6 +176,7 @@ protected void updateExecutions(CommandContext commandContext, ProcessDefinition for (ExecutionEntity childExecution : childExecutions) { childExecution.setProcessDefinitionId(processDefinitionEntity.getId()); childExecution.setProcessDefinitionVersion(processDefinitionEntity.getVersion()); + childExecution.setProcessDefinitionCategory(processDefinitionEntity.getCategory()); } updateExecutions(commandContext, processDefinitionEntity, processInstance, childExecutions); diff --git a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/ExecutionEntity.java b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/ExecutionEntity.java index ed89f935649..226bbf9ab63 100755 --- a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/ExecutionEntity.java +++ b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/ExecutionEntity.java @@ -43,7 +43,7 @@ public interface ExecutionEntity extends DelegateExecution, Execution, ProcessIn Comparator EXECUTION_ENTITY_START_TIME_ASC_COMPARATOR = comparing(ProcessInstance::getStartTime); void setBusinessKey(String businessKey); - + void setBusinessStatus(String businessStatus); void setProcessDefinitionId(String processDefinitionId); @@ -54,6 +54,8 @@ public interface ExecutionEntity extends DelegateExecution, Execution, ProcessIn void setProcessDefinitionVersion(Integer processDefinitionVersion); + void setProcessDefinitionCategory(String processDefinitionCategory); + void setDeploymentId(String deploymentId); ExecutionEntity getProcessInstance(); diff --git a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/ExecutionEntityImpl.java b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/ExecutionEntityImpl.java index 7d39fc48613..5d56d34bd5c 100644 --- a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/ExecutionEntityImpl.java +++ b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/ExecutionEntityImpl.java @@ -164,10 +164,15 @@ public class ExecutionEntityImpl extends AbstractBpmnEngineVariableScopeEntity i protected String processDefinitionName; /** - * persisted reference to the process definition version. + * Persisted reference to the process definition version. */ protected Integer processDefinitionVersion; + /** + * Persisted reference to the process definition category. + */ + protected String processDefinitionCategory; + /** * Persisted reference to the deployment id. */ @@ -175,7 +180,7 @@ public class ExecutionEntityImpl extends AbstractBpmnEngineVariableScopeEntity i /** * Persisted reference to the current position in the diagram within the {@link #processDefinitionId}. - * + * * @see #activityId * @see #setActivityId(String) * @see #getActivityId() @@ -463,6 +468,19 @@ public void setProcessDefinitionVersion(Integer processDefinitionVersion) { this.processDefinitionVersion = processDefinitionVersion; } + @Override + public String getProcessDefinitionCategory() { + if (StringUtils.isEmpty(processDefinitionCategory) && StringUtils.isNotEmpty(processDefinitionId)) { + resolveProcessDefinitionInfo(); + } + return processDefinitionCategory; + } + + @Override + public void setProcessDefinitionCategory(String processDefinitionCategory) { + this.processDefinitionCategory = processDefinitionCategory; + } + @Override public String getDeploymentId() { if (StringUtils.isEmpty(deploymentId) && StringUtils.isNotEmpty(processDefinitionId)) { @@ -1472,6 +1490,7 @@ protected void resolveProcessDefinitionInfo() { this.processDefinitionKey = processDefinition.getKey(); this.processDefinitionName = processDefinition.getName(); this.processDefinitionVersion = processDefinition.getVersion(); + this.processDefinitionCategory = processDefinition.getCategory(); this.deploymentId = processDefinition.getDeploymentId(); } diff --git a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/ExecutionEntityManagerImpl.java b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/ExecutionEntityManagerImpl.java index 9f274b6c357..b8119a82533 100644 --- a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/ExecutionEntityManagerImpl.java +++ b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/ExecutionEntityManagerImpl.java @@ -256,6 +256,7 @@ public ExecutionEntity createProcessInstanceExecution(ProcessDefinition processD processInstanceExecution.setProcessDefinitionKey(processDefinition.getKey()); processInstanceExecution.setProcessDefinitionName(processDefinition.getName()); processInstanceExecution.setProcessDefinitionVersion(processDefinition.getVersion()); + processInstanceExecution.setProcessDefinitionCategory(processDefinition.getCategory()); processInstanceExecution.setDeploymentId(processDefinition.getDeploymentId()); processInstanceExecution.setBusinessKey(businessKey); processInstanceExecution.setBusinessStatus(businessStatus); diff --git a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/HistoricProcessInstanceEntity.java b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/HistoricProcessInstanceEntity.java index de14fa9f43f..91004b55fea 100644 --- a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/HistoricProcessInstanceEntity.java +++ b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/HistoricProcessInstanceEntity.java @@ -28,7 +28,7 @@ public interface HistoricProcessInstanceEntity extends HistoricScopeInstanceEnti void setEndActivityId(String endActivityId); void setBusinessKey(String businessKey); - + void setBusinessStatus(String businessStatus); void setStartUserId(String startUserId); @@ -53,10 +53,12 @@ public interface HistoricProcessInstanceEntity extends HistoricScopeInstanceEnti void setProcessDefinitionVersion(Integer processDefinitionVersion); + void setProcessDefinitionCategory(String processDefinitionCategory); + void setDeploymentId(String deploymentId); - + void setCallbackId(String callbackId); - + void setCallbackType(String callbackType); void setReferenceId(String referenceId); @@ -64,7 +66,7 @@ public interface HistoricProcessInstanceEntity extends HistoricScopeInstanceEnti void setReferenceType(String referenceType); void setPropagatedStageInstanceId(String propagatedStageInstanceId); - + List getQueryVariables(); void setQueryVariables(List queryVariables); diff --git a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/HistoricProcessInstanceEntityImpl.java b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/HistoricProcessInstanceEntityImpl.java index a11e55018eb..6d02805f5e5 100644 --- a/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/HistoricProcessInstanceEntityImpl.java +++ b/modules/flowable-engine/src/main/java/org/flowable/engine/impl/persistence/entity/HistoricProcessInstanceEntityImpl.java @@ -46,6 +46,7 @@ public class HistoricProcessInstanceEntityImpl extends HistoricScopeInstanceEnti protected String processDefinitionKey; protected String processDefinitionName; protected Integer processDefinitionVersion; + protected String processDefinitionCategory; protected String deploymentId; protected String callbackId; protected String callbackType; @@ -68,6 +69,7 @@ public HistoricProcessInstanceEntityImpl(ExecutionEntity processInstance) { this.processDefinitionKey = processInstance.getProcessDefinitionKey(); this.processDefinitionName = processInstance.getProcessDefinitionName(); this.processDefinitionVersion = processInstance.getProcessDefinitionVersion(); + this.processDefinitionCategory = processInstance.getProcessDefinitionCategory(); this.deploymentId = processInstance.getDeploymentId(); this.startActivityId = processInstance.getStartActivityId(); this.startTime = processInstance.getStartTime(); @@ -101,6 +103,7 @@ public Object getPersistentState() { persistentState.put("processDefinitionKey", processDefinitionKey); persistentState.put("processDefinitionName", processDefinitionName); persistentState.put("processDefinitionVersion", processDefinitionVersion); + persistentState.put("processDefinitionCategory", processDefinitionCategory); persistentState.put("deploymentId", deploymentId); persistentState.put("callbackId", callbackId); persistentState.put("callbackType", callbackType); @@ -258,6 +261,16 @@ public void setProcessDefinitionVersion(Integer processDefinitionVersion) { this.processDefinitionVersion = processDefinitionVersion; } + @Override + public String getProcessDefinitionCategory() { + return processDefinitionCategory; + } + + @Override + public void setProcessDefinitionCategory(String processDefinitionCategory) { + this.processDefinitionCategory = processDefinitionCategory; + } + @Override public String getDeploymentId() { return deploymentId; diff --git a/modules/flowable-engine/src/main/java/org/flowable/engine/runtime/ProcessInstance.java b/modules/flowable-engine/src/main/java/org/flowable/engine/runtime/ProcessInstance.java index e9151d02f44..8cedf1ee1b3 100644 --- a/modules/flowable-engine/src/main/java/org/flowable/engine/runtime/ProcessInstance.java +++ b/modules/flowable-engine/src/main/java/org/flowable/engine/runtime/ProcessInstance.java @@ -47,6 +47,11 @@ public interface ProcessInstance extends Execution { */ Integer getProcessDefinitionVersion(); + /** + * The category of the process definition of the process instance. + */ + String getProcessDefinitionCategory(); + /** * The deployment id of the process definition of the process instance. */ diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/mapping/entity/Execution.xml b/modules/flowable-engine/src/main/resources/org/flowable/db/mapping/entity/Execution.xml index c92d81cbfd5..534a2c0b6fc 100644 --- a/modules/flowable-engine/src/main/resources/org/flowable/db/mapping/entity/Execution.xml +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/mapping/entity/Execution.xml @@ -374,6 +374,7 @@ + @@ -474,6 +475,7 @@ + @@ -581,71 +583,77 @@ and IS_ACTIVE_ = #{parameter.isActive} - + - + - + - - + + - + - - from ${prefix}ACT_RU_EXECUTION RES - - inner join ${prefix}ACT_RE_PROCDEF P on RES.PROC_DEF_ID_ = P.ID_ - - + + from ${prefix}ACT_RU_EXECUTION RES + + inner join ${prefix}ACT_RE_PROCDEF P on RES.PROC_DEF_ID_ = P.ID_ + + - + SELECT RES.*, + VAR.ID_ as VAR_ID_, VAR.NAME_ as VAR_NAME_, VAR.TYPE_ as VAR_TYPE_, VAR.REV_ as VAR_REV_, + VAR.PROC_INST_ID_ as VAR_PROC_INST_ID_, VAR.EXECUTION_ID_ as VAR_EXECUTION_ID_, VAR.TASK_ID_ as VAR_TASK_ID_, + VAR.META_INFO_ as VAR_META_INFO_, + VAR.BYTEARRAY_ID_ as VAR_BYTEARRAY_ID_, VAR.DOUBLE_ as VAR_DOUBLE_, + VAR.TEXT_ as VAR_TEXT_, VAR.TEXT2_ as VAR_TEXT2_, VAR.LONG_ as VAR_LONG_ + FROM ( ${limitBefore} - SELECT top 100 percent RES.* ${limitBetween}, P.KEY_ as ProcessDefinitionKey, P.ID_ as ProcessDefinitionId, P.NAME_ as ProcessDefinitionName, P.VERSION_ as ProcessDefinitionVersion, P.DEPLOYMENT_ID_ as DeploymentId + SELECT top 100 percent RES.* ${limitBetween}, P.KEY_ as ProcessDefinitionKey, P.ID_ + as ProcessDefinitionId, P.NAME_ as ProcessDefinitionName, P.VERSION_ as ProcessDefinitionVersion, P.CATEGORY_ as ProcessDefinitionCategory, + P.DEPLOYMENT_ID_ as DeploymentId ${orderBy} ${limitAfter} - ) RES - left outer join ${prefix}ACT_RU_VARIABLE VAR ON RES.PROC_INST_ID_ = VAR.EXECUTION_ID_ - - inner join ${prefix}ACT_RE_PROCDEF P on RES.PROC_DEF_ID_ = P.ID_ - - ${outerJoinOrderBy} - + ) RES + left outer join ${prefix}ACT_RU_VARIABLE VAR ON RES.PROC_INST_ID_ = VAR.EXECUTION_ID_ + + inner join ${prefix}ACT_RE_PROCDEF P on RES.PROC_DEF_ID_ = P.ID_ + + ${outerJoinOrderBy} + from ${prefix}ACT_RU_EXECUTION RES diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/mapping/entity/HistoricProcessInstance.xml b/modules/flowable-engine/src/main/resources/org/flowable/db/mapping/entity/HistoricProcessInstance.xml index 43c34850eb7..cf0854cf9e7 100644 --- a/modules/flowable-engine/src/main/resources/org/flowable/db/mapping/entity/HistoricProcessInstance.xml +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/mapping/entity/HistoricProcessInstance.xml @@ -260,6 +260,7 @@ + @@ -288,6 +289,7 @@ + @@ -324,10 +326,15 @@ - - - - - - from ${prefix}ACT_HI_PROCINST RES - + + + + + + from ${prefix}ACT_HI_PROCINST RES + left outer join ${prefix}ACT_RE_PROCDEF DEF on RES.PROC_DEF_ID_ = DEF.ID_ @@ -395,19 +409,20 @@ VAR.TEXT2_ as VAR_TEXT2_, VAR.LAST_UPDATED_TIME_ as VAR_LAST_UPDATED_TIME_, VAR.LONG_ as VAR_LONG_ - FROM ( - - ${limitBefore} - SELECT top 100 percent RES.* ${limitBetween}, DEF.KEY_ as PROC_DEF_KEY_, DEF.NAME_ as PROC_DEF_NAME_, DEF.VERSION_ as PROC_DEF_VERSION_, DEF.DEPLOYMENT_ID_ as DEPLOYMENT_ID_ - - ${orderBy} - ${limitAfter} - ) RES - left outer join ${prefix}ACT_HI_VARINST VAR ON RES.PROC_INST_ID_ = VAR.EXECUTION_ID_ - - left outer join ${prefix}ACT_RE_PROCDEF DEF on RES.PROC_DEF_ID_ = DEF.ID_ - - ${outerJoinOrderBy} + FROM ( + + ${limitBefore} + SELECT top 100 percent RES.* ${limitBetween}, DEF.KEY_ as PROC_DEF_KEY_, DEF.NAME_ as + PROC_DEF_NAME_, DEF.VERSION_ as PROC_DEF_VERSION_, DEF.CATEGORY_ as PROC_DEF_CATEGORY_, DEF.DEPLOYMENT_ID_ as DEPLOYMENT_ID_ + + ${orderBy} + ${limitAfter} + ) RES + left outer join ${prefix}ACT_HI_VARINST VAR ON RES.PROC_INST_ID_ = VAR.EXECUTION_ID_ + + left outer join ${prefix}ACT_RE_PROCDEF DEF on RES.PROC_DEF_ID_ = DEF.ID_ + + ${outerJoinOrderBy} diff --git a/modules/flowable-engine/src/test/java/org/flowable/engine/test/api/history/HistoricProcessInstanceAndVariablesQueryTest.java b/modules/flowable-engine/src/test/java/org/flowable/engine/test/api/history/HistoricProcessInstanceAndVariablesQueryTest.java index a22f69fef64..6e17f5a8ac1 100644 --- a/modules/flowable-engine/src/test/java/org/flowable/engine/test/api/history/HistoricProcessInstanceAndVariablesQueryTest.java +++ b/modules/flowable-engine/src/test/java/org/flowable/engine/test/api/history/HistoricProcessInstanceAndVariablesQueryTest.java @@ -541,9 +541,9 @@ public void testOrQueryByProcessDefinition() { // ProcessDefinitionCategory processInstance = historyService.createHistoricProcessInstanceQuery().includeProcessVariables() .or().variableValueEquals("anothertest", "invalid").processDefinitionCategory(PROCESS_DEFINITION_CATEGORY_2).endOr().singleResult(); - variableMap = processInstance.getProcessVariables(); assertThat(variableMap) .containsExactly(entry("anothertest", 123)); + assertThat(processInstance.getProcessDefinitionCategory()).isEqualTo(PROCESS_DEFINITION_CATEGORY_2); processInstance = historyService.createHistoricProcessInstanceQuery().includeProcessVariables() .or().variableValueEquals("anothertest", "invalid").processDefinitionCategory("invalid").endOr().singleResult(); diff --git a/modules/flowable-engine/src/test/java/org/flowable/engine/test/api/runtime/ProcessInstanceQueryTest.java b/modules/flowable-engine/src/test/java/org/flowable/engine/test/api/runtime/ProcessInstanceQueryTest.java index d6cf93d8bb7..0ae3bb3096a 100644 --- a/modules/flowable-engine/src/test/java/org/flowable/engine/test/api/runtime/ProcessInstanceQueryTest.java +++ b/modules/flowable-engine/src/test/java/org/flowable/engine/test/api/runtime/ProcessInstanceQueryTest.java @@ -164,10 +164,29 @@ public void testQueryByProcessInstanceId() { @Test public void testQueryByProcessDefinitionCategory() { - assertThat(runtimeService.createProcessInstanceQuery().processDefinitionCategory(PROCESS_DEFINITION_CATEGORY).count()) - .isEqualTo(PROCESS_DEFINITION_KEY_DEPLOY_COUNT); - assertThat(runtimeService.createProcessInstanceQuery().processDefinitionCategory(PROCESS_DEFINITION_CATEGORY_2).count()) - .isEqualTo(PROCESS_DEFINITION_KEY_2_DEPLOY_COUNT); + List instances = runtimeService.createProcessInstanceQuery().processDefinitionCategory(PROCESS_DEFINITION_CATEGORY).list(); + assertThat(instances).hasSize(PROCESS_DEFINITION_KEY_DEPLOY_COUNT); + + assertThat(instances) + .extracting(ProcessInstance::getBusinessKey, ProcessInstance::getProcessDefinitionKey, ProcessInstance::getProcessDefinitionName, + ProcessInstance::getProcessDefinitionVersion, ProcessInstance::getProcessDefinitionCategory, ProcessInstance::getDeploymentId) + .as("businessKey, processDefinitionKey, processDefinitionName, processDefinitionVersion, processDefinitionCategory, deploymentId") + .containsExactlyInAnyOrder( + tuple("0", PROCESS_DEFINITION_KEY, "oneTaskProcessName", 1, PROCESS_DEFINITION_CATEGORY, deployment.getId()), + tuple("1", PROCESS_DEFINITION_KEY, "oneTaskProcessName", 1, PROCESS_DEFINITION_CATEGORY, deployment.getId()), + tuple("2", PROCESS_DEFINITION_KEY, "oneTaskProcessName", 1, PROCESS_DEFINITION_CATEGORY, deployment.getId()), + tuple("3", PROCESS_DEFINITION_KEY, "oneTaskProcessName", 1, PROCESS_DEFINITION_CATEGORY, deployment.getId())); + + instances = runtimeService.createProcessInstanceQuery().processDefinitionCategory(PROCESS_DEFINITION_CATEGORY_2).list(); + assertThat(instances).hasSize(PROCESS_DEFINITION_KEY_2_DEPLOY_COUNT); + + assertThat(instances) + .extracting(ProcessInstance::getBusinessKey, ProcessInstance::getProcessDefinitionKey, ProcessInstance::getProcessDefinitionName, + ProcessInstance::getProcessDefinitionVersion, ProcessInstance::getProcessDefinitionCategory, ProcessInstance::getDeploymentId) + .as("businessKey, processDefinitionKey, processDefinitionName, processDefinitionVersion, processDefinitionCategory, deploymentId") + .containsExactlyInAnyOrder( + tuple("1", PROCESS_DEFINITION_KEY_2, "oneTaskProcess2Name", 1, PROCESS_DEFINITION_CATEGORY_2, deployment.getId()) + ); } @Test @@ -415,6 +434,7 @@ public void testQueryByDeploymentId() { assertThat(processInstance.getProcessDefinitionVersion()).isEqualTo(1); assertThat(processInstance.getProcessDefinitionKey()).isEqualTo(PROCESS_DEFINITION_KEY); assertThat(processInstance.getProcessDefinitionName()).isEqualTo("oneTaskProcessName"); + assertThat(processInstance.getProcessDefinitionCategory()).isEqualTo(PROCESS_DEFINITION_CATEGORY); assertThat(runtimeService.createProcessInstanceQuery().deploymentId(deployment.getId()).count()).isEqualTo(PROCESS_DEPLOY_COUNT); } diff --git a/modules/flowable5-compatibility/src/main/java/org/flowable/compatibility/wrapper/Flowable5ProcessInstanceWrapper.java b/modules/flowable5-compatibility/src/main/java/org/flowable/compatibility/wrapper/Flowable5ProcessInstanceWrapper.java index 4ab17afbd2d..5ea9f5094a8 100644 --- a/modules/flowable5-compatibility/src/main/java/org/flowable/compatibility/wrapper/Flowable5ProcessInstanceWrapper.java +++ b/modules/flowable5-compatibility/src/main/java/org/flowable/compatibility/wrapper/Flowable5ProcessInstanceWrapper.java @@ -86,6 +86,11 @@ public Integer getProcessDefinitionVersion() { return activiti5ProcessInstance.getProcessDefinitionVersion(); } + @Override + public String getProcessDefinitionCategory() { + return null; + } + @Override public String getDeploymentId() { return activiti5ProcessInstance.getDeploymentId();