You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/06/09 13:48:26 UTC

[isis] branch master updated: ISIS-3008: remove duplicated/superfluous optimization code

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/master by this push:
     new 4cee78be43 ISIS-3008: remove duplicated/superfluous optimization code
4cee78be43 is described below

commit 4cee78be438d598f1765f69af61ef01de14f0055
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Jun 9 15:48:20 2022 +0200

    ISIS-3008: remove duplicated/superfluous optimization code
---
 .../isis/core/metamodel/spec/ManagedObject.java    |  6 ++---
 .../isis/core/metamodel/spec/ManagedObjects.java   |  1 -
 .../isis/viewer/wicket/ui/pages/PageAbstract.java  | 30 ----------------------
 .../viewer/wicket/ui/pages/entity/EntityPage.java  |  7 +----
 4 files changed, 4 insertions(+), 40 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
index 980ab25032..65bc933b5f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
@@ -334,7 +334,7 @@ public interface ManagedObject {
 
         // -- REFRESH OPTIMIZATION
 
-        private UUID interactionId = null;
+        private UUID interactionIdDuringWhichRefreshed = null;
 
         @Override
         public final void refreshViewmodel(final @Nullable Supplier<Bookmark> bookmarkSupplier) {
@@ -366,10 +366,10 @@ public interface ManagedObject {
         }
 
         private boolean shouldRefresh(final @NonNull UUID interactionId) {
-            if(Objects.equals(this.interactionId, interactionId)) {
+            if(Objects.equals(this.interactionIdDuringWhichRefreshed, interactionId)) {
                 return false; // already refreshed within current interaction
             }
-            this.interactionId = interactionId;
+            this.interactionIdDuringWhichRefreshed = interactionId;
             return true;
         }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
index 9a9da66d0f..fb3be95d8f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObjects.java
@@ -1126,7 +1126,6 @@ public final class ManagedObjects {
     public static void refreshViewmodel(
             final @Nullable ManagedObject viewmodel,
             final @Nullable Supplier<Bookmark> bookmarkSupplier) {
-
         if(isNullOrUnspecifiedOrEmpty(viewmodel)) {
             return; // do nothing
         }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
index bd4bdfbdae..6fef9e7938 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/PageAbstract.java
@@ -21,7 +21,6 @@ package org.apache.isis.viewer.wicket.ui.pages;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Optional;
-import java.util.UUID;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.MarkupContainer;
@@ -48,8 +47,6 @@ import org.apache.isis.applib.annotation.PromptStyle;
 import org.apache.isis.applib.services.exceprecog.ExceptionRecognizerService;
 import org.apache.isis.applib.services.metamodel.BeanSort;
 import org.apache.isis.commons.internal.base._Casts;
-import org.apache.isis.commons.internal.base._Refs;
-import org.apache.isis.commons.internal.base._Refs.ObjectReference;
 import org.apache.isis.commons.internal.base._Timing;
 import org.apache.isis.commons.internal.debug._Debug;
 import org.apache.isis.commons.internal.debug.xray.XrayUi;
@@ -501,31 +498,4 @@ implements ActionPromptProvider {
         // implemented only by EntityPage
     }
 
-    // -- HELPER
-
-    private transient ObjectReference<UUID> interactionId;
-    private ObjectReference<UUID> interactionIdRef() {
-        if(interactionId==null) {
-            interactionId = _Refs.objectRef(null);
-        }
-        return interactionId;
-    }
-
-    protected boolean isAlreadyRefreshedWithinThisInteraction() {
-        val currentInteractionId = getCommonContext()
-                .getInteractionProvider().getInteractionId().orElseThrow();
-
-        val alreadyRefreshedForThisInteraction =
-            interactionIdRef().getValue()
-            .map(currentInteractionId::equals)
-            .orElse(false);
-
-        if(alreadyRefreshedForThisInteraction) {
-            return true;
-        }
-
-        interactionIdRef().setValue(currentInteractionId);
-        return false;
-    }
-
 }
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
index 0ca6cf6b10..222391278e 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/pages/entity/EntityPage.java
@@ -115,7 +115,6 @@ public class EntityPage extends PageAbstract {
             final EntityModel entityModel) {
         super(pageParameters, null/*titleString*/, ComponentType.ENTITY);
         this.model = entityModel;
-        isAlreadyRefreshedWithinThisInteraction();
     }
 
     @Override
@@ -204,14 +203,10 @@ public class EntityPage extends PageAbstract {
 
     }
 
-    // -- RE-ATTACH ENTITIES
+    // -- REFRESH ENTITIES
 
     @Override
     public void onNewRequestCycle() {
-        // optimization, not strictly required
-        if(isAlreadyRefreshedWithinThisInteraction()) {
-            return;
-        }
         val entityModel = (EntityModel) getUiHintContainerIfAny();
         ManagedObjects.refreshViewmodel(entityModel.getObject(),
                 ()->PageParameterUtils