Dmytro Dashenkov

Results 10 issues of Dmytro Dashenkov

I'm writing a custom check by extending `CheckReturnValue` and overriding the `specializedMatcher()` method, so that some unchecked values are allowed. Here is the bug pattern code: ```java @AutoService(BugChecker.class) @BugPattern( name...

There is no good way to know if an event is "dead" or not, as all events always have at least one dispatcher — `Stand`. We should make `Stand` register...

enhancement

A Bounded Context is a _logical_ and _structural_ boundary of a model. Currently, the _structural_ part is implemented via the `BoundedContext` class, while the _logical_ part is implemented by the...

/Model

When routing an event via an `EventRoute` configured through a repository, the current tenant is not set. Since the repository is responsible for routing signals, it's natural that the users...

question
/Routing

Currently, it is not easy to create an implementation of, e.g. `ProjectionStorage`, which would delegate its operations to another instance of `ProjectionStorage`. The problem is in `protected` methods. ```java package...

We should, at build time, check that the user applied the right kinds of annotations in the right kinds of entities/dispatchers. Right now, if a user would e.g. mark a...

tech debt
/Build

With the power of code generation, we can and should generate type-safe events for entity state updates. For example for a `MyProjection`, we would generate `MyProjectionCreated`, `MyProjectionChanged`, `MyProjectionArchived`, `MyProjectionDeleted`. This...

enhancement
/Model

In Protobuf, it is possible to make backwards-compatible changes to Proto definitions. In Spine, we often rely on the users making all the changes to their models backwards-compatible. However, this...

enhancement
/Model

Currently, many messages in the framework have associated `Envelope` types, e.g. `CommandEnvelope`, `EventEnvelope`. This is semantic duplication. We should use interfaces with `(is)` option instead.

enhancement

Currently, `Model` is a system-wide singleton. The problem with this is revealed when trying to add more complex validation, e.g. find the correspondence between commands and bounded contexts. In order...

/Model