use of org.camunda.bpm.engine.impl.incident.DefaultIncidentHandler in project camunda-bpm-platform by camunda.
the class ProcessEngineConfigurationImpl method initIncidentHandlers.
// incident handlers /////////////////////////////////////////////////////////////
protected void initIncidentHandlers() {
if (incidentHandlers == null) {
incidentHandlers = new HashMap<String, IncidentHandler>();
DefaultIncidentHandler failedJobIncidentHandler = new DefaultIncidentHandler(Incident.FAILED_JOB_HANDLER_TYPE);
incidentHandlers.put(failedJobIncidentHandler.getIncidentHandlerType(), failedJobIncidentHandler);
DefaultIncidentHandler failedExternalTaskIncidentHandler = new DefaultIncidentHandler(Incident.EXTERNAL_TASK_HANDLER_TYPE);
incidentHandlers.put(failedExternalTaskIncidentHandler.getIncidentHandlerType(), failedExternalTaskIncidentHandler);
}
if (customIncidentHandlers != null) {
for (IncidentHandler incidentHandler : customIncidentHandlers) {
incidentHandlers.put(incidentHandler.getIncidentHandlerType(), incidentHandler);
}
}
}
use of org.camunda.bpm.engine.impl.incident.DefaultIncidentHandler in project camunda-bpm-platform by camunda.
the class PvmExecutionImpl method resolveIncident.
/**
* Resolves an incident with given id.
*
* @param incidentId
*/
@Override
public void resolveIncident(final String incidentId) {
IncidentEntity incident = (IncidentEntity) Context.getCommandContext().getIncidentManager().findIncidentById(incidentId);
IncidentHandler incidentHandler = findIncidentHandler(incident.getIncidentType());
if (incidentHandler == null) {
incidentHandler = new DefaultIncidentHandler(incident.getIncidentType());
}
IncidentContext incidentContext = new IncidentContext(incident);
incidentHandler.resolveIncident(incidentContext);
}
use of org.camunda.bpm.engine.impl.incident.DefaultIncidentHandler in project camunda-bpm-platform by camunda.
the class PvmExecutionImpl method createIncident.
public Incident createIncident(String incidentType, String configuration, String message) {
IncidentContext incidentContext = new IncidentContext();
incidentContext.setTenantId(this.getTenantId());
incidentContext.setProcessDefinitionId(this.getProcessDefinitionId());
incidentContext.setExecutionId(this.getId());
incidentContext.setActivityId(this.getActivityId());
incidentContext.setConfiguration(configuration);
IncidentHandler incidentHandler = findIncidentHandler(incidentType);
if (incidentHandler == null) {
incidentHandler = new DefaultIncidentHandler(incidentType);
}
return incidentHandler.handleIncident(incidentContext, message);
}
Aggregations