You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2017/05/16 13:00:41 UTC

[10/37] isis git commit: ISIS-1613: updates ScalarPanelAbstract2 to move the initialization into onInitialize rather than onBeforeRender.

ISIS-1613: updates ScalarPanelAbstract2 to move the initialization into onInitialize rather than onBeforeRender.

Also renames the hooks


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/a5c8f286
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/a5c8f286
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/a5c8f286

Branch: refs/heads/master
Commit: a5c8f286964839f920826af16d57f786e56d922b
Parents: 199428b
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon May 15 11:18:14 2017 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon May 15 11:18:14 2017 +0100

----------------------------------------------------------------------
 .../scalars/ScalarPanelAbstract2.java           | 63 +++++++++++---------
 .../scalars/ScalarPanelTextFieldAbstract.java   | 12 ++--
 .../isisapplib/IsisBlobOrClobPanelAbstract.java |  6 +-
 .../scalars/primitive/BooleanPanel.java         | 12 ++--
 .../scalars/reference/ReferencePanel.java       | 12 ++--
 .../valuechoices/ValueChoicesSelect2Panel.java  |  8 +--
 6 files changed, 60 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/a5c8f286/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
index 80f848a..8d6e3b2 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract2.java
@@ -157,13 +157,36 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
     protected void onInitialize() {
         super.onInitialize();
 
-        scalarTypeContainer = new WebMarkupContainer(ID_SCALAR_TYPE_CONTAINER);
-        scalarTypeContainer.setOutputMarkupId(true);
-        scalarTypeContainer.add(new CssClassAppender(Model.of(getScalarPanelType())));
-        addOrReplace(scalarTypeContainer);
+        buildGuiAndCallHooks();
+
+        // REVIEW: think that this concurrency checking disabled is not needed given we disable in IsisWicketApplication anyway
+//        AdapterManager.ConcurrencyChecking.executeWithConcurrencyCheckingDisabled(new Runnable() {
+//            @Override public void run() {
+//                buildGuiAndCallHooks();
+//            }
+//        });
+
+        setOutputMarkupId(true);
 
     }
 
+    private void buildGuiAndCallHooks() {
+        buildGui();
+
+        final ScalarModel scalarModel = getModel();
+        final String disableReasonIfAny = scalarModel.disable(getRendering().getWhere());
+
+        if (scalarModel.isViewMode()) {
+            onInitializeWhenViewMode();
+        } else {
+            if (disableReasonIfAny != null) {
+                onInitializeWhenDisabled(disableReasonIfAny);
+            } else {
+                onInitializeWhenEnabled();
+            }
+        }
+    }
+
     /**
      * Mandatory hook; simply determines the CSS that is added to the outermost 'scalarTypeContainer' div.
      */
@@ -186,27 +209,6 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
      */
     protected abstract InlinePromptConfig getInlinePromptConfig();
 
-    @Override
-    protected void onBeforeRender() {
-
-        if ((!hasBeenRendered() || alwaysRebuildGui())) {
-            buildGui();
-        }
-
-        final ScalarModel scalarModel = getModel();
-        final String disableReasonIfAny = scalarModel.disable(getRendering().getWhere());
-
-        if (scalarModel.isViewMode()) {
-            onBeforeRenderWhenViewMode();
-        } else {
-            if (disableReasonIfAny != null) {
-                onBeforeRenderWhenDisabled(disableReasonIfAny);
-            } else {
-                onBeforeRenderWhenEnabled();
-            }
-        }
-        super.onBeforeRender();
-    }
 
 
     /**
@@ -230,6 +232,11 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
      */
     private void buildGui() {
 
+        scalarTypeContainer = new WebMarkupContainer(ID_SCALAR_TYPE_CONTAINER);
+        scalarTypeContainer.setOutputMarkupId(true);
+        scalarTypeContainer.add(new CssClassAppender(Model.of(getScalarPanelType())));
+        addOrReplace(scalarTypeContainer);
+
         this.scalarIfCompact = createComponentForCompact();
         this.scalarIfRegular = createComponentForRegular();
         scalarIfRegular.setOutputMarkupId(true);
@@ -291,19 +298,19 @@ public abstract class ScalarPanelAbstract2 extends PanelAbstract<ScalarModel> im
     /**
      * Optional hook.
      */
-    protected void onBeforeRenderWhenViewMode() {
+    protected void onInitializeWhenViewMode() {
     }
 
     /**
      * Optional hook.
      */
-    protected void onBeforeRenderWhenDisabled(final String disableReason) {
+    protected void onInitializeWhenDisabled(final String disableReason) {
     }
 
     /**
      * Optional hook.
      */
-    protected void onBeforeRenderWhenEnabled() {
+    protected void onInitializeWhenEnabled() {
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/a5c8f286/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
index 99638aa..3e37b4a 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelTextFieldAbstract.java
@@ -295,8 +295,8 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
 
 
     @Override
-    protected void onBeforeRenderWhenViewMode() {
-        super.onBeforeRenderWhenViewMode();
+    protected void onInitializeWhenViewMode() {
+        super.onInitializeWhenViewMode();
 
         textField.setEnabled(false);
         addReplaceDisabledTagWithReadonlyTagBehaviourIfRequired(textField);
@@ -305,8 +305,8 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
     }
 
     @Override
-    protected void onBeforeRenderWhenDisabled(final String disableReason) {
-        super.onBeforeRenderWhenDisabled(disableReason);
+    protected void onInitializeWhenDisabled(final String disableReason) {
+        super.onInitializeWhenDisabled(disableReason);
 
         textField.setEnabled(false);
         addReplaceDisabledTagWithReadonlyTagBehaviourIfRequired(textField);
@@ -317,8 +317,8 @@ public abstract class ScalarPanelTextFieldAbstract<T extends Serializable> exten
     }
 
     @Override
-    protected void onBeforeRenderWhenEnabled() {
-        super.onBeforeRenderWhenEnabled();
+    protected void onInitializeWhenEnabled() {
+        super.onInitializeWhenEnabled();
         textField.setEnabled(true);
         inlinePromptLink.setEnabled(true);
         setTitleAttribute("");

http://git-wip-us.apache.org/repos/asf/isis/blob/a5c8f286/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
index 9c1c57f..e3d56a1 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/isisapplib/IsisBlobOrClobPanelAbstract.java
@@ -191,15 +191,15 @@ public abstract class IsisBlobOrClobPanelAbstract<T extends NamedWithMimeType> e
 
     // //////////////////////////////////////
 
-    protected void onBeforeRenderWhenViewMode() {
+    protected void onInitializeWhenViewMode() {
         updateRegularFormComponents(InputFieldVisibility.NOT_VISIBLE);
     }
 
-    protected void onBeforeRenderWhenDisabled(final String disableReason) {
+    protected void onInitializeWhenDisabled(final String disableReason) {
         updateRegularFormComponents(InputFieldVisibility.NOT_VISIBLE);
     }
 
-    protected void onBeforeRenderWhenEnabled() {
+    protected void onInitializeWhenEnabled() {
         updateRegularFormComponents(InputFieldVisibility.VISIBLE);
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/a5c8f286/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
index e7a737d..550eff3 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/primitive/BooleanPanel.java
@@ -191,20 +191,20 @@ public class BooleanPanel extends ScalarPanelAbstract2 {
     }
 
     @Override
-    protected void onBeforeRenderWhenEnabled() {
-        super.onBeforeRenderWhenEnabled();
+    protected void onInitializeWhenEnabled() {
+        super.onInitializeWhenEnabled();
         checkBox.setEnabled(true);
     }
 
     @Override
-    protected void onBeforeRenderWhenViewMode() {
-        super.onBeforeRenderWhenViewMode();
+    protected void onInitializeWhenViewMode() {
+        super.onInitializeWhenViewMode();
         checkBox.setEnabled(false);
     }
 
     @Override
-    protected void onBeforeRenderWhenDisabled(final String disableReason) {
-        super.onBeforeRenderWhenDisabled(disableReason);
+    protected void onInitializeWhenDisabled(final String disableReason) {
+        super.onInitializeWhenDisabled(disableReason);
         checkBox.setEnabled(false);
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/a5c8f286/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
index 5834103..c5804c3 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/reference/ReferencePanel.java
@@ -240,22 +240,22 @@ public class ReferencePanel extends ScalarPanelSelect2Abstract implements PanelW
     // //////////////////////////////////////
 
     @Override
-    protected void onBeforeRenderWhenEnabled() {
-        super.onBeforeRenderWhenEnabled();
+    protected void onInitializeWhenEnabled() {
+        super.onInitializeWhenEnabled();
         entityLink.setEnabled(true);
         syncWithInput();
     }
 
     @Override
-    protected void onBeforeRenderWhenViewMode() {
-        super.onBeforeRenderWhenViewMode();
+    protected void onInitializeWhenViewMode() {
+        super.onInitializeWhenViewMode();
         entityLink.setEnabled(false);
         syncWithInput();
     }
 
     @Override
-    protected void onBeforeRenderWhenDisabled(final String disableReason) {
-        super.onBeforeRenderWhenDisabled(disableReason);
+    protected void onInitializeWhenDisabled(final String disableReason) {
+        super.onInitializeWhenDisabled(disableReason);
         syncWithInput();
         final EntityModel entityLinkModel = (EntityModel) entityLink.getModel();
         entityLinkModel.toViewMode();

http://git-wip-us.apache.org/repos/asf/isis/blob/a5c8f286/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
index db0f47f..756b5f7 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/valuechoices/ValueChoicesSelect2Panel.java
@@ -118,13 +118,13 @@ public class ValueChoicesSelect2Panel extends ScalarPanelSelect2Abstract impleme
     }
 
     @Override
-    protected void onBeforeRenderWhenViewMode() { 
+    protected void onInitializeWhenViewMode() {
         // View: Read only
         select2.setEnabled(false);
     }
 
     @Override
-    protected void onBeforeRenderWhenEnabled() { 
+    protected void onInitializeWhenEnabled() {
         // Edit: read/write
         select2.setEnabled(true);
 
@@ -132,8 +132,8 @@ public class ValueChoicesSelect2Panel extends ScalarPanelSelect2Abstract impleme
     }
 
     @Override
-    protected void onBeforeRenderWhenDisabled(final String disableReason) {
-        super.onBeforeRenderWhenDisabled(disableReason);
+    protected void onInitializeWhenDisabled(final String disableReason) {
+        super.onInitializeWhenDisabled(disableReason);
         setTitleAttribute(disableReason);
         select2.setEnabled(false);
     }