From 6bf296cff0e3479880a193906c3de48e4012764d Mon Sep 17 00:00:00 2001 From: Christian Date: Wed, 28 Oct 2026 19:29:05 +0000 Subject: [PATCH 1/2] Update auf Java 21 --- .devcontainer/devcontainer.json | 2 +- .github/workflows/maven-ci.yml | 2 +- README.md | 3 +++ pom.xml | 11 +++-------- 4 files changed, 8 insertions(+), 10 deletions(-) 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 From 5a5663aff9f12c14128e5a8eef8494baf3ec4091 Mon Sep 17 00:00:00 2001 From: Christian Date: Wed, 28 Oct 2026 19:36:43 +0000 Subject: [PATCH 2/2] Migration nach Java 21 mit OpenRewrite --- src/main/java/com/bitctrl/beans/BeanEvent.java | 2 ++ src/main/java/com/bitctrl/commands/CommandFinishedEvent.java | 2 ++ src/main/java/com/bitctrl/graph/GraphAlgorithm.java | 2 +- src/main/java/com/bitctrl/model/ModelElement.java | 2 ++ src/main/java/com/bitctrl/model/NamedObject.java | 3 +++ src/main/java/com/bitctrl/modell/DAOEvent.java | 4 +++- src/main/java/com/bitctrl/modell/DAOException.java | 3 +++ src/main/java/com/bitctrl/net/IP.java | 2 ++ src/main/java/com/bitctrl/net/MAC.java | 2 ++ src/main/java/com/bitctrl/text/CheckText.java | 4 ++-- src/main/java/com/bitctrl/util/ListChangedEvent.java | 2 ++ src/main/java/com/bitctrl/util/Timestamp.java | 2 ++ src/main/java/com/bitctrl/util/TreeProperties.java | 2 ++ src/main/java/com/bitctrl/util/TwoDimensionalMap.java | 2 ++ src/main/java/com/bitctrl/util/jar/JarVersionInfo.java | 2 +- 15 files changed, 31 insertions(+), 5 deletions(-) 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; }