From b3b81b74619d63e48cdc1c2fa4a09110d38fe12c Mon Sep 17 00:00:00 2001 From: "p.zahnen" Date: Wed, 10 Jun 2026 17:50:52 +0200 Subject: [PATCH] fix(entities): emit delete events on reload to clear cache before re-applying --- .../entities/app/EntityDataDefaultsStoreImpl.java | 3 ++- .../de/ii/xtraplatform/entities/app/EntityDataStoreImpl.java | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/xtraplatform-entities/src/main/java/de/ii/xtraplatform/entities/app/EntityDataDefaultsStoreImpl.java b/xtraplatform-entities/src/main/java/de/ii/xtraplatform/entities/app/EntityDataDefaultsStoreImpl.java index cc6edc68..37982fbf 100644 --- a/xtraplatform-entities/src/main/java/de/ii/xtraplatform/entities/app/EntityDataDefaultsStoreImpl.java +++ b/xtraplatform-entities/src/main/java/de/ii/xtraplatform/entities/app/EntityDataDefaultsStoreImpl.java @@ -208,7 +208,8 @@ private List processMutationEvent(MutationEvent event) { private Stream processEvent(EntityEvent event) { - if (valueEncoding.isEmpty(event.payload()) || !valueEncoding.isSupported(event.format())) { + if (!event.isDelete() + && (valueEncoding.isEmpty(event.payload()) || !valueEncoding.isSupported(event.format()))) { return Stream.empty(); } diff --git a/xtraplatform-entities/src/main/java/de/ii/xtraplatform/entities/app/EntityDataStoreImpl.java b/xtraplatform-entities/src/main/java/de/ii/xtraplatform/entities/app/EntityDataStoreImpl.java index 7cbf4cc1..874f2df0 100644 --- a/xtraplatform-entities/src/main/java/de/ii/xtraplatform/entities/app/EntityDataStoreImpl.java +++ b/xtraplatform-entities/src/main/java/de/ii/xtraplatform/entities/app/EntityDataStoreImpl.java @@ -241,7 +241,8 @@ protected Map modifyPatch(Map partialData) { }) private List processEvent(ReplayEvent event) { - if (valueEncoding.isEmpty(event.payload()) || !valueEncoding.isSupported(event.format())) { + if (!event.isDelete() + && (valueEncoding.isEmpty(event.payload()) || !valueEncoding.isSupported(event.format()))) { return List.of(); } @@ -266,6 +267,7 @@ private List processEvent(ReplayEvent event) { event.asPathNoType(), event.source().orElse("UNKNOWN")); } + return List.of(); } if (!EVENT_TYPE_OVERRIDES.equals(event.type())) {