From c9316f08202da48817e500d929c208db3dcf8c86 Mon Sep 17 00:00:00 2001
From: latlon team <info@lat-lon.de>
Date: Tue, 5 Dec 2023 10:41:10 +0000
Subject: [PATCH] Code drop

- XPLANBOX-2549 add missing docker labels (c43884bdf)
- XPLANBOX-2565 no release job after scheduled operation (2fa11be33)
- XPLANBOX-2570 - Fix syntax error (118170ff2)
- XPLANBOX-2568 - set XPlanTransformCLI to deprecated (2355dddb0)
- XPLANBOX-2568 - added deprecated to XPlanTransformCLI (0af36dff9)
- XPLANBOX-2474 - added add tzdata (8fd73e7c8)
- XPLANBOX-2480 - XPlanManagerAPI: create war file and repackaged war file (45982c91b)
- XPLANBOX-2480 - XPlanDokumenteAPI: create war file and repackaged war file (2ad16c260)
- XPLANBOX-2480 - removed files, fixed WAR_FILE (79a936e48)
- XPLANBOX-2480 - XPlanValdiatorAPI: create war file and repackaged war file (704a1bbb1)

Co-authored-by: Dirk Stenger <stenger@lat-lon.de>
Co-authored-by: Lyn Elisa Goltz <goltz@lat-lon.de>
Co-authored-by: Marc Guillemot <guillemot@lat-lon.de>

Dropped from commit: 4629a368fca2d046320552a6a92f49f018c1d99b
---
 .gitlab-ci.yml                                |  5 +-
 xplan-api/xplan-api-dokumente/Dockerfile      |  4 +-
 xplan-api/xplan-api-dokumente/pom.xml         | 48 ++++++------
 xplan-api/xplan-api-dokumente/run.sh          |  2 +-
 xplan-api/xplan-api-manager/Dockerfile        |  4 +-
 xplan-api/xplan-api-manager/pom.xml           | 74 ++++++++++---------
 xplan-api/xplan-api-manager/run.sh            |  2 +-
 xplan-api/xplan-api-validator/Dockerfile      |  4 +-
 xplan-api/xplan-api-validator/pom.xml         | 48 ++++++------
 xplan-api/xplan-api-validator/run.sh          |  2 +-
 xplan-cli/xplan-transform-cli/pom.xml         |  1 +
 .../transform/cli/TransformAllExecutor.java   |  1 +
 .../cli/TransformApplicationRunner.java       |  1 +
 .../cli/TransformationSynchronizer.java       |  1 +
 .../transform/cli/TransformingValidator.java  |  1 +
 .../xplan/transform/cli/ValidateExecutor.java |  1 +
 .../transform/cli/XPlanTransformCLI.java      |  4 +-
 .../cli/config/ApplicationContext.java        |  1 +
 .../result/CsvTransformationResultWriter.java |  1 +
 .../FileTransformationResultWriter.java       |  1 +
 .../result/TransformationResultWriter.java    |  1 +
 .../result/TransformingValidationResult.java  |  1 +
 .../src/main/asciidoc/XPlanTransform_CLI.adoc |  7 +-
 .../src/main/asciidoc/architektur.adoc        |  2 +
 xplan-webapps/xplan-root/Dockerfile           | 19 ++++-
 25 files changed, 139 insertions(+), 97 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2fccb5d308..57dc941789 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -102,7 +102,10 @@ maven-release:
   stage: deploy
   only:
     - main
-  when: manual
+  rules:
+  - if: $OPERATION != null
+    when: never 
+  - when: manual
   before_script:
   - mkdir -p ~/.ssh/
   - cp $DEPLOY_PRIVATE_KEY ~/.ssh/id_rsa && chmod 600 ~/.ssh/id_rsa
diff --git a/xplan-api/xplan-api-dokumente/Dockerfile b/xplan-api/xplan-api-dokumente/Dockerfile
index aa8aa56441..1a69e8c573 100644
--- a/xplan-api/xplan-api-dokumente/Dockerfile
+++ b/xplan-api/xplan-api-dokumente/Dockerfile
@@ -7,7 +7,7 @@ FROM eclipse-temurin:11.0.21_9-jre-alpine
 ARG BUILD_DATE=?
 ARG DOCKER_IMAGE_NAME=?
 ARG GIT_REVISION=?
-ARG JAR_FILE=target/*.jar
+ARG WAR_FILE=target/*-repackaged.war
 ARG XPLANBOX_VERSION=latest
 
 # see https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
@@ -34,7 +34,7 @@ ENV JAVA_ADDITIONAL_ARG_JMX_EXPORTER='-javaagent:$JMX_EXPORTER_DIR/jmx_prometheu
 ENV JAVA_ADDITIONAL_ARG_APP="-DXPLANBOX_CONFIG=/xplanbox/xplan-dokumenten-config/ -Duser.timezone=Europe/Berlin"
 ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree
 
-COPY ${JAR_FILE} /xplanbox/app.jar
+COPY ${WAR_FILE} /xplanbox/app.war
 COPY run.sh /xplanbox/
 
 USER 1001
diff --git a/xplan-api/xplan-api-dokumente/pom.xml b/xplan-api/xplan-api-dokumente/pom.xml
index 9077b397a8..f548a13ffc 100755
--- a/xplan-api/xplan-api-dokumente/pom.xml
+++ b/xplan-api/xplan-api-dokumente/pom.xml
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <artifactId>xplan-api-dokumente</artifactId>
-  <packaging>jar</packaging>
+  <packaging>war</packaging>
 
   <parent>
     <groupId>de.latlon.product.xplanbox</groupId>
@@ -21,12 +22,15 @@
       </dependency>
     </dependencies>
   </dependencyManagement>
-  
+
   <build>
-	<plugins>
+    <plugins>
       <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
+        <configuration>
+          <classifier>repackaged</classifier>
+        </configuration>
         <executions>
           <execution>
             <goals>
@@ -51,16 +55,16 @@
         </executions>
       </plugin>
       <plugin>
-		  <groupId>org.apache.maven.plugins</groupId>
-		  <artifactId>maven-jar-plugin</artifactId>
-		  <configuration>
-            <archive>
-              <manifest>
-                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-              </manifest>
-            </archive>
-		  </configuration>
-	  </plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
 
@@ -199,10 +203,10 @@
       <artifactId>jersey-test-framework-core</artifactId>
       <scope>test</scope>
       <exclusions>
-      	<exclusion>
-      		<groupId>junit</groupId>
-      		<artifactId>junit</artifactId>
-      	</exclusion>
+        <exclusion>
+          <groupId>junit</groupId>
+          <artifactId>junit</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
@@ -210,10 +214,10 @@
       <artifactId>jersey-test-framework-provider-inmemory</artifactId>
       <scope>test</scope>
       <exclusions>
-      	<exclusion>
-      		<groupId>junit</groupId>
-      		<artifactId>junit</artifactId>
-      	</exclusion>
+        <exclusion>
+          <groupId>junit</groupId>
+          <artifactId>junit</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
diff --git a/xplan-api/xplan-api-dokumente/run.sh b/xplan-api/xplan-api-dokumente/run.sh
index d12d67ccd8..9da77a3583 100755
--- a/xplan-api/xplan-api-dokumente/run.sh
+++ b/xplan-api/xplan-api-dokumente/run.sh
@@ -7,4 +7,4 @@ if [ -n "${ALL_ADDITIONAL_ARGS}" ]; then
     echo "xPlanBox JAVA_OPTS set: $JAVA_OPTS"
 fi
 
-exec java $JAVA_OPTS -jar /xplanbox/app.jar
+exec java $JAVA_OPTS -jar /xplanbox/app.war
diff --git a/xplan-api/xplan-api-manager/Dockerfile b/xplan-api/xplan-api-manager/Dockerfile
index 1c343ab7e6..28905fbf08 100644
--- a/xplan-api/xplan-api-manager/Dockerfile
+++ b/xplan-api/xplan-api-manager/Dockerfile
@@ -5,7 +5,7 @@ FROM ${XPLANBOX_IMAGE_NAME_PREFIX}/xplan-docker-tomcat-gdal:$XPLANBOX_VERSION
 ARG BUILD_DATE=?
 ARG DOCKER_IMAGE_NAME=?
 ARG GIT_REVISION=?
-ARG JAR_FILE=target/*.jar
+ARG WAR_FILE=target/*-repackaged.war
 ARG XPLANBOX_VERSION=latest
 
 # see https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
@@ -24,7 +24,7 @@ ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree
 
 ENV JAVA_ADDITIONAL_ARG_APP="-DXPLANBOX_CONFIG=/xplanbox/xplan-manager-config/ -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Djts.overlay=ng"
 
-COPY ${JAR_FILE} /xplanbox/app.jar
+COPY ${WAR_FILE} /xplanbox/app.war
 COPY run.sh /xplanbox/
 
 USER 1001
diff --git a/xplan-api/xplan-api-manager/pom.xml b/xplan-api/xplan-api-manager/pom.xml
index 0f95df35f0..c6d801e5ac 100644
--- a/xplan-api/xplan-api-manager/pom.xml
+++ b/xplan-api/xplan-api-manager/pom.xml
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <artifactId>xplan-api-manager</artifactId>
-  <packaging>jar</packaging>
+  <packaging>war</packaging>
 
   <parent>
     <groupId>de.latlon.product.xplanbox</groupId>
@@ -21,13 +22,16 @@
       </dependency>
     </dependencies>
   </dependencyManagement>
-  
+
   <build>
     <plugins>
       <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
-       <executions>
+        <configuration>
+          <classifier>repackaged</classifier>
+        </configuration>
+        <executions>
           <execution>
             <goals>
               <goal>repackage</goal>
@@ -51,15 +55,15 @@
         </executions>
       </plugin>
       <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-jar-plugin</artifactId>
-          <configuration>
-            <archive>
-              <manifest>
-                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-              </manifest>
-            </archive>
-          </configuration>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+            </manifest>
+          </archive>
+        </configuration>
       </plugin>
     </plugins>
   </build>
@@ -166,10 +170,10 @@
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
       <exclusions>
-          <exclusion>
-              <groupId>org.apache.tomcat.embed</groupId>
-              <artifactId>tomcat-embed-el</artifactId>
-          </exclusion>
+        <exclusion>
+          <groupId>org.apache.tomcat.embed</groupId>
+          <artifactId>tomcat-embed-el</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
     <!-- logging -->
@@ -223,26 +227,26 @@
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-test</artifactId>
       <scope>test</scope>
-        <exclusions>
-          <exclusion>
-            <groupId>*</groupId>
-              <artifactId>*</artifactId>
-            </exclusion>
-        </exclusions>
+      <exclusions>
+        <exclusion>
+          <groupId>*</groupId>
+          <artifactId>*</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>org.glassfish.jersey.test-framework</groupId>
       <artifactId>jersey-test-framework-core</artifactId>
       <scope>test</scope>
       <exclusions>
-          <exclusion>
-              <groupId>org.hamcrest</groupId>
-              <artifactId>hamcrest-core</artifactId>
-          </exclusion>
-          <exclusion>
-              <groupId>junit</groupId>
-              <artifactId>junit</artifactId>
-          </exclusion>
+        <exclusion>
+          <groupId>org.hamcrest</groupId>
+          <artifactId>hamcrest-core</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>junit</groupId>
+          <artifactId>junit</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
@@ -250,10 +254,10 @@
       <artifactId>jersey-test-framework-provider-inmemory</artifactId>
       <scope>test</scope>
       <exclusions>
-          <exclusion>
-              <groupId>junit</groupId>
-              <artifactId>junit</artifactId>
-          </exclusion>
+        <exclusion>
+          <groupId>junit</groupId>
+          <artifactId>junit</artifactId>
+        </exclusion>
       </exclusions>
     </dependency>
     <dependency>
diff --git a/xplan-api/xplan-api-manager/run.sh b/xplan-api/xplan-api-manager/run.sh
index d12d67ccd8..9da77a3583 100755
--- a/xplan-api/xplan-api-manager/run.sh
+++ b/xplan-api/xplan-api-manager/run.sh
@@ -7,4 +7,4 @@ if [ -n "${ALL_ADDITIONAL_ARGS}" ]; then
     echo "xPlanBox JAVA_OPTS set: $JAVA_OPTS"
 fi
 
-exec java $JAVA_OPTS -jar /xplanbox/app.jar
+exec java $JAVA_OPTS -jar /xplanbox/app.war
diff --git a/xplan-api/xplan-api-validator/Dockerfile b/xplan-api/xplan-api-validator/Dockerfile
index c236f94bbd..8006e14dd4 100644
--- a/xplan-api/xplan-api-validator/Dockerfile
+++ b/xplan-api/xplan-api-validator/Dockerfile
@@ -7,7 +7,7 @@ FROM eclipse-temurin:11.0.21_9-jre-alpine
 ARG BUILD_DATE=?
 ARG DOCKER_IMAGE_NAME=?
 ARG GIT_REVISION=?
-ARG JAR_FILE=target/*.jar
+ARG WAR_FILE=target/*-repackaged.war
 ARG XPLANBOX_VERSION=latest
 
 # see https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
@@ -34,7 +34,7 @@ ENV JAVA_ADDITIONAL_ARG_JMX_EXPORTER='-javaagent:$JMX_EXPORTER_DIR/jmx_prometheu
 ENV JAVA_ADDITIONAL_ARG_APP="-DXPLANBOX_CONFIG=/xplanbox/xplan-validator-config/ -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Djts.overlay=ng -Duser.timezone=Europe/Berlin"
 ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree
 
-COPY ${JAR_FILE} /xplanbox/app.jar
+COPY ${WAR_FILE} /xplanbox/app.war
 COPY run.sh /xplanbox/
 
 USER 1001
diff --git a/xplan-api/xplan-api-validator/pom.xml b/xplan-api/xplan-api-validator/pom.xml
index 994a97cbff..74b3e5c315 100755
--- a/xplan-api/xplan-api-validator/pom.xml
+++ b/xplan-api/xplan-api-validator/pom.xml
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <artifactId>xplan-api-validator</artifactId>
-  <packaging>jar</packaging>
+  <packaging>war</packaging>
 
   <parent>
     <groupId>de.latlon.product.xplanbox</groupId>
@@ -43,7 +44,9 @@
             <port>8080</port>
             <idleTimeout>60000</idleTimeout>
           </httpConnector>
-          <jvmArgs>--illegal-access=warn --add-opens java.base/java.lang=ALL-UNNAMED -Dorg.eclipse.jetty.webapp.LEVEL=DEBUG -Dcatalina.base=${project.basedir}/target</jvmArgs>
+          <jvmArgs>--illegal-access=warn --add-opens java.base/java.lang=ALL-UNNAMED
+            -Dorg.eclipse.jetty.webapp.LEVEL=DEBUG -Dcatalina.base=${project.basedir}/target
+          </jvmArgs>
         </configuration>
         <!--
         <executions>
@@ -71,13 +74,16 @@
       <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
-            <executions>
-                <execution>
-                    <goals>
-                        <goal>repackage</goal>
-                    </goals>
-                </execution>
-            </executions>
+        <configuration>
+          <classifier>repackaged</classifier>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>repackage</goal>
+            </goals>
+          </execution>
+        </executions>
       </plugin>
       <plugin><!-- redeclare here to run *after* spring-boot repackage -->
         <groupId>io.fabric8</groupId>
@@ -95,16 +101,16 @@
         </executions>
       </plugin>
       <plugin>
-		  <groupId>org.apache.maven.plugins</groupId>
-		  <artifactId>maven-jar-plugin</artifactId>
-		  <configuration>
-            <archive>
-              <manifest>
-                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-              </manifest>
-            </archive>
-		  </configuration>
-	  </plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <configuration>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
   <dependencies>
@@ -221,7 +227,7 @@
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-web</artifactId>
     </dependency>
-    
+
     <!-- logging -->
     <dependency>
       <groupId>org.slf4j</groupId>
diff --git a/xplan-api/xplan-api-validator/run.sh b/xplan-api/xplan-api-validator/run.sh
index d12d67ccd8..9da77a3583 100755
--- a/xplan-api/xplan-api-validator/run.sh
+++ b/xplan-api/xplan-api-validator/run.sh
@@ -7,4 +7,4 @@ if [ -n "${ALL_ADDITIONAL_ARGS}" ]; then
     echo "xPlanBox JAVA_OPTS set: $JAVA_OPTS"
 fi
 
-exec java $JAVA_OPTS -jar /xplanbox/app.jar
+exec java $JAVA_OPTS -jar /xplanbox/app.war
diff --git a/xplan-cli/xplan-transform-cli/pom.xml b/xplan-cli/xplan-transform-cli/pom.xml
index daa7727962..ed8eb4c838 100644
--- a/xplan-cli/xplan-transform-cli/pom.xml
+++ b/xplan-cli/xplan-transform-cli/pom.xml
@@ -3,6 +3,7 @@
   <modelVersion>4.0.0</modelVersion>
   <artifactId>xplan-transform-cli</artifactId>
   <description>Kommandozeilentool fuer die Transformation zwischen XPlanGML Versionen</description>
+  <!-- XPlanTransformCLI is deprecated and will be removed in a future version. -->
 
   <parent>
     <groupId>de.latlon.product.xplanbox</groupId>
diff --git a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformAllExecutor.java b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformAllExecutor.java
index 4439f0302f..8b013b097c 100644
--- a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformAllExecutor.java
+++ b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformAllExecutor.java
@@ -32,6 +32,7 @@ import java.sql.SQLException;
 import static de.latlon.xplan.commons.cli.DatabaseUtils.closeQuietly;
 
 /**
+ * @deprecated will be removed in a future version.
  * @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz </a>
  */
 public class TransformAllExecutor {
diff --git a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformApplicationRunner.java b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformApplicationRunner.java
index 9889d23d36..5ddf8985f7 100644
--- a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformApplicationRunner.java
+++ b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformApplicationRunner.java
@@ -45,6 +45,7 @@ import static java.nio.file.Files.exists;
 import static java.nio.file.Files.isDirectory;
 
 /**
+ * @deprecated will be removed in a future version.
  * @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz </a>
  */
 @Component
diff --git a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformationSynchronizer.java b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformationSynchronizer.java
index 5d3d941984..258ec085ce 100644
--- a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformationSynchronizer.java
+++ b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformationSynchronizer.java
@@ -57,6 +57,7 @@ import static de.latlon.xplan.commons.XPlanVersion.XPLAN_41;
 import static de.latlon.xplan.transform.cli.TransformApplicationRunner.LOG_TABLE_NAME;
 
 /**
+ * @deprecated will be removed in a future version.
  * @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz </a>
  */
 public class TransformationSynchronizer implements Synchronizer {
diff --git a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformingValidator.java b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformingValidator.java
index 1769cb36ba..06ffe5d1d8 100644
--- a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformingValidator.java
+++ b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/TransformingValidator.java
@@ -42,6 +42,7 @@ import java.io.IOException;
 import java.io.InputStream;
 
 /**
+ * @deprecated will be removed in a future version.
  * @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz </a>
  */
 public class TransformingValidator {
diff --git a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/ValidateExecutor.java b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/ValidateExecutor.java
index 2d13dbd5d4..a463c55571 100644
--- a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/ValidateExecutor.java
+++ b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/ValidateExecutor.java
@@ -32,6 +32,7 @@ import java.util.List;
 import static de.latlon.xplan.commons.XPlanVersion.XPLAN_41;
 
 /**
+ * @deprecated will be removed in a future version.
  * @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz </a>
  */
 public class ValidateExecutor {
diff --git a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/XPlanTransformCLI.java b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/XPlanTransformCLI.java
index b9d0347c58..a2e0fb7607 100644
--- a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/XPlanTransformCLI.java
+++ b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/XPlanTransformCLI.java
@@ -20,18 +20,16 @@
  */
 package de.latlon.xplan.transform.cli;
 
-import de.latlon.xplan.transform.cli.config.ApplicationContext;
 import org.springframework.boot.Banner;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Import;
 
 import static de.latlon.xplan.transform.cli.TransformApplicationRunner.LOG_TABLE_NAME;
 
 /**
  * Kommandozeilenwerkzeug (command line interface) zum Verwalten von XPlanArchiven.
  *
+ * @deprecated will be removed in a future version.
  * @author <a href="mailto:schneider@occamlabs.de">Markus Schneider</a>
  * @since 1.0
  */
diff --git a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/config/ApplicationContext.java b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/config/ApplicationContext.java
index ad93bd480e..9aeb92d13b 100644
--- a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/config/ApplicationContext.java
+++ b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/config/ApplicationContext.java
@@ -58,6 +58,7 @@ import static de.latlon.xplan.manager.workspace.WorkspaceUtils.instantiateWorksp
 /**
  * Spring Application Context for initialising TransformTool components.
  *
+ * @deprecated will be removed in a future version.
  * @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz</a>
  */
 @Configuration
diff --git a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/CsvTransformationResultWriter.java b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/CsvTransformationResultWriter.java
index 234277f8f7..3f0a66cd14 100644
--- a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/CsvTransformationResultWriter.java
+++ b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/CsvTransformationResultWriter.java
@@ -40,6 +40,7 @@ import static java.nio.file.Files.newOutputStream;
 import static org.apache.commons.io.IOUtils.write;
 
 /**
+ * @deprecated will be removed in a future version.
  * @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz </a>
  */
 public class CsvTransformationResultWriter implements TransformationResultWriter {
diff --git a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/FileTransformationResultWriter.java b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/FileTransformationResultWriter.java
index 7c55188b8d..dbfd1138a6 100644
--- a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/FileTransformationResultWriter.java
+++ b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/FileTransformationResultWriter.java
@@ -37,6 +37,7 @@ import static java.nio.file.Files.newOutputStream;
 import static org.apache.commons.io.IOUtils.write;
 
 /**
+ * @deprecated will be removed in a future version.
  * @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz </a>
  */
 public class FileTransformationResultWriter implements TransformationResultWriter {
diff --git a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/TransformationResultWriter.java b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/TransformationResultWriter.java
index 1b5ebd5f05..d3d535a7a8 100644
--- a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/TransformationResultWriter.java
+++ b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/TransformationResultWriter.java
@@ -26,6 +26,7 @@ import de.latlon.xplan.validator.syntactic.report.SyntacticValidatorResult;
 import java.io.Closeable;
 
 /**
+ * @deprecated will be removed in a future version.
  * @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz </a>
  */
 public interface TransformationResultWriter extends Closeable {
diff --git a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/TransformingValidationResult.java b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/TransformingValidationResult.java
index aee61dffac..49e2fdf37f 100644
--- a/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/TransformingValidationResult.java
+++ b/xplan-cli/xplan-transform-cli/src/main/java/de/latlon/xplan/transform/cli/result/TransformingValidationResult.java
@@ -25,6 +25,7 @@ import de.latlon.xplan.manager.web.shared.XPlan;
 import de.latlon.xplan.validator.syntactic.report.SyntacticValidatorResult;
 
 /**
+ * @deprecated will be removed in a future version.
  * @author <a href="mailto:goltz@lat-lon.de">Lyn Goltz </a>
  */
 public class TransformingValidationResult {
diff --git a/xplan-documentation/xplan-benutzerhandbuch/src/main/asciidoc/XPlanTransform_CLI.adoc b/xplan-documentation/xplan-benutzerhandbuch/src/main/asciidoc/XPlanTransform_CLI.adoc
index 863c5b4871..fc23267902 100644
--- a/xplan-documentation/xplan-benutzerhandbuch/src/main/asciidoc/XPlanTransform_CLI.adoc
+++ b/xplan-documentation/xplan-benutzerhandbuch/src/main/asciidoc/XPlanTransform_CLI.adoc
@@ -5,12 +5,9 @@ Die Komponente XPlanTransformCLI ist ein Kommandozeilenwerkzeug, welches dem Fac
 
 Die transformierten Pläne können entweder syntaktisch validiert und das Validierungsergebnis in eine CSV-Datei geschrieben werden oder die transformierten Pläne werden in die entsprechende Datenhaltung eingespielt.
 
-[NOTE]
-====
+NOTE: Unterstützt wird derzeit die Transformation von XPlanGML 4.1 nach XPlanGML 5.1
 
-Unterstützt wird derzeit die Transformation von XPlanGML 4.1 nach XPlanGML 5.1
-
-====
+IMPORTANT: Das XPlanTransformCLI ist veraltet und wird in zukünftigen Versionen der xPlanBox entfernt
 
 [[xplantransform-cli-installation]]
 === Installation
diff --git a/xplan-documentation/xplan-betriebshandbuch/src/main/asciidoc/architektur.adoc b/xplan-documentation/xplan-betriebshandbuch/src/main/asciidoc/architektur.adoc
index 3c3b3888e8..0f55c36991 100644
--- a/xplan-documentation/xplan-betriebshandbuch/src/main/asciidoc/architektur.adoc
+++ b/xplan-documentation/xplan-betriebshandbuch/src/main/asciidoc/architektur.adoc
@@ -88,6 +88,8 @@ welches dem Fachadministrator der xPlanBox ermöglicht,
 bereits über den XPlanManagerWeb oder das XPlanManagerCLI
 importierte Pläne in eine aktuellere XPlanGML-Version zu transformieren und in der <<xplandb>> zu speichern.
 
+IMPORTANT: Das XPlanTransformCLI ist veraltet und wird in zukünftigen Versionen der xPlanBox entfernt.
+
 [[xplanevaluationschemasynchronize-cli]]
 === XPlanAuswerteschemaCLI
 
diff --git a/xplan-webapps/xplan-root/Dockerfile b/xplan-webapps/xplan-root/Dockerfile
index f0817e2215..b2d3abfe2f 100644
--- a/xplan-webapps/xplan-root/Dockerfile
+++ b/xplan-webapps/xplan-root/Dockerfile
@@ -1,5 +1,22 @@
 FROM httpd:2.4.58-alpine
+ARG BUILD_DATE=?
+ARG DOCKER_IMAGE_NAME=?
+ARG GIT_REVISION=?
+ARG WEB_CONTEXT=ROOT
+ARG XPLANBOX_VERSION=latest
 
+# see https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys
+LABEL "org.opencontainers.image.created"="$BUILD_DATE" \
+	"org.opencontainers.image.description"="ozgxplanung xPlanBox component" \
+	"org.opencontainers.image.licenses"="GNU Affero General Public License & others" \
+	"org.opencontainers.image.ref.name"="$DOCKER_IMAGE_NAME" \
+	"org.opencontainers.image.revision"="$GIT_REVISION" \
+	"org.opencontainers.image.title"="ozgxplanung - $DOCKER_IMAGE_NAME" \
+	"org.opencontainers.image.url"="https://gitlab.opencode.de/diplanung/ozgxplanung" \
+	"org.opencontainers.image.vendor"="lat/lon GmbH" \
+	"org.opencontainers.image.version"="$XPLANBOX_VERSION"
+
+RUN apk add -U tzdata
 ENV TZ=Europe/Berlin
 
-COPY target/xplan-root-*-default /usr/local/apache2/htdocs/
\ No newline at end of file
+COPY target/xplan-root-*-default /usr/local/apache2/htdocs/
-- 
GitLab