diff --git a/connector-java/src/test/java/io/zeebe/hazelcast/ExporterTest.java b/connector-java/src/test/java/io/zeebe/hazelcast/ExporterTest.java index 2f533fe..6eb24d8 100644 --- a/connector-java/src/test/java/io/zeebe/hazelcast/ExporterTest.java +++ b/connector-java/src/test/java/io/zeebe/hazelcast/ExporterTest.java @@ -3,11 +3,6 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.tuple; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Properties; - import com.hazelcast.client.HazelcastClient; import com.hazelcast.client.config.ClientConfig; import com.hazelcast.core.HazelcastInstance; @@ -23,6 +18,10 @@ import io.zeebe.model.bpmn.BpmnModelInstance; import io.zeebe.test.ZeebeTestRule; import io.zeebe.test.util.TestUtil; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Properties; import org.junit.After; import org.junit.Before; import org.junit.Rule; @@ -34,7 +33,7 @@ public class ExporterTest { Bpmn.createExecutableProcess("process") .startEvent("start") .sequenceFlowId("to-task") - .serviceTask("task", s -> s.zeebeTaskType("test").zeebeInput("$.foo", "$.bar")) + .serviceTask("task", s -> s.zeebeTaskType("test").zeebeInput("foo", "bar")) .sequenceFlowId("to-end") .endEvent("end") .done(); @@ -68,30 +67,19 @@ public void shouldExportWorkflowInstanceEvents() { final ITopic topic = hz.getTopic(CONFIGURATION.workflowInstanceTopic); topic.addMessageListener(new WorkflowInstanceEventListener(events::add)); - client - .workflowClient() - .newDeployCommand() - .addWorkflowModel(WORKFLOW, "process.bpmn") - .send() - .join(); + client.newDeployCommand().addWorkflowModel(WORKFLOW, "process.bpmn").send().join(); - client - .workflowClient() - .newCreateInstanceCommand() - .bpmnProcessId("process") - .latestVersion() - .send() - .join(); + client.newCreateInstanceCommand().bpmnProcessId("process").latestVersion().send().join(); TestUtil.waitUntil(() -> events.size() >= 4); assertThat(events) .extracting(r -> tuple(r.getElementId(), r.getMetadata().getIntent())) .containsSequence( - tuple("process", "ELEMENT_READY"), + tuple("process", "ELEMENT_ACTIVATING"), tuple("process", "ELEMENT_ACTIVATED"), - tuple("start", "START_EVENT_OCCURRED"), - tuple("to-task", "SEQUENCE_FLOW_TAKEN")); + tuple("start", "ELEMENT_ACTIVATING"), + tuple("start", "ELEMENT_ACTIVATED")); } @Test @@ -101,12 +89,7 @@ public void shouldExportDeploymentEvents() { final ITopic topic = hz.getTopic(CONFIGURATION.deploymentTopic); topic.addMessageListener(new DeploymentEventListener(events::add)); - client - .workflowClient() - .newDeployCommand() - .addWorkflowModel(WORKFLOW, "process.bpmn") - .send() - .join(); + client.newDeployCommand().addWorkflowModel(WORKFLOW, "process.bpmn").send().join(); TestUtil.waitUntil(() -> events.size() >= 2); @@ -123,25 +106,22 @@ public void shouldExportJobEvents() { final ITopic topic = hz.getTopic(CONFIGURATION.jobTopic); topic.addMessageListener(new JobEventListener(events::add)); - client - .workflowClient() - .newDeployCommand() - .addWorkflowModel(WORKFLOW, "process.bpmn") - .send() - .join(); + client.newDeployCommand().addWorkflowModel(WORKFLOW, "process.bpmn").send().join(); client - .workflowClient() .newCreateInstanceCommand() .bpmnProcessId("process") .latestVersion() - .payload(Collections.singletonMap("foo", 123)) + .variables(Collections.singletonMap("foo", 123)) .send() .join(); TestUtil.waitUntil(() -> events.size() >= 1); - assertThat(events).hasSize(1).extracting(r -> r.getMetadata().getIntent()).containsExactly("CREATED"); + assertThat(events) + .hasSize(1) + .extracting(r -> r.getMetadata().getIntent()) + .containsExactly("CREATED"); } @Test @@ -151,23 +131,15 @@ public void shouldExportIncidentEvents() { final ITopic topic = hz.getTopic(CONFIGURATION.incidentTopic); topic.addMessageListener(new IncidentEventListener(events::add)); - client - .workflowClient() - .newDeployCommand() - .addWorkflowModel(WORKFLOW, "process.bpmn") - .send() - .join(); + client.newDeployCommand().addWorkflowModel(WORKFLOW, "process.bpmn").send().join(); - client - .workflowClient() - .newCreateInstanceCommand() - .bpmnProcessId("process") - .latestVersion() - .send() - .join(); + client.newCreateInstanceCommand().bpmnProcessId("process").latestVersion().send().join(); TestUtil.waitUntil(() -> events.size() >= 1); - assertThat(events).hasSize(1).extracting(r -> r.getMetadata().getIntent()).containsExactly("CREATED"); + assertThat(events) + .hasSize(1) + .extracting(r -> r.getMetadata().getIntent()) + .containsExactly("CREATED"); } } diff --git a/exporter/pom.xml b/exporter/pom.xml index edd4ff7..39e860a 100644 --- a/exporter/pom.xml +++ b/exporter/pom.xml @@ -15,7 +15,7 @@ io.zeebe - zb-exporter-api + zeebe-exporter-api provided diff --git a/exporter/src/main/java/io/zeebe/hazelcast/exporter/HazelcastExporter.java b/exporter/src/main/java/io/zeebe/hazelcast/exporter/HazelcastExporter.java index ef84b60..e91fd2a 100644 --- a/exporter/src/main/java/io/zeebe/hazelcast/exporter/HazelcastExporter.java +++ b/exporter/src/main/java/io/zeebe/hazelcast/exporter/HazelcastExporter.java @@ -1,22 +1,21 @@ package io.zeebe.hazelcast.exporter; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.EnumMap; - import com.google.protobuf.GeneratedMessageV3; import com.hazelcast.config.Config; import com.hazelcast.core.Hazelcast; import com.hazelcast.core.HazelcastInstance; import com.hazelcast.core.ITopic; -import io.zeebe.exporter.context.Context; -import io.zeebe.exporter.context.Controller; +import io.zeebe.exporter.api.context.Context; +import io.zeebe.exporter.api.context.Controller; +import io.zeebe.exporter.api.record.Record; +import io.zeebe.exporter.api.record.RecordMetadata; +import io.zeebe.exporter.api.spi.Exporter; import io.zeebe.exporter.proto.RecordTransformer; -import io.zeebe.exporter.record.Record; -import io.zeebe.exporter.record.RecordMetadata; -import io.zeebe.exporter.spi.Exporter; import io.zeebe.protocol.clientapi.RecordType; import io.zeebe.protocol.clientapi.ValueType; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.EnumMap; import org.slf4j.Logger; public class HazelcastExporter implements Exporter { @@ -77,15 +76,14 @@ public void export(Record record) { private byte[] transformRecord(Record record) { final GeneratedMessageV3 dto = RecordTransformer.toProtobufMessage(record); - try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) - { - dto.writeTo(outputStream); - return outputStream.toByteArray(); - } catch (IOException ioe) - { - final String exceptionMsg = String.format("Failed to write %s to byte array output stream.", dto.toString()); - logger.error(exceptionMsg, ioe); - throw new RuntimeException(exceptionMsg, ioe); - } + try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) { + dto.writeTo(outputStream); + return outputStream.toByteArray(); + } catch (IOException ioe) { + final String exceptionMsg = + String.format("Failed to write %s to byte array output stream.", dto.toString()); + logger.error(exceptionMsg, ioe); + throw new RuntimeException(exceptionMsg, ioe); + } } } diff --git a/exporter/src/test/java/io/zeebe/hazelcast/ExporterTest.java b/exporter/src/test/java/io/zeebe/hazelcast/ExporterTest.java index 45cdf07..bdd5423 100644 --- a/exporter/src/test/java/io/zeebe/hazelcast/ExporterTest.java +++ b/exporter/src/test/java/io/zeebe/hazelcast/ExporterTest.java @@ -1,7 +1,6 @@ package io.zeebe.hazelcast; import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatThrownBy; import com.hazelcast.client.HazelcastClient; import com.hazelcast.client.config.ClientConfig; @@ -28,7 +27,7 @@ public class ExporterTest { Bpmn.createExecutableProcess("process") .startEvent("start") .sequenceFlowId("to-task") - .serviceTask("task", s -> s.zeebeTaskType("test").zeebeInput("$.foo", "$.bar")) + .serviceTask("task", s -> s.zeebeTaskType("test")) .sequenceFlowId("to-end") .endEvent("end") .done(); @@ -62,12 +61,7 @@ public void shouldExportEventsAsProtobuf() throws Exception { final ITopic topic = hz.getTopic(CONFIGURATION.deploymentTopic); topic.addMessageListener(m -> messages.add(m.getMessageObject())); - client - .workflowClient() - .newDeployCommand() - .addWorkflowModel(WORKFLOW, "process.bpmn") - .send() - .join(); + client.newDeployCommand().addWorkflowModel(WORKFLOW, "process.bpmn").send().join(); TestUtil.waitUntil(() -> messages.size() > 0); diff --git a/pom.xml b/pom.xml index a082c53..ce45d10 100644 --- a/pom.xml +++ b/pom.xml @@ -1,4 +1,6 @@ - + 4.0.0 Zeebe Hazelcast Root @@ -16,9 +18,9 @@ - 0.14.0 + 0.17.0 3.11 - 0.1.0 + 0.4.0 2.9.6 @@ -51,7 +53,7 @@ io.zeebe - zb-bom + zeebe-bom ${version.zeebe} import pom @@ -69,16 +71,19 @@ ${version.hazelcast} + junit junit 4.12 + test org.assertj assertj-core 3.10.0 + test