Merge branch 'helma-🐜' into dependabot/gradle/org.mozilla-rhino-1.7.13

This commit is contained in:
Tobi Schäfer 2021-05-16 13:16:19 +02:00
commit 84f4a5f396
26 changed files with 160 additions and 125 deletions

View file

@ -9,3 +9,5 @@ updates:
directory: "/" # Location of package manifests
schedule:
interval: "daily"
assignees:
- "p3k"

1
.gitignore vendored
View file

@ -1,4 +1,5 @@
.gradle
.idea
.settings
build

View file

@ -40,7 +40,7 @@ Clone this repository to your machine and start the build process with `./gradle
After all files are put into place start Helma by invoking `./bin/helma.bat` or `./bin/helma`, depending on whether you are on Windows or Linux / Unix / OS X, respectively. If the `java` command is not found, try setting the `JAVA_HOME` environment variable to the location of your Java installation.
You can adjust server-wide settings in the `server.properties` file. For example, you could set the `smtp` property to the name of the SMTP server that Helma should use to send e-mail. Applications can be started or stopped by editing the `apps.properties` file through the web interface using the management application that is part of Helma.
You can adjust server-wide settings in the `server.properties` file. For example, you could set the `smtp` property to the name of the SMTP server that Helma should use to send e-mail. Applications can be started or stopped by editing the `apps.properties` file, or through the web interface using the management application that is part of Helma.
If all goes well you should be able to connect your browser to <http://localhost:8080> port 8080 on the local machine, that is.

View file

@ -21,6 +21,10 @@ allprojects {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
repositories {
mavenCentral()
}
}
version = new Date().format("yyyyMMdd")
@ -37,11 +41,6 @@ sourceSets {
}
}
repositories {
mavenCentral()
jcenter()
}
configurations {
// Wrapping implementation because it does not allow access to its files
// (i.e. cannot be resolved)
@ -50,7 +49,7 @@ configurations {
dependencies {
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'commons-codec:commons-codec:1.14'
implementation 'commons-codec:commons-codec:1.15'
implementation 'commons-fileupload:commons-fileupload:1.4'
implementation 'commons-logging:commons-logging:1.2'
implementation 'commons-net:commons-net:3.8.0'
@ -68,7 +67,6 @@ def rhinoJar = configurations.library.files.find { jar ->
jar.name.startsWith('rhino')
}
startScripts {
applicationName = 'helma'
classpath = files('../launcher.jar')
@ -117,6 +115,7 @@ applicationDistribution.from("${project.buildDir}/reports/dependency-license") {
}
distTar {
dependsOn ':generateLicenseReport', ':javadoc', ':jsdoc'
compression = Compression.GZIP
filesMatching(textFiles) {
@ -125,6 +124,8 @@ distTar {
}
distZip {
dependsOn ':generateLicenseReport', ':javadoc', ':jsdoc'
filesMatching(textFiles) {
filter(FixCrLfFilter.class, eol: FixCrLfFilter.CrLf.newInstance("crlf"))
}

View file

@ -1,4 +1,4 @@
distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStorePath=wrapper/dists

View file

@ -18,12 +18,12 @@
/**
* @fileoverview Fields and methods of the helma.Chart prototype
* <br /><br />
* To use this optional module, its repository needs to be added to the
* To use this optional module, its repository needs to be added to the
* application, for example by calling app.addRepository('modules/helma/Chart.js')
*/
// take care of any dependencies
app.addRepository('modules/helma/jxl.jar');
app.addRepository('modules/helma/jxl-2.5.7.jar');
/**
* Define the global namespace if not existing
@ -55,12 +55,12 @@ helma.Chart = function(fpath, prefix, sheetName) {
var workbook, file;
try {
file = new java.io.File(fpath);
file = new java.io.File(fpath);
workbook = JXLPKG.getWorkbook(file);
} catch (e) {
if (e instanceof TypeError == false)
throw(e);
throw("helma.Chart needs " + JXLPKGNAME +
throw("helma.Chart needs " + JXLPKGNAME +
" in lib/ext or application directory " +
"[" + JXLPKGURL + "]");
}
@ -98,9 +98,9 @@ helma.Chart = function(fpath, prefix, sheetName) {
* Renders the Excel spreadsheet as XHTML table.
*/
this.render = function() {
res.write('<table border="0" cellspacing="1" class="' +
res.write('<table border="0" cellspacing="1" class="' +
prefix + 'table">\n');
var rowBuf = [];
var rows = sheet.getRows();
var max = 0;
@ -110,7 +110,7 @@ helma.Chart = function(fpath, prefix, sheetName) {
max = row.length;
rowBuf.push(row);
}
for (var i in rowBuf) {
res.write('<tr class="' + prefix + 'row">\n');
for (var n=0; n<max; n+=1) {
@ -145,7 +145,7 @@ helma.Chart = function(fpath, prefix, sheetName) {
}
res.write('</tr>\n');
}
res.write('</table>\n');
workbook.close();
};

View file

@ -26,13 +26,13 @@
/**
* @fileoverview Fields and methods of the helma.Search class
* <br /><br />
* To use this optional module, its repository needs to be added to the
* To use this optional module, its repository needs to be added to the
* application, for example by calling app.addRepository('modules/helma/Search.js')
*/
// take care of any dependencies
app.addRepository('modules/helma/lucene-core.jar');
app.addRepository('modules/helma/lucene-analyzers.jar');
app.addRepository('modules/helma/lucene-core-2.2.0.jar');
app.addRepository('modules/helma/lucene-analyzers-2.2.0.jar');
if (!global.helma) {
@ -47,7 +47,7 @@ if (!global.helma) {
* creating a fulltext search index based on Apache Lucene.
* @returns A newly created instance of this prototype.
* @constructor
* @author Robert Gaggl <robert@nomatic.org>
* @author Robert Gaggl <robert@nomatic.org>
*/
helma.Search = function() {
try {
@ -309,7 +309,7 @@ helma.Search.Index = function(directory, analyzer) {
this.getAnalyzer = function() {
return analyzer;
};
/**
* Returns a searcher for querying this index.
* @returns A searcher useable for querying the index.
@ -318,7 +318,7 @@ helma.Search.Index = function(directory, analyzer) {
this.getSearcher = function() {
return new helma.Search.Searcher(this);
};
/** @ignore */
this.toString = function() {
return ("[Lucene Index " + directory + "]");
@ -773,7 +773,7 @@ helma.Search.HitCollection = function(hits) {
this.length = function() {
return this.size();
};
/**
* Executes a provided function once per hit.
* @param {Function} fun Function to execute for each element
@ -793,7 +793,7 @@ helma.Search.HitCollection = function(hits) {
}
return;
};
return this;
};
@ -1308,7 +1308,7 @@ helma.Search.Document.Field = function(name, value, options) {
var store = pkg.Store.YES;
var index = pkg.Index.TOKENIZED;
var termVector = pkg.TermVector.NO;
var opt;
if (options != null) {
if (options.store != null) {

View file

@ -18,20 +18,20 @@
/**
* @fileoverview Fields and methods of the helma.Ssh class.
* <br /><br />
* To use this optional module, its repository needs to be added to the
* To use this optional module, its repository needs to be added to the
* application, for example by calling app.addRepository('modules/helma/Ssh.js')
*/
// take care of any dependencies
app.addRepository('modules/helma/File.js');
app.addRepository('modules/helma/ganymed-ssh2.jar');
app.addRepository('modules/helma/ganymed-ssh2-build208.jar');
// define the helma namespace, if not existing
if (!global.helma) {
global.helma = {};
}
/**
/**
* Creates a new instance of helma.Ssh
* @class This class provides methods for connecting to a remote
* server via secure shell (ssh) and copying files from/to a remote
@ -43,7 +43,7 @@ if (!global.helma) {
* file. This argument is optional.
* @constructor
* @returns A newly created instance of helma.Ssh
* @author Robert Gaggl <robert@nomatic.org>
* @author Robert Gaggl <robert@nomatic.org>
*/
helma.Ssh = function(server, hosts) {
var SSHPKG = Packages.ch.ethz.ssh2;
@ -61,11 +61,11 @@ helma.Ssh = function(server, hosts) {
} catch (e) {
if (e instanceof TypeError == false)
throw(e);
throw("helma.Ssh needs " + SSHPKGNAME +
throw("helma.Ssh needs " + SSHPKGNAME +
" in lib/ext or application directory " +
"[" + SSHPKGURL + "]");
}
/**
* A simple verifier for verifying host keys
* @private
@ -96,7 +96,7 @@ helma.Ssh = function(server, hosts) {
return;
}
};
/**
* Converts the argument into an instance of java.io.File
* @param {helma.File|java.io.File|String} file Either a file
@ -131,7 +131,7 @@ helma.Ssh = function(server, hosts) {
}
return false;
};
/**
* Private helper method for debugging output using app.logger
* @param {String} methodName The name of the method
@ -175,7 +175,7 @@ helma.Ssh = function(server, hosts) {
}
return false;
};
/**
* Connects to a remote host using plain username/password authentication.
* @param {String} username The username
@ -217,7 +217,7 @@ helma.Ssh = function(server, hosts) {
}
return false;
};
/**
* Disconnects this client from the remote server.
*/
@ -325,7 +325,7 @@ helma.Ssh = function(server, hosts) {
}
}
};
/**
* Toggles paranoid mode. If set to true this client tries to
* verify the host key against the its list of known hosts
@ -346,7 +346,7 @@ helma.Ssh = function(server, hosts) {
this.isParanoid = function() {
return paranoid;
};
/**
* main constructor body
*/

View file

@ -0,0 +1,11 @@
dependencies {
runtimeOnly 'ch.ethz.ganymed:ganymed-ssh2:build209'
runtimeOnly 'net.sourceforge.jexcelapi:jxl:2.5.7'
runtimeOnly 'org.apache.lucene:lucene-analyzers:2.2.0'
runtimeOnly 'org.apache.lucene:lucene-core:2.2.0'
}
task deps(type: Copy) {
from sourceSets.main.runtimeClasspath
into '.'
}

BIN
modules/helma/jxl-2.5.7.jar Normal file

Binary file not shown.

Binary file not shown.

14
modules/jala/build.gradle Normal file
View file

@ -0,0 +1,14 @@
dependencies {
runtimeOnly 'dom4j:dom4j:1.6.1'
runtimeOnly 'jaxen:jaxen:1.1-beta-8'
runtimeOnly 'net.sf.javamusictag:jid3lib:0.5.4'
// FIXME: Did not find these two or appropriate replacements for them
//runtime 'id3:de.ueberdosis.mp3info:1.6.0d9'
//runtime 'javadns:org.wonderly:?'
}
task deps(type: Copy) {
from sourceSets.main.runtimeClasspath
into 'lib'
}

Binary file not shown.

View file

@ -0,0 +1,9 @@
dependencies {
// FIXME: Seems to be not used, anymore?
runtimeOnly 'bsf:bsf:2.4.0'
}
task deps(type: Copy) {
from sourceSets.main.runtimeClasspath
into 'lib'
}

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,9 @@
dependencies {
runtimeOnly 'org.subethamail:subethasmtp-smtp:1.2'
runtimeOnly 'org.subethamail:subethasmtp-wiser:1.2'
}
task deps(type: Copy) {
from sourceSets.main.runtimeClasspath
into 'code'
}

Binary file not shown.

View file

@ -7,3 +7,7 @@ org.apache.tools.ant.DirectoryScanner.removeDefaultExclude('**/.git/**')
org.apache.tools.ant.DirectoryScanner.removeDefaultExclude('**/.gitignore')
include 'launcher'
include 'modules:helma'
include 'modules:jala'
include 'modules:jala:util:HopKit'
include 'modules:jala:util:Test'

View file

@ -6,56 +6,67 @@
# andreas bolka, 2003-11-30
#
### BEGIN INIT INFO
# Provides: helma
# Required-Start: postgresql apache2
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-STop: 0 1 6
# Short-Description: Helma Application Server
### END INIT INFO
HELMA_CONFIG=/etc/helma.conf
###
# Check for existence of needed config file and source it
if [ -r $HELMA_CONFIG ]; then
source $HELMA_CONFIG
source $HELMA_CONFIG
else
echo "Can't read config file $HELMA_CONFIG"
exit 6
echo "Can't read config file $HELMA_CONFIG"
exit 6
fi
# Check for missing files and directories
if [ ! -x $JAVA_BIN ]; then
echo "Config error: JAVA_BIN $JAVA_BIN not found or not executable"
exit 5
fi
if [ ! -r $HELMA_INSTALL/launcher.jar ]; then
echo "Config error: $HELMA_INSTALL/launcher.jar not found or not readable"
exit 5
fi
if [ ! -d $HELMA_HOME ]; then
echo "Config error: HELMA_HOME $HELMA_HOME not found"
exit 5
echo "Config error: JAVA_BIN $JAVA_BIN not found or not executable"
exit 5
fi
# local settins
RUN_CMD="sudo -u $HELMA_USER $JAVA_BIN"
RUN_ARGS="$JAVA_OPTS -jar $HELMA_INSTALL/launcher.jar -h $HELMA_HOME $HELMA_ARGS"
if [ ! -r $HELMA_INSTALL/launcher.jar ]; then
echo "Config error: $HELMA_INSTALL/launcher.jar not found or not readable"
exit 5
fi
if [ ! -d $HELMA_HOME ]; then
echo "Config error: HELMA_HOME $HELMA_HOME not found"
exit 5
fi
RUN_CMD="su - $HELMA_USER"
RUN_ARGS="-c $JAVA_BIN $JAVA_OPTS -jar $HELMA_INSTALL/launcher.jar -h $HELMA_HOME $HELMA_ARGS"
case "$1" in
start)
start)
echo -n "Starting $HELMA_SERVICE: "
if [ -f $HELMA_PID ]; then
echo "$HELMA_SERVICE (pid `cat $HELMA_PID`) already running"
exit 1
echo "$HELMA_SERVICE (pid `cat $HELMA_PID`) already running"
exit 1
fi
cd $HELMA_HOME
nohup $RUN_CMD $RUN_ARGS > $HELMA_LOG 2>&1 &
nohup $RUN_CMD "$RUN_ARGS" > $HELMA_LOG 2>&1 &
echo $! > $HELMA_PID
echo "$HELMA_SERVICE (pid `cat $HELMA_PID`) started."
;;
stop)
stop)
echo -n "Shutting down $HELMA_SERVICE: "
if [ ! -f $HELMA_PID ]; then
echo "$HELMA_SERVICE not running"
exit 1
echo "$HELMA_SERVICE not running"
exit 1
fi
PID=`cat $HELMA_PID 2>/dev/null`
@ -65,20 +76,21 @@ stop)
echo "stopped."
;;
restart)
restart)
$0 stop && $0 start
;;
reload)
reload)
echo -n "Reloading $HELMA_SERVICE: $HELMA_SERVICE"
touch $HELMA_HOME/server.properties
touch $HELMA_HOME/apps.properties
echo "."
;;
*)
*)
echo "Usage: /etc/init.d/helma start|stop|restart|reload"
exit 1
exit 1
;;
esac
exit 0

View file

@ -1,72 +1,44 @@
##############################################################
###
### Helma object publisher config file
### Author: Hannes Wallnoefer, <hannes@helma.at>
### Author: Andreas Bolka
###
### This file should be placed in /etc/helma.conf.
### It is read by the Helma service control script,
### usually /etc/init.d/helma.
###
##############################################################
#
# Helma Object Publisher configuration file
#
# Authors:
# Hannes Wallnoefer <hannes@helma.at>,
# Andreas Bolka
#
# This file should be placed in /etc/helma.conf.
# It is read by the Helma service control script,
# usually /etc/init.d/helma.
#
##############################################################
### The name of this Helma server/service and the
### pid file to be used
#############################################################
# Full path to Java executable
JAVA_HOME=/usr/lib/jvm/default-java
JAVA_BIN=$JAVA_HOME/bin/java
# Options passed to the Java runtime
JAVA_OPTS="-server -Djava.awt.headless=true -Dfile.encoding=utf-8 -Djsse.enableSNIExtension=false"
# The name of this Helma server/service and the pid file to be used
HELMA_SERVICE=helma
HELMA_PID=/var/run/helma.pid
# Helma install directory. This is where we look for the Helma jar files
# (launcher.jar, lib/* and lib/ext/*)
HELMA_INSTALL=/home/helma
##############################################################
### Full path to Java executable
##############################################################
JAVA_HOME=/usr/lib/j2sdk1.5-sun
JAVA_BIN=$JAVA_HOME/bin/java
##############################################################
### Options passed to the Java runtime
##############################################################
JAVA_OPTS="-Djava.awt.headless=true"
##############################################################
### Helma install directory. This is where we look for
### the Helma jar files (launcher.jar, lib/* and lib/ext/*)
##############################################################
HELMA_INSTALL=/usr/local/helma/helma-1.6.x
##############################################################
### Helma home directory, in case it is different from the
### Helma install dir. This is where Helma will look for
### properties files and applications.
##############################################################
# Helma home directory, in case it is different from the Helma install dir.
# This is where Helma will look for properties files and applications.
HELMA_HOME=$HELMA_INSTALL
##############################################################
### The user Helma should be running as
##############################################################
# The user Helma should be running as
HELMA_USER=helma
##############################################################
### File to which standard and error output from Helma
### is redirected
##############################################################
# File to which standard and error output from Helma is redirected
HELMA_LOG=$HELMA_HOME/log/helma-out.log
##############################################################
### Helma options. Possible options are:
###
### -f file Specify server.properties file
### -p port Specify RMI port number
### -w port Specify port number for embedded Web server
### -x port Specify XML-RPC port number
### -jk port Specify AJP13 port number
###
##############################################################
# Helma options. Possible options are:
# -f file - Location of server.properties file
# -p port - RMI port
# -w port - Web server port
# -x port - XML-RPC port
# -jk port - AJP13 port
HELMA_ARGS="-w 8080"