From 380a965b93aedd79e3a7b730c53c0045f9a7b69b Mon Sep 17 00:00:00 2001 From: Patrik Nordwall Date: Tue, 26 Nov 2024 15:20:33 +0100 Subject: [PATCH] isDeleted --- .../TestKitEventSourcedEntityCommandContext.scala | 1 + .../javasdk/eventsourcedentity/CommandContext.java | 2 ++ .../EventSourcedEntitiesImpl.scala | 1 + .../eventsourcedentity/EventSourcedEntityImpl.scala | 13 +++++++++++-- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/akka-javasdk-testkit/src/main/scala/akka/javasdk/testkit/impl/TestKitEventSourcedEntityCommandContext.scala b/akka-javasdk-testkit/src/main/scala/akka/javasdk/testkit/impl/TestKitEventSourcedEntityCommandContext.scala index b39b8b208..641209711 100644 --- a/akka-javasdk-testkit/src/main/scala/akka/javasdk/testkit/impl/TestKitEventSourcedEntityCommandContext.scala +++ b/akka-javasdk-testkit/src/main/scala/akka/javasdk/testkit/impl/TestKitEventSourcedEntityCommandContext.scala @@ -15,6 +15,7 @@ final class TestKitEventSourcedEntityCommandContext( override val commandId: Long = 0L, override val commandName: String = "stubCommandName", override val sequenceNumber: Long = 0L, + override val isDeleted: Boolean = false, override val metadata: Metadata = Metadata.EMPTY) extends CommandContext with InternalContext { diff --git a/akka-javasdk/src/main/java/akka/javasdk/eventsourcedentity/CommandContext.java b/akka-javasdk/src/main/java/akka/javasdk/eventsourcedentity/CommandContext.java index 325596d29..af9fb6cf5 100644 --- a/akka-javasdk/src/main/java/akka/javasdk/eventsourcedentity/CommandContext.java +++ b/akka-javasdk/src/main/java/akka/javasdk/eventsourcedentity/CommandContext.java @@ -37,6 +37,8 @@ public interface CommandContext extends MetadataContext { */ String entityId(); + boolean isDeleted(); + /** Access to tracing for custom app specific tracing. */ Tracing tracing(); } diff --git a/akka-javasdk/src/main/scala/akka/javasdk/impl/eventsourcedentity/EventSourcedEntitiesImpl.scala b/akka-javasdk/src/main/scala/akka/javasdk/impl/eventsourcedentity/EventSourcedEntitiesImpl.scala index 3412e5371..64111dbbd 100644 --- a/akka-javasdk/src/main/scala/akka/javasdk/impl/eventsourcedentity/EventSourcedEntitiesImpl.scala +++ b/akka-javasdk/src/main/scala/akka/javasdk/impl/eventsourcedentity/EventSourcedEntitiesImpl.scala @@ -290,6 +290,7 @@ private[impl] final class EventSourcedEntitiesImpl( with CommandContext with ActivatableContext { override def tracing(): Tracing = new SpanTracingImpl(span, tracerFactory) + override def isDeleted: Boolean = false // FIXME not supported by old spi } private class EventSourcedEntityContextImpl(override final val entityId: String) diff --git a/akka-javasdk/src/main/scala/akka/javasdk/impl/eventsourcedentity/EventSourcedEntityImpl.scala b/akka-javasdk/src/main/scala/akka/javasdk/impl/eventsourcedentity/EventSourcedEntityImpl.scala index b98175d03..639f6d1dc 100644 --- a/akka-javasdk/src/main/scala/akka/javasdk/impl/eventsourcedentity/EventSourcedEntityImpl.scala +++ b/akka-javasdk/src/main/scala/akka/javasdk/impl/eventsourcedentity/EventSourcedEntityImpl.scala @@ -59,6 +59,7 @@ private[impl] object EventSourcedEntityImpl { override val sequenceNumber: Long, override val commandName: String, override val commandId: Long, // FIXME remove + override val isDeleted: Boolean, override val metadata: Metadata, span: Option[Span], tracerFactory: () => Tracer) @@ -112,7 +113,7 @@ private[impl] final class EventSourcedEntityImpl[S, E, ES <: EventSourcedEntity[ override def emptyState(entityId: String): SpiEventSourcedEntity.State = { // FIXME rather messy with the contexts here val cmdContext = - new CommandContextImpl(entityId, 0L, "", 0, MetadataImpl.of(Nil), None, tracerFactory) + new CommandContextImpl(entityId, 0L, "", 0, false, MetadataImpl.of(Nil), None, tracerFactory) val context = new EventSourcedEntityContextImpl(entityId) val router = createRouter(context) router.entity._internalSetCommandContext(Optional.of(cmdContext)) @@ -138,7 +139,15 @@ private[impl] final class EventSourcedEntityImpl[S, E, ES <: EventSourcedEntity[ val metadata: Metadata = MetadataImpl.of(Nil) // FIXME MetadataImpl.of(command.metadata.map(_.entries.toVector).getOrElse(Nil)) val cmdContext = - new CommandContextImpl(entityId, command.sequenceNumber, command.name, 0, metadata, span, tracerFactory) + new CommandContextImpl( + entityId, + command.sequenceNumber, + command.name, + 0, + command.isDeleted, + metadata, + span, + tracerFactory) val context = new EventSourcedEntityContextImpl(entityId) val router = createRouter(context)