Skip to content

Commit a6b5d32

Browse files
committed
[Fix #3721] Adding addons
1 parent 50dcd6c commit a6b5d32

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

api/kogito-events-core/src/main/java/org/kie/kogito/event/serializer/KogitoDataEventSerializationHelper.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ static void populateCloudEvent(ProcessInstanceDataEvent<?> event, ProcessInstanc
6565
event.setKogitoRootProcessInstanceId(info.getRootInstanceId());
6666
event.setKogitoIdentity(info.getIdentity());
6767
event.setSource(info.getSource());
68+
event.setKogitoAddons(info.getAddons());
6869
}
6970

7071
}

api/kogito-events-core/src/main/java/org/kie/kogito/event/serializer/ProcessInstanceDataEventExtensionRecord.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
class ProcessInstanceDataEventExtensionRecord implements KogitoMarshallEventSupport {
3333

34-
// addons, referenceId, and starFromNode are not used by process instance events
34+
// referenceId and startFromNode are not used by process instance events
3535
private String id;
3636
private String instanceId;
3737
private String version;
@@ -44,6 +44,7 @@ class ProcessInstanceDataEventExtensionRecord implements KogitoMarshallEventSupp
4444
private String identity;
4545
private URI source;
4646
private OffsetDateTime time;
47+
private String addons;
4748
private transient int ordinal;
4849

4950
public ProcessInstanceDataEventExtensionRecord() {
@@ -63,6 +64,7 @@ public ProcessInstanceDataEventExtensionRecord(int ordinal, ProcessInstanceDataE
6364
identity = dataEvent.getKogitoIdentity();
6465
time = dataEvent.getTime();
6566
source = dataEvent.getSource();
67+
addons = dataEvent.getKogitoAddons();
6668
}
6769

6870
public int getOrdinal() {
@@ -117,6 +119,10 @@ public URI getSource() {
117119
return source;
118120
}
119121

122+
public String getAddons() {
123+
return addons;
124+
}
125+
120126
@Override
121127
public void writeEvent(DataOutput out) throws IOException {
122128
out.writeUTF(id);
@@ -131,6 +137,7 @@ public void writeEvent(DataOutput out) throws IOException {
131137
writeUTF(out, identity);
132138
writeTime(out, time);
133139
out.writeUTF(source.toString());
140+
writeUTF(out, addons);
134141
}
135142

136143
@Override
@@ -147,5 +154,6 @@ public void readEvent(DataInput in) throws IOException {
147154
identity = readUTF(in);
148155
time = readTime(in);
149156
source = URI.create(in.readUTF());
157+
addons = readUTF(in);
150158
}
151159
}

api/kogito-events-core/src/test/java/org/kie/kogito/event/process/ProcessEventsTest.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ class ProcessEventsTest {
5858
CloudEventExtensionConstants.PROCESS_ROOT_PROCESS_INSTANCE_ID,
5959
CloudEventExtensionConstants.PROCESS_ID,
6060
CloudEventExtensionConstants.PROCESS_ROOT_PROCESS_ID,
61+
CloudEventExtensionConstants.ADDONS,
6162
CloudEventExtensionConstants.PROCESS_INSTANCE_VERSION,
6263
CloudEventExtensionConstants.PROCESS_PARENT_PROCESS_INSTANCE_ID,
6364
CloudEventExtensionConstants.PROCESS_INSTANCE_STATE,
@@ -86,6 +87,7 @@ class ProcessEventsTest {
8687
private static final String PROCESS_INSTANCE_STATE = "PROCESS_INSTANCE_STATE";
8788
private static final String BUSINESS_KEY = "BUSINESS_KEY";
8889
private static final String PROCESS_TYPE = "PROCESS_TYPE";
90+
private static final String ADDONS = "ADDONS";
8991
private static final int PROCESS_STATE = 1;
9092
private static final String NODE_CONTAINER_ID = "323";
9193
private static final String NODE_CONTAINER_INSTANCEID = "323-3232-3232";
@@ -350,6 +352,7 @@ private static void setBaseEventValues(AbstractDataEvent<?> event, String eventT
350352
event.setKogitoProcessInstanceState(PROCESS_INSTANCE_STATE);
351353
event.setKogitoBusinessKey(BUSINESS_KEY);
352354
event.setKogitoProcessType(PROCESS_TYPE);
355+
event.setKogitoAddons(ADDONS);
353356
event.setKogitoIdentity(SUBJECT);
354357
}
355358

@@ -376,13 +379,16 @@ private static void assertBaseEventValues(AbstractDataEvent<?> deserializedEvent
376379
assertThat(deserializedEvent.getKogitoBusinessKey()).isEqualTo(BUSINESS_KEY);
377380
assertThat(deserializedEvent.getKogitoProcessType()).isEqualTo(PROCESS_TYPE);
378381
assertThat(deserializedEvent.getKogitoIdentity()).isEqualTo(SUBJECT);
382+
assertThat(deserializedEvent.getKogitoAddons()).isEqualTo(ADDONS);
379383
}
380384

381385
private static void assertExtensionNames(AbstractDataEvent<?> event, Set<String> baseNames, String... names) {
382386
Set<String> extensionNames = event.getExtensionNames();
383387
assertThat(extensionNames).hasSize(baseNames.size() + names.length)
384388
.containsAll(baseNames);
385-
389+
if (names.length > 0) {
390+
assertThat(extensionNames).contains(names);
391+
}
386392
}
387393

388394
private static void assertExtensionsNotDuplicated(String json, Set<String> extensionNames) {

0 commit comments

Comments
 (0)