Skip to content

Conversation

@alexander-yevsyukov
Copy link
Contributor

This PR extends the CoreJvm Compiler to use ProcessManagerState, AggregateState, and ProjectionState instead of EntityState when an entity kind set in the proto option is other than ENTITY. This is needed to allow specific generic type binding in corresponding entity classes in CoreJvm.

Copilot AI review requested due to automatic review settings October 31, 2025 16:43
@alexander-yevsyukov alexander-yevsyukov self-assigned this Oct 31, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates the entity state implementation to support different entity kinds (Aggregate, ProcessManager, Projection, and generic Entity) by making entity states implement more specific interfaces based on their EntityOption.kind value. The version is bumped from 2.0.0-SNAPSHOT.027 to 2.0.0-SNAPSHOT.028.

Key changes:

  • Enhanced ImplementEntityState to select the appropriate entity state interface based on entity kind
  • Added new test entities (Transition and Blob) to test different entity kinds
  • Refactored test utilities to use an extension property for generating Java file paths

Reviewed Changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
version.gradle.kts Bumped version to 2.0.0-SNAPSHOT.028
pom.xml Updated version reference to 2.0.0-SNAPSHOT.028
entity/src/main/kotlin/io/spine/tools/core/jvm/entity/ImplementEntityState.kt Enhanced to select entity state interface based on EntityOption kind
entity-tests/src/testFixtures/proto/given/entities/organization.proto Added Transition and Blob test entities
entity-tests/src/test/kotlin/io/spine/tools/core/jvm/entity/ImplementEntityStateSpec.kt New test file verifying correct interface selection
entity-tests/src/test/kotlin/io/spine/tools/core/jvm/entity/EntityPluginTestSetup.kt Refactored to use extension property for Java file paths
entity-tests/src/test/kotlin/io/spine/tools/core/jvm/entity/query/*.kt Updated to use refactored departmentJava property
entity-tests/src/test/kotlin/io/spine/tools/core/jvm/entity/field/AddFieldClassSpec.kt Updated to use refactored departmentJava property
entity-tests/src/test/kotlin/io/spine/tools/core/jvm/entity/column/AddColumnClassSpec.kt Updated to use refactored departmentJava property
dependencies.md Auto-generated dependency report updates

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

alexander-yevsyukov and others added 4 commits October 31, 2025 16:45
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings October 31, 2025 16:50
@alexander-yevsyukov alexander-yevsyukov marked this pull request as ready for review October 31, 2025 16:50
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@alexander-yevsyukov alexander-yevsyukov merged commit 75ae6fc into master Oct 31, 2025
6 of 7 checks passed
@alexander-yevsyukov alexander-yevsyukov deleted the type-specific-entity-states branch October 31, 2025 17:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants