@Override protected IncidentRecord toResponseDto(DirectBuffer buffer) { final IncidentRecord responseDto = new IncidentRecord(); responseDto.wrap(buffer); return responseDto; } }
public boolean isJobIncident(IncidentRecord record) { return record.getJobKey() > 0; }
public IncidentRecord createJobIncident() { final IncidentRecord expectedRecord = new IncidentRecord(); expectedRecord.setJobKey(1234); expectedRecord.setErrorMessage("Error because of error"); expectedRecord.setErrorType(ErrorType.EXTRACT_VALUE_ERROR); return expectedRecord; }
public IncidentRecord createWorkflowInstanceIncident() { final IncidentRecord expectedRecord = new IncidentRecord(); expectedRecord.setElementInstanceKey(1234); expectedRecord.setBpmnProcessId(wrapString("process")); expectedRecord.setElementId(wrapString("process")); expectedRecord.setWorkflowInstanceKey(4321); expectedRecord.setErrorMessage("Error because of error"); expectedRecord.setErrorType(ErrorType.EXTRACT_VALUE_ERROR); return expectedRecord; }
private IncidentRecordValue ofIncidentRecord(final LoggedEvent event) { final IncidentRecord record = new IncidentRecord(); event.readValue(record); return new IncidentRecordValueImpl( objectMapper, record.getErrorType().name(), asString(record.getErrorMessage()), asString(record.getBpmnProcessId()), asString(record.getElementId()), record.getWorkflowInstanceKey(), record.getElementInstanceKey(), record.getJobKey()); }
public IncidentRecord initFromWorkflowInstanceFailure( long key, WorkflowInstanceRecord workflowInstanceEvent) { setElementInstanceKey(key); setBpmnProcessId(workflowInstanceEvent.getBpmnProcessId()); setWorkflowInstanceKey(workflowInstanceEvent.getWorkflowInstanceKey()); setElementId(workflowInstanceEvent.getElementId()); return this; } }
public void assertIncident( final IncidentRecord expectedRecord, final IncidentRecord storedRecord) { assertThat(expectedRecord.getJobKey()).isEqualTo(storedRecord.getJobKey()); assertThat(expectedRecord.getElementInstanceKey()) .isEqualTo(storedRecord.getElementInstanceKey()); assertThat(expectedRecord.getBpmnProcessId()).isEqualTo(storedRecord.getBpmnProcessId()); assertThat(expectedRecord.getElementId()).isEqualTo(storedRecord.getElementId()); assertThat(expectedRecord.getErrorMessage()).isEqualTo(storedRecord.getErrorMessage()); assertThat(expectedRecord.getErrorType()).isEqualTo(storedRecord.getErrorType()); } }
public void raiseIncident(ErrorType errorType, String errorMessage) { incidentCommand.reset(); incidentCommand .initFromWorkflowInstanceFailure(record.getKey(), record.getValue()) .setErrorType(errorType) .setErrorMessage(errorMessage); eventOutput.storeFailedRecord(record); commandWriter.appendNewCommand(IncidentIntent.CREATE, incidentCommand); }
public boolean rejectIncidentCreation( IncidentRecord incidentEvent, CommandControl<IncidentRecord> commandControl) { final IncidentState incidentState = zeebeState.getIncidentState(); final boolean isJobIncident = incidentState.isJobIncident(incidentEvent); if (isJobIncident) { return rejectJobIncident(incidentEvent.getJobKey(), commandControl); } else { return rejectWorkflowInstanceIncident(incidentEvent.getElementInstanceKey(), commandControl); } }
public static void assertIncidentContainErrorDetails( Record<IncidentRecordValue> incidentEvent, String errorMsg) { assertIncidentContainErrorDetails(incidentEvent, ErrorType.IO_MAPPING_ERROR.name(), errorMsg); }
public IncidentRecord() { this.declareProperty(errorTypeProp) .declareProperty(errorMessageProp) .declareProperty(bpmnProcessIdProp) .declareProperty(workflowInstanceKeyProp) .declareProperty(elementIdProp) .declareProperty(elementInstanceKeyProp) .declareProperty(jobKeyProp); }
public IncidentRecord createWorkflowInstanceIncident() { final IncidentRecord expectedRecord = new IncidentRecord(); expectedRecord.setElementInstanceKey(1234); expectedRecord.setBpmnProcessId(wrapString("process")); expectedRecord.setElementId(wrapString("process")); expectedRecord.setWorkflowInstanceKey(4321); expectedRecord.setErrorMessage("Error because of error"); expectedRecord.setErrorType(ErrorType.EXTRACT_VALUE_ERROR); return expectedRecord; }
private IncidentRecordValue ofIncidentRecord(final LoggedEvent event) { final IncidentRecord record = new IncidentRecord(); event.readValue(record); return new IncidentRecordValueImpl( objectMapper, record.getErrorType().name(), asString(record.getErrorMessage()), asString(record.getBpmnProcessId()), asString(record.getElementId()), record.getWorkflowInstanceKey(), record.getElementInstanceKey(), record.getJobKey(), record.getVariableScopeKey()); }
public IncidentRecord createJobIncident() { final IncidentRecord expectedRecord = new IncidentRecord(); expectedRecord.setJobKey(1234); expectedRecord.setErrorMessage("Error because of error"); expectedRecord.setErrorType(ErrorType.EXTRACT_VALUE_ERROR); return expectedRecord; }
public boolean isJobIncident(IncidentRecord record) { return record.getJobKey() > 0; }
public static void assertIncidentContainErrorDetails( Record<IncidentRecordValue> incidentEvent, String errorMsg) { assertIncidentContainErrorDetails(incidentEvent, ErrorType.IO_MAPPING_ERROR.name(), errorMsg); }
private void attemptToResolveIncident( TypedResponseWriter responseWriter, TypedStreamWriter streamWriter, Consumer<SideEffectProducer> sideEffect, IncidentRecord incidentRecord) { final long jobKey = incidentRecord.getJobKey(); final boolean isJobIncident = jobKey > 0; if (isJobIncident) { attemptToMakeJobActivatableAgain(jobKey); } else { attemptToContinueWorkflowProcessing(responseWriter, streamWriter, sideEffect, incidentRecord); } }
public static void assertIOMappingIncidentWithNoData( long workflowInstanceKey, String activityId, Record<WorkflowInstanceRecordValue> followUpEvent, Record<IncidentRecordValue> incidentRecord) { assertIncidentRecordValue( ErrorType.IO_MAPPING_ERROR.name(), "No data found for query $.foo.", workflowInstanceKey, activityId, followUpEvent, incidentRecord); }
private void attemptToResolveIncident( TypedResponseWriter responseWriter, TypedStreamWriter streamWriter, Consumer<SideEffectProducer> sideEffect, IncidentRecord incidentRecord) { final long jobKey = incidentRecord.getJobKey(); final boolean isJobIncident = jobKey > 0; if (isJobIncident) { attemptToMakeJobActivatableAgain(jobKey); } else { attemptToContinueWorkflowProcessing(responseWriter, streamWriter, sideEffect, incidentRecord); } }
public static void assertIOMappingIncidentWithNoData( long workflowInstanceKey, String activityId, Record<WorkflowInstanceRecordValue> followUpEvent, Record<IncidentRecordValue> incidentRecord) { assertIncidentRecordValue( ErrorType.IO_MAPPING_ERROR.name(), "No data found for query $.foo.", workflowInstanceKey, activityId, followUpEvent, incidentRecord); }