This is an automated email from the ASF dual-hosted git repository.

seanfinan pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ctakes.git


The following commit(s) were added to refs/heads/main by this push:
     new 3a814d0  Added parameter SetJavaHome that can be set to "no" should 
the user wish external processes to not use jdk8.
3a814d0 is described below

commit 3a814d062dd078c51579aa26a74c3869d52bdcf8
Author: Sean Finan <[email protected]>
AuthorDate: Thu Jan 26 16:45:03 2023 -0500

    Added parameter SetJavaHome that can be set to "no" should the user wish 
external processes to not use jdk8.
---
 .../java/org/apache/ctakes/core/ae/CommandRunner.java   | 17 +++++++++++++++++
 .../apache/ctakes/core/util/external/SystemUtil.java    |  7 +++++++
 .../java/org/apache/ctakes/pbj/ae/ArtemisStarter.java   |  3 +++
 .../java/org/apache/ctakes/pbj/ae/ArtemisStopper.java   |  3 +++
 .../org/apache/ctakes/pbj/util/ArtemisController.java   | 14 ++++++++++++++
 5 files changed, 44 insertions(+)

diff --git 
a/ctakes-core/src/main/java/org/apache/ctakes/core/ae/CommandRunner.java 
b/ctakes-core/src/main/java/org/apache/ctakes/core/ae/CommandRunner.java
index c61ec88..5e25a3c 100644
--- a/ctakes-core/src/main/java/org/apache/ctakes/core/ae/CommandRunner.java
+++ b/ctakes-core/src/main/java/org/apache/ctakes/core/ae/CommandRunner.java
@@ -82,11 +82,25 @@ public class CommandRunner extends PausableFileLoggerAE {
    )
    private String _logName;
 
+   static public final String SET_JAVAHOME_PARAM = "SetJavaHome";
+   static public final String SET_JAVAHOME_DESC = "Set JAVA_HOME to the Java 
running cTAKES.  Default is yes.";
+   @ConfigurationParameter(
+         name = SET_JAVAHOME_PARAM,
+         description = SET_JAVAHOME_DESC,
+         defaultValue = "yes",
+         mandatory = false
+   )
+   private String _setJavaHome;
+
 
    protected boolean processPerDoc() {
       return _perDoc.equalsIgnoreCase( "yes" ) || _perDoc.equalsIgnoreCase( 
"true" );
    }
 
+   protected boolean setJavaHome() {
+      return _setJavaHome.equalsIgnoreCase( "yes" ) || 
_setJavaHome.equalsIgnoreCase( "true" );
+   }
+
    public void logInfo( final String info ) {
       LOGGER.info( info );
    }
@@ -145,6 +159,9 @@ public class CommandRunner extends PausableFileLoggerAE {
       if ( _wait.equalsIgnoreCase( "yes" ) || _wait.equalsIgnoreCase( "true" ) 
) {
          runner.wait( true );
       }
+      if ( !setJavaHome() ) {
+         runner.setSetJavaHome( false );
+      }
       if ( _dir != null && !_dir.isEmpty() ) {
          runner.setDirectory( _dir );
       }
diff --git 
a/ctakes-core/src/main/java/org/apache/ctakes/core/util/external/SystemUtil.java
 
b/ctakes-core/src/main/java/org/apache/ctakes/core/util/external/SystemUtil.java
index 4ed034a..67c10e1 100644
--- 
a/ctakes-core/src/main/java/org/apache/ctakes/core/util/external/SystemUtil.java
+++ 
b/ctakes-core/src/main/java/org/apache/ctakes/core/util/external/SystemUtil.java
@@ -331,6 +331,7 @@ final public class SystemUtil {
       private boolean _wait;
       private boolean _stopOnExit;
       private InputFeeder _inputFeeder;
+      private boolean _setJavaHome = true;
 
       public CommandRunner( final String command ) {
          _command = command;
@@ -369,6 +370,10 @@ final public class SystemUtil {
          return _inputFeeder;
       }
 
+      public void setSetJavaHome( final boolean setJavaHome ) {
+         _setJavaHome = setJavaHome;
+      }
+
       private String getDefaultLogFile() {
          final String ext = String.valueOf( new Random().nextLong() );
          final int spaceIndex = _command.indexOf( ' ' );
@@ -394,7 +399,9 @@ final public class SystemUtil {
                .stream()
                .filter( n -> n.startsWith( ENV_VAR_PREFIX ) )
                .forEach( n -> env.put( n.substring( ENV_VAR_PREFIX.length() ), 
System.getProperty( n ) ) );
+         if ( _setJavaHome ) {
             env.put( "JAVA_HOME", System.getProperty( "java.home" ) );
+         }
          if ( !env.containsKey( "CTAKES_HOME" ) ) {
             String cTakesHome = System.getenv( "CTAKES_HOME" );
             if ( cTakesHome == null || cTakesHome.isEmpty() ) {
diff --git 
a/ctakes-pbj/src/main/java/org/apache/ctakes/pbj/ae/ArtemisStarter.java 
b/ctakes-pbj/src/main/java/org/apache/ctakes/pbj/ae/ArtemisStarter.java
index 07e2d61..bf35ed5 100644
--- a/ctakes-pbj/src/main/java/org/apache/ctakes/pbj/ae/ArtemisStarter.java
+++ b/ctakes-pbj/src/main/java/org/apache/ctakes/pbj/ae/ArtemisStarter.java
@@ -61,6 +61,9 @@ public class ArtemisStarter extends ArtemisController {
       if ( _wait.equalsIgnoreCase( "yes" ) || _wait.equalsIgnoreCase( "true" ) 
) {
          runner.wait( true );
       }
+      if ( !setJavaHome() ) {
+         runner.setSetJavaHome( false );
+      }
       LOGGER.info( "Starting Apache Artemis ..." );
       SystemUtil.run( runner );
       pause();
diff --git 
a/ctakes-pbj/src/main/java/org/apache/ctakes/pbj/ae/ArtemisStopper.java 
b/ctakes-pbj/src/main/java/org/apache/ctakes/pbj/ae/ArtemisStopper.java
index 570e4f5..e9e7c7d 100644
--- a/ctakes-pbj/src/main/java/org/apache/ctakes/pbj/ae/ArtemisStopper.java
+++ b/ctakes-pbj/src/main/java/org/apache/ctakes/pbj/ae/ArtemisStopper.java
@@ -75,6 +75,9 @@ public class ArtemisStopper extends ArtemisController {
         if ( _wait.equalsIgnoreCase( "yes" ) || _wait.equalsIgnoreCase( "true" 
) ) {
             runner.wait( true );
         }
+        if ( !setJavaHome() ) {
+            runner.setSetJavaHome( false );
+        }
         LOGGER.info( "Stopping Apache Artemis ..." );
         SystemUtil.run( runner );
     }
diff --git 
a/ctakes-pbj/src/main/java/org/apache/ctakes/pbj/util/ArtemisController.java 
b/ctakes-pbj/src/main/java/org/apache/ctakes/pbj/util/ArtemisController.java
index 793421e..c6aefc1 100644
--- a/ctakes-pbj/src/main/java/org/apache/ctakes/pbj/util/ArtemisController.java
+++ b/ctakes-pbj/src/main/java/org/apache/ctakes/pbj/util/ArtemisController.java
@@ -45,6 +45,16 @@ abstract public class ArtemisController extends 
PausableFileLoggerAE {
     )
     protected String _wait;
 
+    static public final String SET_JAVAHOME_PARAM = "SetJavaHome";
+    static public final String SET_JAVAHOME_DESC = "Set JAVA_HOME to the Java 
running cTAKES.  Default is yes.";
+    @ConfigurationParameter(
+          name = SET_JAVAHOME_PARAM,
+          description = SET_JAVAHOME_DESC,
+          defaultValue = "yes",
+          mandatory = false
+    )
+    private String _setJavaHome;
+
     /**
      *
      * @return a suffix for the default log file.
@@ -60,6 +70,10 @@ abstract public class ArtemisController extends 
PausableFileLoggerAE {
         return false;
     }
 
+    protected boolean setJavaHome() {
+        return _setJavaHome.equalsIgnoreCase( "yes" ) || 
_setJavaHome.equalsIgnoreCase( "true" );
+    }
+
     /**
      *
      * {@inheritDoc}

Reply via email to