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}