diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index b1885fd..e7c9aa0 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -3,7 +3,7 @@
{
"name": "Java",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
- "image": "mcr.microsoft.com/devcontainers/java:3-17-bookworm",
+ "image": "mcr.microsoft.com/devcontainers/java:3-21-bookworm",
"features": {
"ghcr.io/devcontainers/features/java:1": {
diff --git a/.github/workflows/maven-ci.yml b/.github/workflows/maven-ci.yml
index 78d2937..27a8546 100644
--- a/.github/workflows/maven-ci.yml
+++ b/.github/workflows/maven-ci.yml
@@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- java: [ '17', '21', '25' ]
+ java: [ '21', '25' ]
steps:
- uses: actions/checkout@v7
diff --git a/README.md b/README.md
index 5bf9d77..42b8c01 100644
--- a/README.md
+++ b/README.md
@@ -5,6 +5,9 @@
# com.bitctrl
Allgemeine Bibliothek für BitCtrl-Projekte
+## Version 3.1.0
+ - Update auf Java 21
+
## Version 3.0.1
- Update der Dependencies
diff --git a/pom.xml b/pom.xml
index 165000e..73a80d3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.bitctrl
com.bitctrl
- 3.0.2-SNAPSHOT
+ 3.1.0-SNAPSHOT
Allgemeine BitCtrl-Bibliothek
http://bitctrl.github.io/${project.artifactId}/
@@ -14,8 +14,8 @@
UTF-8
UTF-8
- 17
- 17
+ 21
+ 21
@@ -46,11 +46,6 @@
https://github.com/bitctrl/${project.artifactId}/
-
- Travis-CI
- https://travis-ci.org/bitctrl/${project.artifactId}/
-
-
bitctrl
diff --git a/src/main/java/com/bitctrl/beans/BeanEvent.java b/src/main/java/com/bitctrl/beans/BeanEvent.java
index 901bfcb..90397b5 100644
--- a/src/main/java/com/bitctrl/beans/BeanEvent.java
+++ b/src/main/java/com/bitctrl/beans/BeanEvent.java
@@ -26,6 +26,7 @@
package com.bitctrl.beans;
+import java.io.Serial;
import java.util.EventObject;
/**
@@ -35,6 +36,7 @@
*/
public class BeanEvent extends EventObject {
+ @Serial
private static final long serialVersionUID = 1L;
private final Object beanData;
diff --git a/src/main/java/com/bitctrl/commands/CommandFinishedEvent.java b/src/main/java/com/bitctrl/commands/CommandFinishedEvent.java
index c43dada..f7dddc2 100644
--- a/src/main/java/com/bitctrl/commands/CommandFinishedEvent.java
+++ b/src/main/java/com/bitctrl/commands/CommandFinishedEvent.java
@@ -26,6 +26,7 @@
package com.bitctrl.commands;
+import java.io.Serial;
import java.util.EventObject;
/**
@@ -35,6 +36,7 @@
*/
public class CommandFinishedEvent extends EventObject {
+ @Serial
private static final long serialVersionUID = 1L;
private final boolean successful;
private final String message;
diff --git a/src/main/java/com/bitctrl/graph/GraphAlgorithm.java b/src/main/java/com/bitctrl/graph/GraphAlgorithm.java
index ce46f50..e244906 100644
--- a/src/main/java/com/bitctrl/graph/GraphAlgorithm.java
+++ b/src/main/java/com/bitctrl/graph/GraphAlgorithm.java
@@ -116,7 +116,7 @@ private static List getPfadVonWurzel(final Knoten zielKnoten, final Array
return pfad;
}
- pfad.add(0, stuetzBogen);
+ pfad.addFirst(stuetzBogen);
return getPfadVonWurzel(stuetzBogen.getAnfangsKnoten(), pfad);
}
diff --git a/src/main/java/com/bitctrl/model/ModelElement.java b/src/main/java/com/bitctrl/model/ModelElement.java
index 522fbfe..7705e0c 100644
--- a/src/main/java/com/bitctrl/model/ModelElement.java
+++ b/src/main/java/com/bitctrl/model/ModelElement.java
@@ -4,6 +4,7 @@
import java.beans.PropertyChangeSupport;
import java.io.IOException;
import java.io.ObjectInputStream;
+import java.io.Serial;
import java.io.Serializable;
import jakarta.xml.bind.annotation.XmlTransient;
@@ -17,6 +18,7 @@
*/
public class ModelElement implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
@XmlTransient
diff --git a/src/main/java/com/bitctrl/model/NamedObject.java b/src/main/java/com/bitctrl/model/NamedObject.java
index f90019e..a683ffb 100644
--- a/src/main/java/com/bitctrl/model/NamedObject.java
+++ b/src/main/java/com/bitctrl/model/NamedObject.java
@@ -1,5 +1,7 @@
package com.bitctrl.model;
+import java.io.Serial;
+
/**
* Ein benanntes Modellelement.
*
@@ -10,6 +12,7 @@ public class NamedObject extends ModelElement {
/** Konstante für den Namen der entsprechenden Property. */
public static final String PROP_NAME = "name";
+ @Serial
private static final long serialVersionUID = 1L;
private String name;
diff --git a/src/main/java/com/bitctrl/modell/DAOEvent.java b/src/main/java/com/bitctrl/modell/DAOEvent.java
index de2d1c9..c71ba20 100644
--- a/src/main/java/com/bitctrl/modell/DAOEvent.java
+++ b/src/main/java/com/bitctrl/modell/DAOEvent.java
@@ -26,6 +26,7 @@
package com.bitctrl.modell;
+import java.io.Serial;
import java.util.EventObject;
/**
@@ -36,6 +37,7 @@
@Deprecated(since = "3.0.0", forRemoval = true)
public class DAOEvent extends EventObject {
+ @Serial
private static final long serialVersionUID = 1;
/** Die Typen einer Änderung. */
@@ -55,7 +57,7 @@ public enum Type {
* Aktualisierung nicht unterscheiden kann, z. B. wenn sich alle Daten der
* Quelle geändert haben.
*/
- Unknown;
+ Unknown
}
diff --git a/src/main/java/com/bitctrl/modell/DAOException.java b/src/main/java/com/bitctrl/modell/DAOException.java
index 5e1f932..a354211 100644
--- a/src/main/java/com/bitctrl/modell/DAOException.java
+++ b/src/main/java/com/bitctrl/modell/DAOException.java
@@ -26,6 +26,8 @@
package com.bitctrl.modell;
+import java.io.Serial;
+
/**
* Dies ist eine allgemeine Exception für Fehler bei der Arbeit mit DAO. In der
* Regel kapselt eine {@link DAOException} eine andere Exception wie z. B.
@@ -36,6 +38,7 @@
@Deprecated(since = "3.0.0", forRemoval = true)
public class DAOException extends Exception {
+ @Serial
private static final long serialVersionUID = 1L;
/**
diff --git a/src/main/java/com/bitctrl/net/IP.java b/src/main/java/com/bitctrl/net/IP.java
index 72fed2c..fcd60ff 100644
--- a/src/main/java/com/bitctrl/net/IP.java
+++ b/src/main/java/com/bitctrl/net/IP.java
@@ -26,6 +26,7 @@
package com.bitctrl.net;
+import java.io.Serial;
import java.io.Serializable;
/**
@@ -36,6 +37,7 @@
*/
public class IP implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
private static final boolean IP_V4 = true;
diff --git a/src/main/java/com/bitctrl/net/MAC.java b/src/main/java/com/bitctrl/net/MAC.java
index 1659657..562b446 100644
--- a/src/main/java/com/bitctrl/net/MAC.java
+++ b/src/main/java/com/bitctrl/net/MAC.java
@@ -26,6 +26,7 @@
package com.bitctrl.net;
+import java.io.Serial;
import java.io.Serializable;
import java.util.Arrays;
@@ -39,6 +40,7 @@
*/
public class MAC implements Serializable {
+ @Serial
private static final long serialVersionUID = 1L;
/**
diff --git a/src/main/java/com/bitctrl/text/CheckText.java b/src/main/java/com/bitctrl/text/CheckText.java
index 7c6dfbd..1586e04 100644
--- a/src/main/java/com/bitctrl/text/CheckText.java
+++ b/src/main/java/com/bitctrl/text/CheckText.java
@@ -128,8 +128,8 @@ public static boolean matches(final String expr, final String str) {
searchStrings.add(Constants.EMPTY_STRING);
}
- boolean result = tStr.startsWith(searchStrings.get(0))
- && tStr.endsWith(searchStrings.get(searchStrings.size() - 1));
+ boolean result = tStr.startsWith(searchStrings.getFirst())
+ && tStr.endsWith(searchStrings.getLast());
if (result) {
for (final String arg : searchStrings) {
diff --git a/src/main/java/com/bitctrl/util/ListChangedEvent.java b/src/main/java/com/bitctrl/util/ListChangedEvent.java
index ed8e7e8..4dae3dd 100644
--- a/src/main/java/com/bitctrl/util/ListChangedEvent.java
+++ b/src/main/java/com/bitctrl/util/ListChangedEvent.java
@@ -26,6 +26,7 @@
package com.bitctrl.util;
+import java.io.Serial;
import java.util.EventObject;
import java.util.List;
@@ -38,6 +39,7 @@
*/
public class ListChangedEvent extends EventObject {
+ @Serial
private static final long serialVersionUID = 1L;
private final int indexFrom;
private final int indexTo;
diff --git a/src/main/java/com/bitctrl/util/Timestamp.java b/src/main/java/com/bitctrl/util/Timestamp.java
index c7a95b5..f5482c4 100644
--- a/src/main/java/com/bitctrl/util/Timestamp.java
+++ b/src/main/java/com/bitctrl/util/Timestamp.java
@@ -26,6 +26,7 @@
package com.bitctrl.util;
+import java.io.Serial;
import java.io.Serializable;
import java.text.DateFormat;
import java.text.ParseException;
@@ -42,6 +43,7 @@
*/
public class Timestamp implements Serializable {
+ @Serial
private static final long serialVersionUID = 0L;
/**
diff --git a/src/main/java/com/bitctrl/util/TreeProperties.java b/src/main/java/com/bitctrl/util/TreeProperties.java
index 299a634..ff9d426 100644
--- a/src/main/java/com/bitctrl/util/TreeProperties.java
+++ b/src/main/java/com/bitctrl/util/TreeProperties.java
@@ -31,6 +31,7 @@
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
+import java.io.Serial;
import java.util.Date;
import java.util.HashSet;
import java.util.Properties;
@@ -140,6 +141,7 @@ public String toString() {
}
+ @Serial
private static final long serialVersionUID = 1L;
private static final char[] HEXDIGIT = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E',
'F' };
diff --git a/src/main/java/com/bitctrl/util/TwoDimensionalMap.java b/src/main/java/com/bitctrl/util/TwoDimensionalMap.java
index de644bd..9da05ba 100644
--- a/src/main/java/com/bitctrl/util/TwoDimensionalMap.java
+++ b/src/main/java/com/bitctrl/util/TwoDimensionalMap.java
@@ -1,5 +1,6 @@
package com.bitctrl.util;
+import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
@@ -27,6 +28,7 @@
* @author BitCtrl Systems GmbH, schnepel
*/
public class TwoDimensionalMap implements Serializable, ITwoDimensionalMap {
+ @Serial
private static final long serialVersionUID = 3216584215464568453L;
private final Map rows;
diff --git a/src/main/java/com/bitctrl/util/jar/JarVersionInfo.java b/src/main/java/com/bitctrl/util/jar/JarVersionInfo.java
index 50ac410..a4dcc91 100644
--- a/src/main/java/com/bitctrl/util/jar/JarVersionInfo.java
+++ b/src/main/java/com/bitctrl/util/jar/JarVersionInfo.java
@@ -71,7 +71,7 @@ public static void main(final String[] args) {
files = new LinkedList<>(Arrays.asList(args));
if ("-short".equals(args[0])) {
onlyVersion = true;
- files.remove(0);
+ files.removeFirst();
} else {
onlyVersion = false;
}