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/08/24 17:37:04 UTC
[isis] branch master updated: ISIS-3172: Demo/Wicket: prepares some visual UI debugging infrastructure
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 f2e91bc1d5 ISIS-3172: Demo/Wicket: prepares some visual UI debugging infrastructure
f2e91bc1d5 is described below
commit f2e91bc1d56dfcb40185a4f62e263308b3a0e7d3
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Aug 24 19:36:57 2022 +0200
ISIS-3172: Demo/Wicket: prepares some visual UI debugging infrastructure
---
.../webapp/wicket/jdo/DemoAppWicketJdo.java | 3 +-
.../webapp/wicket/jpa/DemoAppWicketJpa.java | 1 +
.../ApplicationUserManager_newDelegateUser.java | 2 +-
.../ApplicationUserManager_newLocalUser.java | 2 +-
.../scalars/ScalarPanelFormFieldAbstract.html | 7 ++++
.../viewer/wicketapp/config/DebugInitWkt.java | 3 +-
.../{DebugInitWkt.java => WicketViewerXray.java} | 44 +++++++++++++---------
7 files changed, 40 insertions(+), 22 deletions(-)
diff --git a/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java b/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java
index bfba83d2e7..109483fb67 100644
--- a/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java
+++ b/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java
@@ -66,7 +66,8 @@ import demoapp.webapp.wicket.common.ui.DemoAppWicketCommon;
IsisModuleValAsciidocPersistenceJdoDn.class,
IsisModuleValMarkdownPersistenceJdoDn.class,
- // XrayEnable.class // for debugging only
+ //XrayEnable.class // for debugging only
+ //WicketViewerXray.Enable.class // for debugging only
})
//@Log4j2
public class DemoAppWicketJdo extends SpringBootServletInitializer {
diff --git a/examples/demo/wicket/jpa/src/main/java/demoapp/webapp/wicket/jpa/DemoAppWicketJpa.java b/examples/demo/wicket/jpa/src/main/java/demoapp/webapp/wicket/jpa/DemoAppWicketJpa.java
index ead1d98db7..3001caae6a 100644
--- a/examples/demo/wicket/jpa/src/main/java/demoapp/webapp/wicket/jpa/DemoAppWicketJpa.java
+++ b/examples/demo/wicket/jpa/src/main/java/demoapp/webapp/wicket/jpa/DemoAppWicketJpa.java
@@ -68,6 +68,7 @@ import demoapp.webapp.wicket.common.ui.DemoAppWicketCommon;
IsisModuleValMarkdownPersistenceJpa.class,
//XrayEnable.class // for debugging only
+ //WicketViewerXray.Enable.class // for debugging only
})
//@Log4j2
public class DemoAppWicketJpa extends SpringBootServletInitializer {
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/man/mixins/ApplicationUserManager_newDelegateUser.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/man/mixins/ApplicationUserManager_newDelegateUser.java
index 447519888b..16958e3ffb 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/man/mixins/ApplicationUserManager_newDelegateUser.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/man/mixins/ApplicationUserManager_newDelegateUser.java
@@ -86,7 +86,7 @@ public class ApplicationUserManager_newDelegateUser {
return target;
}
- @MemberSupport public ApplicationRole default1Act() {
+ @MemberSupport public ApplicationRole defaultInitialRole() {
val regularUserRoleName = config.getExtensions().getSecman().getSeed().getRegularUser().getRoleName();
return applicationRoleRepository
.findByNameCached(regularUserRoleName)
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/man/mixins/ApplicationUserManager_newLocalUser.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/man/mixins/ApplicationUserManager_newLocalUser.java
index 5e9a105371..32f3822136 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/man/mixins/ApplicationUserManager_newLocalUser.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/man/mixins/ApplicationUserManager_newLocalUser.java
@@ -123,7 +123,7 @@ extends ApplicationUserManager_newLocalUserAbstract {
return null;
}
- @MemberSupport public ApplicationRole default3Act() {
+ @MemberSupport public ApplicationRole defaultInitialRole() {
val regularUserRoleName = config.getExtensions().getSecman().getSeed().getRegularUser().getRoleName();
return applicationRoleRepository
.findByNameCached(regularUserRoleName)
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelFormFieldAbstract.html b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelFormFieldAbstract.html
index b4ce467fb9..62a6545143 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelFormFieldAbstract.html
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/scalars/ScalarPanelFormFieldAbstract.html
@@ -115,40 +115,47 @@
<!-- INPUT FRAGMENTS -->
<wicket:fragment wicket:id="fragment-input-text">
+ <!-- fragment-input-text -->
<input wicket:id="scalarValue"
type="text" name="scalarValue"
class="form-control form-control-sm scalarValue"/>
</wicket:fragment>
<wicket:fragment wicket:id="fragment-input-textarea">
+ <!-- fragment-input-textarea -->
<textarea wicket:id="scalarValue" name="scalarValue"
class="form-control form-control-sm scalarValue"
data-isis-focus="true" />
</wicket:fragment>
<wicket:fragment wicket:id="fragment-input-checkbox">
+ <!-- fragment-input-checkbox -->
<input wicket:id="scalarValue" type="checkbox" name="scalarValue"
class="scalarValue"/>
</wicket:fragment>
<wicket:fragment wicket:id="fragment-input-file">
+ <!-- fragment-input-file -->
<span class="uploadFile form-text">
<input wicket:id="scalarValue" type="file" name="scalarValue"/>
</span>
</wicket:fragment>
<wicket:fragment wicket:id="fragment-input-date">
+ <!-- fragment-input-date -->
<input wicket:id="scalarValue"
type="text" name="scalarValue"
class="form-control form-control-sm scalarValue"/>
</wicket:fragment>
<wicket:fragment wicket:id="fragment-input-select">
+ <!-- fragment-input-select -->
<select wicket:id="scalarValue"
class="choices form-control-sm select2-remote"/>
</wicket:fragment>
<wicket:fragment wicket:id="fragment-input-select2">
+ <!-- fragment-input-select2 -->
<span wicket:id="entityLink" class="w-100">link or drop down</span>
<span wicket:id="entityTitleIfNull">(none)</span>
</wicket:fragment>
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/DebugInitWkt.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/DebugInitWkt.java
index 49f7bddb67..7405f94aa1 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/DebugInitWkt.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/DebugInitWkt.java
@@ -38,7 +38,8 @@ public class DebugInitWkt implements WicketApplicationInitializer {
public void init(final WebApplication webApplication) {
webApplication.getDebugSettings()
- .setAjaxDebugModeEnabled(configuration.getViewer().getWicket().isAjaxDebugMode());
+ .setAjaxDebugModeEnabled(configuration.getViewer().getWicket().isAjaxDebugMode())
+ .setOutputMarkupContainerClassName(WicketViewerXray.isEnabled());
if(systemEnvironment.isPrototyping()
&& configuration.getViewer().getWicket().getDevelopmentUtilities().isEnable()) {
diff --git a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/DebugInitWkt.java b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/WicketViewerXray.java
similarity index 50%
copy from viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/DebugInitWkt.java
copy to viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/WicketViewerXray.java
index 49f7bddb67..9d7c8c6ad8 100644
--- a/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/DebugInitWkt.java
+++ b/viewers/wicket/viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/wicketapp/config/WicketViewerXray.java
@@ -18,32 +18,40 @@
*/
package org.apache.isis.viewer.wicket.viewer.wicketapp.config;
-import javax.inject.Inject;
-
-import org.apache.wicket.devutils.debugbar.DebugBarInitializer;
-import org.apache.wicket.protocol.http.WebApplication;
+import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.annotation.Configuration;
-import org.apache.isis.core.config.IsisConfiguration;
-import org.apache.isis.core.config.environment.IsisSystemEnvironment;
-import org.apache.isis.viewer.wicket.model.isis.WicketApplicationInitializer;
+import org.apache.isis.viewer.wicket.viewer.IsisModuleViewerWicketViewer;
-@Configuration
-public class DebugInitWkt implements WicketApplicationInitializer {
+import lombok.experimental.UtilityClass;
- @Inject private IsisSystemEnvironment systemEnvironment;
- @Inject private IsisConfiguration configuration;
+@UtilityClass
+public class WicketViewerXray {
- @Override
- public void init(final WebApplication webApplication) {
+ private final String KEY = IsisModuleViewerWicketViewer.NAMESPACE + ".xray";
- webApplication.getDebugSettings()
- .setAjaxDebugModeEnabled(configuration.getViewer().getWicket().isAjaxDebugMode());
+ /**
+ * Activates visual debugging mode for the Wicket Viewer.
+ * Use for troubleshooting and bug hunting.
+ * <p>
+ * Not imported by {@link IsisModuleViewerWicketViewer}.
+ */
+ @Configuration
+ public static class Enable implements InitializingBean {
- if(systemEnvironment.isPrototyping()
- && configuration.getViewer().getWicket().getDevelopmentUtilities().isEnable()) {
- new DebugBarInitializer().init(webApplication);
+ @Override
+ public void afterPropertiesSet() throws Exception {
+ System.setProperty(KEY, "true");
}
+
+ }
+
+ public boolean isEnabled() {
+ return "true".equalsIgnoreCase(System.getProperty(KEY));
+ }
+
+ public void setEnabled(final boolean enabled) {
+ System.setProperty(KEY, "" + enabled);
}
}