Search in sources :

Example 1 with Intent

use of io.camunda.zeebe.protocol.record.intent.Intent in project zeebe by camunda.

the class DbBlackListState method tryToBlacklist.

@Override
public boolean tryToBlacklist(final TypedRecord<?> typedRecord, final Consumer<Long> onBlacklistingInstance) {
    final Intent intent = typedRecord.getIntent();
    if (shouldBeBlacklisted(intent)) {
        final UnpackedObject value = typedRecord.getValue();
        if (value instanceof ProcessInstanceRelated) {
            final long processInstanceKey = ((ProcessInstanceRelated) value).getProcessInstanceKey();
            blacklist(processInstanceKey);
            onBlacklistingInstance.accept(processInstanceKey);
        }
    }
    return false;
}
Also used : ProcessInstanceRelated(io.camunda.zeebe.protocol.record.value.ProcessInstanceRelated) ProcessInstanceRelatedIntent(io.camunda.zeebe.protocol.record.intent.ProcessInstanceRelatedIntent) Intent(io.camunda.zeebe.protocol.record.intent.Intent) UnpackedObject(io.camunda.zeebe.msgpack.UnpackedObject)

Example 2 with Intent

use of io.camunda.zeebe.protocol.record.intent.Intent in project zeebe by camunda.

the class IntentTypeIdResolverTest method shouldHandleEveryKnownValueType.

/**
 * This test checks that every known intent type is handled. It doesn't validate the correctness
 * of the result - its goal is to be a smoke test to make sure no intents are forgotten
 *
 * @deprecated to be removed when intent classes are directly mapped via the {@link ValueType}
 *     enum
 */
@EnumSource(value = ValueType.class, names = { "NULL_VAL", "SBE_UNKNOWN" }, mode = Mode.EXCLUDE)
@ParameterizedTest
void shouldHandleEveryKnownValueType(final ValueType type) throws IOException {
    // given
    final ObjectMapper mapper = new ObjectMapper();
    final DefaultDeserializationContext.Impl baseContext = new DefaultDeserializationContext.Impl(BeanDeserializerFactory.instance);
    final DefaultDeserializationContext context = baseContext.createInstance(mapper.getDeserializationConfig(), mapper.createParser("{}"), mapper.getInjectableValues());
    final IntentTypeIdResolver resolver = new IntentTypeIdResolver();
    final JavaType resolvedType = resolver.typeFromId(context, resolver.idFromValue(type));
    assertThat(Intent.class).isAssignableFrom(resolvedType.getRawClass());
}
Also used : DefaultDeserializationContext(com.fasterxml.jackson.databind.deser.DefaultDeserializationContext) JavaType(com.fasterxml.jackson.databind.JavaType) Intent(io.camunda.zeebe.protocol.record.intent.Intent) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) EnumSource(org.junit.jupiter.params.provider.EnumSource) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest)

Example 3 with Intent

use of io.camunda.zeebe.protocol.record.intent.Intent in project zeebe by zeebe-io.

the class PushDeploymentRequestHandler method writeDistributeDeployment.

private boolean writeDistributeDeployment(final LogStreamRecordWriter logStreamWriter, final long key, final UnpackedObject event) {
    final RecordType recordType = RecordType.COMMAND;
    final ValueType valueType = ValueType.DEPLOYMENT;
    final Intent intent = DeploymentIntent.DISTRIBUTE;
    logStreamWriter.reset();
    recordMetadata.reset().recordType(recordType).valueType(valueType).intent(intent);
    final long position = logStreamWriter.key(key).metadataWriter(recordMetadata).valueWriter(event).tryWrite();
    return position > 0;
}
Also used : RecordType(io.camunda.zeebe.protocol.record.RecordType) ValueType(io.camunda.zeebe.protocol.record.ValueType) DeploymentIntent(io.camunda.zeebe.protocol.record.intent.DeploymentIntent) Intent(io.camunda.zeebe.protocol.record.intent.Intent)

Example 4 with Intent

use of io.camunda.zeebe.protocol.record.intent.Intent in project zeebe by zeebe-io.

the class IntentTypeIdResolverTest method shouldHandleEveryKnownValueType.

/**
 * This test checks that every known intent type is handled. It doesn't validate the correctness
 * of the result - its goal is to be a smoke test to make sure no intents are forgotten
 *
 * @deprecated to be removed when intent classes are directly mapped via the {@link ValueType}
 *     enum
 */
@ParameterizedTest
@MethodSource("provideValueTypes")
void shouldHandleEveryKnownValueType(final ValueType type) throws IOException {
    // given
    final ObjectMapper mapper = new ObjectMapper();
    final DefaultDeserializationContext.Impl baseContext = new DefaultDeserializationContext.Impl(BeanDeserializerFactory.instance);
    final DefaultDeserializationContext context = baseContext.createInstance(mapper.getDeserializationConfig(), mapper.createParser("{}"), mapper.getInjectableValues());
    final IntentTypeIdResolver resolver = new IntentTypeIdResolver();
    final JavaType resolvedType = resolver.typeFromId(context, resolver.idFromValue(type));
    assertThat(Intent.class).isAssignableFrom(resolvedType.getRawClass());
}
Also used : DefaultDeserializationContext(com.fasterxml.jackson.databind.deser.DefaultDeserializationContext) JavaType(com.fasterxml.jackson.databind.JavaType) Intent(io.camunda.zeebe.protocol.record.intent.Intent) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) ParameterizedTest(org.junit.jupiter.params.ParameterizedTest) MethodSource(org.junit.jupiter.params.provider.MethodSource)

Example 5 with Intent

use of io.camunda.zeebe.protocol.record.intent.Intent in project zeebe by camunda-cloud.

the class PushDeploymentRequestHandler method writeDistributeDeployment.

private boolean writeDistributeDeployment(final LogStreamRecordWriter logStreamWriter, final long key, final UnpackedObject event) {
    final RecordType recordType = RecordType.COMMAND;
    final ValueType valueType = ValueType.DEPLOYMENT;
    final Intent intent = DeploymentIntent.DISTRIBUTE;
    logStreamWriter.reset();
    recordMetadata.reset().recordType(recordType).valueType(valueType).intent(intent);
    final long position = logStreamWriter.key(key).metadataWriter(recordMetadata).valueWriter(event).tryWrite();
    return position > 0;
}
Also used : RecordType(io.camunda.zeebe.protocol.record.RecordType) ValueType(io.camunda.zeebe.protocol.record.ValueType) DeploymentIntent(io.camunda.zeebe.protocol.record.intent.DeploymentIntent) Intent(io.camunda.zeebe.protocol.record.intent.Intent)

Aggregations

Intent (io.camunda.zeebe.protocol.record.intent.Intent)12 JavaType (com.fasterxml.jackson.databind.JavaType)5 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)5 DefaultDeserializationContext (com.fasterxml.jackson.databind.deser.DefaultDeserializationContext)5 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)5 UnpackedObject (io.camunda.zeebe.msgpack.UnpackedObject)3 RecordType (io.camunda.zeebe.protocol.record.RecordType)3 ValueType (io.camunda.zeebe.protocol.record.ValueType)3 DeploymentIntent (io.camunda.zeebe.protocol.record.intent.DeploymentIntent)3 ProcessInstanceRelatedIntent (io.camunda.zeebe.protocol.record.intent.ProcessInstanceRelatedIntent)3 ProcessInstanceRelated (io.camunda.zeebe.protocol.record.value.ProcessInstanceRelated)3 EnumSource (org.junit.jupiter.params.provider.EnumSource)3 MethodSource (org.junit.jupiter.params.provider.MethodSource)2 ProcessInstanceIntent (io.camunda.zeebe.protocol.record.intent.ProcessInstanceIntent)1 ProcessInstanceEntity (io.zeebe.monitor.entity.ProcessInstanceEntity)1