public HistoricMilestoneInstanceResponse createHistoricMilestoneInstanceResponse(HistoricMilestoneInstance historicMilestoneInstance, RestUrlBuilder urlBuilder) { HistoricMilestoneInstanceResponse result = new HistoricMilestoneInstanceResponse(); result.setId(historicMilestoneInstance.getId()); result.setUrl(urlBuilder.buildUrl(CmmnRestUrls.URL_HISTORIC_MILESTONE_INSTANCE, historicMilestoneInstance.getId())); result.setName(historicMilestoneInstance.getName()); result.setElementId(historicMilestoneInstance.getElementId()); result.setTimestamp(historicMilestoneInstance.getTimeStamp()); result.setCaseInstanceId(historicMilestoneInstance.getCaseInstanceId()); result.setHistoricCaseInstanceUrl(urlBuilder.buildUrl(CmmnRestUrls.URL_HISTORIC_CASE_INSTANCE, historicMilestoneInstance.getCaseInstanceId())); result.setCaseDefinitionId(historicMilestoneInstance.getCaseDefinitionId()); result.setCaseDefinitionUrl(urlBuilder.buildUrl(CmmnRestUrls.URL_CASE_DEFINITION, historicMilestoneInstance.getCaseDefinitionId())); return result; }
public static void deleteHistoricCaseInstance(CmmnEngineConfiguration cmmnEngineConfiguration, String caseInstanceId) { HistoricCaseInstanceEntityManager historicCaseInstanceEntityManager = cmmnEngineConfiguration.getHistoricCaseInstanceEntityManager(); HistoricCaseInstanceEntity historicCaseInstance = historicCaseInstanceEntityManager.findById(caseInstanceId); HistoricMilestoneInstanceEntityManager historicMilestoneInstanceEntityManager = cmmnEngineConfiguration.getHistoricMilestoneInstanceEntityManager(); historicMilestoneInstanceEntityManager.findHistoricMilestoneInstancesByQueryCriteria(new HistoricMilestoneInstanceQueryImpl().milestoneInstanceCaseInstanceId(historicCaseInstance.getId())) .forEach(m -> historicMilestoneInstanceEntityManager.delete(m.getId())); HistoricPlanItemInstanceEntityManager historicPlanItemInstanceEntityManager = cmmnEngineConfiguration.getHistoricPlanItemInstanceEntityManager(); historicPlanItemInstanceEntityManager.findByCriteria(new HistoricPlanItemInstanceQueryImpl().planItemInstanceCaseInstanceId(historicCaseInstance.getId())) .forEach(p -> historicPlanItemInstanceEntityManager.delete(p.getId())); CommandContextUtil.getHistoricIdentityLinkService().deleteHistoricIdentityLinksByScopeIdAndScopeType(historicCaseInstance.getId(), ScopeTypes.CMMN); if (cmmnEngineConfiguration.isEnableEntityLinks()) { CommandContextUtil.getHistoricEntityLinkService().deleteHistoricEntityLinksByScopeIdAndScopeType(historicCaseInstance.getId(), ScopeTypes.CMMN); } historicCaseInstanceEntityManager.delete(historicCaseInstance); // Also delete any sub cases that may be active historicCaseInstanceEntityManager.createHistoricCaseInstanceQuery().caseInstanceParentId(caseInstanceId).list() .forEach(c -> deleteHistoricCaseInstance(cmmnEngineConfiguration, c.getId())); }
.findHistoricMilestoneInstancesByQueryCriteria(new HistoricMilestoneInstanceQueryImpl().milestoneInstanceCaseDefinitionId(caseDefinitionId)); for (HistoricMilestoneInstance historicMilestoneInstance : historicMilestoneInstances) { historicMilestoneInstanceEntityManager.delete(historicMilestoneInstance.getId());