diff --git a/generated/java/dapla-kuben-resource-model/.mvn/wrapper/MavenWrapperDownloader.java b/generated/java/dapla-kuben-resource-model/.mvn/wrapper/MavenWrapperDownloader.java deleted file mode 100644 index fc435c4..0000000 --- a/generated/java/dapla-kuben-resource-model/.mvn/wrapper/MavenWrapperDownloader.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright 2007-present 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. - */ - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.Authenticator; -import java.net.PasswordAuthentication; -import java.net.URL; -import java.nio.channels.Channels; -import java.nio.channels.ReadableByteChannel; -import java.util.Properties; - -public class MavenWrapperDownloader { - - private static final String WRAPPER_VERSION = "0.5.6"; - /** - * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided. - */ - private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" - + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; - - /** - * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to - * use instead of the default one. - */ - private static final String MAVEN_WRAPPER_PROPERTIES_PATH = - ".mvn/wrapper/maven-wrapper.properties"; - - /** - * Path where the maven-wrapper.jar will be saved to. - */ - private static final String MAVEN_WRAPPER_JAR_PATH = - ".mvn/wrapper/maven-wrapper.jar"; - - /** - * Name of the property which should be used to override the default download url for the wrapper. - */ - private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; - - public static void main(String args[]) { - System.out.println("- Downloader started"); - File baseDirectory = new File(args[0]); - System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); - - // If the maven-wrapper.properties exists, read it and check if it contains a custom - // wrapperUrl parameter. - File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); - String url = DEFAULT_DOWNLOAD_URL; - if(mavenWrapperPropertyFile.exists()) { - FileInputStream mavenWrapperPropertyFileInputStream = null; - try { - mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); - Properties mavenWrapperProperties = new Properties(); - mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); - url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); - } catch (IOException e) { - System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); - } finally { - try { - if(mavenWrapperPropertyFileInputStream != null) { - mavenWrapperPropertyFileInputStream.close(); - } - } catch (IOException e) { - // Ignore ... - } - } - } - System.out.println("- Downloading from: " + url); - - File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); - if(!outputFile.getParentFile().exists()) { - if(!outputFile.getParentFile().mkdirs()) { - System.out.println( - "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); - } - } - System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); - try { - downloadFileFromURL(url, outputFile); - System.out.println("Done"); - System.exit(0); - } catch (Throwable e) { - System.out.println("- Error downloading"); - e.printStackTrace(); - System.exit(1); - } - } - - private static void downloadFileFromURL(String urlString, File destination) throws Exception { - if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { - String username = System.getenv("MVNW_USERNAME"); - char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); - Authenticator.setDefault(new Authenticator() { - @Override - protected PasswordAuthentication getPasswordAuthentication() { - return new PasswordAuthentication(username, password); - } - }); - } - URL website = new URL(urlString); - ReadableByteChannel rbc; - rbc = Channels.newChannel(website.openStream()); - FileOutputStream fos = new FileOutputStream(destination); - fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); - fos.close(); - rbc.close(); - } - -} diff --git a/generated/java/dapla-kuben-resource-model/.mvn/wrapper/maven-wrapper.jar b/generated/java/dapla-kuben-resource-model/.mvn/wrapper/maven-wrapper.jar index 2cc7d4a..cb28b0e 100644 Binary files a/generated/java/dapla-kuben-resource-model/.mvn/wrapper/maven-wrapper.jar and b/generated/java/dapla-kuben-resource-model/.mvn/wrapper/maven-wrapper.jar differ diff --git a/generated/java/dapla-kuben-resource-model/.mvn/wrapper/maven-wrapper.properties b/generated/java/dapla-kuben-resource-model/.mvn/wrapper/maven-wrapper.properties index 642d572..7d02699 100644 --- a/generated/java/dapla-kuben-resource-model/.mvn/wrapper/maven-wrapper.properties +++ b/generated/java/dapla-kuben-resource-model/.mvn/wrapper/maven-wrapper.properties @@ -1,2 +1,18 @@ -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar +# 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.7/apache-maven-3.8.7-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/generated/java/dapla-kuben-resource-model/mvnw b/generated/java/dapla-kuben-resource-model/mvnw index a16b543..8d937f4 100755 --- a/generated/java/dapla-kuben-resource-model/mvnw +++ b/generated/java/dapla-kuben-resource-model/mvnw @@ -8,7 +8,7 @@ # "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 +# 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 @@ -19,7 +19,7 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Maven Start Up Batch script +# Apache Maven Wrapper startup batch script, version 3.2.0 # # Required ENV vars: # ------------------ @@ -27,7 +27,6 @@ # # Optional ENV vars # ----------------- -# M2_HOME - location of maven2's installed home dir # 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 @@ -36,6 +35,10 @@ 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 @@ -50,7 +53,7 @@ fi cygwin=false; darwin=false; mingw=false -case "`uname`" in +case "$(uname)" in CYGWIN*) cygwin=true ;; MINGW*) mingw=true;; Darwin*) darwin=true @@ -58,9 +61,9 @@ case "`uname`" in # See https://developer.apple.com/library/mac/qa/qa1170/_index.html if [ -z "$JAVA_HOME" ]; then if [ -x "/usr/libexec/java_home" ]; then - export JAVA_HOME="`/usr/libexec/java_home`" + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME else - export JAVA_HOME="/Library/Java/Home" + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME fi fi ;; @@ -68,68 +71,38 @@ esac if [ -z "$JAVA_HOME" ] ; then if [ -r /etc/gentoo-release ] ; then - JAVA_HOME=`java-config --jre-home` + JAVA_HOME=$(java-config --jre-home) fi fi -if [ -z "$M2_HOME" ] ; then - ## resolve links - $0 may be a link to maven's home - 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 - - saveddir=`pwd` - - M2_HOME=`dirname "$PRG"`/.. - - # make it fully qualified - M2_HOME=`cd "$M2_HOME" && pwd` - - cd "$saveddir" - # echo Using m2 at $M2_HOME -fi - # For Cygwin, ensure paths are in UNIX format before anything is touched if $cygwin ; then - [ -n "$M2_HOME" ] && - M2_HOME=`cygpath --unix "$M2_HOME"` [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --unix "$CLASSPATH"` + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") fi # For Mingw, ensure paths are in UNIX format before anything is touched if $mingw ; then - [ -n "$M2_HOME" ] && - M2_HOME="`(cd "$M2_HOME"; pwd)`" - [ -n "$JAVA_HOME" ] && - JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" + [ -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 + 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 + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then if $darwin ; then - javaHome="`dirname \"$javaExecutable\"`" - javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" else - javaExecutable="`readlink -f \"$javaExecutable\"`" + javaExecutable="$(readlink -f "\"$javaExecutable\"")" fi - javaHome="`dirname \"$javaExecutable\"`" - javaHome=`expr "$javaHome" : '\(.*\)/bin'` + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') JAVA_HOME="$javaHome" export JAVA_HOME fi @@ -145,7 +118,7 @@ if [ -z "$JAVACMD" ] ; then JAVACMD="$JAVA_HOME/bin/java" fi else - JAVACMD="`which java`" + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" fi fi @@ -159,12 +132,9 @@ if [ -z "$JAVA_HOME" ] ; then echo "Warning: JAVA_HOME environment variable is not set." fi -CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher - # 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" @@ -180,96 +150,99 @@ find_maven_basedir() { fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then - wdir=`cd "$wdir/.."; pwd` + wdir=$(cd "$wdir/.." || exit 1; pwd) fi # end of workaround done - echo "${basedir}" + printf '%s' "$(cd "$basedir" || exit 1; pwd)" } # concatenates all lines of a file concat_lines() { if [ -f "$1" ]; then - echo "$(tr -s '\n' ' ' < "$1")" + # 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 "$(pwd)"` +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. ########################################################################################## -if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found .mvn/wrapper/maven-wrapper.jar" - fi +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." - fi + log "Couldn't find $wrapperJarPath, downloading it ..." + if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" else - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + 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 key value; do - case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + 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 < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" - if [ "$MVNW_VERBOSE" = true ]; then - echo "Downloading from: $jarUrl" - fi - wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + if $cygwin; then - wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") fi if command -v wget > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found wget ... using wget" - fi + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" fi elif command -v curl > /dev/null; then - if [ "$MVNW_VERBOSE" = true ]; then - echo "Found curl ... using curl" - fi + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl -o "$wrapperJarPath" "$jarUrl" -f + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" else - curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" fi - else - if [ "$MVNW_VERBOSE" = true ]; then - echo "Falling back to using Java to download" - fi - javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + 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 - javaClass=`cygpath --path --windows "$javaClass"` + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") fi - if [ -e "$javaClass" ]; then - if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Compiling MavenWrapperDownloader.java ..." - fi - # Compiling the Java class - ("$JAVA_HOME/bin/javac" "$javaClass") + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") fi - if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then - # Running the downloader - if [ "$MVNW_VERBOSE" = true ]; then - echo " - Running MavenWrapperDownloader.java ..." - fi - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" fi fi fi @@ -278,33 +251,58 @@ fi # End of extension ########################################################################################## -export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} -if [ "$MVNW_VERBOSE" = true ]; then - echo $MAVEN_PROJECTBASEDIR +# 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 "$M2_HOME" ] && - M2_HOME=`cygpath --path --windows "$M2_HOME"` [ -n "$JAVA_HOME" ] && - JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") [ -n "$CLASSPATH" ] && - CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$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 $@" +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.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/generated/java/dapla-kuben-resource-model/mvnw.cmd b/generated/java/dapla-kuben-resource-model/mvnw.cmd new file mode 100644 index 0000000..c4586b5 --- /dev/null +++ b/generated/java/dapla-kuben-resource-model/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/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/core/v1/KubenResource.java b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/core/v1/KubenResource.java index db7787c..a509b5e 100644 --- a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/core/v1/KubenResource.java +++ b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/core/v1/KubenResource.java @@ -13,12 +13,13 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; /** * KubenResource *

- * Base container for Kuben resources + * Base definition of how Kuben resources should be defined. * */ @JsonInclude(JsonInclude.Include.NON_NULL) @@ -38,6 +39,7 @@ public class KubenResource implements Serializable * */ @JsonProperty("version") + @Pattern(regexp = "^[a-z/]*[a-z]/v[0-9]+$") @NotNull private String version; /** diff --git a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/partials/v1/TeamInfoMetadataSchema.java b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/partials/v1/TeamInfoMetadataSchema.java index 86c5834..e627e42 100644 --- a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/partials/v1/TeamInfoMetadataSchema.java +++ b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/partials/v1/TeamInfoMetadataSchema.java @@ -27,6 +27,7 @@ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "team_name", + "name", "visibility" }) @Generated("jsonschema2pojo") @@ -34,15 +35,25 @@ public class TeamInfoMetadataSchema implements Serializable { /** - * Name of this resource + * The (uniform) name of this team * (Required) * */ @JsonProperty("team_name") - @JsonPropertyDescription("Name of this resource") + @JsonPropertyDescription("The (uniform) name of this team") @Size(min = 1) @NotNull private String teamName; + /** + * Name of this resource + * (Required) + * + */ + @JsonProperty("name") + @JsonPropertyDescription("Name of this resource") + @Size(min = 1) + @NotNull + private String name; /** * Whenever the metadata in this manifest is considered to be exposed in e.g. a portal. Will default to public if not specified * @@ -53,7 +64,7 @@ public class TeamInfoMetadataSchema implements Serializable @JsonIgnore @Valid private Map additionalProperties = new LinkedHashMap(); - private final static long serialVersionUID = 1258206655867380465L; + private final static long serialVersionUID = -6567017345717248345L; /** * No args constructor for use in serialization @@ -65,13 +76,16 @@ public TeamInfoMetadataSchema() { /** * * @param teamName - * Name of this resource. + * The (uniform) name of this team. * @param visibility * Whenever the metadata in this manifest is considered to be exposed in e.g. a portal. Will default to public if not specified. + * @param name + * Name of this resource. */ - public TeamInfoMetadataSchema(String teamName, TeamInfoMetadataSchema.Visibility visibility) { + public TeamInfoMetadataSchema(String teamName, String name, TeamInfoMetadataSchema.Visibility visibility) { super(); this.teamName = teamName; + this.name = name; this.visibility = visibility; } @@ -80,7 +94,7 @@ public static TeamInfoMetadataSchema.TeamInfoMetadataSchemaBuilderBase builder() } /** - * Name of this resource + * The (uniform) name of this team * (Required) * */ @@ -90,7 +104,7 @@ public String getTeamName() { } /** - * Name of this resource + * The (uniform) name of this team * (Required) * */ @@ -99,6 +113,26 @@ public void setTeamName(String teamName) { this.teamName = teamName; } + /** + * Name of this resource + * (Required) + * + */ + @JsonProperty("name") + public String getName() { + return name; + } + + /** + * Name of this resource + * (Required) + * + */ + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + /** * Whenever the metadata in this manifest is considered to be exposed in e.g. a portal. Will default to public if not specified * @@ -135,6 +169,10 @@ public String toString() { sb.append('='); sb.append(((this.teamName == null)?"":this.teamName)); sb.append(','); + sb.append("name"); + sb.append('='); + sb.append(((this.name == null)?"":this.name)); + sb.append(','); sb.append("visibility"); sb.append('='); sb.append(((this.visibility == null)?"":this.visibility)); @@ -155,6 +193,7 @@ public String toString() { public int hashCode() { int result = 1; result = ((result* 31)+((this.teamName == null)? 0 :this.teamName.hashCode())); + result = ((result* 31)+((this.name == null)? 0 :this.name.hashCode())); result = ((result* 31)+((this.additionalProperties == null)? 0 :this.additionalProperties.hashCode())); result = ((result* 31)+((this.visibility == null)? 0 :this.visibility.hashCode())); return result; @@ -169,7 +208,7 @@ public boolean equals(Object other) { return false; } TeamInfoMetadataSchema rhs = ((TeamInfoMetadataSchema) other); - return ((((this.teamName == rhs.teamName)||((this.teamName!= null)&&this.teamName.equals(rhs.teamName)))&&((this.additionalProperties == rhs.additionalProperties)||((this.additionalProperties!= null)&&this.additionalProperties.equals(rhs.additionalProperties))))&&((this.visibility == rhs.visibility)||((this.visibility!= null)&&this.visibility.equals(rhs.visibility)))); + return (((((this.teamName == rhs.teamName)||((this.teamName!= null)&&this.teamName.equals(rhs.teamName)))&&((this.name == rhs.name)||((this.name!= null)&&this.name.equals(rhs.name))))&&((this.additionalProperties == rhs.additionalProperties)||((this.additionalProperties!= null)&&this.additionalProperties.equals(rhs.additionalProperties))))&&((this.visibility == rhs.visibility)||((this.visibility!= null)&&this.visibility.equals(rhs.visibility)))); } public static class TeamInfoMetadataSchemaBuilder @@ -181,8 +220,8 @@ public TeamInfoMetadataSchemaBuilder() { super(); } - public TeamInfoMetadataSchemaBuilder(String teamName, TeamInfoMetadataSchema.Visibility visibility) { - super(teamName, visibility); + public TeamInfoMetadataSchemaBuilder(String teamName, String name, TeamInfoMetadataSchema.Visibility visibility) { + super(teamName, name, visibility); } } @@ -200,10 +239,10 @@ public TeamInfoMetadataSchemaBuilderBase() { } @SuppressWarnings("unchecked") - public TeamInfoMetadataSchemaBuilderBase(String teamName, TeamInfoMetadataSchema.Visibility visibility) { + public TeamInfoMetadataSchemaBuilderBase(String teamName, String name, TeamInfoMetadataSchema.Visibility visibility) { // Skip initialization when called from subclass if (this.getClass().equals(TeamInfoMetadataSchema.TeamInfoMetadataSchemaBuilder.class)) { - this.instance = ((T) new TeamInfoMetadataSchema(teamName, visibility)); + this.instance = ((T) new TeamInfoMetadataSchema(teamName, name, visibility)); } } @@ -219,6 +258,11 @@ public TeamInfoMetadataSchema.TeamInfoMetadataSchemaBuilderBase withTeamName(Str return this; } + public TeamInfoMetadataSchema.TeamInfoMetadataSchemaBuilderBase withName(String name) { + ((TeamInfoMetadataSchema) this.instance).name = name; + return this; + } + public TeamInfoMetadataSchema.TeamInfoMetadataSchemaBuilderBase withVisibility(TeamInfoMetadataSchema.Visibility visibility) { ((TeamInfoMetadataSchema) this.instance).visibility = visibility; return this; diff --git a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/AdditionalTeamInfo.java b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/AdditionalTeamInfo.java index c33d900..51c8ad3 100644 --- a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/AdditionalTeamInfo.java +++ b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/AdditionalTeamInfo.java @@ -17,13 +17,14 @@ import com.fasterxml.jackson.annotation.JsonValue; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; import no.ssb.dapla.kuben.partials.v1.TeamInfoMetadataSchema; /** * AdditionalTeamInfo *

- * Additional fields to express custom team information + * Additional fields to express custom team information Information the team can add without any restrictions on what kind of data is specified. Can be useful in situations where teams want to express or communicate some kind of information without it fitting the defined team info model. * */ @JsonInclude(JsonInclude.Include.NON_NULL) @@ -44,6 +45,7 @@ public class AdditionalTeamInfo implements Serializable */ @JsonProperty("version") @JsonPropertyDescription("The version of this specification") + @Pattern(regexp = "^kuben/v[0-9]+$") @NotNull private String version; /** diff --git a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/KubenTeamDefinition.java b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/KubenTeamDefinition.java index f8c2569..8a9bf69 100644 --- a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/KubenTeamDefinition.java +++ b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/KubenTeamDefinition.java @@ -20,7 +20,7 @@ /** * KubenTeamDefinition *

- * The definition of a team inside Kuben + * The definition of a team inside Kuben Fields that are important for the technical configuration of a team * */ @JsonInclude(JsonInclude.Include.NON_NULL) @@ -46,12 +46,12 @@ public class KubenTeamDefinition implements Serializable @NotNull private String uniformName; /** - * + * The human readable form of the teams name * (Required) * */ @JsonProperty("display_name") - @JsonPropertyDescription("") + @JsonPropertyDescription("The human readable form of the teams name") @NotNull private String displayName; @JsonProperty("gcp") @@ -78,6 +78,11 @@ public class KubenTeamDefinition implements Serializable public KubenTeamDefinition() { } + /** + * + * @param displayName + * The human readable form of the teams name. + */ public KubenTeamDefinition(String uniformName, String displayName, Gcp gcp, Github github, Atlantis atlantis, ArtifactRegistry artifactRegistry) { super(); this.uniformName = uniformName; @@ -113,7 +118,7 @@ public void setUniformName(String uniformName) { } /** - * + * The human readable form of the teams name * (Required) * */ @@ -123,7 +128,7 @@ public String getDisplayName() { } /** - * + * The human readable form of the teams name * (Required) * */ diff --git a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/PlatformManagedTeamInfo.java b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/PlatformManagedTeamInfo.java index 7e7ddcd..4e0c611 100644 --- a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/PlatformManagedTeamInfo.java +++ b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/PlatformManagedTeamInfo.java @@ -17,13 +17,14 @@ import com.fasterxml.jackson.annotation.JsonValue; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; import no.ssb.dapla.kuben.partials.v1.TeamInfoMetadataSchema; /** * PlatformManagedTeamInfo *

- * Metadata that the platform team manages on behalf of the team + * Information about the team that the platform team manages.Team information that is not strictly required for configuration of the team * */ @JsonInclude(JsonInclude.Include.NON_NULL) @@ -44,6 +45,7 @@ public class PlatformManagedTeamInfo implements Serializable */ @JsonProperty("version") @JsonPropertyDescription("The version of this specification") + @Pattern(regexp = "^kuben/v[0-9]+$") @NotNull private String version; /** diff --git a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/SourceDataClassification.java b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/SourceDataClassification.java new file mode 100644 index 0000000..dcbdb3e --- /dev/null +++ b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/SourceDataClassification.java @@ -0,0 +1,56 @@ + +package no.ssb.dapla.kuben.v1; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.processing.Generated; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; + + +/** + * CONSENT_BASED = (samtykkebasert undersøkelse) + * + */ +@Generated("jsonschema2pojo") +public enum SourceDataClassification { + + OPEN("OPEN"), + PII("PII"), + CONSENT_BASED("CONSENT_BASED"), + MARKET_SENSITIVE("MARKET_SENSITIVE"), + OTHER_SENSITIVE("OTHER_SENSITIVE"); + private final String value; + private final static Map CONSTANTS = new HashMap(); + + static { + for (SourceDataClassification c: values()) { + CONSTANTS.put(c.value, c); + } + } + + SourceDataClassification(String value) { + this.value = value; + } + + @Override + public String toString() { + return this.value; + } + + @JsonValue + public String value() { + return this.value; + } + + @JsonCreator + public static SourceDataClassification fromValue(String value) { + SourceDataClassification constant = CONSTANTS.get(value); + if (constant == null) { + throw new IllegalArgumentException(value); + } else { + return constant; + } + } + +} diff --git a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/StatisticalProduct.java b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/StatisticalProduct.java new file mode 100644 index 0000000..2b045e4 --- /dev/null +++ b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/StatisticalProduct.java @@ -0,0 +1,182 @@ + +package no.ssb.dapla.kuben.v1; + +import java.io.Serializable; +import java.util.LinkedHashMap; +import java.util.Map; +import javax.annotation.processing.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyDescription; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import jakarta.validation.Valid; +import jakarta.validation.constraints.Pattern; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonPropertyOrder({ + "short_name" +}) +@Generated("jsonschema2pojo") +public class StatisticalProduct implements Serializable +{ + + /** + * The short name of the statistical product, e.g. eiendom_kostra, elkraftpris, arkpi + * + */ + @JsonProperty("short_name") + @JsonPropertyDescription("The short name of the statistical product, e.g. eiendom_kostra, elkraftpris, arkpi") + @Pattern(regexp = "^[a-z_]*$") + private String shortName; + @JsonIgnore + @Valid + private Map additionalProperties = new LinkedHashMap(); + private final static long serialVersionUID = -47375210836414946L; + + /** + * No args constructor for use in serialization + * + */ + public StatisticalProduct() { + } + + /** + * + * @param shortName + * The short name of the statistical product, e.g. eiendom_kostra, elkraftpris, arkpi. + */ + public StatisticalProduct(String shortName) { + super(); + this.shortName = shortName; + } + + public static StatisticalProduct.StatisticalProductBuilderBase builder() { + return new StatisticalProduct.StatisticalProductBuilder(); + } + + /** + * The short name of the statistical product, e.g. eiendom_kostra, elkraftpris, arkpi + * + */ + @JsonProperty("short_name") + public String getShortName() { + return shortName; + } + + /** + * The short name of the statistical product, e.g. eiendom_kostra, elkraftpris, arkpi + * + */ + @JsonProperty("short_name") + public void setShortName(String shortName) { + this.shortName = shortName; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperty(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append(StatisticalProduct.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('['); + sb.append("shortName"); + sb.append('='); + sb.append(((this.shortName == null)?"":this.shortName)); + sb.append(','); + sb.append("additionalProperties"); + sb.append('='); + sb.append(((this.additionalProperties == null)?"":this.additionalProperties)); + sb.append(','); + if (sb.charAt((sb.length()- 1)) == ',') { + sb.setCharAt((sb.length()- 1), ']'); + } else { + sb.append(']'); + } + return sb.toString(); + } + + @Override + public int hashCode() { + int result = 1; + result = ((result* 31)+((this.shortName == null)? 0 :this.shortName.hashCode())); + result = ((result* 31)+((this.additionalProperties == null)? 0 :this.additionalProperties.hashCode())); + return result; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + if ((other instanceof StatisticalProduct) == false) { + return false; + } + StatisticalProduct rhs = ((StatisticalProduct) other); + return (((this.shortName == rhs.shortName)||((this.shortName!= null)&&this.shortName.equals(rhs.shortName)))&&((this.additionalProperties == rhs.additionalProperties)||((this.additionalProperties!= null)&&this.additionalProperties.equals(rhs.additionalProperties)))); + } + + public static class StatisticalProductBuilder + extends StatisticalProduct.StatisticalProductBuilderBase + { + + + public StatisticalProductBuilder() { + super(); + } + + public StatisticalProductBuilder(String shortName) { + super(shortName); + } + + } + + public static abstract class StatisticalProductBuilderBase{ + + protected T instance; + + @SuppressWarnings("unchecked") + public StatisticalProductBuilderBase() { + // Skip initialization when called from subclass + if (this.getClass().equals(StatisticalProduct.StatisticalProductBuilder.class)) { + this.instance = ((T) new StatisticalProduct()); + } + } + + @SuppressWarnings("unchecked") + public StatisticalProductBuilderBase(String shortName) { + // Skip initialization when called from subclass + if (this.getClass().equals(StatisticalProduct.StatisticalProductBuilder.class)) { + this.instance = ((T) new StatisticalProduct(shortName)); + } + } + + public T build() { + T result; + result = this.instance; + this.instance = null; + return result; + } + + public StatisticalProduct.StatisticalProductBuilderBase withShortName(String shortName) { + ((StatisticalProduct) this.instance).shortName = shortName; + return this; + } + + public StatisticalProduct.StatisticalProductBuilderBase withAdditionalProperty(String name, Object value) { + ((StatisticalProduct) this.instance).additionalProperties.put(name, value); + return this; + } + + } + +} diff --git a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/TeamInfo.java b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/TeamInfo.java index 13ce937..dced60d 100644 --- a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/TeamInfo.java +++ b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/TeamInfo.java @@ -17,6 +17,7 @@ import com.fasterxml.jackson.annotation.JsonValue; import jakarta.validation.Valid; import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; import no.ssb.dapla.kuben.partials.v1.TeamInfoMetadataSchema; @@ -44,6 +45,7 @@ public class TeamInfo implements Serializable */ @JsonProperty("version") @JsonPropertyDescription("The version of this specification") + @Pattern(regexp = "^kuben/v[0-9]+$") @NotNull private String version; /** diff --git a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/TeamInfoSpec.java b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/TeamInfoSpec.java index 8473bc0..97cb2a5 100644 --- a/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/TeamInfoSpec.java +++ b/generated/java/dapla-kuben-resource-model/src/main/java/no/ssb/dapla/kuben/v1/TeamInfoSpec.java @@ -2,19 +2,15 @@ package no.ssb.dapla.kuben.v1; import java.io.Serializable; +import java.net.URI; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; -import java.util.Map; import javax.annotation.processing.Generated; -import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyDescription; import com.fasterxml.jackson.annotation.JsonPropertyOrder; -import com.fasterxml.jackson.annotation.JsonValue; import jakarta.validation.Valid; -import jakarta.validation.constraints.NotNull; /** @@ -23,32 +19,39 @@ */ @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ - "data_content_types", - "pii_agreements" + "source_data_classification", + "statistical_products", + "dpia_links" }) @Generated("jsonschema2pojo") public class TeamInfoSpec implements Serializable { /** - * WIP, which data content this team handles - * (Required) + * Which type of source data this team handles * */ - @JsonProperty("data_content_types") - @JsonPropertyDescription("WIP, which data content this team handles") + @JsonProperty("source_data_classification") + @JsonPropertyDescription("Which type of source data this team handles") @Valid - @NotNull - private TeamInfoSpec.DataContentTypes dataContentTypes; + private List sourceDataClassification = new ArrayList(); + /** + * A list of all the statistical products this team produces + * + */ + @JsonProperty("statistical_products") + @JsonPropertyDescription("A list of all the statistical products this team produces") + @Valid + private List statisticalProducts = new ArrayList(); /** * A list of links to Personal Identifiable Information (PII) agreements are located * */ - @JsonProperty("pii_agreements") + @JsonProperty("dpia_links") @JsonPropertyDescription("A list of links to Personal Identifiable Information (PII) agreements are located") @Valid - private List piiAgreements = new ArrayList(); - private final static long serialVersionUID = -2334493064795374495L; + private List dpiaLinks = new ArrayList(); + private final static long serialVersionUID = 4396638684417242975L; /** * No args constructor for use in serialization @@ -59,15 +62,18 @@ public TeamInfoSpec() { /** * - * @param dataContentTypes - * WIP, which data content this team handles. - * @param piiAgreements + * @param statisticalProducts + * A list of all the statistical products this team produces. + * @param sourceDataClassification + * Which type of source data this team handles. + * @param dpiaLinks * A list of links to Personal Identifiable Information (PII) agreements are located. */ - public TeamInfoSpec(TeamInfoSpec.DataContentTypes dataContentTypes, List piiAgreements) { + public TeamInfoSpec(List sourceDataClassification, List statisticalProducts, List dpiaLinks) { super(); - this.dataContentTypes = dataContentTypes; - this.piiAgreements = piiAgreements; + this.sourceDataClassification = sourceDataClassification; + this.statisticalProducts = statisticalProducts; + this.dpiaLinks = dpiaLinks; } public static TeamInfoSpec.TeamInfoSpecBuilderBase builder() { @@ -75,54 +81,74 @@ public static TeamInfoSpec.TeamInfoSpecBuilderBase builder() { } /** - * WIP, which data content this team handles - * (Required) + * Which type of source data this team handles + * + */ + @JsonProperty("source_data_classification") + public List getSourceDataClassification() { + return sourceDataClassification; + } + + /** + * Which type of source data this team handles * */ - @JsonProperty("data_content_types") - public TeamInfoSpec.DataContentTypes getDataContentTypes() { - return dataContentTypes; + @JsonProperty("source_data_classification") + public void setSourceDataClassification(List sourceDataClassification) { + this.sourceDataClassification = sourceDataClassification; } /** - * WIP, which data content this team handles - * (Required) + * A list of all the statistical products this team produces * */ - @JsonProperty("data_content_types") - public void setDataContentTypes(TeamInfoSpec.DataContentTypes dataContentTypes) { - this.dataContentTypes = dataContentTypes; + @JsonProperty("statistical_products") + public List getStatisticalProducts() { + return statisticalProducts; + } + + /** + * A list of all the statistical products this team produces + * + */ + @JsonProperty("statistical_products") + public void setStatisticalProducts(List statisticalProducts) { + this.statisticalProducts = statisticalProducts; } /** * A list of links to Personal Identifiable Information (PII) agreements are located * */ - @JsonProperty("pii_agreements") - public List getPiiAgreements() { - return piiAgreements; + @JsonProperty("dpia_links") + public List getDpiaLinks() { + return dpiaLinks; } /** * A list of links to Personal Identifiable Information (PII) agreements are located * */ - @JsonProperty("pii_agreements") - public void setPiiAgreements(List piiAgreements) { - this.piiAgreements = piiAgreements; + @JsonProperty("dpia_links") + public void setDpiaLinks(List dpiaLinks) { + this.dpiaLinks = dpiaLinks; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append(TeamInfoSpec.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('['); - sb.append("dataContentTypes"); + sb.append("sourceDataClassification"); sb.append('='); - sb.append(((this.dataContentTypes == null)?"":this.dataContentTypes)); + sb.append(((this.sourceDataClassification == null)?"":this.sourceDataClassification)); sb.append(','); - sb.append("piiAgreements"); + sb.append("statisticalProducts"); sb.append('='); - sb.append(((this.piiAgreements == null)?"":this.piiAgreements)); + sb.append(((this.statisticalProducts == null)?"":this.statisticalProducts)); + sb.append(','); + sb.append("dpiaLinks"); + sb.append('='); + sb.append(((this.dpiaLinks == null)?"":this.dpiaLinks)); sb.append(','); if (sb.charAt((sb.length()- 1)) == ',') { sb.setCharAt((sb.length()- 1), ']'); @@ -135,8 +161,9 @@ public String toString() { @Override public int hashCode() { int result = 1; - result = ((result* 31)+((this.dataContentTypes == null)? 0 :this.dataContentTypes.hashCode())); - result = ((result* 31)+((this.piiAgreements == null)? 0 :this.piiAgreements.hashCode())); + result = ((result* 31)+((this.statisticalProducts == null)? 0 :this.statisticalProducts.hashCode())); + result = ((result* 31)+((this.sourceDataClassification == null)? 0 :this.sourceDataClassification.hashCode())); + result = ((result* 31)+((this.dpiaLinks == null)? 0 :this.dpiaLinks.hashCode())); return result; } @@ -149,50 +176,7 @@ public boolean equals(Object other) { return false; } TeamInfoSpec rhs = ((TeamInfoSpec) other); - return (((this.dataContentTypes == rhs.dataContentTypes)||((this.dataContentTypes!= null)&&this.dataContentTypes.equals(rhs.dataContentTypes)))&&((this.piiAgreements == rhs.piiAgreements)||((this.piiAgreements!= null)&&this.piiAgreements.equals(rhs.piiAgreements)))); - } - - - /** - * WIP, which data content this team handles - * - */ - @Generated("jsonschema2pojo") - public enum DataContentTypes { - - OPEN(null), - PII(null), - HEALTH(null), - STOCK_SENSITIVE(null), - OTHER_SENSITIVE(null); - private final List value; - private final static Map , TeamInfoSpec.DataContentTypes> CONSTANTS = new HashMap , TeamInfoSpec.DataContentTypes>(); - - static { - for (TeamInfoSpec.DataContentTypes c: values()) { - CONSTANTS.put(c.value, c); - } - } - - DataContentTypes(List value) { - this.value = value; - } - - @JsonValue - public List value() { - return this.value; - } - - @JsonCreator - public static TeamInfoSpec.DataContentTypes fromValue(List value) { - TeamInfoSpec.DataContentTypes constant = CONSTANTS.get(value); - if (constant == null) { - throw new IllegalArgumentException((value +"")); - } else { - return constant; - } - } - + return ((((this.statisticalProducts == rhs.statisticalProducts)||((this.statisticalProducts!= null)&&this.statisticalProducts.equals(rhs.statisticalProducts)))&&((this.sourceDataClassification == rhs.sourceDataClassification)||((this.sourceDataClassification!= null)&&this.sourceDataClassification.equals(rhs.sourceDataClassification))))&&((this.dpiaLinks == rhs.dpiaLinks)||((this.dpiaLinks!= null)&&this.dpiaLinks.equals(rhs.dpiaLinks)))); } public static class TeamInfoSpecBuilder @@ -204,8 +188,8 @@ public TeamInfoSpecBuilder() { super(); } - public TeamInfoSpecBuilder(TeamInfoSpec.DataContentTypes dataContentTypes, List piiAgreements) { - super(dataContentTypes, piiAgreements); + public TeamInfoSpecBuilder(List sourceDataClassification, List statisticalProducts, List dpiaLinks) { + super(sourceDataClassification, statisticalProducts, dpiaLinks); } } @@ -223,10 +207,10 @@ public TeamInfoSpecBuilderBase() { } @SuppressWarnings("unchecked") - public TeamInfoSpecBuilderBase(TeamInfoSpec.DataContentTypes dataContentTypes, List piiAgreements) { + public TeamInfoSpecBuilderBase(List sourceDataClassification, List statisticalProducts, List dpiaLinks) { // Skip initialization when called from subclass if (this.getClass().equals(TeamInfoSpec.TeamInfoSpecBuilder.class)) { - this.instance = ((T) new TeamInfoSpec(dataContentTypes, piiAgreements)); + this.instance = ((T) new TeamInfoSpec(sourceDataClassification, statisticalProducts, dpiaLinks)); } } @@ -237,13 +221,18 @@ public T build() { return result; } - public TeamInfoSpec.TeamInfoSpecBuilderBase withDataContentTypes(TeamInfoSpec.DataContentTypes dataContentTypes) { - ((TeamInfoSpec) this.instance).dataContentTypes = dataContentTypes; + public TeamInfoSpec.TeamInfoSpecBuilderBase withSourceDataClassification(List sourceDataClassification) { + ((TeamInfoSpec) this.instance).sourceDataClassification = sourceDataClassification; + return this; + } + + public TeamInfoSpec.TeamInfoSpecBuilderBase withStatisticalProducts(List statisticalProducts) { + ((TeamInfoSpec) this.instance).statisticalProducts = statisticalProducts; return this; } - public TeamInfoSpec.TeamInfoSpecBuilderBase withPiiAgreements(List piiAgreements) { - ((TeamInfoSpec) this.instance).piiAgreements = piiAgreements; + public TeamInfoSpec.TeamInfoSpecBuilderBase withDpiaLinks(List dpiaLinks) { + ((TeamInfoSpec) this.instance).dpiaLinks = dpiaLinks; return this; } diff --git a/src/v1/kuben-team-definition.schema.json b/src/v1/kuben-team-definition.schema.json index cf3ea2d..006cf5d 100644 --- a/src/v1/kuben-team-definition.schema.json +++ b/src/v1/kuben-team-definition.schema.json @@ -10,6 +10,10 @@ "type": "string", "pattern": "^[a-z-]*$" }, + "display_name": { + "type": "string", + "description": "The human readable form of the teams name" + }, "gcp": { "type": "object", "properties": { @@ -89,5 +93,5 @@ } } }, - "required": ["uniform_name"] + "required": ["display_name", "uniform_name"] } diff --git a/src/v1/platform-managed-team-info.schema.json b/src/v1/platform-managed-team-info.schema.json index 0dc01ae..1978434 100644 --- a/src/v1/platform-managed-team-info.schema.json +++ b/src/v1/platform-managed-team-info.schema.json @@ -44,18 +44,13 @@ }, "additionalProperties": false, "required": [ - "section_code", - "display_name" + "section_code" ], "properties": { "section_code": { "type": "string", "pattern": "[0-9]{3}", "description": "The code of the section this teams belong to" - }, - "display_name": { - "type": "string", - "description": "The display name of the team" } } }