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/03/22 12:24:55 UTC
[isis] branch master updated: ISIS-2877: Demo: turn on there-can-be-only-one feature
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 c6c0ef2 ISIS-2877: Demo: turn on there-can-be-only-one feature
c6c0ef2 is described below
commit c6c0ef270a0cd4a656e403d27f84aa055c7069ca
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Mar 22 13:24:47 2022 +0100
ISIS-2877: Demo: turn on there-can-be-only-one feature
---
.../java/org/apache/isis/commons/internal/os/_OsUtil.java | 14 ++++++++++++++
.../java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java | 5 +++++
.../java/demoapp/webapp/wicket/jpa/DemoAppWicketJpa.java | 6 +++++-
3 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/commons/src/main/java/org/apache/isis/commons/internal/os/_OsUtil.java b/commons/src/main/java/org/apache/isis/commons/internal/os/_OsUtil.java
index f0c2799..e5a326a 100644
--- a/commons/src/main/java/org/apache/isis/commons/internal/os/_OsUtil.java
+++ b/commons/src/main/java/org/apache/isis/commons/internal/os/_OsUtil.java
@@ -105,6 +105,20 @@ public class _OsUtil {
}
}
+ /**
+ * Terminates an instance of this application,
+ * if there is an already running one found.
+ * <p>
+ * Use in conjunction with system environment variable
+ * {@code THERE_CAN_BE_ONLY_ONE=true}, in order to switch this feature on.
+ * @see #thereCanBeOnlyOne(File)
+ */
+ public void thereCanBeOnlyOne() {
+ if("true".equalsIgnoreCase(System.getenv("THERE_CAN_BE_ONLY_ONE"))) {
+ _OsUtil.thereCanBeOnlyOne(new File("pid.log"));
+ }
+ }
+
@SneakyThrows
public void terminateProcessByPid(final @Nullable String pid) {
val pidTrimmed = _Strings.blankToNullOrTrim(pid);
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 4dfec7a..70c5639 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
@@ -23,6 +23,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Import;
+import org.apache.isis.commons.internal.os._OsUtil;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.extensions.viewer.wicket.pdfjs.ui.IsisModuleExtPdfjsUi;
import org.apache.isis.valuetypes.asciidoc.metamodel.IsisModuleValAsciidocMetaModel;
@@ -75,6 +76,10 @@ public class DemoAppWicketJdo extends SpringBootServletInitializer {
* entry point by searching for classes having a {@code main(...)}
*/
public static void main(final String[] args) {
+
+ // activates when sys-env THERE_CAN_BE_ONLY_ONE=true
+ _OsUtil.thereCanBeOnlyOne();
+
IsisPresets.prototyping();
//IsisPresets.logging(WebRequestCycleForIsis.class, "debug");
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 adad1d1..f02d81f 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
@@ -23,6 +23,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.Import;
+import org.apache.isis.commons.internal.os._OsUtil;
import org.apache.isis.core.config.presets.IsisPresets;
import org.apache.isis.extensions.viewer.wicket.pdfjs.ui.IsisModuleExtPdfjsUi;
import org.apache.isis.valuetypes.asciidoc.metamodel.IsisModuleValAsciidocMetaModel;
@@ -33,7 +34,6 @@ import org.apache.isis.valuetypes.markdown.persistence.jpa.IsisModuleValMarkdown
import org.apache.isis.valuetypes.markdown.ui.wkt.IsisModuleValMarkdownUiWkt;
import org.apache.isis.valuetypes.sse.ui.wkt.IsisModuleValSseUiWkt;
import org.apache.isis.viewer.wicket.viewer.IsisModuleViewerWicketViewer;
-import org.apache.isis.viewer.wicket.viewer.registries.components.ComponentFactoryRegistryDefault;
import demoapp.web.DemoAppManifestJpa;
import demoapp.webapp.wicket.common.ui.DemoAppWicketCommon;
@@ -76,6 +76,10 @@ public class DemoAppWicketJpa extends SpringBootServletInitializer {
* entry point by searching for classes having a {@code main(...)}
*/
public static void main(final String[] args) {
+
+ // activates when sys-env THERE_CAN_BE_ONLY_ONE=true
+ _OsUtil.thereCanBeOnlyOne();
+
IsisPresets.prototyping();
//IsisPresets.logging(WebRequestCycleForIsis.class, "debug");
//IsisPresets.logging(ComponentFactoryRegistryDefault.class, "debug");