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 2020/06/23 10:17:22 UTC
[isis] branch master updated: ISIS-2340: adds permanent debug
points for USER_INTERACTION
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 81d0048 ISIS-2340: adds permanent debug points for USER_INTERACTION
81d0048 is described below
commit 81d00483acd972004d3c5e15a596c8c1c45d8bcb
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Jun 23 12:17:04 2020 +0200
ISIS-2340: adds permanent debug points for USER_INTERACTION
---
.../apache/isis/core/commons/internal/debug/_Probe.java | 17 +++++++++++++++++
.../main/java/demoapp/webapp/vaadin/DemoAppVaadin.java | 8 ++++----
.../ui/components/scalars/ScalarPanelAbstract.java | 10 ++++++++++
.../components/scalars/string/MultiLineStringPanel.java | 2 ++
.../ui/components/widgets/linkandlabel/ActionLink.java | 5 +++++
.../linkandlabel/LinkAndLabelFactoryAbstract.java | 7 ++++---
.../viewer/wicket/ui/panels/PromptFormAbstract.java | 6 ++++++
7 files changed, 48 insertions(+), 7 deletions(-)
diff --git a/core/commons/src/main/java/org/apache/isis/core/commons/internal/debug/_Probe.java b/core/commons/src/main/java/org/apache/isis/core/commons/internal/debug/_Probe.java
index 9633903..896de03 100644
--- a/core/commons/src/main/java/org/apache/isis/core/commons/internal/debug/_Probe.java
+++ b/core/commons/src/main/java/org/apache/isis/core/commons/internal/debug/_Probe.java
@@ -30,6 +30,7 @@ import org.apache.isis.core.commons.internal.collections._Maps;
import org.apache.isis.core.commons.internal.exceptions._Exceptions;
import lombok.val;
+import lombok.extern.log4j.Log4j2;
/**
* <h1>- internal use only -</h1>
@@ -49,6 +50,7 @@ import lombok.val;
* </p>
* @since 2.0
*/
+@Log4j2
public class _Probe {
public static enum MaxCallsReachedAction {
@@ -186,6 +188,19 @@ public class _Probe {
println("total runtime %d ms", nanoCounter.longValue()/1000_000);
}
+ // -- DEBUG ENTRY POINTS
+
+ public static enum EntryPoint {
+ USER_INTERACTION
+ }
+
+ /** idea is to keep these for reuse (so these are not just for temporary troubleshooting) */
+ public static void entryPoint(EntryPoint entryPoint, String description) {
+ if(log.isDebugEnabled()) {
+ log.debug("entering {}: {}", entryPoint.name(), description);
+ }
+ }
+
// -- CONVENIENT DEBUG TOOLS (STATIC)
public static String currentThreadId() {
@@ -235,6 +250,8 @@ public class _Probe {
out.println(String.format(emphasisFormat, message));
}
+
+
diff --git a/examples/demo/vaadin/src/main/java/demoapp/webapp/vaadin/DemoAppVaadin.java b/examples/demo/vaadin/src/main/java/demoapp/webapp/vaadin/DemoAppVaadin.java
index 25ca2bc..c4cb76a 100644
--- a/examples/demo/vaadin/src/main/java/demoapp/webapp/vaadin/DemoAppVaadin.java
+++ b/examples/demo/vaadin/src/main/java/demoapp/webapp/vaadin/DemoAppVaadin.java
@@ -23,11 +23,10 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Import;
+import org.apache.isis.core.commons.internal.debug._Probe;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.core.runtimeservices.session.IsisInteractionFactoryDefault;
-import org.apache.isis.incubator.viewer.vaadin.ui.auth.VaadinAuthenticationHandler;
import org.apache.isis.incubator.viewer.vaadin.viewer.IsisModuleIncViewerVaadinViewer;
-import org.apache.isis.incubator.viewer.vaadin.viewer.IsisServletForVaadin;
import org.apache.isis.valuetypes.asciidoc.ui.vaa.IsisModuleValAsciidocUiVaa;
import org.apache.isis.valuetypes.asciidoc.ui.wkt.IsisModuleValAsciidocUiWkt;
import org.apache.isis.valuetypes.sse.ui.IsisModuleValSseUi;
@@ -64,8 +63,9 @@ public class DemoAppVaadin extends SpringBootServletInitializer {
public static void main(String[] args) {
IsisPresets.logging(IsisInteractionFactoryDefault.class, "debug");
- IsisPresets.logging(VaadinAuthenticationHandler.class, "debug");
- IsisPresets.logging(IsisServletForVaadin.class, "debug");
+// IsisPresets.logging(VaadinAuthenticationHandler.class, "debug");
+// IsisPresets.logging(IsisServletForVaadin.class, "debug");
+ IsisPresets.logging(_Probe.class, "debug"); // enable debug entry logging
ThereCanBeOnlyOne.remoteShutdownOthersIfAny();
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
index b45e4c4..c584fb6 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelAbstract.java
@@ -44,6 +44,8 @@ import org.apache.isis.applib.services.metamodel.BeanSort;
import org.apache.isis.applib.services.metamodel.MetaModelService;
import org.apache.isis.core.commons.internal.base._Strings;
import org.apache.isis.core.commons.internal.collections._Lists;
+import org.apache.isis.core.commons.internal.debug._Probe;
+import org.apache.isis.core.commons.internal.debug._Probe.EntryPoint;
import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
import org.apache.isis.core.metamodel.facets.objectvalue.labelat.LabelAtFacet;
@@ -506,6 +508,11 @@ implements ScalarModelSubscriber {
@Override
protected void onUpdate(AjaxRequestTarget target) {
+
+ _Probe.entryPoint(EntryPoint.USER_INTERACTION, "Wicket Ajax Request, "
+ + "originating from User either having changed a Property value during inline editing "
+ + "or having changed a Parameter value within an open ActionPrompt.");
+
for (ScalarModelSubscriber subscriber : scalarPanel.subscribers) {
subscriber.onUpdate(target, scalarPanel);
}
@@ -725,6 +732,9 @@ implements ScalarModelSubscriber {
@Override
protected void onEvent(final AjaxRequestTarget target) {
+
+ _Probe.entryPoint(EntryPoint.USER_INTERACTION, "Wicket Ajax Request, "
+ + "originating from User clicking on an editable Property to start inline editing.");
scalarModel.toEditMode();
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
index 40f0a3c..02422d6 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/string/MultiLineStringPanel.java
@@ -77,6 +77,8 @@ public class MultiLineStringPanel extends ScalarPanelTextFieldParseableAbstract
final Fragment fragment = new Fragment(id, "textareaInlinePrompt", this);
final TextArea<String> inlinePromptTextArea = new TextArea<String>("scalarValue", inlinePromptModel) {
+ private static final long serialVersionUID = 1L;
+
@Override protected void onComponentTag(final ComponentTag tag) {
super.onComponentTag(tag);
tag.put("tabindex","-1");
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLink.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLink.java
index 646328f..1aa762b 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLink.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/ActionLink.java
@@ -32,6 +32,8 @@ import org.apache.wicket.util.time.Duration;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.value.LocalResourcePath;
+import org.apache.isis.core.commons.internal.debug._Probe;
+import org.apache.isis.core.commons.internal.debug._Probe.EntryPoint;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.webapp.context.IsisWebAppCommonContext;
@@ -90,6 +92,9 @@ public abstract class ActionLink extends AjaxLink<ManagedObject> implements IAja
@Override
public void onClick(AjaxRequestTarget target) {
+
+ _Probe.entryPoint(EntryPoint.USER_INTERACTION, "Wicket Ajax Request, "
+ + "originating from User clicking an Action Link.");
if (ajaxDeferredBehaviourIfAny != null) {
ajaxDeferredBehaviourIfAny.initiate(target);
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/LinkAndLabelFactoryAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/LinkAndLabelFactoryAbstract.java
index 9e80831..6f9d1cb 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/LinkAndLabelFactoryAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/linkandlabel/LinkAndLabelFactoryAbstract.java
@@ -170,8 +170,9 @@ implements Serializable {
//
if(actionModel.hasParameters()) {
- final ActionParametersPanel actionParametersPanel =
- (ActionParametersPanel) getComponentFactoryRegistry().createComponent(
+ val actionParametersPanel = (ActionParametersPanel)
+ getComponentFactoryRegistry()
+ .createComponent(
ComponentType.ACTION_PROMPT, prompt.getContentId(), actionModel);
actionParametersPanel.setShowHeader(false);
@@ -294,7 +295,7 @@ implements Serializable {
private InlinePromptContext determineInlinePromptContext() {
return scalarModelForAssociationIfAny != null
? scalarModelForAssociationIfAny.getInlinePromptContext()
- : null;
+ : null;
}
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
index 930a6c7..dd69bc3 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PromptFormAbstract.java
@@ -39,6 +39,8 @@ import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.util.string.AppendingStringBuffer;
import org.apache.isis.core.commons.internal.collections._Lists;
+import org.apache.isis.core.commons.internal.debug._Probe;
+import org.apache.isis.core.commons.internal.debug._Probe.EntryPoint;
import org.apache.isis.core.metamodel.spec.ManagedObject;
import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
import org.apache.isis.viewer.wicket.model.isis.WicketViewerSettings;
@@ -118,6 +120,10 @@ implements ScalarModelSubscriber {
@Override
public void onSubmit(AjaxRequestTarget target) {
+
+ _Probe.entryPoint(EntryPoint.USER_INTERACTION, "Wicket Ajax Request, "
+ + "originating from User clicking OK on an inline editing form.");
+
onOkSubmittedOf(target, getForm(), this);
}