Search in sources :

Example 1 with DefaultIncidentHandler

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);
        }
    }
}
Also used : IncidentHandler(org.camunda.bpm.engine.impl.incident.IncidentHandler) DefaultIncidentHandler(org.camunda.bpm.engine.impl.incident.DefaultIncidentHandler) DefaultIncidentHandler(org.camunda.bpm.engine.impl.incident.DefaultIncidentHandler)

Example 2 with DefaultIncidentHandler

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);
}
Also used : IncidentHandler(org.camunda.bpm.engine.impl.incident.IncidentHandler) DefaultIncidentHandler(org.camunda.bpm.engine.impl.incident.DefaultIncidentHandler) DefaultIncidentHandler(org.camunda.bpm.engine.impl.incident.DefaultIncidentHandler) IncidentEntity(org.camunda.bpm.engine.impl.persistence.entity.IncidentEntity) IncidentContext(org.camunda.bpm.engine.impl.incident.IncidentContext)

Example 3 with DefaultIncidentHandler

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);
}
Also used : IncidentHandler(org.camunda.bpm.engine.impl.incident.IncidentHandler) DefaultIncidentHandler(org.camunda.bpm.engine.impl.incident.DefaultIncidentHandler) DefaultIncidentHandler(org.camunda.bpm.engine.impl.incident.DefaultIncidentHandler) IncidentContext(org.camunda.bpm.engine.impl.incident.IncidentContext)

Aggregations

DefaultIncidentHandler (org.camunda.bpm.engine.impl.incident.DefaultIncidentHandler)3 IncidentHandler (org.camunda.bpm.engine.impl.incident.IncidentHandler)3 IncidentContext (org.camunda.bpm.engine.impl.incident.IncidentContext)2 IncidentEntity (org.camunda.bpm.engine.impl.persistence.entity.IncidentEntity)1