From e3dbba4c38f28f8ebae51ec51bd4ee7fadf39086 Mon Sep 17 00:00:00 2001 From: Atdhe Date: Thu, 5 Jun 2025 20:00:56 +0200 Subject: [PATCH] all --- 1/src/App.css | 42 +++ 1/src/App.jsx | 12 + 1/src/FontSize.css | 18 + 1/src/FontSize.jsx | 19 ++ 1/src/MyInput.css | 13 + 1/src/MyInput.jsx | 21 ++ 1/src/MyOutput.css | 10 + 1/src/MyOutput.jsx | 14 + 1/src/MyReset.css | 10 + 1/src/MyReset.jsx | 13 + 1/src/TextInput.css | 10 + 1/src/TextInput.jsx | 19 ++ 1/src/assets/react.svg | 1 + 1/src/index.css | 13 + 1/src/index.js | 13 + 1/src/main.jsx | 14 + 1/src/reducer.js | 20 ++ 1/src/store.js | 8 + 3/myTest01/.dockerignore | 5 + 3/myTest01/.gitignore | 43 +++ 3/myTest01/.mvn/wrapper/.gitignore | 1 + .../.mvn/wrapper/MavenWrapperDownloader.java | 98 ++++++ .../.mvn/wrapper/maven-wrapper.properties | 18 + 3/myTest01/README.md | 59 ++++ 3/myTest01/mvnw | 308 ++++++++++++++++++ 3/myTest01/mvnw.cmd | 205 ++++++++++++ 3/myTest01/pom.xml | 125 +++++++ 3/myTest01/src/main/docker/Dockerfile.jvm | 95 ++++++ .../src/main/docker/Dockerfile.legacy-jar | 91 ++++++ 3/myTest01/src/main/docker/Dockerfile.native | 27 ++ .../src/main/docker/Dockerfile.native-micro | 30 ++ .../main/java/edu/hsog/GreetingResource.java | 16 + .../resources/META-INF/resources/index.html | 284 ++++++++++++++++ .../src/main/resources/application.properties | 0 .../java/edu/hsog/GreetingResourceIT.java | 8 + .../java/edu/hsog/GreetingResourceTest.java | 20 ++ 4/src.zip | Bin 0 -> 186532 bytes 4/src/.idea/.gitignore | 3 + 4/src/.idea/misc.xml | 6 + 4/src/.idea/modules.xml | 10 + 4/src/.idea/src.iml | 9 + 4/src/main/docker/Dockerfile.jvm | 95 ++++++ 4/src/main/docker/Dockerfile.legacy-jar | 91 ++++++ 4/src/main/docker/Dockerfile.native | 27 ++ 4/src/main/docker/Dockerfile.native-micro | 30 ++ .../main/java/edu/hsog/GreetingResource.java | 43 +++ 4/src/main/main.iml | 11 + .../resources/META-INF/resources/index.html | 284 ++++++++++++++++ 4/src/main/resources/application.properties | 0 .../java/edu/hsog/GreetingResourceIT.java | 8 + .../java/edu/hsog/GreetingResourceTest.java | 20 ++ 4/src/test/test.iml | 11 + AddString/src/App.jsx | 16 + AddString/src/MyInput.jsx | 48 +++ AddString/src/MyOutput.jsx | 18 + AddString/src/assets/react.svg | 1 + AddString/src/main.jsx | 9 + AddString/src/reducer.js | 17 + AddString/src/store.js | 8 + rechner/Abgabe 4 | 1 + 60 files changed, 2469 insertions(+) create mode 100644 1/src/App.css create mode 100644 1/src/App.jsx create mode 100644 1/src/FontSize.css create mode 100644 1/src/FontSize.jsx create mode 100644 1/src/MyInput.css create mode 100644 1/src/MyInput.jsx create mode 100644 1/src/MyOutput.css create mode 100644 1/src/MyOutput.jsx create mode 100644 1/src/MyReset.css create mode 100644 1/src/MyReset.jsx create mode 100644 1/src/TextInput.css create mode 100644 1/src/TextInput.jsx create mode 100644 1/src/assets/react.svg create mode 100644 1/src/index.css create mode 100644 1/src/index.js create mode 100644 1/src/main.jsx create mode 100644 1/src/reducer.js create mode 100644 1/src/store.js create mode 100644 3/myTest01/.dockerignore create mode 100644 3/myTest01/.gitignore create mode 100644 3/myTest01/.mvn/wrapper/.gitignore create mode 100644 3/myTest01/.mvn/wrapper/MavenWrapperDownloader.java create mode 100644 3/myTest01/.mvn/wrapper/maven-wrapper.properties create mode 100644 3/myTest01/README.md create mode 100755 3/myTest01/mvnw create mode 100644 3/myTest01/mvnw.cmd create mode 100644 3/myTest01/pom.xml create mode 100644 3/myTest01/src/main/docker/Dockerfile.jvm create mode 100644 3/myTest01/src/main/docker/Dockerfile.legacy-jar create mode 100644 3/myTest01/src/main/docker/Dockerfile.native create mode 100644 3/myTest01/src/main/docker/Dockerfile.native-micro create mode 100644 3/myTest01/src/main/java/edu/hsog/GreetingResource.java create mode 100644 3/myTest01/src/main/resources/META-INF/resources/index.html create mode 100644 3/myTest01/src/main/resources/application.properties create mode 100644 3/myTest01/src/test/java/edu/hsog/GreetingResourceIT.java create mode 100644 3/myTest01/src/test/java/edu/hsog/GreetingResourceTest.java create mode 100644 4/src.zip create mode 100644 4/src/.idea/.gitignore create mode 100644 4/src/.idea/misc.xml create mode 100644 4/src/.idea/modules.xml create mode 100644 4/src/.idea/src.iml create mode 100644 4/src/main/docker/Dockerfile.jvm create mode 100644 4/src/main/docker/Dockerfile.legacy-jar create mode 100644 4/src/main/docker/Dockerfile.native create mode 100644 4/src/main/docker/Dockerfile.native-micro create mode 100644 4/src/main/java/edu/hsog/GreetingResource.java create mode 100644 4/src/main/main.iml create mode 100644 4/src/main/resources/META-INF/resources/index.html create mode 100644 4/src/main/resources/application.properties create mode 100644 4/src/test/java/edu/hsog/GreetingResourceIT.java create mode 100644 4/src/test/java/edu/hsog/GreetingResourceTest.java create mode 100644 4/src/test/test.iml create mode 100644 AddString/src/App.jsx create mode 100644 AddString/src/MyInput.jsx create mode 100644 AddString/src/MyOutput.jsx create mode 100644 AddString/src/assets/react.svg create mode 100644 AddString/src/main.jsx create mode 100644 AddString/src/reducer.js create mode 100644 AddString/src/store.js create mode 160000 rechner/Abgabe 4 diff --git a/1/src/App.css b/1/src/App.css new file mode 100644 index 0000000..b9d355d --- /dev/null +++ b/1/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/1/src/App.jsx b/1/src/App.jsx new file mode 100644 index 0000000..145f382 --- /dev/null +++ b/1/src/App.jsx @@ -0,0 +1,12 @@ +import React from 'react'; +import MyInput from './MyInput'; +import MyOutput from './MyOutput'; + +export default function App() { + return ( +
+ + +
+ ); +} diff --git a/1/src/FontSize.css b/1/src/FontSize.css new file mode 100644 index 0000000..ea46bf2 --- /dev/null +++ b/1/src/FontSize.css @@ -0,0 +1,18 @@ +.button { + background-color: #AAA; + font-weight: bold; + font-size: 32px; + border-radius: 15%; + width: 60px; + height: 60px; + } + +.niceButtons { + background-color: transparent; + width: 200px; + display: flex; + align-items: center; + justify-content: space-between; + font-size: 32px; +} + diff --git a/1/src/FontSize.jsx b/1/src/FontSize.jsx new file mode 100644 index 0000000..80ebc24 --- /dev/null +++ b/1/src/FontSize.jsx @@ -0,0 +1,19 @@ +import React from 'react'; +import './FontSize.css'; +import { useSelector, useDispatch } from 'react-redux'; + +export default function FontSize() { + const size = useSelector(state => state.size); + const dispatch = useDispatch(); + + return ( +
+ FontSize +
+ {size} + + +
+
+ ); +} diff --git a/1/src/MyInput.css b/1/src/MyInput.css new file mode 100644 index 0000000..4bf12b1 --- /dev/null +++ b/1/src/MyInput.css @@ -0,0 +1,13 @@ +.article { + background-color:rgb(213, 245, 255); + height: 150px; + border-collapse:collapse; + border: 1px #000 solid; + width: 100%; +} + +td { + border-collapse:collapse; + border:1px solid#000; + padding: 5px; +} \ No newline at end of file diff --git a/1/src/MyInput.jsx b/1/src/MyInput.jsx new file mode 100644 index 0000000..ba270ba --- /dev/null +++ b/1/src/MyInput.jsx @@ -0,0 +1,21 @@ +import React from 'react'; +import FontSize from './FontSize'; +import TextInput from './TextInput'; +import MyReset from './MyReset'; +import './MyInput.css'; + +export default function MyInput() { + return ( +
+ + + + + + + + +
+
+ ); +} diff --git a/1/src/MyOutput.css b/1/src/MyOutput.css new file mode 100644 index 0000000..6869828 --- /dev/null +++ b/1/src/MyOutput.css @@ -0,0 +1,10 @@ +.show { + background-color:rgb(255, 233, 133); + height: 130px; + padding: 20px; + text-align: center; + border-collapse:collapse; + border: 1px #000 solid; + width: 100%; + } + diff --git a/1/src/MyOutput.jsx b/1/src/MyOutput.jsx new file mode 100644 index 0000000..e27923f --- /dev/null +++ b/1/src/MyOutput.jsx @@ -0,0 +1,14 @@ +import React from 'react'; +import './MyOutput.css'; +import { useSelector } from 'react-redux'; + +export default function MyOutput() { + const text = useSelector(state => state.text); + const size = useSelector(state => state.size); + + return ( +
+ {text || "Hier soll der Text in der ausgewählten Größe stehen ..."} +
+ ); +} diff --git a/1/src/MyReset.css b/1/src/MyReset.css new file mode 100644 index 0000000..0848024 --- /dev/null +++ b/1/src/MyReset.css @@ -0,0 +1,10 @@ +.button { + background-color: rgb(170, 170, 170); + font-weight: bold; + font-size: 32px; + border-radius: 15%; + width: 60px; + height: 60px; + } + + diff --git a/1/src/MyReset.jsx b/1/src/MyReset.jsx new file mode 100644 index 0000000..b8d2587 --- /dev/null +++ b/1/src/MyReset.jsx @@ -0,0 +1,13 @@ +import React from 'react'; +import './MyReset.css'; +import { useDispatch } from 'react-redux'; + +export default function MyReset() { + const dispatch = useDispatch(); + + return ( +
+ +
+ ); +} diff --git a/1/src/TextInput.css b/1/src/TextInput.css new file mode 100644 index 0000000..d1925ae --- /dev/null +++ b/1/src/TextInput.css @@ -0,0 +1,10 @@ +.NiceInput { + border-radius: 16px; + padding: 10px; + margin: auto; + background-color:#AEA; + font-size: 24px; + width:90%; +} + + diff --git a/1/src/TextInput.jsx b/1/src/TextInput.jsx new file mode 100644 index 0000000..b06b0f9 --- /dev/null +++ b/1/src/TextInput.jsx @@ -0,0 +1,19 @@ +import React from 'react'; +import './TextInput.css'; +import { useSelector, useDispatch } from 'react-redux'; + +export default function TextInput() { + const text = useSelector(state => state.text); + const dispatch = useDispatch(); + + return ( +
+ dispatch({ type: 'text/update', payload: e.target.value })} + /> +
+ ); +} diff --git a/1/src/assets/react.svg b/1/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/1/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/1/src/index.css b/1/src/index.css new file mode 100644 index 0000000..ec2585e --- /dev/null +++ b/1/src/index.css @@ -0,0 +1,13 @@ +body { + margin: 0; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', + 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', + sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', + monospace; +} diff --git a/1/src/index.js b/1/src/index.js new file mode 100644 index 0000000..cbcb02f --- /dev/null +++ b/1/src/index.js @@ -0,0 +1,13 @@ +import React from 'react'; +import ReactDOM from 'react-dom'; +import './index.css'; +import App from './App'; +import { Provider } from 'react-redux'; +import store from './store'; + +ReactDOM.render( + + + , + document.getElementById('root') +); diff --git a/1/src/main.jsx b/1/src/main.jsx new file mode 100644 index 0000000..a5c94d5 --- /dev/null +++ b/1/src/main.jsx @@ -0,0 +1,14 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import App from './App'; +import './index.css'; + +import { Provider } from 'react-redux'; +import store from './store'; + +const root = ReactDOM.createRoot(document.getElementById('root')); +root.render( + + + +); diff --git a/1/src/reducer.js b/1/src/reducer.js new file mode 100644 index 0000000..908269a --- /dev/null +++ b/1/src/reducer.js @@ -0,0 +1,20 @@ +const initialState = { + size: 16, + text: "!" + }; + + export default function appReducer(state = initialState, action) { + switch (action.type) { + case 'font/increase': + return { ...state, size: state.size + 1 }; + case 'font/decrease': + return { ...state, size: state.size - 1 }; + case 'font/reset': + return initialState; + case 'text/update': + return { ...state, text: action.payload }; + default: + return state; + } + } + \ No newline at end of file diff --git a/1/src/store.js b/1/src/store.js new file mode 100644 index 0000000..ab91fb9 --- /dev/null +++ b/1/src/store.js @@ -0,0 +1,8 @@ +import { configureStore } from '@reduxjs/toolkit'; +import reducer from './reducer'; + +const store = configureStore({ + reducer: reducer +}); + +export default store; diff --git a/3/myTest01/.dockerignore b/3/myTest01/.dockerignore new file mode 100644 index 0000000..94810d0 --- /dev/null +++ b/3/myTest01/.dockerignore @@ -0,0 +1,5 @@ +* +!target/*-runner +!target/*-runner.jar +!target/lib/* +!target/quarkus-app/* \ No newline at end of file diff --git a/3/myTest01/.gitignore b/3/myTest01/.gitignore new file mode 100644 index 0000000..8c7863e --- /dev/null +++ b/3/myTest01/.gitignore @@ -0,0 +1,43 @@ +#Maven +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +release.properties +.flattened-pom.xml + +# Eclipse +.project +.classpath +.settings/ +bin/ + +# IntelliJ +.idea +*.ipr +*.iml +*.iws + +# NetBeans +nb-configuration.xml + +# Visual Studio Code +.vscode +.factorypath + +# OSX +.DS_Store + +# Vim +*.swp +*.swo + +# patch +*.orig +*.rej + +# Local environment +.env + +# Plugin directory +/.quarkus/cli/plugins/ diff --git a/3/myTest01/.mvn/wrapper/.gitignore b/3/myTest01/.mvn/wrapper/.gitignore new file mode 100644 index 0000000..e72f5e8 --- /dev/null +++ b/3/myTest01/.mvn/wrapper/.gitignore @@ -0,0 +1 @@ +maven-wrapper.jar diff --git a/3/myTest01/.mvn/wrapper/MavenWrapperDownloader.java b/3/myTest01/.mvn/wrapper/MavenWrapperDownloader.java new file mode 100644 index 0000000..84d1e60 --- /dev/null +++ b/3/myTest01/.mvn/wrapper/MavenWrapperDownloader.java @@ -0,0 +1,98 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you 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 + * + * http://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. + */ + +import java.io.IOException; +import java.io.InputStream; +import java.net.Authenticator; +import java.net.PasswordAuthentication; +import java.net.URL; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.StandardCopyOption; + +public final class MavenWrapperDownloader +{ + private static final String WRAPPER_VERSION = "3.2.0"; + + private static final boolean VERBOSE = Boolean.parseBoolean( System.getenv( "MVNW_VERBOSE" ) ); + + public static void main( String[] args ) + { + log( "Apache Maven Wrapper Downloader " + WRAPPER_VERSION ); + + if ( args.length != 2 ) + { + System.err.println( " - ERROR wrapperUrl or wrapperJarPath parameter missing" ); + System.exit( 1 ); + } + + try + { + log( " - Downloader started" ); + final URL wrapperUrl = new URL( args[0] ); + final String jarPath = args[1].replace( "..", "" ); // Sanitize path + final Path wrapperJarPath = Paths.get( jarPath ).toAbsolutePath().normalize(); + downloadFileFromURL( wrapperUrl, wrapperJarPath ); + log( "Done" ); + } + catch ( IOException e ) + { + System.err.println( "- Error downloading: " + e.getMessage() ); + if ( VERBOSE ) + { + e.printStackTrace(); + } + System.exit( 1 ); + } + } + + private static void downloadFileFromURL( URL wrapperUrl, Path wrapperJarPath ) + throws IOException + { + log( " - Downloading to: " + wrapperJarPath ); + if ( System.getenv( "MVNW_USERNAME" ) != null && System.getenv( "MVNW_PASSWORD" ) != null ) + { + final String username = System.getenv( "MVNW_USERNAME" ); + final char[] password = System.getenv( "MVNW_PASSWORD" ).toCharArray(); + Authenticator.setDefault( new Authenticator() + { + @Override + protected PasswordAuthentication getPasswordAuthentication() + { + return new PasswordAuthentication( username, password ); + } + } ); + } + try ( InputStream inStream = wrapperUrl.openStream() ) + { + Files.copy( inStream, wrapperJarPath, StandardCopyOption.REPLACE_EXISTING ); + } + log( " - Downloader complete" ); + } + + private static void log( String msg ) + { + if ( VERBOSE ) + { + System.out.println( msg ); + } + } + +} diff --git a/3/myTest01/.mvn/wrapper/maven-wrapper.properties b/3/myTest01/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..70f4f50 --- /dev/null +++ b/3/myTest01/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,18 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 +# +# http://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. +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.8/apache-maven-3.8.8-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar diff --git a/3/myTest01/README.md b/3/myTest01/README.md new file mode 100644 index 0000000..e9129af --- /dev/null +++ b/3/myTest01/README.md @@ -0,0 +1,59 @@ +# myTest01 + +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 +./mvnw compile quarkus:dev +``` + +> **_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 +./mvnw package +``` +It produces the `quarkus-run.jar` file in the `target/quarkus-app/` directory. +Be aware that it’s not an _über-jar_ as the dependencies are copied into the `target/quarkus-app/lib/` directory. + +The application is now runnable using `java -jar target/quarkus-app/quarkus-run.jar`. + +If you want to build an _über-jar_, execute the following command: +```shell script +./mvnw package -Dquarkus.package.type=uber-jar +``` + +The application, packaged as an _über-jar_, is now runnable using `java -jar target/*-runner.jar`. + +## Creating a native executable + +You can create a native executable using: +```shell script +./mvnw package -Pnative +``` + +Or, if you don't have GraalVM installed, you can run the native executable build in a container using: +```shell script +./mvnw package -Pnative -Dquarkus.native.container-build=true +``` + +You can then execute your native executable with: `./target/myTest01-2.9.2.-runner` + +If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling. + +## Related Guides + + +## Provided Code + +### RESTEasy JAX-RS + +Easily start your RESTful Web Services + +[Related guide section...](https://quarkus.io/guides/getting-started#the-jax-rs-resources) diff --git a/3/myTest01/mvnw b/3/myTest01/mvnw new file mode 100755 index 0000000..8d937f4 --- /dev/null +++ b/3/myTest01/mvnw @@ -0,0 +1,308 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you 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 +# +# http://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. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.2.0 +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "$(uname)" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && + JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then + if $darwin ; then + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" + else + javaExecutable="$(readlink -f "\"$javaExecutable\"")" + fi + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + 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 + else + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$(cd "$wdir/.." || exit 1; pwd) + fi + # end of workaround + done + printf '%s' "$(cd "$basedir" || exit 1; pwd)" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' < "$1" + fi +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" + fi +} + +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" +else + log "Couldn't find $wrapperJarPath, downloading it ..." + + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + fi + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; + esac + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget > /dev/null; then + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + else + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + fi + else + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + esac +done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi +fi + +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +# shellcheck disable=SC2086 # safe args +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/3/myTest01/mvnw.cmd b/3/myTest01/mvnw.cmd new file mode 100644 index 0000000..c4586b5 --- /dev/null +++ b/3/myTest01/mvnw.cmd @@ -0,0 +1,205 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.2.0 +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/3/myTest01/pom.xml b/3/myTest01/pom.xml new file mode 100644 index 0000000..f721d1e --- /dev/null +++ b/3/myTest01/pom.xml @@ -0,0 +1,125 @@ + + + 4.0.0 + edu.hsog + myTest01 + 2.9.2. + + 3.14.0 + 17 + UTF-8 + UTF-8 + quarkus-bom + io.quarkus.platform + 3.23.2 + true + 3.5.3 + + + + + ${quarkus.platform.group-id} + ${quarkus.platform.artifact-id} + ${quarkus.platform.version} + pom + import + + + + + + io.quarkus + quarkus-resteasy-jackson + + + io.quarkus + quarkus-arc + + + io.quarkus + quarkus-resteasy + + + io.quarkus + quarkus-junit5 + test + + + io.rest-assured + rest-assured + test + + + + + + ${quarkus.platform.group-id} + quarkus-maven-plugin + ${quarkus.platform.version} + true + + + + build + generate-code + generate-code-tests + + + + + + maven-compiler-plugin + ${compiler-plugin.version} + + + -parameters + + + + + maven-surefire-plugin + ${surefire-plugin.version} + + + org.jboss.logmanager.LogManager + ${maven.home} + + + + + maven-failsafe-plugin + ${surefire-plugin.version} + + + + integration-test + verify + + + + ${project.build.directory}/${project.build.finalName}-runner + org.jboss.logmanager.LogManager + ${maven.home} + + + + + + + + + + native + + + native + + + + false + native + + + + diff --git a/3/myTest01/src/main/docker/Dockerfile.jvm b/3/myTest01/src/main/docker/Dockerfile.jvm new file mode 100644 index 0000000..4e24917 --- /dev/null +++ b/3/myTest01/src/main/docker/Dockerfile.jvm @@ -0,0 +1,95 @@ +#### +# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode +# +# Before building the container image run: +# +# ./mvnw package +# +# Then, build the image with: +# +# docker build -f src/main/docker/Dockerfile.jvm -t quarkus/myTest01-jvm . +# +# Then run the container using: +# +# docker run -i --rm -p 8080:8080 quarkus/myTest01-jvm +# +# If you want to include the debug port into your docker image +# you will have to expose the debug port (default 5005 being the default) like this : EXPOSE 8080 5005. +# Additionally you will have to set -e JAVA_DEBUG=true and -e JAVA_DEBUG_PORT=*:5005 +# when running the container +# +# Then run the container using : +# +# docker run -i --rm -p 8080:8080 quarkus/myTest01-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-17:1.15 + +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 target/quarkus-app/lib/ /deployments/lib/ +COPY --chown=185 target/quarkus-app/*.jar /deployments/ +COPY --chown=185 target/quarkus-app/app/ /deployments/app/ +COPY --chown=185 target/quarkus-app/quarkus/ /deployments/quarkus/ + +EXPOSE 8080 +USER 185 +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/3/myTest01/src/main/docker/Dockerfile.legacy-jar b/3/myTest01/src/main/docker/Dockerfile.legacy-jar new file mode 100644 index 0000000..8c8a1e2 --- /dev/null +++ b/3/myTest01/src/main/docker/Dockerfile.legacy-jar @@ -0,0 +1,91 @@ +#### +# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode +# +# Before building the container image run: +# +# ./mvnw package -Dquarkus.package.type=legacy-jar +# +# Then, build the image with: +# +# docker build -f src/main/docker/Dockerfile.legacy-jar -t quarkus/myTest01-legacy-jar . +# +# Then run the container using: +# +# docker run -i --rm -p 8080:8080 quarkus/myTest01-legacy-jar +# +# If you want to include the debug port into your docker image +# you will have to expose the debug port (default 5005 being the default) like this : EXPOSE 8080 5005. +# Additionally you will have to set -e JAVA_DEBUG=true and -e JAVA_DEBUG_PORT=*:5005 +# when running the container +# +# Then run the container using : +# +# docker run -i --rm -p 8080:8080 quarkus/myTest01-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-17:1.15 + +ENV LANGUAGE='en_US:en' + + +COPY target/lib/* /deployments/lib/ +COPY target/*-runner.jar /deployments/quarkus-run.jar + +EXPOSE 8080 +USER 185 +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/3/myTest01/src/main/docker/Dockerfile.native b/3/myTest01/src/main/docker/Dockerfile.native new file mode 100644 index 0000000..18ff107 --- /dev/null +++ b/3/myTest01/src/main/docker/Dockerfile.native @@ -0,0 +1,27 @@ +#### +# 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: +# +# ./mvnw package -Pnative +# +# Then, build the image with: +# +# docker build -f src/main/docker/Dockerfile.native -t quarkus/myTest01 . +# +# Then run the container using: +# +# docker run -i --rm -p 8080:8080 quarkus/myTest01 +# +### +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 target/*-runner /work/application + +EXPOSE 8080 +USER 1001 + +CMD ["./application", "-Dquarkus.http.host=0.0.0.0"] diff --git a/3/myTest01/src/main/docker/Dockerfile.native-micro b/3/myTest01/src/main/docker/Dockerfile.native-micro new file mode 100644 index 0000000..aa07f5a --- /dev/null +++ b/3/myTest01/src/main/docker/Dockerfile.native-micro @@ -0,0 +1,30 @@ +#### +# 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: +# +# ./mvnw package -Pnative +# +# Then, build the image with: +# +# docker build -f src/main/docker/Dockerfile.native-micro -t quarkus/myTest01 . +# +# Then run the container using: +# +# docker run -i --rm -p 8080:8080 quarkus/myTest01 +# +### +FROM quay.io/quarkus/quarkus-micro-image:2.0 +WORKDIR /work/ +RUN chown 1001 /work \ + && chmod "g+rwX" /work \ + && chown 1001:root /work +COPY --chown=1001:root target/*-runner /work/application + +EXPOSE 8080 +USER 1001 + +CMD ["./application", "-Dquarkus.http.host=0.0.0.0"] diff --git a/3/myTest01/src/main/java/edu/hsog/GreetingResource.java b/3/myTest01/src/main/java/edu/hsog/GreetingResource.java new file mode 100644 index 0000000..e8696aa --- /dev/null +++ b/3/myTest01/src/main/java/edu/hsog/GreetingResource.java @@ -0,0 +1,16 @@ +package edu.hsog; + +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; + +@Path("/hello") +public class GreetingResource { + + @GET + @Produces(MediaType.TEXT_PLAIN) + public String hello() { + return "Hello RESTEasy"; + } +} diff --git a/3/myTest01/src/main/resources/META-INF/resources/index.html b/3/myTest01/src/main/resources/META-INF/resources/index.html new file mode 100644 index 0000000..12cd27f --- /dev/null +++ b/3/myTest01/src/main/resources/META-INF/resources/index.html @@ -0,0 +1,284 @@ + + + + + myTest01 - 2.9.2. + + + +
+
+
+ + + + + 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

+

Dev UI V1: /q/dev-v1

+

Generated starter code:

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

Selected extensions

+
    +
  • RESTEasy Classic 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/3/myTest01/src/main/resources/application.properties b/3/myTest01/src/main/resources/application.properties new file mode 100644 index 0000000..e69de29 diff --git a/3/myTest01/src/test/java/edu/hsog/GreetingResourceIT.java b/3/myTest01/src/test/java/edu/hsog/GreetingResourceIT.java new file mode 100644 index 0000000..b42bacd --- /dev/null +++ b/3/myTest01/src/test/java/edu/hsog/GreetingResourceIT.java @@ -0,0 +1,8 @@ +package edu.hsog; + +import io.quarkus.test.junit.QuarkusIntegrationTest; + +@QuarkusIntegrationTest +class GreetingResourceIT extends GreetingResourceTest { + // Execute the same tests but in packaged mode. +} diff --git a/3/myTest01/src/test/java/edu/hsog/GreetingResourceTest.java b/3/myTest01/src/test/java/edu/hsog/GreetingResourceTest.java new file mode 100644 index 0000000..7a79178 --- /dev/null +++ b/3/myTest01/src/test/java/edu/hsog/GreetingResourceTest.java @@ -0,0 +1,20 @@ +package edu.hsog; + +import io.quarkus.test.junit.QuarkusTest; +import org.junit.jupiter.api.Test; + +import static io.restassured.RestAssured.given; +import static org.hamcrest.CoreMatchers.is; + +@QuarkusTest +class GreetingResourceTest { + @Test + void testHelloEndpoint() { + given() + .when().get("/hello") + .then() + .statusCode(200) + .body(is("Hello RESTEasy")); + } + +} \ No newline at end of file diff --git a/4/src.zip b/4/src.zip new file mode 100644 index 0000000000000000000000000000000000000000..22a23e894a9f696e0865ae2253af0f97c11149fa GIT binary patch literal 186532 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

kVM*t4#nbcsVSea-Mgc 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

J7`>HipjVg4=RLXpI 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 aU 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

xV; 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 + + + + + \ No newline at end of file diff --git a/4/src/.idea/modules.xml b/4/src/.idea/modules.xml new file mode 100644 index 0000000..31eaf94 --- /dev/null +++ b/4/src/.idea/modules.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/4/src/.idea/src.iml b/4/src/.idea/src.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/4/src/.idea/src.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/4/src/main/docker/Dockerfile.jvm b/4/src/main/docker/Dockerfile.jvm new file mode 100644 index 0000000..4e24917 --- /dev/null +++ b/4/src/main/docker/Dockerfile.jvm @@ -0,0 +1,95 @@ +#### +# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode +# +# Before building the container image run: +# +# ./mvnw package +# +# Then, build the image with: +# +# docker build -f src/main/docker/Dockerfile.jvm -t quarkus/myTest01-jvm . +# +# Then run the container using: +# +# docker run -i --rm -p 8080:8080 quarkus/myTest01-jvm +# +# If you want to include the debug port into your docker image +# you will have to expose the debug port (default 5005 being the default) like this : EXPOSE 8080 5005. +# Additionally you will have to set -e JAVA_DEBUG=true and -e JAVA_DEBUG_PORT=*:5005 +# when running the container +# +# Then run the container using : +# +# docker run -i --rm -p 8080:8080 quarkus/myTest01-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-17:1.15 + +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 target/quarkus-app/lib/ /deployments/lib/ +COPY --chown=185 target/quarkus-app/*.jar /deployments/ +COPY --chown=185 target/quarkus-app/app/ /deployments/app/ +COPY --chown=185 target/quarkus-app/quarkus/ /deployments/quarkus/ + +EXPOSE 8080 +USER 185 +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/4/src/main/docker/Dockerfile.legacy-jar b/4/src/main/docker/Dockerfile.legacy-jar new file mode 100644 index 0000000..8c8a1e2 --- /dev/null +++ b/4/src/main/docker/Dockerfile.legacy-jar @@ -0,0 +1,91 @@ +#### +# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode +# +# Before building the container image run: +# +# ./mvnw package -Dquarkus.package.type=legacy-jar +# +# Then, build the image with: +# +# docker build -f src/main/docker/Dockerfile.legacy-jar -t quarkus/myTest01-legacy-jar . +# +# Then run the container using: +# +# docker run -i --rm -p 8080:8080 quarkus/myTest01-legacy-jar +# +# If you want to include the debug port into your docker image +# you will have to expose the debug port (default 5005 being the default) like this : EXPOSE 8080 5005. +# Additionally you will have to set -e JAVA_DEBUG=true and -e JAVA_DEBUG_PORT=*:5005 +# when running the container +# +# Then run the container using : +# +# docker run -i --rm -p 8080:8080 quarkus/myTest01-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-17:1.15 + +ENV LANGUAGE='en_US:en' + + +COPY target/lib/* /deployments/lib/ +COPY target/*-runner.jar /deployments/quarkus-run.jar + +EXPOSE 8080 +USER 185 +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/4/src/main/docker/Dockerfile.native b/4/src/main/docker/Dockerfile.native new file mode 100644 index 0000000..18ff107 --- /dev/null +++ b/4/src/main/docker/Dockerfile.native @@ -0,0 +1,27 @@ +#### +# 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: +# +# ./mvnw package -Pnative +# +# Then, build the image with: +# +# docker build -f src/main/docker/Dockerfile.native -t quarkus/myTest01 . +# +# Then run the container using: +# +# docker run -i --rm -p 8080:8080 quarkus/myTest01 +# +### +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 target/*-runner /work/application + +EXPOSE 8080 +USER 1001 + +CMD ["./application", "-Dquarkus.http.host=0.0.0.0"] diff --git a/4/src/main/docker/Dockerfile.native-micro b/4/src/main/docker/Dockerfile.native-micro new file mode 100644 index 0000000..aa07f5a --- /dev/null +++ b/4/src/main/docker/Dockerfile.native-micro @@ -0,0 +1,30 @@ +#### +# 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: +# +# ./mvnw package -Pnative +# +# Then, build the image with: +# +# docker build -f src/main/docker/Dockerfile.native-micro -t quarkus/myTest01 . +# +# Then run the container using: +# +# docker run -i --rm -p 8080:8080 quarkus/myTest01 +# +### +FROM quay.io/quarkus/quarkus-micro-image:2.0 +WORKDIR /work/ +RUN chown 1001 /work \ + && chmod "g+rwX" /work \ + && chown 1001:root /work +COPY --chown=1001:root target/*-runner /work/application + +EXPOSE 8080 +USER 1001 + +CMD ["./application", "-Dquarkus.http.host=0.0.0.0"] diff --git a/4/src/main/java/edu/hsog/GreetingResource.java b/4/src/main/java/edu/hsog/GreetingResource.java new file mode 100644 index 0000000..10178d1 --- /dev/null +++ b/4/src/main/java/edu/hsog/GreetingResource.java @@ -0,0 +1,43 @@ +package edu.hsog; + +import jakarta.json.JsonObject; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; + +@Path("") +public class GreetingResource { + + @GET + @Produces(MediaType.TEXT_PLAIN) + public String hello() { + int a = 2 +3; + return "Spiderman"; + } + + @GET + @Path("/hello/{name}") + public String hello(@PathParam("name") String name) { + return name.toUpperCase(); + } + + @GET + @Path("/hello/{name}") + public String hello(@PathParam("name") String name, @QueryParam("vorname") String vorname) { + return vorname + " " + name.toUpperCase(); + } + + @POST + @Path("/push") + @Consumes(MediaType.APPLICATION_JSON) + public int push(String json) { + return json.toString().length(); + } + + +} diff --git a/4/src/main/main.iml b/4/src/main/main.iml new file mode 100644 index 0000000..908ad4f --- /dev/null +++ b/4/src/main/main.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/4/src/main/resources/META-INF/resources/index.html b/4/src/main/resources/META-INF/resources/index.html new file mode 100644 index 0000000..d893ebf --- /dev/null +++ b/4/src/main/resources/META-INF/resources/index.html @@ -0,0 +1,284 @@ + + + + + myTest01 - 1.0.0-SNAPSHOT + + + +
+
+
+ + + + + quarkus_logo_horizontal_rgb_1280px_reverse + + + + + + + + + + + + + + + + + + +
+
+
+ +
+ + diff --git a/4/src/main/resources/application.properties b/4/src/main/resources/application.properties new file mode 100644 index 0000000..e69de29 diff --git a/4/src/test/java/edu/hsog/GreetingResourceIT.java b/4/src/test/java/edu/hsog/GreetingResourceIT.java new file mode 100644 index 0000000..b42bacd --- /dev/null +++ b/4/src/test/java/edu/hsog/GreetingResourceIT.java @@ -0,0 +1,8 @@ +package edu.hsog; + +import io.quarkus.test.junit.QuarkusIntegrationTest; + +@QuarkusIntegrationTest +class GreetingResourceIT extends GreetingResourceTest { + // Execute the same tests but in packaged mode. +} diff --git a/4/src/test/java/edu/hsog/GreetingResourceTest.java b/4/src/test/java/edu/hsog/GreetingResourceTest.java new file mode 100644 index 0000000..7a79178 --- /dev/null +++ b/4/src/test/java/edu/hsog/GreetingResourceTest.java @@ -0,0 +1,20 @@ +package edu.hsog; + +import io.quarkus.test.junit.QuarkusTest; +import org.junit.jupiter.api.Test; + +import static io.restassured.RestAssured.given; +import static org.hamcrest.CoreMatchers.is; + +@QuarkusTest +class GreetingResourceTest { + @Test + void testHelloEndpoint() { + given() + .when().get("/hello") + .then() + .statusCode(200) + .body(is("Hello RESTEasy")); + } + +} \ No newline at end of file diff --git a/4/src/test/test.iml b/4/src/test/test.iml new file mode 100644 index 0000000..a0e49a3 --- /dev/null +++ b/4/src/test/test.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/AddString/src/App.jsx b/AddString/src/App.jsx new file mode 100644 index 0000000..a1b1e16 --- /dev/null +++ b/AddString/src/App.jsx @@ -0,0 +1,16 @@ +import React from 'react'; +import { Provider } from 'react-redux'; +import store from './store'; +import MyInput from './MyInput'; +import MyOutput from './MyOutput'; + +export default function App() { + return ( + +
+ + +
+
+ ); +} diff --git a/AddString/src/MyInput.jsx b/AddString/src/MyInput.jsx new file mode 100644 index 0000000..bdbfd03 --- /dev/null +++ b/AddString/src/MyInput.jsx @@ -0,0 +1,48 @@ +import React from 'react'; +import { useDispatch, useSelector } from 'react-redux'; + +export default function MyInput() { + const dispatch = useDispatch(); + const input = useSelector(state => state.input); + + const handleAdd = () => { + if (input.trim()) { + dispatch({ type: 'list/add', payload: input }); + dispatch({ type: 'input/clear' }); + } + }; + + return ( +
+ dispatch({ type: 'input/update', payload: e.target.value })} + style={{ + width: '100%', + padding: '10px', + fontSize: '18px', + marginBottom: '10px', + border: '2px solid #0077cc', + borderRadius: '6px' + }} + /> + +
+ ); +} diff --git a/AddString/src/MyOutput.jsx b/AddString/src/MyOutput.jsx new file mode 100644 index 0000000..eebee7e --- /dev/null +++ b/AddString/src/MyOutput.jsx @@ -0,0 +1,18 @@ +import React from 'react'; +import { useSelector } from 'react-redux'; + +export default function MyOutput() { + const list = useSelector(state => state.list); + + return ( +
+ {list.join(' ')} +
+ ); +} diff --git a/AddString/src/assets/react.svg b/AddString/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/AddString/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/AddString/src/main.jsx b/AddString/src/main.jsx new file mode 100644 index 0000000..d76b758 --- /dev/null +++ b/AddString/src/main.jsx @@ -0,0 +1,9 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import App from './App'; + +ReactDOM.createRoot(document.getElementById('root')).render( + + + +); diff --git a/AddString/src/reducer.js b/AddString/src/reducer.js new file mode 100644 index 0000000..cd57638 --- /dev/null +++ b/AddString/src/reducer.js @@ -0,0 +1,17 @@ +const initialState = { + input: '', + list: [] +}; + +export default function appReducer(state = initialState, action) { + switch (action.type) { + case 'input/update': + return { ...state, input: action.payload }; + case 'input/clear': + return { ...state, input: '' }; + case 'list/add': + return { ...state, list: [...state.list, action.payload] }; + default: + return state; + } +} diff --git a/AddString/src/store.js b/AddString/src/store.js new file mode 100644 index 0000000..ab91fb9 --- /dev/null +++ b/AddString/src/store.js @@ -0,0 +1,8 @@ +import { configureStore } from '@reduxjs/toolkit'; +import reducer from './reducer'; + +const store = configureStore({ + reducer: reducer +}); + +export default store; diff --git a/rechner/Abgabe 4 b/rechner/Abgabe 4 new file mode 160000 index 0000000..3f55165 --- /dev/null +++ b/rechner/Abgabe 4 @@ -0,0 +1 @@ +Subproject commit 3f5516500f9b52bbac9caf345a264f6e9f5aa89b
+
+
+

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

+

Dev UI V1: /q/dev-v1

+

Generated starter code:

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

Selected extensions

+
    +
  • RESTEasy Classic 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.

+
+
+