diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 0abaa362..cc0b89ab 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -19,7 +19,7 @@ jobs:
- uses: actions/setup-java@v5
with:
distribution: "temurin"
- java-version: "17"
+ java-version: "25"
cache: "maven"
cache-dependency-path: "pom.xml"
- run: mvn compile
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 4a6b6b87..0fb89c3f 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -19,7 +19,7 @@ jobs:
- uses: actions/setup-java@v5
with:
distribution: "temurin"
- java-version: "17"
+ java-version: "25"
cache: "maven"
cache-dependency-path: "pom.xml"
- run: mvn compile
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
deleted file mode 100644
index fb56ea2d..00000000
--- a/.github/workflows/publish.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-name: publish to github packages
-
-on:
- workflow_dispatch:
-
-jobs:
- publish:
- runs-on: ubuntu-latest
- permissions:
- contents: read
- packages: write
- steps:
- - uses: actions/checkout@v6
- - uses: actions/setup-java@v5
- with:
- distribution: "temurin"
- java-version: "25"
- cache: "maven"
- cache-dependency-path: "pom.xml"
- - run: mvn versions:set -DnewVersion=$(git rev-parse HEAD)
- - run: mvn --batch-mode deploy
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.jitpack.yml b/.jitpack.yml
index fbc7bbde..9b2a050f 100644
--- a/.jitpack.yml
+++ b/.jitpack.yml
@@ -1,6 +1,7 @@
-language: java
-jdk:
- - openjdk17
+language: java
+jdk:
+ - openjdk25
before_install:
- - sdk install java 17.0.2-open
- - sdk use java 17.0.2-open
+ - sdk install java 25.0.3-tem
+ - sdk use java 25.0.3-tem
+ - sdk install maven
diff --git a/pom.xml b/pom.xml
index eefb9227..dcaa0715 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,7 +2,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- 17
+ 25
UTF-8
com.github.jasmineRepo
@@ -21,14 +21,6 @@
-
-
- github
- GitHub Packages
- https://maven.pkg.github.com/jasmineRepo/JAS-mine-core
-
-
-
@@ -42,13 +34,13 @@
org.apache.maven.plugins
maven-surefire-plugin
- 3.5.4
+ 3.5.6
org.jacoco
jacoco-maven-plugin
- 0.8.14
+ 0.8.15
@@ -102,7 +94,7 @@
org.apache.maven.wagon
wagon-ssh
- 2.4
+ 3.5.3
@@ -111,13 +103,14 @@
org.junit.jupiter
junit-jupiter
+ 6.1.0
test
- log4j
- log4j
- 1.2.17
+ org.apache.logging.log4j
+ log4j-core
+ 2.26.0
jar
@@ -129,76 +122,73 @@
commons-beanutils
commons-beanutils
- 20030211.134440
+ 1.11.0
commons-logging
commons-logging
- 1.2
+ 1.3.6
org.apache.poi
poi
- 5.2.2
+ 5.5.1
org.apache.poi
poi-ooxml
- 5.2.2
+ 5.5.1
-
org.apache.commons
commons-collections4
- 4.4
+ 4.5.0
org.apache.commons
commons-math3
3.6.1
-
- commons-io
- commons-io
- 2.14.0
-
-
-
- xerces
- xercesImpl
- 2.12.2
-
-
- org.javassist
- javassist
- 3.29.1-GA
-
+ commons-io
+ commons-io
+ 2.22.0
+
+
+ xerces
+ xercesImpl
+ 2.12.2
+
+
+ org.javassist
+ javassist
+ 3.31.0-GA
+
jakarta.enterprise
jakarta.enterprise.cdi-api
- 4.0.1
+ 4.1.0
jakarta.ws.rs
jakarta.ws.rs-api
- 3.1.0
+ 4.0.0
org.hibernate.orm
hibernate-core
- 6.1.2.Final
+ 6.1.7.Final
com.h2database
h2
- 2.2.220
+ 2.4.240
org.apache.commons
commons-lang3
- 3.18.0
+ 3.20.0
compile
diff --git a/src/main/java/microsim/data/ExperimentManager.java b/src/main/java/microsim/data/ExperimentManager.java
index 0b7f9e6f..c1bc68d0 100644
--- a/src/main/java/microsim/data/ExperimentManager.java
+++ b/src/main/java/microsim/data/ExperimentManager.java
@@ -10,7 +10,8 @@
import microsim.data.db.Experiment;
import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
/**
* Singleton. Utility used to create ana manage experiment setup.
@@ -22,7 +23,7 @@
*/
public class ExperimentManager {
- private static final Logger log = Logger.getLogger(ExperimentManager.class);
+ private static final Logger log = LogManager.getLogger(ExperimentManager.class);
/**
* The flag determines if the tool must copy input resources into output folder.
diff --git a/src/main/java/microsim/data/ExportCSV.java b/src/main/java/microsim/data/ExportCSV.java
index 987cec4a..2259b96b 100644
--- a/src/main/java/microsim/data/ExportCSV.java
+++ b/src/main/java/microsim/data/ExportCSV.java
@@ -15,9 +15,6 @@
import jakarta.persistence.Transient;
-import org.apache.log4j.Logger;
-
-import microsim.data.db.DatabaseUtils;
import microsim.data.db.PanelEntityKey;
import microsim.engine.SimulationEngine;
@@ -31,7 +28,6 @@
*/
public class ExportCSV {
- private static Logger log = Logger.getLogger(DatabaseUtils.class);
public static Long autoincrementSeed = 1000000L;
// Fields for exporting tables to output .csv files
diff --git a/src/main/java/microsim/data/db/DatabaseUtils.java b/src/main/java/microsim/data/db/DatabaseUtils.java
index b7c484f9..5e94f85a 100644
--- a/src/main/java/microsim/data/db/DatabaseUtils.java
+++ b/src/main/java/microsim/data/db/DatabaseUtils.java
@@ -7,6 +7,9 @@
import java.util.List;
import java.util.Map;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
import jakarta.persistence.*;
import microsim.annotation.GUIparameter;
@@ -14,12 +17,10 @@
import microsim.data.MultiKeyCoefficientMapFactory;
import microsim.engine.SimulationEngine;
-import org.apache.log4j.Logger;
-
@SuppressWarnings("deprecation")
public class DatabaseUtils {
- private static Logger log = Logger.getLogger(DatabaseUtils.class);
+ private static Logger log = LogManager.getLogger(DatabaseUtils.class);
private static EntityManagerFactory entityManagerFactory = null;
private static EntityManagerFactory outEntityManagerFactory = null;
diff --git a/src/main/java/microsim/engine/SimulationEngine.java b/src/main/java/microsim/engine/SimulationEngine.java
index bd29afaf..a2806982 100644
--- a/src/main/java/microsim/engine/SimulationEngine.java
+++ b/src/main/java/microsim/engine/SimulationEngine.java
@@ -18,7 +18,8 @@
import microsim.exception.SimulationRuntimeException;
import org.apache.commons.math3.random.RandomGenerator;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
/**
* The simulation engine. The engine keeps a reference to an EventQueue object
@@ -59,7 +60,7 @@
*/
public class SimulationEngine extends Thread {
- private static Logger log = Logger.getLogger(SimulationEngine.class);
+ private static Logger log = LogManager.getLogger(SimulationEngine.class);
private int eventThresold = 0;
diff --git a/src/main/java/microsim/statistics/TimeSeries.java b/src/main/java/microsim/statistics/TimeSeries.java
index 218f9ef4..bfaf7874 100644
--- a/src/main/java/microsim/statistics/TimeSeries.java
+++ b/src/main/java/microsim/statistics/TimeSeries.java
@@ -7,13 +7,14 @@
import java.util.ArrayList;
import java.util.Iterator;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
import microsim.engine.SimulationEngine;
import microsim.event.CommonEventType;
import microsim.event.EventListener;
import microsim.reflection.ReflectionUtils;
-import org.apache.log4j.Logger;
-
import cern.colt.list.DoubleArrayList;
import cern.colt.list.FloatArrayList;
import cern.colt.list.IntArrayList;
@@ -50,7 +51,7 @@
* @author Michele Sonnessa
*/
public class TimeSeries implements EventListener, IUpdatableSource {
- private static Logger log = Logger.getLogger(TimeSeries.class);
+ private static Logger log = LogManager.getLogger(TimeSeries.class);
/** A custom event identifier for perfomAction method. Save to disk. */
public static final int EVENT_SAVE = 1;
diff --git a/src/main/java/microsim/statistics/reflectors/DoubleInvoker.java b/src/main/java/microsim/statistics/reflectors/DoubleInvoker.java
index e343ac2a..fe0d62a9 100644
--- a/src/main/java/microsim/statistics/reflectors/DoubleInvoker.java
+++ b/src/main/java/microsim/statistics/reflectors/DoubleInvoker.java
@@ -6,11 +6,12 @@
import java.util.Collection;
import java.util.Iterator;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
import microsim.reflection.ReflectionUtils;
import microsim.statistics.IDoubleSource;
-import org.apache.log4j.Logger;
-
/**
* Not of interest for users. It uses java reflection to call objects' methods
* which return double values. It is used by Statistics objects.
@@ -42,7 +43,7 @@
* @author Michele Sonnessa
*/
public class DoubleInvoker implements IDoubleSource {
- private static Logger log = Logger.getLogger(DoubleInvoker.class);
+ private static Logger log = LogManager.getLogger(DoubleInvoker.class);
protected Method method;
protected Field field;
diff --git a/src/main/java/microsim/statistics/reflectors/FloatInvoker.java b/src/main/java/microsim/statistics/reflectors/FloatInvoker.java
index ebc2a017..3f0dca05 100644
--- a/src/main/java/microsim/statistics/reflectors/FloatInvoker.java
+++ b/src/main/java/microsim/statistics/reflectors/FloatInvoker.java
@@ -4,11 +4,12 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
import microsim.reflection.ReflectionUtils;
import microsim.statistics.IFloatSource;
-import org.apache.log4j.Logger;
-
/**
* Not of interest for users. It uses java reflection to call objects' methods
* which return double values. It is used by Statistics objects.
@@ -40,7 +41,7 @@
* @author Michele Sonnessa
*/
public class FloatInvoker implements IFloatSource {
- private static Logger log = Logger.getLogger(FloatInvoker.class);
+ private static Logger log = LogManager.getLogger(FloatInvoker.class);
protected Method method;
protected Field field;
diff --git a/src/main/java/microsim/statistics/reflectors/IntegerInvoker.java b/src/main/java/microsim/statistics/reflectors/IntegerInvoker.java
index df1b3998..3ead7828 100644
--- a/src/main/java/microsim/statistics/reflectors/IntegerInvoker.java
+++ b/src/main/java/microsim/statistics/reflectors/IntegerInvoker.java
@@ -4,11 +4,12 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
import microsim.reflection.ReflectionUtils;
import microsim.statistics.IIntSource;
-import org.apache.log4j.Logger;
-
/**
* Not of interest for users. It uses java reflection to call objects' methods
* which return double values. It is used by Statistics objects.
@@ -40,7 +41,7 @@
* @author Michele Sonnessa
*/
public class IntegerInvoker implements IIntSource {
- private static Logger log = Logger.getLogger(IntegerInvoker.class);
+ private static Logger log = LogManager.getLogger(IntegerInvoker.class);
protected Method method;
protected Field field;
diff --git a/src/main/java/microsim/statistics/reflectors/LongInvoker.java b/src/main/java/microsim/statistics/reflectors/LongInvoker.java
index 62951d10..bd39feee 100644
--- a/src/main/java/microsim/statistics/reflectors/LongInvoker.java
+++ b/src/main/java/microsim/statistics/reflectors/LongInvoker.java
@@ -4,11 +4,12 @@
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
import microsim.reflection.ReflectionUtils;
import microsim.statistics.ILongSource;
-import org.apache.log4j.Logger;
-
/**
* Not of interest for users. It uses java reflection to call objects' methods
* which return double values. It is used by Statistics objects.
@@ -40,7 +41,7 @@
* @author Michele Sonnessa
*/
public class LongInvoker implements ILongSource {
- private static Logger log = Logger.getLogger(LongInvoker.class);
+ private static Logger log = LogManager.getLogger(LongInvoker.class);
protected Method method;
protected Field field;
diff --git a/src/main/java/microsim/statistics/reflectors/StringInvoker.java b/src/main/java/microsim/statistics/reflectors/StringInvoker.java
index 7eff446c..680d4895 100644
--- a/src/main/java/microsim/statistics/reflectors/StringInvoker.java
+++ b/src/main/java/microsim/statistics/reflectors/StringInvoker.java
@@ -6,11 +6,12 @@
import java.util.Collection;
import java.util.Iterator;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
import microsim.reflection.ReflectionUtils;
import microsim.statistics.IStringSource;
-import org.apache.log4j.Logger;
-
/**
* Not of interest for users. It uses java reflection to call objects' methods
* which return string values. It is used by database objects.
@@ -42,7 +43,7 @@
* @author Michele Sonnessa
*/
public class StringInvoker implements IStringSource {
- private static Logger log = Logger.getLogger(StringInvoker.class);
+ private static Logger log = LogManager.getLogger(StringInvoker.class);
protected Method method;
protected Field field;
protected Object target;