protected void addRemovalTimeToHistoricDecisions(String rootProcessInstanceId, Date removalTime) { Context.getCommandContext() .getHistoricDecisionInstanceManager() .addRemovalTimeToDecisionsByRootProcessInstanceId(rootProcessInstanceId, removalTime); }
public void enrichHistoricDecisionsWithInputsAndOutputs(HistoricDecisionInstanceQueryImpl query, List<HistoricDecisionInstance> decisionInstances) { Map<String, HistoricDecisionInstanceEntity> decisionInstancesById = new HashMap<String, HistoricDecisionInstanceEntity>(); for(HistoricDecisionInstance decisionInstance : decisionInstances) { decisionInstancesById.put(decisionInstance.getId(), (HistoricDecisionInstanceEntity) decisionInstance); } if (!decisionInstances.isEmpty() && query.isIncludeInput()) { appendHistoricDecisionInputInstances(decisionInstancesById, query); } if(!decisionInstances.isEmpty() && query.isIncludeOutputs()) { appendHistoricDecisionOutputInstances(decisionInstancesById, query); } }
public HistoricDecisionInstanceEntity findHistoricDecisionInstance(String historicDecisionInstanceId) { if (isHistoryEnabled()) { return (HistoricDecisionInstanceEntity) getDbEntityManager().selectOne( "selectHistoricDecisionInstanceByDecisionInstanceId", configureParameterizedQuery(historicDecisionInstanceId)); } return null; }
public long findHistoricDecisionInstanceCountByQueryCriteria(HistoricDecisionInstanceQueryImpl query) { if (isHistoryEnabled()) { configureQuery(query); return (Long) getDbEntityManager().selectOne("selectHistoricDecisionInstanceCountByQueryCriteria", query); } else { return 0; } }
public List<HistoricDecisionInstance> findHistoricDecisionInstancesByQueryCriteria(HistoricDecisionInstanceQueryImpl query, Page page) { if (isHistoryEnabled()) { configureQuery(query); @SuppressWarnings("unchecked") List<HistoricDecisionInstance> decisionInstances = getDbEntityManager().selectList("selectHistoricDecisionInstancesByQueryCriteria", query, page); enrichHistoricDecisionsWithInputsAndOutputs(query, decisionInstances); return decisionInstances; } else { return Collections.emptyList(); } }
protected void appendHistoricDecisionInputInstances(Map<String, HistoricDecisionInstanceEntity> decisionInstancesById, HistoricDecisionInstanceQueryImpl query) { List<HistoricDecisionInputInstanceEntity> decisionInputInstances = findHistoricDecisionInputInstancesByDecisionInstanceIds(decisionInstancesById.keySet()); initializeInputInstances(decisionInstancesById.values()); for (HistoricDecisionInputInstanceEntity decisionInputInstance : decisionInputInstances) { HistoricDecisionInstanceEntity historicDecisionInstance = decisionInstancesById.get(decisionInputInstance.getDecisionInstanceId()); historicDecisionInstance.addInput(decisionInputInstance); // do not fetch values for byte arrays eagerly (unless requested by the user) if (!isBinaryValue(decisionInputInstance) || query.isByteArrayFetchingEnabled()) { fetchVariableValue(decisionInputInstance, query.isCustomObjectDeserializationEnabled()); } } }
protected void appendHistoricDecisionOutputInstances(Map<String, HistoricDecisionInstanceEntity> decisionInstancesById, HistoricDecisionInstanceQueryImpl query) { List<HistoricDecisionOutputInstanceEntity> decisionOutputInstances = findHistoricDecisionOutputInstancesByDecisionInstanceIds(decisionInstancesById.keySet()); initializeOutputInstances(decisionInstancesById.values()); for (HistoricDecisionOutputInstanceEntity decisionOutputInstance : decisionOutputInstances) { HistoricDecisionInstanceEntity historicDecisionInstance = decisionInstancesById.get(decisionOutputInstance.getDecisionInstanceId()); historicDecisionInstance.addOutput(decisionOutputInstance); // do not fetch values for byte arrays eagerly (unless requested by the user) if(!isBinaryValue(decisionOutputInstance) || query.isByteArrayFetchingEnabled()) { fetchVariableValue(decisionOutputInstance, query.isCustomObjectDeserializationEnabled()); } } }
public void deleteHistoricDecisionInstancesByDecisionDefinitionId(String decisionDefinitionId) { if (isHistoryEnabled()) { List<HistoricDecisionInstanceEntity> decisionInstances = findHistoricDecisionInstancesByDecisionDefinitionId(decisionDefinitionId); List<String> decisionInstanceIds = new ArrayList<String>(); for(HistoricDecisionInstanceEntity decisionInstance : decisionInstances) { decisionInstanceIds.add(decisionInstance.getId()); // delete decision instance decisionInstance.delete(); } if(!decisionInstanceIds.isEmpty()) { deleteHistoricDecisionInstanceByIds(decisionInstanceIds); } } }
@SuppressWarnings("unchecked") protected List<HistoricDecisionInstanceEntity> findHistoricDecisionInstancesByDecisionDefinitionId(String decisionDefinitionId) { return getDbEntityManager().selectList("selectHistoricDecisionInstancesByDecisionDefinitionId", configureParameterizedQuery(decisionDefinitionId)); }
@Override public Object execute(CommandContext commandContext) { ensureNotNull("historicDecisionInstanceId", historicDecisionInstanceId); HistoricDecisionInstance historicDecisionInstance = commandContext .getHistoricDecisionInstanceManager() .findHistoricDecisionInstance(historicDecisionInstanceId); ensureNotNull("No historic decision instance found with id: " + historicDecisionInstanceId, "historicDecisionInstance", historicDecisionInstance); for (CommandChecker checker : commandContext.getProcessEngineConfiguration().getCommandCheckers()) { checker.checkDeleteHistoricDecisionInstance(historicDecisionInstance); } commandContext .getHistoricDecisionInstanceManager() .deleteHistoricDecisionInstanceByIds(Arrays.asList(historicDecisionInstanceId)); return null; }
@Override public Object execute(CommandContext commandContext) { commandContext.getAuthorizationManager().checkAuthorization(Permissions.DELETE_HISTORY, Resources.DECISION_DEFINITION); ensureNotEmpty(BadUserRequestException.class, "decisionInstanceIds", decisionInstanceIds); commandContext.getHistoricDecisionInstanceManager().deleteHistoricDecisionInstanceByIds(decisionInstanceIds); return null; }
@Override public Object execute(CommandContext commandContext) { ensureNotNull("decisionDefinitionId", decisionDefinitionId); DecisionDefinitionEntity decisionDefinition = commandContext .getDecisionDefinitionManager() .findDecisionDefinitionById(decisionDefinitionId); ensureNotNull("No decision definition found with id: " + decisionDefinitionId, "decisionDefinition", decisionDefinition); for(CommandChecker checker : commandContext.getProcessEngineConfiguration().getCommandCheckers()) { checker.checkDeleteHistoricDecisionInstance(decisionDefinition.getKey()); } commandContext .getHistoricDecisionInstanceManager() .deleteHistoricDecisionInstancesByDecisionDefinitionId(decisionDefinitionId); return null; }
protected Map<Class<? extends DbEntity>, DbOperation> performDmnCleanup() { return Context .getCommandContext() .getHistoricDecisionInstanceManager() .deleteHistoricDecisionsByRemovalTime(ClockUtil.getCurrentTime(), configuration.getMinuteFrom(), configuration.getMinuteTo(), getBatchSize()); }
@SuppressWarnings("unchecked") public List<HistoricDecisionInstance> getHistoricDecisionInstances(Date evaluatedAfter, Date evaluatedAt, int maxResults) { checkIsAuthorizedToReadHistoryOfDecisionDefinitions(); Map<String, Object> params = new HashMap<>(); params.put("evaluatedAfter", evaluatedAfter); params.put("evaluatedAt", evaluatedAt); params.put("maxResults", maxResults); List<HistoricDecisionInstance> decisionInstances = getDbEntityManager().selectList("selectHistoricDecisionInstancePage", params); HistoricDecisionInstanceQueryImpl query = (HistoricDecisionInstanceQueryImpl) new HistoricDecisionInstanceQueryImpl() .disableBinaryFetching() .disableCustomObjectDeserialization() .includeInputs() .includeOutputs(); getHistoricDecisionInstanceManager() .enrichHistoricDecisionsWithInputsAndOutputs(query, decisionInstances); return decisionInstances; }
public List<HistoricDecisionInstance> findHistoricDecisionInstancesByQueryCriteria(HistoricDecisionInstanceQueryImpl query, Page page) { if (isHistoryEnabled()) { configureQuery(query); @SuppressWarnings("unchecked") List<HistoricDecisionInstance> decisionInstances = getDbEntityManager().selectList("selectHistoricDecisionInstancesByQueryCriteria", query, page); enrichHistoricDecisionsWithInputsAndOutputs(query, decisionInstances); return decisionInstances; } else { return Collections.emptyList(); } }
protected void appendHistoricDecisionInputInstances(Map<String, HistoricDecisionInstanceEntity> decisionInstancesById, HistoricDecisionInstanceQueryImpl query) { List<HistoricDecisionInputInstanceEntity> decisionInputInstances = findHistoricDecisionInputInstancesByDecisionInstanceIds(decisionInstancesById.keySet()); initializeInputInstances(decisionInstancesById.values()); for (HistoricDecisionInputInstanceEntity decisionInputInstance : decisionInputInstances) { HistoricDecisionInstanceEntity historicDecisionInstance = decisionInstancesById.get(decisionInputInstance.getDecisionInstanceId()); historicDecisionInstance.addInput(decisionInputInstance); // do not fetch values for byte arrays eagerly (unless requested by the user) if (!isBinaryValue(decisionInputInstance) || query.isByteArrayFetchingEnabled()) { fetchVariableValue(decisionInputInstance, query.isCustomObjectDeserializationEnabled()); } } }
protected void appendHistoricDecisionOutputInstances(Map<String, HistoricDecisionInstanceEntity> decisionInstancesById, HistoricDecisionInstanceQueryImpl query) { List<HistoricDecisionOutputInstanceEntity> decisionOutputInstances = findHistoricDecisionOutputInstancesByDecisionInstanceIds(decisionInstancesById.keySet()); initializeOutputInstances(decisionInstancesById.values()); for (HistoricDecisionOutputInstanceEntity decisionOutputInstance : decisionOutputInstances) { HistoricDecisionInstanceEntity historicDecisionInstance = decisionInstancesById.get(decisionOutputInstance.getDecisionInstanceId()); historicDecisionInstance.addOutput(decisionOutputInstance); // do not fetch values for byte arrays eagerly (unless requested by the user) if(!isBinaryValue(decisionOutputInstance) || query.isByteArrayFetchingEnabled()) { fetchVariableValue(decisionOutputInstance, query.isCustomObjectDeserializationEnabled()); } } }
public long findHistoricDecisionInstanceCountByQueryCriteria(HistoricDecisionInstanceQueryImpl query) { if (isHistoryEnabled()) { configureQuery(query); return (Long) getDbEntityManager().selectOne("selectHistoricDecisionInstanceCountByQueryCriteria", query); } else { return 0; } }
public void deleteHistoricDecisionInstancesByDecisionDefinitionId(String decisionDefinitionId) { if (isHistoryEnabled()) { List<HistoricDecisionInstanceEntity> decisionInstances = findHistoricDecisionInstancesByDecisionDefinitionId(decisionDefinitionId); List<String> decisionInstanceIds = new ArrayList<String>(); for(HistoricDecisionInstanceEntity decisionInstance : decisionInstances) { decisionInstanceIds.add(decisionInstance.getId()); // delete decision instance decisionInstance.delete(); } if(!decisionInstanceIds.isEmpty()) { deleteHistoricDecisionInstanceByIds(decisionInstanceIds); } } }
@SuppressWarnings("unchecked") protected List<HistoricDecisionInstanceEntity> findHistoricDecisionInstancesByDecisionDefinitionId(String decisionDefinitionId) { return getDbEntityManager().selectList("selectHistoricDecisionInstancesByDecisionDefinitionId", configureParameterizedQuery(decisionDefinitionId)); }