changeset 1483:96c91c6c1bb3

added deployment property to enforce headfull execution * netx/net/sourceforge/jnlp/config/Defaults.java: IGNORE_HEADLESS_CHECK set to false * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: deployment.headless.ignore * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: if deployment.headless.ignore is true, then headless state is not checked and environment is always considered as headfull
author Jiri Vanek <jvanek@redhat.com>
date Mon, 10 Sep 2018 17:35:31 +0200
parents e3d4b4e9f37c
children cd94fb214752
files ChangeLog netx/net/sourceforge/jnlp/config/Defaults.java netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
diffstat 4 files changed, 29 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Sep 10 17:34:00 2018 +0200
+++ b/ChangeLog	Mon Sep 10 17:35:31 2018 +0200
@@ -1,3 +1,11 @@
+2018-05-28  Jiri Vanek <jvanek@redhat.com>
+
+	added deployment property to enforce headfull execution
+	* netx/net/sourceforge/jnlp/config/Defaults.java: IGNORE_HEADLESS_CHECK set to false
+	* netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: deployment.headless.ignore
+	* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: if deployment.headless.ignore is true, then headless state is not checked
+	and environment is always considered as headfull
+
 2018-05-24  Jiri Vanek <jvanek@redhat.com>
 
 	Made headless detection softer
--- a/netx/net/sourceforge/jnlp/config/Defaults.java	Mon Sep 10 17:34:00 2018 +0200
+++ b/netx/net/sourceforge/jnlp/config/Defaults.java	Mon Sep 10 17:35:31 2018 +0200
@@ -412,6 +412,11 @@
                         BasicValueValidators.getRangedIntegerValidator(0, 10000),
                         String.valueOf(500)
                 },
+                {
+                        DeploymentConfiguration.IGNORE_HEADLESS_CHECK,
+                        BasicValueValidators.getBooleanValidator(),
+                        String.valueOf(false)
+                },
                 //JVM arguments for plugin
                 {
                         DeploymentConfiguration.KEY_PLUGIN_JVM_ARGUMENTS,
--- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java	Mon Sep 10 17:34:00 2018 +0200
+++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java	Mon Sep 10 17:35:31 2018 +0200
@@ -222,6 +222,8 @@
 
     public static final String KEY_BROWSER_PATH = "deployment.browser.path";
     public static final String KEY_UPDATE_TIMEOUT = "deployment.javaws.update.timeout";
+    
+    public static final String IGNORE_HEADLESS_CHECK = "deployment.headless.ignore";
 
     /*
      * JVM arguments for plugin
--- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java	Mon Sep 10 17:34:00 2018 +0200
+++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java	Mon Sep 10 17:35:31 2018 +0200
@@ -739,18 +739,24 @@
         //if (GraphicsEnvironment.isHeadless()) // jdk1.4+ only
         //    headless = true;
         try {
-            if ("true".equalsIgnoreCase(System.getProperty("java.awt.headless"))){
+            if ("true".equalsIgnoreCase(System.getProperty("java.awt.headless"))) {
                 headless = true;
             }
             if (!headless) {
-                try {
-                    if (GraphicsEnvironment.isHeadless()) {
-                        throw new HeadlessException();
+                boolean noCheck = Boolean.valueOf(JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.IGNORE_HEADLESS_CHECK));
+                if (noCheck) {
+                    headless = false;
+                    OutputController.getLogger().log(DeploymentConfiguration.IGNORE_HEADLESS_CHECK + " set to " + noCheck + ". Avoding headless check.");
+                } else {
+                    try {
+                        if (GraphicsEnvironment.isHeadless()) {
+                            throw new HeadlessException();
+                        }
+                    } catch (HeadlessException ex) {
+                        headless = true;
+                        OutputController.getLogger().log(ex);
+                        OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, Translator.R("HEADLESS_MISSCONFIGURED"));
                     }
-                } catch (HeadlessException ex) {
-                    headless = true;
-                    OutputController.getLogger().log(ex);
-                    OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, Translator.R("HEADLESS_MISSCONFIGURED"));
                 }
             }
         } catch (SecurityException ex) {