This is an automated email from the ASF dual-hosted git repository. ahuber pushed a commit to branch 3522-dead.end in repository https://gitbox.apache.org/repos/asf/causeway.git
commit f9237f6a7eb7439f69c204ac5c3653dadba6e216 Author: andi-huber <[email protected]> AuthorDate: Tue Jul 18 13:47:24 2023 +0200 CAUSEWAY-3522: renaming entity state REMOVED->NOT_FOUND --- .../applib/services/repository/EntityState.java | 8 +++--- .../core/metamodel/object/MmEntityUtils.java | 2 +- .../object/_ManagedObjectEntityHybrid.java | 29 ++++++++++------------ .../object/_ManagedObjectEntityRemoved.java | 4 +-- .../entities/DnEntityStateProvider.java | 2 +- 5 files changed, 21 insertions(+), 24 deletions(-) diff --git a/api/applib/src/main/java/org/apache/causeway/applib/services/repository/EntityState.java b/api/applib/src/main/java/org/apache/causeway/applib/services/repository/EntityState.java index 861ca4aca6..3c3882d982 100644 --- a/api/applib/src/main/java/org/apache/causeway/applib/services/repository/EntityState.java +++ b/api/applib/src/main/java/org/apache/causeway/applib/services/repository/EntityState.java @@ -58,7 +58,7 @@ public enum EntityState { * Object with this state is an entity that has been removed from the * database. Objects in this state may no longer be interacted with. */ - PERSISTABLE_REMOVED, + PERSISTABLE_NOT_FOUND, /** * Is attached, has no OID yet. On pre-store. */ @@ -92,7 +92,7 @@ public enum EntityState { * <p> * Only supported by JDO. Will always return false with JPA. */ - public boolean isRemoved() { return this == PERSISTABLE_REMOVED; } + public boolean isNotFound() { return this == PERSISTABLE_NOT_FOUND; } // -- SPECIAL STATES @@ -105,7 +105,7 @@ public enum EntityState { public boolean isDetachedCannotReattach() { return (isDetached() - || isRemoved()) + || isNotFound()) && !isJpaSpecificDetachedWithOid(); } @@ -116,7 +116,7 @@ public enum EntityState { @Deprecated public boolean isAttachedOrRemoved() { return isAttached() - || isRemoved(); + || isNotFound(); } // -- JPA SPECIFIC STATES diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmEntityUtils.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmEntityUtils.java index 677873e1fa..2b31ca6774 100644 --- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmEntityUtils.java +++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmEntityUtils.java @@ -199,7 +199,7 @@ public final class MmEntityUtils { public boolean isDeleted(final @Nullable ManagedObject entity) { val state = MmEntityUtils.getEntityState(entity); return state.isDetached() - || state.isRemoved() + || state.isNotFound() || state.isJpaSpecificDetachedWithOid(); } diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/_ManagedObjectEntityHybrid.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/_ManagedObjectEntityHybrid.java index 61dd672ca8..d60157259a 100644 --- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/_ManagedObjectEntityHybrid.java +++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/_ManagedObjectEntityHybrid.java @@ -58,13 +58,13 @@ implements _Refetchable { * regardless of the accompanied pojo's persistent state (unless becomes removed). */ BOOKMARKED, /** Final state, that can be entered once after we had an OID. */ - REMOVED; + NOT_FOUND; public boolean isTransient() { return this == TRANSIENT; } public boolean isBookmarked() { return this == BOOKMARKED; } - public boolean isRemoved() { return this == REMOVED; } + public boolean isNotFound() { return this == NOT_FOUND; } static MorphState valueOf(final EntityState entityState) { - return entityState.isRemoved() - ? REMOVED + return entityState.isNotFound() + ? NOT_FOUND : entityState.hasOid() ? BOOKMARKED : TRANSIENT; @@ -114,7 +114,7 @@ implements _Refetchable { reassessVariant(entityState, peekAtPojo()); if(newMorphState.isBookmarked()) { _Assert.assertTrue(isVariantBookmarked(), ()->"successful transition"); - } else if(newMorphState.isRemoved()) { + } else if(newMorphState.isNotFound()) { _Assert.assertTrue(isVariantRemoved(), ()->"successful transition"); } this.morphState = newMorphState; @@ -132,13 +132,10 @@ implements _Refetchable { try { val pojo = variant.getPojo(); triggerReassessment(); - - if(pojo==null) makeRemoved(); - return pojo; } catch (ObjectNotFoundException e) { // if object not found, transition to 'removed' state - makeRemoved(); + makeNotFound(); return null; } } @@ -185,14 +182,14 @@ implements _Refetchable { makeBookmarked(pojo); return; } - /* if the current EntityState is REMOVED, we handle variant transition + /* if the current EntityState is NOT_FOUND, we handle variant transition * - from BOOKMARKED * - as well as from TRANSIENT - * to REMOVED */ + * to NOT_FOUND */ if((isVariantBookmarked() || isVariantTransient()) - && entityState.isRemoved()) { - makeRemoved(); + && entityState.isNotFound()) { + makeNotFound(); return; } } @@ -206,9 +203,9 @@ implements _Refetchable { } // morph into attached - private void makeRemoved() { - val removed = new _ManagedObjectEntityRemoved(getSpecification()); - this.variant = removed; + private void makeNotFound() { + val notFound = new _ManagedObjectEntityRemoved(getSpecification()); + this.variant = notFound; } } \ No newline at end of file diff --git a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/_ManagedObjectEntityRemoved.java b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/_ManagedObjectEntityRemoved.java index ca78e8ca77..99dfb923a3 100644 --- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/_ManagedObjectEntityRemoved.java +++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/_ManagedObjectEntityRemoved.java @@ -40,7 +40,7 @@ implements Bookmarkable.NoBookmark { @Override public String getTitle() { - return "deleted entity object"; + return "entity object not found"; } @Override @@ -50,7 +50,7 @@ implements Bookmarkable.NoBookmark { @Override public @NonNull EntityState getEntityState() { - return EntityState.PERSISTABLE_REMOVED; + return EntityState.PERSISTABLE_NOT_FOUND; } } \ No newline at end of file diff --git a/persistence/jdo/datanucleus/src/main/java/org/apache/causeway/persistence/jdo/datanucleus/entities/DnEntityStateProvider.java b/persistence/jdo/datanucleus/src/main/java/org/apache/causeway/persistence/jdo/datanucleus/entities/DnEntityStateProvider.java index e8853bf509..80a16fa6aa 100644 --- a/persistence/jdo/datanucleus/src/main/java/org/apache/causeway/persistence/jdo/datanucleus/entities/DnEntityStateProvider.java +++ b/persistence/jdo/datanucleus/src/main/java/org/apache/causeway/persistence/jdo/datanucleus/entities/DnEntityStateProvider.java @@ -70,7 +70,7 @@ public class DnEntityStateProvider implements JdoFacetContext { val persistable = (Persistable) pojo; val isDeleted = persistable.dnIsDeleted(); if(isDeleted) { - return EntityState.PERSISTABLE_REMOVED; + return EntityState.PERSISTABLE_NOT_FOUND; } val isPersistent = persistable.dnIsPersistent(); if(isPersistent) {
