diff --git a/java-quarkus/.gitignore b/java-quarkus/.gitignore deleted file mode 100644 index cec4d77..0000000 --- a/java-quarkus/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -build/ -.settings/ -.gradle/ -.classpath -.project -.vscode/ -bin/ -.idea/ -/.eclipse-pmd diff --git a/java-quarkus/.gitlab-ci.yml b/java-quarkus/.gitlab-ci.yml deleted file mode 100644 index ed4caf6..0000000 --- a/java-quarkus/.gitlab-ci.yml +++ /dev/null @@ -1,38 +0,0 @@ -variables: - GRADLE_OPTS: "-Dorg.gradle.daemon=false" - -before_script: - - source "/home/gitlab-runner/.sdkman/bin/sdkman-init.sh" - - sdk u java 11.0.12-open - - chmod +x ./gradlew - -stages: - - build - - test - - analysis - - publish - -Build Application: - stage: build - script: ./gradlew --build-cache compileJava - -Create Documentation: - stage: build - script: ./gradlew asciidoctorPdf - -Test Application: - stage: test - script: ./gradlew check - -sonarqube-check: - stage: analysis - variables: - SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache - GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task - script: ./gradlew sonarqube - allow_failure: true - -Publish Artifacts: - stage: publish - script: ./gradlew publish - diff --git a/java-quarkus/README.md b/java-quarkus/README.md deleted file mode 100644 index 11ec472..0000000 --- a/java-quarkus/README.md +++ /dev/null @@ -1,60 +0,0 @@ -# kontor-quarkus Project - -This project uses Quarkus, the Supersonic Subatomic Java Framework. - -If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ . - -## Running the application in dev mode - -You can run your application in dev mode that enables live coding using: -```shell script -./gradlew quarkusDev -``` - -> **_NOTE:_** Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/. - -## Packaging and running the application - -The application can be packaged using: -```shell script -./gradlew build -``` -It produces the `quarkus-run.jar` file in the `build/quarkus-app/` directory. -Be aware that it’s not an _über-jar_ as the dependencies are copied into the `build/quarkus-app/lib/` directory. - -The application is now runnable using `java -jar build/quarkus-app/quarkus-run.jar`. - -If you want to build an _über-jar_, execute the following command: -```shell script -./gradlew build -Dquarkus.package.type=uber-jar -``` - -The application, packaged as an _über-jar_, is now runnable using `java -jar build/*-runner.jar`. - -## Creating a native executable - -You can create a native executable using: -```shell script -./gradlew build -Dquarkus.package.type=native -``` - -Or, if you don't have GraalVM installed, you can run the native executable build in a container using: -```shell script -./gradlew build -Dquarkus.package.type=native -Dquarkus.native.container-build=true -``` - -You can then execute your native executable with: `./build/kontor-quarkus-1.0.0-SNAPSHOT-runner` - -If you want to learn more about building native executables, please consult https://quarkus.io/guides/gradle-tooling. - -## Related Guides - -- RESTEasy Reactive ([guide](https://quarkus.io/guides/resteasy-reactive)): A JAX-RS implementation utilizing build time processing and Vert.x. This extension is not compatible with the quarkus-resteasy extension, or any of the extensions that depend on it. - -## Provided Code - -### RESTEasy Reactive - -Easily start your Reactive RESTful Web Services - -[Related guide section...](https://quarkus.io/guides/getting-started-reactive#reactive-jax-rs-resources) diff --git a/java-quarkus/build.gradle b/java-quarkus/build.gradle deleted file mode 100644 index 57e8102..0000000 --- a/java-quarkus/build.gradle +++ /dev/null @@ -1,158 +0,0 @@ -plugins { - id 'java' - id 'maven-publish' - id 'jacoco' - id 'jacoco-report-aggregation' - id 'pmd' - id 'checkstyle' - id 'jvm-test-suite' - id 'io.quarkus' - id "org.sonarqube" version "3.3" - alias(versionsLibs.plugins.asciidoctorConvert) - alias(versionsLibs.plugins.asciidoctorPdf) - alias(versionsLibs.plugins.asciidoctorGems) -} - -repositories { - ruby.gems() - maven { - url "https://nexus.thpeetz.de/nexus/content/groups/public/" - } - mavenCentral() - mavenLocal() -} - -dependencies { - implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}") - implementation 'io.quarkus:quarkus-resteasy-reactive' - implementation 'io.quarkus:quarkus-resteasy-reactive-jackson' - implementation 'io.quarkus:quarkus-arc' - testImplementation 'io.quarkus:quarkus-junit5' - testImplementation 'io.rest-assured:rest-assured' - testImplementation("io.quarkus:quarkus-jacoco") -} - -final BUILD_DATE = new Date().format('dd.MM.yyyy').toString() -def pdfFile = layout.buildDirectory.file("docs/asciidocPdf/" + project.name + ".pdf") -def pdfArtifact = artifacts.add('archives', pdfFile.get().asFile) { - type 'pdf' - builtBy asciidoctorPdf -} - -tasks.withType(GenerateModuleMetadata).configureEach { - suppressedValidationErrors.add('enforced-platform') -} - -publishing { - publications { - quarkusApp(MavenPublication){ - from components.java - } - docs(MavenPublication) { - groupId = group + '.docs' - artifactId = project.name - artifact pdfArtifact - } - } - repositories { - maven { - name = 'nexusPeetz' - def releasesRepoUrl = "https://nexus.thpeetz.de/nexus/content/repositories/releases/" - def snapshotsRepoUrl = "https://nexus.thpeetz.de/nexus/content/repositories/snapshots/" - url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl - credentials(PasswordCredentials) - } - } -} - -java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 -} - -tasks.withType(GenerateModuleMetadata).configureEach { - suppressedValidationErrors.add('enforced-platform') -} - -compileJava { - options.encoding = 'UTF-8' - options.compilerArgs << '-parameters' -} - -compileTestJava { - options.encoding = 'UTF-8' -} - -jacocoTestReport { - reports { - xml.required = true - } -} - -test.finalizedBy jacocoTestReport - - -pmd { - //ruleSetFiles = files("custom-pmd-ruleset.xml") - ruleSets = ["category/java/errorprone.xml", "category/java/bestpractices.xml"] - ignoreFailures = true -} - -tasks.withType(Checkstyle) { - reports { - xml.required = true - html.required = true - } -} - -testing { - suites { - test { - useJUnitJupiter() - } - } -} - -pmdTest.dependsOn("compileQuarkusTestGeneratedSourcesJava") -checkstyleTest.dependsOn("compileQuarkusTestGeneratedSourcesJava") -jacocoTestReport.dependsOn("compileQuarkusGeneratedSourcesJava") -pmdMain.dependsOn("compileQuarkusGeneratedSourcesJava") - -sonarqube { - properties { - property "sonar.host.url", "https://sonar.thpeetz.de" - property "sonar.qualitygate.wait", true - property "sonar.sourceEncoding", "UTF-8" - property "sonar.projectKey", "kontor_kontor-quarkus_AYQek8Mxz0hBjLSV8I8O" - property "sonar.login", "5ecd90dee57806857e07443a9b0efd3cd7774a81" - } -} - -tasks.named('sonarqube').configure { - dependsOn 'test', 'pmdMain', 'checkstyleMain', 'jacocoTestReport' -} - -asciidoctorPdf { - baseDirFollowsSourceFile() - - asciidoctorj { - attributes 'build-gradle': file('build.gradle'), - 'endpoint-url': 'https://www.thpeetz.de', - 'source-highlighter': 'rouge', - 'imagesdir': './images', - 'toc': 'left', - 'toc-title': 'Inhaltsverzeichnis', - 'revdate': BUILD_DATE, - 'revnumber': { project.version.toString() }, - 'revremark': 'Entwurf', - 'chapter-label': '', - 'icons': 'font', - 'idprefix': 'id_', - 'idseparator': '-', - 'docinfo1': '' - } -} - -wrapper { - gradleVersion = "7.5" -} diff --git a/java-quarkus/config/checkstyle/checkstyle.xml b/java-quarkus/config/checkstyle/checkstyle.xml deleted file mode 100644 index 2574b06..0000000 --- a/java-quarkus/config/checkstyle/checkstyle.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/java-quarkus/gradle.properties b/java-quarkus/gradle.properties deleted file mode 100644 index c30b39f..0000000 --- a/java-quarkus/gradle.properties +++ /dev/null @@ -1,9 +0,0 @@ -#Gradle properties -group=de.thpeetz.kontor -version=1.0.0-SNAPSHOT - -quarkusPluginId=io.quarkus -quarkusPluginVersion=2.13.2.Final -quarkusPlatformGroupId=io.quarkus.platform -quarkusPlatformArtifactId=quarkus-bom -quarkusPlatformVersion=2.13.2.Final \ No newline at end of file diff --git a/java-quarkus/gradle/wrapper/gradle-wrapper.jar b/java-quarkus/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 62d4c05..0000000 Binary files a/java-quarkus/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/java-quarkus/gradle/wrapper/gradle-wrapper.properties b/java-quarkus/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index ae04661..0000000 --- a/java-quarkus/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/java-quarkus/gradlew b/java-quarkus/gradlew deleted file mode 100644 index fbd7c51..0000000 --- a/java-quarkus/gradlew +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/env sh - -# -# Copyright 2015 the original author or authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -## -## Gradle start up script for UN*X -## -############################################################################## - -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" - -warn () { - echo "$*" -} - -die () { - echo - echo "$*" - echo - exit 1 -} - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; - NONSTOP* ) - nonstop=true - ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" - else - JAVACMD="$JAVA_HOME/bin/java" - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi -fi - -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi - -# For Cygwin or MSYS, switch paths to Windows format before running java -if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi - # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" - fi - i=`expr $i + 1` - done - case $i in - 0) set -- ;; - 1) set -- "$args0" ;; - 2) set -- "$args0" "$args1" ;; - 3) set -- "$args0" "$args1" "$args2" ;; - 4) set -- "$args0" "$args1" "$args2" "$args3" ;; - 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac -fi - -# Escape application args -save () { - for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done - echo " " -} -APP_ARGS=`save "$@"` - -# Collect all arguments for the java command, following the shell quoting and substitution rules -eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" - -exec "$JAVACMD" "$@" diff --git a/java-quarkus/gradlew.bat b/java-quarkus/gradlew.bat deleted file mode 100644 index a9f778a..0000000 --- a/java-quarkus/gradlew.bat +++ /dev/null @@ -1,104 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%" == "" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto init - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:init -@rem Get command-line arguments, handling Windows variants - -if not "%OS%" == "Windows_NT" goto win9xME_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% - -:end -@rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/java-quarkus/settings.gradle b/java-quarkus/settings.gradle deleted file mode 100644 index 0ab2682..0000000 --- a/java-quarkus/settings.gradle +++ /dev/null @@ -1,11 +0,0 @@ -pluginManagement { - repositories { - mavenCentral() - gradlePluginPortal() - mavenLocal() - } - plugins { - id "${quarkusPluginId}" version "${quarkusPluginVersion}" - } -} -rootProject.name='kontor-quarkus' diff --git a/java-quarkus/src/docs/asciidoc/kontor-quarkus.adoc b/java-quarkus/src/docs/asciidoc/kontor-quarkus.adoc deleted file mode 100644 index d5d7ac4..0000000 --- a/java-quarkus/src/docs/asciidoc/kontor-quarkus.adoc +++ /dev/null @@ -1,84 +0,0 @@ -= Projektbeschreibung kontor-quarkus: Pflichtenheft und Projekthandbuch -:author: Thomas Peetz -:email: -:doctype: article -:sectnums: -:sectnumlevels: 4 -:toc: -:toclevels: 4 -:table-caption!: -:counter: table-number: 0 - -//[title="Dokumenthistorie", caption="Tabelle {counter:table-number} ", id="Tabelle-{counter:table-number}", options="header"] -//[title="Dokumenthistorie", id="Table-{counter:table-number}", options="header", cols="4"] -[title="Dokumenthistorie", id="Table-{counter:table-number}", options="header"] -|=== -| Version | Datum | Autor | Änderungsgrund / Bemerkungen -| 0.0.1 | 16.05.2022 | Thomas Peetz | Ersterstellung -|=== - -== Einführung - -=== Zweck - -=== Stakeholder des Systems - -=== Systemumfang - -==== Zielsetzung des Systems - -=== Systemübersicht - -==== Systemkontext - -==== Systemarchitektur - -==== Systemschnittstellen - -===== Realisierte Schnittstellen - -===== Verwendete Schnittstellen - -==== Logisches Datenmodell - -==== Einschränkungen - -== Anforderungen der Domäne - -=== Systemfunktionen - -==== Anwendungsfälle - -==== Akteure - -==== Zielgruppen - -=== Anforderungen - -==== Anforderungen an externe Schnittstellen - -==== Funktionale Anforderungen - -==== Qualitätsanforderungen - -==== Randbedingungen - -==== Weitere Anforderungen - -==== Wartungs- und Supportinformationen - -=== Verifikation - -[bibliography] -== Referenzen - -[glossary] -== Glossar - -== Verzeichnisse - -=== Abbildungsverzeichnis - -=== Tabellenverzeichnis - -<> <> diff --git a/java-quarkus/src/main/docker/Dockerfile.jvm b/java-quarkus/src/main/docker/Dockerfile.jvm deleted file mode 100644 index 476b644..0000000 --- a/java-quarkus/src/main/docker/Dockerfile.jvm +++ /dev/null @@ -1,94 +0,0 @@ -#### -# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode -# -# Before building the container image run: -# -# ./gradlew build -# -# Then, build the image with: -# -# docker build -f src/main/docker/Dockerfile.jvm -t quarkus/kontor-quarkus-jvm . -# -# Then run the container using: -# -# docker run -i --rm -p 8080:8080 quarkus/kontor-quarkus-jvm -# -# If you want to include the debug port into your docker image -# you will have to expose the debug port (default 5005) like this : EXPOSE 8080 5005 -# -# Then run the container using : -# -# docker run -i --rm -p 8080:8080 quarkus/kontor-quarkus-jvm -# -# This image uses the `run-java.sh` script to run the application. -# This scripts computes the command line to execute your Java application, and -# includes memory/GC tuning. -# You can configure the behavior using the following environment properties: -# - JAVA_OPTS: JVM options passed to the `java` command (example: "-verbose:class") -# - JAVA_OPTS_APPEND: User specified Java options to be appended to generated options -# in JAVA_OPTS (example: "-Dsome.property=foo") -# - JAVA_MAX_MEM_RATIO: Is used when no `-Xmx` option is given in JAVA_OPTS. This is -# used to calculate a default maximal heap memory based on a containers restriction. -# If used in a container without any memory constraints for the container then this -# option has no effect. If there is a memory constraint then `-Xmx` is set to a ratio -# of the container available memory as set here. The default is `50` which means 50% -# of the available memory is used as an upper boundary. You can skip this mechanism by -# setting this value to `0` in which case no `-Xmx` option is added. -# - JAVA_INITIAL_MEM_RATIO: Is used when no `-Xms` option is given in JAVA_OPTS. This -# is used to calculate a default initial heap memory based on the maximum heap memory. -# If used in a container without any memory constraints for the container then this -# option has no effect. If there is a memory constraint then `-Xms` is set to a ratio -# of the `-Xmx` memory as set here. The default is `25` which means 25% of the `-Xmx` -# is used as the initial heap size. You can skip this mechanism by setting this value -# to `0` in which case no `-Xms` option is added (example: "25") -# - JAVA_MAX_INITIAL_MEM: Is used when no `-Xms` option is given in JAVA_OPTS. -# This is used to calculate the maximum value of the initial heap memory. If used in -# a container without any memory constraints for the container then this option has -# no effect. If there is a memory constraint then `-Xms` is limited to the value set -# here. The default is 4096MB which means the calculated value of `-Xms` never will -# be greater than 4096MB. The value of this variable is expressed in MB (example: "4096") -# - JAVA_DIAGNOSTICS: Set this to get some diagnostics information to standard output -# when things are happening. This option, if set to true, will set -# `-XX:+UnlockDiagnosticVMOptions`. Disabled by default (example: "true"). -# - JAVA_DEBUG: If set remote debugging will be switched on. Disabled by default (example: -# true"). -# - JAVA_DEBUG_PORT: Port used for remote debugging. Defaults to 5005 (example: "8787"). -# - CONTAINER_CORE_LIMIT: A calculated core limit as described in -# https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt. (example: "2") -# - CONTAINER_MAX_MEMORY: Memory limit given to the container (example: "1024"). -# - GC_MIN_HEAP_FREE_RATIO: Minimum percentage of heap free after GC to avoid expansion. -# (example: "20") -# - GC_MAX_HEAP_FREE_RATIO: Maximum percentage of heap free after GC to avoid shrinking. -# (example: "40") -# - GC_TIME_RATIO: Specifies the ratio of the time spent outside the garbage collection. -# (example: "4") -# - GC_ADAPTIVE_SIZE_POLICY_WEIGHT: The weighting given to the current GC time versus -# previous GC times. (example: "90") -# - GC_METASPACE_SIZE: The initial metaspace size. (example: "20") -# - GC_MAX_METASPACE_SIZE: The maximum metaspace size. (example: "100") -# - GC_CONTAINER_OPTIONS: Specify Java GC to use. The value of this variable should -# contain the necessary JRE command-line options to specify the required GC, which -# will override the default of `-XX:+UseParallelGC` (example: -XX:+UseG1GC). -# - HTTPS_PROXY: The location of the https proxy. (example: "myuser@127.0.0.1:8080") -# - HTTP_PROXY: The location of the http proxy. (example: "myuser@127.0.0.1:8080") -# - NO_PROXY: A comma separated lists of hosts, IP addresses or domains that can be -# accessed directly. (example: "foo.example.com,bar.example.com") -# -### -FROM registry.access.redhat.com/ubi8/openjdk-11:1.14 - -ENV LANGUAGE='en_US:en' - - -# We make four distinct layers so if there are application changes the library layers can be re-used -COPY --chown=185 build/quarkus-app/lib/ /deployments/lib/ -COPY --chown=185 build/quarkus-app/*.jar /deployments/ -COPY --chown=185 build/quarkus-app/app/ /deployments/app/ -COPY --chown=185 build/quarkus-app/quarkus/ /deployments/quarkus/ - -EXPOSE 8080 -USER 185 -ENV AB_JOLOKIA_OFF="" -ENV JAVA_OPTS="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager" -ENV JAVA_APP_JAR="/deployments/quarkus-run.jar" - diff --git a/java-quarkus/src/main/docker/Dockerfile.legacy-jar b/java-quarkus/src/main/docker/Dockerfile.legacy-jar deleted file mode 100644 index 8f309c6..0000000 --- a/java-quarkus/src/main/docker/Dockerfile.legacy-jar +++ /dev/null @@ -1,90 +0,0 @@ -#### -# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode -# -# Before building the container image run: -# -# ./gradlew build -Dquarkus.package.type=legacy-jar -# -# Then, build the image with: -# -# docker build -f src/main/docker/Dockerfile.legacy-jar -t quarkus/kontor-quarkus-legacy-jar . -# -# Then run the container using: -# -# docker run -i --rm -p 8080:8080 quarkus/kontor-quarkus-legacy-jar -# -# If you want to include the debug port into your docker image -# you will have to expose the debug port (default 5005) like this : EXPOSE 8080 5005 -# -# Then run the container using : -# -# docker run -i --rm -p 8080:8080 quarkus/kontor-quarkus-legacy-jar -# -# This image uses the `run-java.sh` script to run the application. -# This scripts computes the command line to execute your Java application, and -# includes memory/GC tuning. -# You can configure the behavior using the following environment properties: -# - JAVA_OPTS: JVM options passed to the `java` command (example: "-verbose:class") -# - JAVA_OPTS_APPEND: User specified Java options to be appended to generated options -# in JAVA_OPTS (example: "-Dsome.property=foo") -# - JAVA_MAX_MEM_RATIO: Is used when no `-Xmx` option is given in JAVA_OPTS. This is -# used to calculate a default maximal heap memory based on a containers restriction. -# If used in a container without any memory constraints for the container then this -# option has no effect. If there is a memory constraint then `-Xmx` is set to a ratio -# of the container available memory as set here. The default is `50` which means 50% -# of the available memory is used as an upper boundary. You can skip this mechanism by -# setting this value to `0` in which case no `-Xmx` option is added. -# - JAVA_INITIAL_MEM_RATIO: Is used when no `-Xms` option is given in JAVA_OPTS. This -# is used to calculate a default initial heap memory based on the maximum heap memory. -# If used in a container without any memory constraints for the container then this -# option has no effect. If there is a memory constraint then `-Xms` is set to a ratio -# of the `-Xmx` memory as set here. The default is `25` which means 25% of the `-Xmx` -# is used as the initial heap size. You can skip this mechanism by setting this value -# to `0` in which case no `-Xms` option is added (example: "25") -# - JAVA_MAX_INITIAL_MEM: Is used when no `-Xms` option is given in JAVA_OPTS. -# This is used to calculate the maximum value of the initial heap memory. If used in -# a container without any memory constraints for the container then this option has -# no effect. If there is a memory constraint then `-Xms` is limited to the value set -# here. The default is 4096MB which means the calculated value of `-Xms` never will -# be greater than 4096MB. The value of this variable is expressed in MB (example: "4096") -# - JAVA_DIAGNOSTICS: Set this to get some diagnostics information to standard output -# when things are happening. This option, if set to true, will set -# `-XX:+UnlockDiagnosticVMOptions`. Disabled by default (example: "true"). -# - JAVA_DEBUG: If set remote debugging will be switched on. Disabled by default (example: -# true"). -# - JAVA_DEBUG_PORT: Port used for remote debugging. Defaults to 5005 (example: "8787"). -# - CONTAINER_CORE_LIMIT: A calculated core limit as described in -# https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt. (example: "2") -# - CONTAINER_MAX_MEMORY: Memory limit given to the container (example: "1024"). -# - GC_MIN_HEAP_FREE_RATIO: Minimum percentage of heap free after GC to avoid expansion. -# (example: "20") -# - GC_MAX_HEAP_FREE_RATIO: Maximum percentage of heap free after GC to avoid shrinking. -# (example: "40") -# - GC_TIME_RATIO: Specifies the ratio of the time spent outside the garbage collection. -# (example: "4") -# - GC_ADAPTIVE_SIZE_POLICY_WEIGHT: The weighting given to the current GC time versus -# previous GC times. (example: "90") -# - GC_METASPACE_SIZE: The initial metaspace size. (example: "20") -# - GC_MAX_METASPACE_SIZE: The maximum metaspace size. (example: "100") -# - GC_CONTAINER_OPTIONS: Specify Java GC to use. The value of this variable should -# contain the necessary JRE command-line options to specify the required GC, which -# will override the default of `-XX:+UseParallelGC` (example: -XX:+UseG1GC). -# - HTTPS_PROXY: The location of the https proxy. (example: "myuser@127.0.0.1:8080") -# - HTTP_PROXY: The location of the http proxy. (example: "myuser@127.0.0.1:8080") -# - NO_PROXY: A comma separated lists of hosts, IP addresses or domains that can be -# accessed directly. (example: "foo.example.com,bar.example.com") -# -### -FROM registry.access.redhat.com/ubi8/openjdk-11:1.14 - -ENV LANGUAGE='en_US:en' - - -COPY build/lib/* /deployments/lib/ -COPY build/*-runner.jar /deployments/quarkus-run.jar - -EXPOSE 8080 -USER 185 -ENV AB_JOLOKIA_OFF="" -ENV JAVA_OPTS="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager" -ENV JAVA_APP_JAR="/deployments/quarkus-run.jar" diff --git a/java-quarkus/src/main/docker/Dockerfile.native b/java-quarkus/src/main/docker/Dockerfile.native deleted file mode 100644 index d5a28b2..0000000 --- a/java-quarkus/src/main/docker/Dockerfile.native +++ /dev/null @@ -1,27 +0,0 @@ -#### -# This Dockerfile is used in order to build a container that runs the Quarkus application in native (no JVM) mode. -# -# Before building the container image run: -# -# ./gradlew build -Dquarkus.package.type=native -# -# Then, build the image with: -# -# docker build -f src/main/docker/Dockerfile.native -t quarkus/kontor-quarkus . -# -# Then run the container using: -# -# docker run -i --rm -p 8080:8080 quarkus/kontor-quarkus -# -### -FROM registry.access.redhat.com/ubi8/ubi-minimal:8.6 -WORKDIR /work/ -RUN chown 1001 /work \ - && chmod "g+rwX" /work \ - && chown 1001:root /work -COPY --chown=1001:root build/*-runner /work/application - -EXPOSE 8080 -USER 1001 - -CMD ["./application", "-Dquarkus.http.host=0.0.0.0"] diff --git a/java-quarkus/src/main/docker/Dockerfile.native-micro b/java-quarkus/src/main/docker/Dockerfile.native-micro deleted file mode 100644 index 55df6f9..0000000 --- a/java-quarkus/src/main/docker/Dockerfile.native-micro +++ /dev/null @@ -1,30 +0,0 @@ -#### -# This Dockerfile is used in order to build a container that runs the Quarkus application in native (no JVM) mode. -# It uses a micro base image, tuned for Quarkus native executables. -# It reduces the size of the resulting container image. -# Check https://quarkus.io/guides/quarkus-runtime-base-image for further information about this image. -# -# Before building the container image run: -# -# ./gradlew build -Dquarkus.package.type=native -# -# Then, build the image with: -# -# docker build -f src/main/docker/Dockerfile.native-micro -t quarkus/kontor-quarkus . -# -# Then run the container using: -# -# docker run -i --rm -p 8080:8080 quarkus/kontor-quarkus -# -### -FROM quay.io/quarkus/quarkus-micro-image:1.0 -WORKDIR /work/ -RUN chown 1001 /work \ - && chmod "g+rwX" /work \ - && chown 1001:root /work -COPY --chown=1001:root build/*-runner /work/application - -EXPOSE 8080 -USER 1001 - -CMD ["./application", "-Dquarkus.http.host=0.0.0.0"] diff --git a/java-quarkus/src/main/java/de/thpeetz/kontor/comics/ComicsResource.java b/java-quarkus/src/main/java/de/thpeetz/kontor/comics/ComicsResource.java deleted file mode 100644 index f6518b9..0000000 --- a/java-quarkus/src/main/java/de/thpeetz/kontor/comics/ComicsResource.java +++ /dev/null @@ -1,95 +0,0 @@ -package de.thpeetz.kontor.comics; - -import javax.inject.Inject; -import javax.ws.rs.GET; -import javax.ws.rs.POST; -import javax.ws.rs.Path; -import javax.ws.rs.Produces; -import javax.ws.rs.core.MediaType; - -import de.thpeetz.kontor.comics.service.ArtistService; -import de.thpeetz.kontor.comics.service.ComicsService; -import de.thpeetz.kontor.comics.service.PublisherService; - -@Path("/kontor/comics") -public class ComicsResource { - - @Inject - transient ComicsService comicsService; - - @Inject - transient ArtistService artistService; - - @Inject - transient PublisherService publisherService; - - @GET - @Produces(MediaType.TEXT_HTML) - @Path("/") - public String showComicList() { - return comicsService.showComicList(); - } - - @GET - @Produces(MediaType.TEXT_HTML) - @Path("/artist") - public String showArtistList() { - return artistService.showArtistList(); - } - - @GET - @Produces(MediaType.APPLICATION_JSON) - @Path("/artist") - public String showArtistListJson() { - return artistService.showArtistList(); - } - - @GET - @Produces(MediaType.TEXT_HTML) - @Path("/artist/view/{artist_id}") - public String showArtist(String artist_id) { - return artistService.showArtist(artist_id); - } - - @GET - @Produces(MediaType.TEXT_HTML) - @Path("/artist/create") - public String showArtistCreation() { - return artistService.showArtistCreation(); - } - - @POST - @Produces(MediaType.TEXT_HTML) - @Path("/artist/create") - public String validateArtistDetails() { - return artistService.validateArtistDetails(); - } - - @GET - @Produces(MediaType.TEXT_HTML) - @Path("/publisher") - public String showPublisherList() { - return publisherService.showPublisherList(); - } - - @GET - @Produces(MediaType.TEXT_HTML) - @Path("/publisher/view/{publisher_id}") - public String showPublisher(String publisher_id) { - return publisherService.showPublisher(publisher_id); - } - - @GET - @Produces(MediaType.TEXT_HTML) - @Path("/publisher/create") - public String showPublisherCreation() { - return publisherService.showPublisherCreation(); - } - - @POST - @Produces(MediaType.TEXT_HTML) - @Path("/publisher/create") - public String validatePublisherDetails() { - return publisherService.validatePublisherDetails(); - } -} diff --git a/java-quarkus/src/main/java/de/thpeetz/kontor/comics/service/ArtistService.java b/java-quarkus/src/main/java/de/thpeetz/kontor/comics/service/ArtistService.java deleted file mode 100644 index cdef9aa..0000000 --- a/java-quarkus/src/main/java/de/thpeetz/kontor/comics/service/ArtistService.java +++ /dev/null @@ -1,28 +0,0 @@ -package de.thpeetz.kontor.comics.service; - -import javax.enterprise.context.ApplicationScoped; - -@ApplicationScoped -public class ArtistService { - - public String showArtistList() { - // TODO Auto-generated method stub - return null; - } - - public String showArtist(String artist_id) { - // TODO Auto-generated method stub - return null; - } - - public String showArtistCreation() { - // TODO Auto-generated method stub - return null; - } - - public String validateArtistDetails() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/java-quarkus/src/main/java/de/thpeetz/kontor/comics/service/ComicsService.java b/java-quarkus/src/main/java/de/thpeetz/kontor/comics/service/ComicsService.java deleted file mode 100644 index ee58e17..0000000 --- a/java-quarkus/src/main/java/de/thpeetz/kontor/comics/service/ComicsService.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.thpeetz.kontor.comics.service; - -import javax.enterprise.context.ApplicationScoped; - -@ApplicationScoped -public class ComicsService { - - public String showComicList() { - return "comics"; - } - -} diff --git a/java-quarkus/src/main/java/de/thpeetz/kontor/comics/service/PublisherService.java b/java-quarkus/src/main/java/de/thpeetz/kontor/comics/service/PublisherService.java deleted file mode 100644 index d3414b1..0000000 --- a/java-quarkus/src/main/java/de/thpeetz/kontor/comics/service/PublisherService.java +++ /dev/null @@ -1,28 +0,0 @@ -package de.thpeetz.kontor.comics.service; - -import javax.enterprise.context.ApplicationScoped; - -@ApplicationScoped -public class PublisherService { - - public String showPublisherList() { - // TODO Auto-generated method stub - return null; - } - - public String showPublisher(String publisher_id) { - // TODO Auto-generated method stub - return null; - } - - public String showPublisherCreation() { - // TODO Auto-generated method stub - return null; - } - - public String validatePublisherDetails() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/java-quarkus/src/main/resources/META-INF/resources/index.html b/java-quarkus/src/main/resources/META-INF/resources/index.html deleted file mode 100644 index 609ae3a..0000000 --- a/java-quarkus/src/main/resources/META-INF/resources/index.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - kontor-quarkus - 1.0.0-SNAPSHOT - - - -
-
-
- - - - - quarkus_logo_horizontal_rgb_1280px_reverse - - - - - - - - - - - - - - - - - - -
-
-
- -
-
-
-

You just made a Quarkus application.

-

This page is served by Quarkus.

- Visit the Dev UI -

This page: src/main/resources/META-INF/resources/index.html

-

App configuration: src/main/resources/application.properties

-

Static assets: src/main/resources/META-INF/resources/

-

Code: src/main/java

-

Generated starter code:

-
    -
  • - RESTEasy Reactive Easily start your Reactive RESTful Web Services -
    @Path: /hello -
    Related guide -
  • - -
-
-
-

Selected extensions

-
    -
  • RESTEasy Reactive (guide)
  • -
  • RESTEasy Reactive Jackson
  • -
-
Documentation
-

Practical step-by-step guides to help you achieve a specific goal. Use them to help get your work - done.

-
Set up your IDE
-

Everyone has a favorite IDE they like to use to code. Learn how to configure yours to maximize your - Quarkus productivity.

-
-
-
- - diff --git a/java-quarkus/src/main/resources/application.properties b/java-quarkus/src/main/resources/application.properties deleted file mode 100644 index 21328a1..0000000 --- a/java-quarkus/src/main/resources/application.properties +++ /dev/null @@ -1,3 +0,0 @@ -# Your configuration properties -quarkus.http.test-port=8083 -quarkus.http.test-ssl-port=8446 diff --git a/java-quarkus/src/native-test/java/de/thpeetz/kontor/comics/ComicsResourceIT.java b/java-quarkus/src/native-test/java/de/thpeetz/kontor/comics/ComicsResourceIT.java deleted file mode 100644 index 230d951..0000000 --- a/java-quarkus/src/native-test/java/de/thpeetz/kontor/comics/ComicsResourceIT.java +++ /dev/null @@ -1,8 +0,0 @@ -package de.thpeetz.kontor.comics; - -import io.quarkus.test.junit.QuarkusIntegrationTest; - -@QuarkusIntegrationTest -public class ComicsResourceIT extends ComicsResourceTest { - -} diff --git a/java-quarkus/src/test/java/de/thpeetz/kontor/comics/ComicsResourceTest.java b/java-quarkus/src/test/java/de/thpeetz/kontor/comics/ComicsResourceTest.java deleted file mode 100644 index 25dcd49..0000000 --- a/java-quarkus/src/test/java/de/thpeetz/kontor/comics/ComicsResourceTest.java +++ /dev/null @@ -1,19 +0,0 @@ -package de.thpeetz.kontor.comics; - -import org.junit.jupiter.api.Test; -import static io.restassured.RestAssured.given; -import static org.hamcrest.CoreMatchers.is; - -import io.quarkus.test.junit.QuarkusTest; - -@QuarkusTest -class ComicsResourceTest { - - @Test - void testComicsEndpoint() { - given().when().get("/kontor/comics") - .then() - .statusCode(200) - .body(is("comics")); - } -} diff --git a/kotlin-spring/.gitignore b/kotlin-spring/.gitignore deleted file mode 100644 index c2065bc..0000000 --- a/kotlin-spring/.gitignore +++ /dev/null @@ -1,37 +0,0 @@ -HELP.md -.gradle -build/ -!gradle/wrapper/gradle-wrapper.jar -!**/src/main/**/build/ -!**/src/test/**/build/ - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache -bin/ -!**/src/main/**/bin/ -!**/src/test/**/bin/ - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr -out/ -!**/src/main/**/out/ -!**/src/test/**/out/ - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ - -### VS Code ### -.vscode/ diff --git a/kotlin-spring/README.md b/kotlin-spring/README.md deleted file mode 100644 index 0473319..0000000 --- a/kotlin-spring/README.md +++ /dev/null @@ -1,92 +0,0 @@ -# Kontor Kotlin - - - -## Getting started - -To make it easy for you to get started with GitLab, here's a list of recommended next steps. - -Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! - -## Add your files - -- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files -- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: - -``` -cd existing_repo -git remote add origin https://gitlab.thpeetz.de/kontor/kontor-kotlin.git -git branch -M main -git push -uf origin main -``` - -## Integrate with your tools - -- [ ] [Set up project integrations](https://gitlab.thpeetz.de/kontor/kontor-kotlin/-/settings/integrations) - -## Collaborate with your team - -- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) -- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) -- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) -- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) -- [ ] [Automatically merge when pipeline succeeds](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) - -## Test and Deploy - -Use the built-in continuous integration in GitLab. - -- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) -- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) -- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) -- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) -- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) - -*** - -# Editing this README - -When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thank you to [makeareadme.com](https://www.makeareadme.com/) for this template. - -## Suggestions for a good README -Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. - -## Name -Choose a self-explaining name for your project. - -## Description -Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. - -## Badges -On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. - -## Visuals -Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. - -## Installation -Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. - -## Usage -Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. - -## Support -Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. - -## Roadmap -If you have ideas for releases in the future, it is a good idea to list them in the README. - -## Contributing -State if you are open to contributions and what your requirements are for accepting them. - -For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. - -You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. - -## Authors and acknowledgment -Show your appreciation to those who have contributed to the project. - -## License -For open source projects, say how it is licensed. - -## Project status -If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers. diff --git a/kotlin-spring/build.gradle b/kotlin-spring/build.gradle deleted file mode 100644 index c6df720..0000000 --- a/kotlin-spring/build.gradle +++ /dev/null @@ -1,58 +0,0 @@ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile - -plugins { - id 'org.springframework.boot' version '2.7.7' - id 'io.spring.dependency-management' version '1.0.15.RELEASE' - id 'org.jetbrains.kotlin.jvm' version '1.7.21' - id 'org.jetbrains.kotlin.plugin.spring' version '1.7.21' - id 'org.jetbrains.kotlin.plugin.jpa' version '1.7.21' - id 'org.jetbrains.kotlin.plugin.allopen' version '1.7.21' - id 'org.jetbrains.kotlin.kapt' version '1.7.21' -} - -group = 'de.thpeetz.kontor' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '11' - -repositories { - mavenCentral() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-data-jpa' - implementation 'org.springframework.boot:spring-boot-starter-mustache' - implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'com.fasterxml.jackson.module:jackson-module-kotlin' - implementation 'org.jetbrains.kotlin:kotlin-reflect' - implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' - developmentOnly 'org.springframework.boot:spring-boot-devtools' - kapt 'org.springframework.boot:spring-boot-configuration-processor' - runtimeOnly 'com.h2database:h2' - runtimeOnly 'org.springframework.boot:spring-boot-devtools' - testImplementation("org.springframework.boot:spring-boot-starter-test") { - exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' - exclude module: 'mockito-core' - } - testImplementation 'org.junit.jupiter:junit-jupiter-api' - testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' - testImplementation 'com.ninja-squad:springmockk:3.1.1' - - -} - -tasks.withType(KotlinCompile) { - kotlinOptions { - freeCompilerArgs = ['-Xjsr305=strict'] - jvmTarget = '11' - } -} - -tasks.named('test') { - useJUnitPlatform() -} - -allOpen { - annotation("javax.persistence.Entity") - annotation("javax.persistence.Embeddable") - annotation("javax.persistence.MappedSuperclass") -} diff --git a/kotlin-spring/gradle/wrapper/gradle-wrapper.jar b/kotlin-spring/gradle/wrapper/gradle-wrapper.jar deleted file mode 100644 index 249e583..0000000 Binary files a/kotlin-spring/gradle/wrapper/gradle-wrapper.jar and /dev/null differ diff --git a/kotlin-spring/gradle/wrapper/gradle-wrapper.properties b/kotlin-spring/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 070cb70..0000000 --- a/kotlin-spring/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists diff --git a/kotlin-spring/gradlew b/kotlin-spring/gradlew deleted file mode 100644 index a69d9cb..0000000 --- a/kotlin-spring/gradlew +++ /dev/null @@ -1,240 +0,0 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Stop when "xargs" is not available. -if ! command -v xargs >/dev/null 2>&1 -then - die "xargs is not available" -fi - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" diff --git a/kotlin-spring/gradlew.bat b/kotlin-spring/gradlew.bat deleted file mode 100644 index 53a6b23..0000000 --- a/kotlin-spring/gradlew.bat +++ /dev/null @@ -1,91 +0,0 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega diff --git a/kotlin-spring/settings.gradle b/kotlin-spring/settings.gradle deleted file mode 100644 index 185aa4e..0000000 --- a/kotlin-spring/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'kontor' diff --git a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/KontorApplication.kt b/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/KontorApplication.kt deleted file mode 100644 index 279b7db..0000000 --- a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/KontorApplication.kt +++ /dev/null @@ -1,16 +0,0 @@ -package de.thpeetz.kontor - -import org.springframework.boot.Banner -import org.springframework.boot.autoconfigure.SpringBootApplication -import org.springframework.boot.context.properties.EnableConfigurationProperties -import org.springframework.boot.runApplication - -@SpringBootApplication -@EnableConfigurationProperties(KontorProperties::class) -class KontorApplication - -fun main(args: Array) { - runApplication(*args) { - setBannerMode(Banner.Mode.OFF) - } -} diff --git a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/KontorConfiguration.kt b/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/KontorConfiguration.kt deleted file mode 100644 index e54f2f9..0000000 --- a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/KontorConfiguration.kt +++ /dev/null @@ -1,79 +0,0 @@ -package de.thpeetz.kontor - -import de.thpeetz.kontor.comics.* -import org.springframework.boot.ApplicationRunner -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Configuration - -@Configuration -class KontorConfiguration { - @Bean - fun databaseInitializer(artistRepository: ArtistRepository, - publisherRepository: PublisherRepository, - comicRepository: ComicRepository, - issueRepository: IssueRepository - ) = ApplicationRunner { - - artistRepository.save(Artist("Turner, Michael")) - artistRepository.save(Artist("Bendis, Brian Michael")) - artistRepository.save(Artist("Land, Greg")) - artistRepository.save(Artist("Whedon, Joss")) - val marvel = publisherRepository.save(Publisher("Marvel")) - val aspen = publisherRepository.save(Publisher("Aspen")) - publisherRepository.save(Publisher("DC")) - val de = publisherRepository.save(Publisher("Dynamite Entertainment")) - val wildstorm = publisherRepository.save(Publisher("WildStorm")) - val bongo = publisherRepository.save(Publisher("Bongo")) - val image = publisherRepository.save(Publisher("Image")) - val darkHorse = publisherRepository.save(Publisher("Dark Horse Comics")) - val cliffhanger = publisherRepository.save(Publisher("Cliffhanger")) - comicRepository.save(Comic(title = "X-Men", publisher = marvel, currentOrder = false, completed = false)) - val redSonja = comicRepository.save(Comic(title = "Red Sonja", publisher = de, currentOrder = false, completed = false)) - val x23 = comicRepository.save(Comic(title = "X-23", publisher = marvel, currentOrder = false, completed = false)) - comicRepository.save(Comic(title = "Simpsons Comics", publisher = bongo, currentOrder = false, completed = false)) - comicRepository.save(Comic(title = "Futurama Comics", publisher = bongo, currentOrder = false, completed = false)) - comicRepository.save(Comic(title = "Bomb Queen III: The Good, The Bad and The Lovely", publisher = image, currentOrder = false, completed = false)) - comicRepository.save(Comic(title = "Bomb Queen IV: Suicide Bomber", publisher = image, currentOrder = false, completed = false)) - comicRepository.save(Comic(title = "Gen13", publisher = wildstorm, currentOrder = false, completed = false)) - val bombqueen = comicRepository.save(Comic(title = "Bomb Queen II: Queen of Hearts", publisher = image, currentOrder = false, completed = false)) - comicRepository.save(Comic(title = "Iron & The Maiden",publisher = aspen,currentOrder = false,completed = false)) - comicRepository.save(Comic(title = "Fathom",publisher = aspen,currentOrder = false,completed = false)) - comicRepository.save(Comic(title = "Soulfire",publisher = aspen,currentOrder = false,completed = false)) - comicRepository.save(Comic(title = "Star Wars: Rebellion",publisher = darkHorse,currentOrder = false,completed = false)) - comicRepository.save(Comic(title = "Star Wars: Rebellion",publisher = darkHorse,currentOrder = false,completed = false)) - comicRepository.save(Comic(title = "Star Wars: Knights of the Old Republic",publisher = darkHorse,currentOrder = false,completed = false)) - comicRepository.save(Comic(title = "Star Wars: Legacy",publisher = darkHorse,currentOrder = false,completed = false)) - comicRepository.save(Comic(title = "Star Wars: Dark Times", publisher = darkHorse, currentOrder = false, completed = false)) - comicRepository.save(Comic(title = "Samurai: Heaven and Earth", publisher = darkHorse, currentOrder = false, completed = false)) - val battlpope = comicRepository.save(Comic(title = "Battle Pope", publisher = image,currentOrder = false, completed = false)) - comicRepository.save(Comic(title = "Danger Girl", publisher = cliffhanger, currentOrder = false, completed = false)) - val marville = comicRepository.save(Comic(title = "Marville", publisher = marvel, currentOrder = false, completed = false)) - issueRepository.save(Issue(number = "0", comic = redSonja, gelesen = true)) - issueRepository.save(Issue(number = "1", comic = redSonja, gelesen = true)) - issueRepository.save(Issue(number = "2", comic = redSonja, gelesen = true)) - issueRepository.save(Issue(number = "1", comic = x23, gelesen = false)) - issueRepository.save(Issue(number = "1", comic = bombqueen, gelesen = false)) - issueRepository.save(Issue(number = "2", comic = bombqueen, gelesen = false)) - issueRepository.save(Issue(number = "3", comic = bombqueen, gelesen = false)) - issueRepository.save(Issue(number = "4", comic = bombqueen, gelesen = false)) - issueRepository.save(Issue(number = "1", comic = battlpope, gelesen = false)) - issueRepository.save(Issue(number = "2", comic = battlpope, gelesen = false)) - issueRepository.save(Issue(number = "3", comic = battlpope, gelesen = false)) - issueRepository.save(Issue(number = "4", comic = battlpope, gelesen = false)) - issueRepository.save(Issue(number = "5", comic = battlpope, gelesen = false)) - issueRepository.save(Issue(number = "6", comic = battlpope, gelesen = false)) - issueRepository.save(Issue(number = "7", comic = battlpope, gelesen = false)) - issueRepository.save(Issue(number = "8", comic = battlpope, gelesen = false)) - issueRepository.save(Issue(number = "9", comic = battlpope, gelesen = false)) - issueRepository.save(Issue(number = "10", comic = battlpope, gelesen = false)) - issueRepository.save(Issue(number = "11", comic = battlpope, gelesen = false)) - issueRepository.save(Issue(number = "12", comic = battlpope, gelesen = false)) - issueRepository.save(Issue(number = "1", comic = marville, gelesen = false)) - issueRepository.save(Issue(number = "2", comic = marville, gelesen = false)) - issueRepository.save(Issue(number = "3", comic = marville, gelesen = false)) - issueRepository.save(Issue(number = "4", comic = marville, gelesen = false)) - issueRepository.save(Issue(number = "5", comic = marville, gelesen = false)) - issueRepository.save(Issue(number = "6", comic = marville, gelesen = false)) - issueRepository.save(Issue(number = "7", comic = marville, gelesen = false)) - } -} diff --git a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/KontorController.kt b/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/KontorController.kt deleted file mode 100644 index 3d639dd..0000000 --- a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/KontorController.kt +++ /dev/null @@ -1,24 +0,0 @@ -package de.thpeetz.kontor - -import de.thpeetz.kontor.KontorProperties -import de.thpeetz.kontor.Navigation -import org.springframework.stereotype.Controller -import org.springframework.ui.Model -import org.springframework.ui.set -import org.springframework.web.bind.annotation.GetMapping -import org.springframework.web.bind.annotation.RequestMapping - -@Controller -@RequestMapping("/") -class KontorController(val properties: KontorProperties, val navigation: Navigation) { - @GetMapping("/") - fun blog(model: Model): String { - model["title"] = properties.title - model["title"] = "Kontor" - model["banner"] = properties.banner - model["version"] = properties.version - model["navigation"] = navigation.links() - model["login"] = navigation.login() - return "kontor" - } -} \ No newline at end of file diff --git a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/KontorProperties.kt b/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/KontorProperties.kt deleted file mode 100644 index 92c77c7..0000000 --- a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/KontorProperties.kt +++ /dev/null @@ -1,10 +0,0 @@ -package de.thpeetz.kontor - -import org.springframework.boot.context.properties.ConfigurationProperties -import org.springframework.boot.context.properties.ConstructorBinding - -@ConstructorBinding -@ConfigurationProperties("kontor") -data class KontorProperties(var title: String, var version: String = "unknown", val banner: Banner) { - data class Banner(val title: String? = null, val content: String) -} \ No newline at end of file diff --git a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/Navigation.kt b/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/Navigation.kt deleted file mode 100644 index fb730af..0000000 --- a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/Navigation.kt +++ /dev/null @@ -1,24 +0,0 @@ -package de.thpeetz.kontor - -import org.springframework.context.annotation.Bean -import org.springframework.context.annotation.Configuration - -@Configuration -class Navigation { - - @Bean - fun links(): Iterable = listOf( - Link("/comics", "Comics"), - Link("/library","Library"), - Link("/office", "HomeOffice"), - Link("/tradingcards", "Trading Cards"), - Link("/tysc","TradeYourSportsCards"), - Link("/user/login", ""), - Link("/admin/","Admin") - ) - - @Bean - fun login(): Iterable = listOf(Link("/user/login", "Login")) -} - -data class Link(val link: String, val title: String) diff --git a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/RequestLoggingFilter.kt b/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/RequestLoggingFilter.kt deleted file mode 100644 index decb70f..0000000 --- a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/RequestLoggingFilter.kt +++ /dev/null @@ -1,25 +0,0 @@ -package de.thpeetz.kontor - -import org.slf4j.LoggerFactory -import javax.servlet.Filter -import org.springframework.stereotype.Component -import javax.servlet.FilterChain -import javax.servlet.ServletRequest -import javax.servlet.ServletResponse - -@Component -class RequestLoggingFilter: Filter { - val loggerFactory = LoggerFactory.getLogger("Kontor Logger") - - override fun doFilter( - request: ServletRequest, - response: ServletResponse, - filterChain: FilterChain - ) { - val requestString = request.servletContext.contextPath.toString() - //val attributeNames = request.attributeNames - //attributeNames.toList().forEach { loggerFactory.info("Attribute: ${it.toString()}") } - loggerFactory.info("Logging request: $requestString") - filterChain.doFilter(request, response) - } -} \ No newline at end of file diff --git a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/comics/ComicsApiController.kt b/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/comics/ComicsApiController.kt deleted file mode 100644 index d2e3b4e..0000000 --- a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/comics/ComicsApiController.kt +++ /dev/null @@ -1,25 +0,0 @@ -package de.thpeetz.kontor.comics - -import org.springframework.web.bind.annotation.GetMapping -import org.springframework.web.bind.annotation.RequestMapping -import org.springframework.web.bind.annotation.RestController - -@RestController -@RequestMapping("api/") -class ComicsApiController(val artistRepository: ArtistRepository, - val publisherRepository: PublisherRepository, - val comicRepository: ComicRepository, - val issueRepository: IssueRepository) { - - @GetMapping("/artist") - fun artistList() = artistRepository.findAll() - - @GetMapping("/publisher") - fun publisherList() = publisherRepository.findAll() - - @GetMapping("/comics") - fun comicsList() = comicRepository.findAll() - - @GetMapping("/issues") - fun issuesList() = issueRepository.findAll() -} diff --git a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/comics/ComicsController.kt b/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/comics/ComicsController.kt deleted file mode 100644 index f339b04..0000000 --- a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/comics/ComicsController.kt +++ /dev/null @@ -1,29 +0,0 @@ -package de.thpeetz.kontor.comics - -import de.thpeetz.kontor.KontorProperties -import de.thpeetz.kontor.Navigation -import org.springframework.stereotype.Controller -import org.springframework.ui.Model -import org.springframework.ui.set -import org.springframework.web.bind.annotation.GetMapping -import org.springframework.web.bind.annotation.RequestMapping - -@Controller -@RequestMapping("/comics") -class ComicsController(private val properties: KontorProperties, - val navigation: Navigation, - val comicRepository: ComicRepository -) { - - @GetMapping("/") - fun blog(model: Model): String { - model["title"] = properties.title - model["title"] = "Comics" - model["banner"] = properties.banner - model["navigation"] = navigation.links() - model["comics"] = comicRepository.findAll().map { it } - return "comics" - } - - -} diff --git a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/comics/Entities.kt b/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/comics/Entities.kt deleted file mode 100644 index 3be00f5..0000000 --- a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/comics/Entities.kt +++ /dev/null @@ -1,36 +0,0 @@ -package de.thpeetz.kontor.comics - -import javax.persistence.Entity -import javax.persistence.GeneratedValue -import javax.persistence.Id -import javax.persistence.ManyToOne - - -@Entity -class Artist( - val name: String, - @Id @GeneratedValue val id: Long? = null -) - -@Entity -class Publisher( - val name: String, - @Id @GeneratedValue val id: Long? = null -) - -@Entity -class Comic( - val title: String, - @ManyToOne val publisher: Publisher, - val currentOrder: Boolean, - val completed: Boolean, - @Id @GeneratedValue val id: Long? = null -) - -@Entity -class Issue( - val number: String, - @ManyToOne val comic: Comic, - val gelesen: Boolean, - @Id @GeneratedValue val id: Long? = null -) \ No newline at end of file diff --git a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/comics/Repositories.kt b/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/comics/Repositories.kt deleted file mode 100644 index fe44b2e..0000000 --- a/kotlin-spring/src/main/kotlin/de/thpeetz/kontor/comics/Repositories.kt +++ /dev/null @@ -1,22 +0,0 @@ -package de.thpeetz.kontor.comics - -import org.springframework.data.repository.CrudRepository - -interface ArtistRepository: CrudRepository { - - override fun findAll(): Iterable -} - -interface PublisherRepository: CrudRepository { - override fun findAll(): Iterable -} - -interface ComicRepository: CrudRepository { - - override fun findAll(): Iterable -} - -interface IssueRepository: CrudRepository { - - override fun findAll(): Iterable -} \ No newline at end of file diff --git a/kotlin-spring/src/main/resources/application.properties b/kotlin-spring/src/main/resources/application.properties deleted file mode 100644 index 6d27d3a..0000000 --- a/kotlin-spring/src/main/resources/application.properties +++ /dev/null @@ -1,6 +0,0 @@ -spring.jpa.properties.hibernate.globally_quoted_identifiers=true -spring.jpa.properties.hibernate.globally_quoted_identifiers_skip_column_definitions = true -kontor.title=Kontor -kontor.version=1.0.0-SNAPSHOT -kontor.banner.title=Warning -kontor.banner.content=The blog will be down tomorrow. diff --git a/kotlin-spring/src/main/resources/templates/comics.mustache b/kotlin-spring/src/main/resources/templates/comics.mustache deleted file mode 100644 index 336d9f0..0000000 --- a/kotlin-spring/src/main/resources/templates/comics.mustache +++ /dev/null @@ -1,23 +0,0 @@ -{{> header}} - -{{> menu}} - - -
- - - - {{#comics}} - - {{/comics}} -
List of Comics
Name
{{title}}
-
- Add entry -
-
- -{{> footer}} diff --git a/kotlin-spring/src/main/resources/templates/footer.mustache b/kotlin-spring/src/main/resources/templates/footer.mustache deleted file mode 100644 index dde9847..0000000 --- a/kotlin-spring/src/main/resources/templates/footer.mustache +++ /dev/null @@ -1,22 +0,0 @@ - - - - diff --git a/kotlin-spring/src/main/resources/templates/header.mustache b/kotlin-spring/src/main/resources/templates/header.mustache deleted file mode 100644 index d794c9e..0000000 --- a/kotlin-spring/src/main/resources/templates/header.mustache +++ /dev/null @@ -1,15 +0,0 @@ - - - - - {{title}} - - - - - - - - - - diff --git a/kotlin-spring/src/main/resources/templates/kontor.mustache b/kotlin-spring/src/main/resources/templates/kontor.mustache deleted file mode 100644 index 177306f..0000000 --- a/kotlin-spring/src/main/resources/templates/kontor.mustache +++ /dev/null @@ -1,18 +0,0 @@ -{{> header}} - -{{> menu}} - -
- {{#banner.title}} -
- - -
- {{/banner.title}} -
- -{{> footer}} diff --git a/kotlin-spring/src/main/resources/templates/menu.mustache b/kotlin-spring/src/main/resources/templates/menu.mustache deleted file mode 100644 index c4d9ba0..0000000 --- a/kotlin-spring/src/main/resources/templates/menu.mustache +++ /dev/null @@ -1,23 +0,0 @@ - diff --git a/kotlin-spring/src/test/resources/junit-platform.properties b/kotlin-spring/src/test/resources/junit-platform.properties deleted file mode 100644 index ab79697..0000000 --- a/kotlin-spring/src/test/resources/junit-platform.properties +++ /dev/null @@ -1 +0,0 @@ -junit.jupiter.testinstance.lifecycle.default = per_class