diff --git a/.github/workflows/run_tests.yaml b/.github/workflows/run_tests.yaml index 913dcc9b..be8e6e16 100644 --- a/.github/workflows/run_tests.yaml +++ b/.github/workflows/run_tests.yaml @@ -29,10 +29,10 @@ jobs: - uses: actions/checkout@v4 with: submodules: 'true' - - name: Set up JDK 11 + - name: Set up JDK 21 uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '21' distribution: 'temurin' - name: Set up Gradle uses: gradle/actions/setup-gradle@v3 @@ -42,7 +42,7 @@ jobs: dependency-graph: generate-and-submit add-job-summary-as-pr-comment: always - name: Run tests - run: ./gradlew build test + run: ./gradlew build test --stacktrace - name: Test report env: NODE_OPTIONS: '--max-old-space-size=6144' diff --git a/BUILD.md b/BUILD.md index 01b04a29..0081aa4c 100644 --- a/BUILD.md +++ b/BUILD.md @@ -14,7 +14,7 @@ machine. **Tools** Required for building: -* OpenJDK / JDK version 11 +* OpenJDK / JDK version 21 * Gradle * Docker diff --git a/build.gradle b/build.gradle index 3069550a..75856f2f 100644 --- a/build.gradle +++ b/build.gradle @@ -3,6 +3,7 @@ plugins { alias (libs.plugins.sonarqube) id 'idea' id 'jacoco' + id 'checkstyle' } repositories { @@ -11,22 +12,23 @@ repositories { idea { project { - jdkName = '11' - languageLevel = '11' + jdkName = '21' + languageLevel = '21' } module { downloadSources = true excludeDirs -= file(buildDir) + // FIXME: This might be wrong with the switch to WSDL2JAVA or even not needed buildDir.listFiles({ d, f -> f != 'generated-sources/wsimport' } as FilenameFilter).each { excludeDirs += it } } } wrapper { - gradleVersion = '7.6' + gradleVersion = '8.7' } ext { - project_version='3.0.4' + project_version='4.0.0' } @@ -34,15 +36,3 @@ allprojects { group = 'fi.vrk.xroad' version = project_version } - -subprojects { - apply plugin: 'com.github.hierynomus.license' - - license { - header rootProject.file('LICENSE.txt') - include "**/*.java" - exclude "**/wsimport/*" - } -} - - diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle new file mode 100644 index 00000000..67840524 --- /dev/null +++ b/buildSrc/build.gradle @@ -0,0 +1,3 @@ +plugins { + id 'groovy-gradle-plugin' +} diff --git a/buildSrc/src/main/groovy/catalogservice.java-checks.gradle b/buildSrc/src/main/groovy/catalogservice.java-checks.gradle new file mode 100644 index 00000000..ada479af --- /dev/null +++ b/buildSrc/src/main/groovy/catalogservice.java-checks.gradle @@ -0,0 +1,38 @@ +plugins { + id 'com.github.hierynomus.license' + id 'checkstyle' +} + +license { + header rootProject.file('LICENSE.txt') + include "**/*.java" +} + +licenseMain.source = fileTree('src/main') +licenseTest.source = fileTree('src/test') +licenseFormatMain.source = fileTree('src/main') +licenseFormatTest.source = fileTree('src/test') + +checkstyle { + toolVersion = "10.12.6" + configDirectory = file("${project.rootDir}/config/checkstyle") + ignoreFailures = false + showViolations = false + enableExternalDtdLoad = true +} + +checkstyleMain { + source = fileTree('src/main/java') + configFile = file("${project.rootDir}/config/checkstyle/checkstyle.xml") +} + +checkstyleTest { + source = fileTree('src/test/java') + configFile = file("${project.rootDir}/config/checkstyle/checkstyle-test.xml") +} + +configurations.checkstyle { + resolutionStrategy.capabilitiesResolution.withCapability("com.google.collections:google-collections") { + select("com.google.guava:guava:0") + } +} diff --git a/config/checkstyle/checkstyle-common.xml b/config/checkstyle/checkstyle-common.xml new file mode 100644 index 00000000..986b99fb --- /dev/null +++ b/config/checkstyle/checkstyle-common.xml @@ -0,0 +1,141 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/checkstyle/checkstyle-test.xml b/config/checkstyle/checkstyle-test.xml new file mode 100644 index 00000000..069a77e4 --- /dev/null +++ b/config/checkstyle/checkstyle-test.xml @@ -0,0 +1,23 @@ + + +]> + + + &common; + + + + + + + + + + + + + + diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml new file mode 100644 index 00000000..f7e2292a --- /dev/null +++ b/config/checkstyle/checkstyle.xml @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/checkstyle/suppressions.xml b/config/checkstyle/suppressions.xml new file mode 100644 index 00000000..d063537f --- /dev/null +++ b/config/checkstyle/suppressions.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 989f4b55..e77831f9 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,64 +1,65 @@ [versions] akka = "2.6.21" -commonsBeanUtils = "1.9.4" -commonsCsv = "1.11.0" -cxf = "3.5.0" -cxfCore = "4.0.4" +commons-beanutils = "1.9.4" +commons-csv = "1.11.0" +cxf = "4.0.4" guava = "31.1-jre" -h2Database = "2.2.224" -hierynomusLicense = "0.16.1" -httpClient = "4.5.14" +h2 = "2.2.224" +httpclient = "5.3.1" jackson = "2.17.1" -jakarta = "2.1.1" -javaxAnnotation = "1.3.2" -javaxJaxb = "2.3.1" +jakarta-rs-api = "4.0.0" +jakarta-annotation-api = "3.0.0" +jakarta-bind-api = "4.0.2" +wsImport = "4.0.2" jaxb = "4.0.1" json = "20220924" lombok = "1.18.32" -mockitoInline = "4.6.1" -postgreSql = "42.7.3" -sonarqube = "5.0.0.4638" -springBoot = "2.7.5" -springDoc = "1.8.0" +mockito-inline = "4.6.1" +postgresql = "42.7.3" +spring-boot = "3.2.5" +spring-doc = "1.8.0" wsdl4j = "1.6.3" -xjc = "2.1.7" +wsdl2java = "2.0.2" +sonarqube = "5.0.0.4638" +hierynomus-license = "0.16.1" [libraries] akka-actor = { module = "com.typesafe.akka:akka-actor_3", version.ref = "akka" } akka-slf4j = { module = "com.typesafe.akka:akka-slf4j_3", version.ref = "akka" } akka-testkit = { module = "com.typesafe.akka:akka-testkit_3", version.ref = "akka" } -commons-bean-utils = { module = "commons-beanutils:commons-beanutils", version.ref = "commonsBeanUtils" } -commons-csv = { module = "org.apache.commons:commons-csv", version.ref = "commonsCsv" } +commons-bean-utils = { module = "commons-beanutils:commons-beanutils", version.ref = "commons.beanutils" } +commons-csv = { module = "org.apache.commons:commons-csv", version.ref = "commons.csv" } +cxf-core = { module = "org.apache.cxf:cxf-core", version.ref = "cxf" } +cxf-spring-starter = { module = "org.apache.cxf:cxf-spring-boot-starter-jaxws", version.ref = "cxf" } cxf-transport = { module = "org.apache.cxf:cxf-rt-transports-http", version.ref = "cxf" } -cxf-core = { module = "org.apache.cxf:cxf-core", version.ref = "cxfCore" } -cxf-jaxws = { module = "org.apache.cxf:cxf-rt-frontend-jaxws", version.ref = "cxfCore" } +cxf-jaxws = { module = "org.apache.cxf:cxf-rt-frontend-jaxws", version.ref = "cxf" } guava = { module = "com.google.guava:guava", version.ref = "guava" } -h2-database = { module = "com.h2database:h2", version.ref = "h2Database" } -http-client = { module = "org.apache.httpcomponents:httpclient", version.ref = "httpClient" } +h2-database = { module = "com.h2database:h2", version.ref = "h2" } +http-client = { module = "org.apache.httpcomponents.client5:httpclient5", version.ref = "httpclient" } jackson = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson" } -jakarta = { module = "javax.ws.rs:javax.ws.rs-api", version.ref = "jakarta" } -javax-annotation = { module = "javax.annotation:javax.annotation-api", version.ref = "javaxAnnotation" } -javax-jaxb = { module = "javax.xml.bind:jaxb-api", version.ref = "javaxJaxb" } +jakarta = { module = "jakarta.ws.rs:jakarta.ws.rs-api", version.ref = "jakarta.rs.api" } +jakarta-annotation = { module = "jakarta.annotation:jakarta.annotation-api", version.ref = "jakarta.annotation.api" } +jakarta-jaxb = { module = "jakarta.xml.bind:jakarta.xml.bind-api", version.ref = "jakarta.bind.api" } jaxb-maven = { module = "com.sun.xml.ws:jaxws-maven-plugin", version.ref = "jaxb" } jaxb-rt = { module = "com.sun.xml.ws:jaxws-rt", version.ref = "jaxb" } jaxb-tools = { module = "com.sun.xml.ws:jaxws-tools", version.ref = "jaxb" } jaxb-ws-api = { module = "jakarta.xml.ws:jakarta.xml.ws-api", version.ref = "jaxb" } json = { module = "org.json:json", version.ref = "json" } lombok = { module = "org.projectlombok:lombok", version.ref = "lombok" } -mockito-inline = { module = "org.mockito:mockito-inline", version.ref = "mockitoInline" } -postgresql = { module = "org.postgresql:postgresql", version.ref = "postgreSql" } -spring-boot-jpa = { module = "org.springframework.boot:spring-boot-starter-data-jpa", version.ref = "springBoot" } -spring-boot-test = { module = "org.springframework.boot:spring-boot-starter-test", version.ref = "springBoot" } -spring-boot-ws = { module = "org.springframework.boot:spring-boot-starter-web-services", version.ref = "springBoot" } -spring-doc = { module = "org.springdoc:springdoc-openapi-ui", version.ref = "springDoc" } +mockito-inline = { module = "org.mockito:mockito-inline", version.ref = "mockito.inline" } +postgresql = { module = "org.postgresql:postgresql", version.ref = "postgresql" } +spring-boot-jpa = { module = "org.springframework.boot:spring-boot-starter-data-jpa", version.ref = "spring.boot" } +spring-boot-test = { module = "org.springframework.boot:spring-boot-starter-test", version.ref = "spring.boot" } +spring-boot-ws = { module = "org.springframework.boot:spring-boot-starter-web-services", version.ref = "spring.boot" } +spring-doc = { module = "org.springdoc:springdoc-openapi-ui", version.ref = "spring.doc" } wsdl4j = { module = "wsdl4j:wsdl4j", version.ref = "wsdl4j" } -xjc = { module = "com.sun.xml.bind:jaxb-xjc", version.ref = "xjc" } [bundles] akka = [ "akka-actor", "akka-slf4j" ] # Don't include akka-testkit in this since it is not used in implementation jaxb = [ "jaxb-rt", "jaxb-tools", "jaxb-ws-api" ] # Don't include jaxb-maven in this since it is not used in implementation [plugins] -hierynomus-license = { id = "com.github.hierynomus.license", version.ref = "hierynomusLicense" } +hierynomus-license = { id = "com.github.hierynomus.license", version.ref = "hierynomus.license" } sonarqube = { id = "org.sonarqube", version.ref = "sonarqube" } -spring-boot = { id = "org.springframework.boot", version.ref = "springBoot" } +spring-boot = { id = "org.springframework.boot", version.ref = "spring.boot" } +wsdl2java = { id = "com.github.bjornvester.wsdl2java", version.ref = "wsdl2java" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 94114481..e6441136 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 03a27fa6..b82aa23a 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ -#Tue Jan 16 08:32:14 EET 2018 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip diff --git a/gradlew b/gradlew index 9d82f789..1aa94a42 100755 --- a/gradlew +++ b/gradlew @@ -1,74 +1,127 @@ -#!/usr/bin/env bash +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ############################################################################## -## -## Gradle start up script for UN*X -## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done -APP_NAME="Gradle" -APP_BASE_NAME=`basename "$0"` +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) +APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD="maximum" +MAX_FD=maximum -warn ( ) { +warn () { echo "$*" -} +} >&2 -die ( ) { +die () { echo echo "$*" echo exit 1 -} +} >&2 # OS specific support (must be 'true' or 'false'). cygwin=false msys=false darwin=false -case "`uname`" in - CYGWIN* ) - cygwin=true - ;; - Darwin* ) - darwin=true - ;; - MINGW* ) - msys=true - ;; +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; esac -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + # Determine the Java command to use to start the JVM. if [ -n "$JAVA_HOME" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then # IBM's JDK on AIX uses strange locations for the executables - JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACMD=$JAVA_HOME/jre/sh/java else - JAVACMD="$JAVA_HOME/bin/java" + JAVACMD=$JAVA_HOME/bin/java fi if [ ! -x "$JAVACMD" ] ; then die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME @@ -77,84 +130,120 @@ Please set the JAVA_HOME variable in your environment to match the location of your Java installation." fi else - JAVACMD="java" - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + JAVACMD=java + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then - MAX_FD_LIMIT=`ulimit -H -n` - if [ $? -eq 0 ] ; then - if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then - MAX_FD="$MAX_FD_LIMIT" - fi - ulimit -n $MAX_FD - if [ $? -ne 0 ] ; then - warn "Could not set maximum file descriptor limit: $MAX_FD" - fi - else - warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" - fi +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC2039,SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac fi -# For Darwin, add options to specify how the application appears in the dock -if $darwin; then - GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" -fi +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then - APP_HOME=`cygpath --path --mixed "$APP_HOME"` - CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` - JAVACMD=`cygpath --unix "$JAVACMD"` - - # We build the pattern for arguments to be converted via cygpath - ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` - SEP="" - for dir in $ROOTDIRSRAW ; do - ROOTDIRS="$ROOTDIRS$SEP$dir" - SEP="|" - done - OURCYGPATTERN="(^($ROOTDIRS))" - # Add a user-defined pattern to the cygpath arguments - if [ "$GRADLE_CYGPATTERN" != "" ] ; then - OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" - fi # Now convert the arguments - kludge to limit ourselves to /bin/sh - i=0 - for arg in "$@" ; do - CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` - CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option - - if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition - eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` - else - eval `echo args$i`="\"$arg\"" + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) fi - i=$((i+1)) + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg done - case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; - esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") -} -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Collect all arguments for the java command: +# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# and any embedded shellness will be escaped. +# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be +# treated as '${Hostname}' itself on the command line. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index aec99730..7101f8e4 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,4 +1,20 @@ -@if "%DEBUG%" == "" @echo off +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -8,26 +24,30 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto init +if %ERRORLEVEL% equ 0 goto execute -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail @@ -35,54 +55,36 @@ goto fail set JAVA_HOME=%JAVA_HOME:"=% set JAVA_EXE=%JAVA_HOME%/bin/java.exe -if exist "%JAVA_EXE%" goto init +if exist "%JAVA_EXE%" goto execute -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. +echo. 1>&2 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 +echo. 1>&2 +echo Please set the JAVA_HOME variable in your environment to match the 1>&2 +echo location of your Java installation. 1>&2 goto fail -:init -@rem Get command-line arguments, handling Windowz variants - -if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args - -:win9xME_args -@rem Slurp the command line arguments. -set CMD_LINE_ARGS= -set _SKIP=2 - -:win9xME_args_slurp -if "x%~1" == "x" goto execute - -set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ - :execute @rem Setup the command line set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/xroad-catalog-collector/build.gradle b/xroad-catalog-collector/build.gradle index bbcde3eb..ce67a1f3 100644 --- a/xroad-catalog-collector/build.gradle +++ b/xroad-catalog-collector/build.gradle @@ -1,14 +1,16 @@ + plugins { alias (libs.plugins.spring.boot) id 'java' id 'eclipse' id 'idea' id 'jacoco' + id 'catalogservice.java-checks' } group 'fi.vrk.xroad.catalog.collector' -sourceCompatibility = 11 -targetCompatibility = 11 +sourceCompatibility = 21 +targetCompatibility = 21 repositories { mavenCentral() @@ -35,6 +37,10 @@ jar { enabled = false } +tasks.withType(Jar).configureEach { + duplicatesStrategy = DuplicatesStrategy.WARN +} + springBoot { mainClass = 'fi.vrk.xroad.catalog.collector.XRoadCatalogCollector' } @@ -67,10 +73,12 @@ task wsImport { } } +licenseMain.dependsOn wsImport + dependencies { implementation project(':xroad-catalog-persistence') - implementation (libs.javax.annotation) - implementation (libs.javax.jaxb) + implementation (libs.jakarta.annotation) + implementation (libs.jakarta.jaxb) implementation (libs.guava) implementation (libs.http.client) implementation (libs.json) @@ -81,6 +89,7 @@ dependencies { implementation (libs.cxf.jaxws) implementation (libs.cxf.transport) implementation (libs.cxf.core) + implementation (libs.cxf.spring.starter) implementation (libs.lombok) annotationProcessor (libs.lombok) wsimport (libs.jaxb.maven) @@ -92,8 +101,8 @@ dependencies { testImplementation (libs.akka.testkit) testImplementation (libs.lombok) testAnnotationProcessor (libs.lombok) - testImplementation (libs.javax.annotation) - testImplementation (libs.javax.jaxb) + testImplementation (libs.jakarta.annotation) + testImplementation (libs.jakarta.jaxb) } compileJava.dependsOn wsImport diff --git a/xroad-catalog-collector/build_rpm.sh b/xroad-catalog-collector/build_rpm.sh index 0801265c..cc6fc562 100755 --- a/xroad-catalog-collector/build_rpm.sh +++ b/xroad-catalog-collector/build_rpm.sh @@ -29,7 +29,7 @@ CMD="-ba" rm -rf ${ROOT}/RPMS/* -app_version=3.0.4 +app_version=4.0.0 echo "Chosen catalog profile = $PROFILE" diff --git a/xroad-catalog-collector/packages/xroad-catalog-collector/docker/Dockerfile b/xroad-catalog-collector/packages/xroad-catalog-collector/docker/Dockerfile index e4555230..a24b3773 100644 --- a/xroad-catalog-collector/packages/xroad-catalog-collector/docker/Dockerfile +++ b/xroad-catalog-collector/packages/xroad-catalog-collector/docker/Dockerfile @@ -1,7 +1,7 @@ FROM centos:7 MAINTAINER "Nordic Institute for Interoperability Solutions (NIIS)" -RUN yum -y install sudo git rpm-build java-11-openjdk-headless +RUN yum -y install sudo git rpm-build java-21-openjdk-headless RUN yum clean all RUN sed -i 's/requiretty/!requiretty/' /etc/sudoers diff --git a/xroad-catalog-collector/packages/xroad-catalog-collector/redhat/SOURCES/xroad-catalog-collector b/xroad-catalog-collector/packages/xroad-catalog-collector/redhat/SOURCES/xroad-catalog-collector index f502d449..dfb58aa4 100644 --- a/xroad-catalog-collector/packages/xroad-catalog-collector/redhat/SOURCES/xroad-catalog-collector +++ b/xroad-catalog-collector/packages/xroad-catalog-collector/redhat/SOURCES/xroad-catalog-collector @@ -1,5 +1,5 @@ #!/bin/sh set -x source /etc/xroad/xroad-catalog/catalog-profile.properties -JAVA=$(update-alternatives --display java | grep priority | grep java-11-openjdk | cut -d " " -f1) -exec $JAVA -Xms128m -Xmx2g -Dspring.profiles.active=base,production -Dspring.profiles.include=$CATALOG_PROFILE -jar /usr/lib/xroad-catalog/xroad-catalog-collector.jar --spring.config.location=/etc/xroad/xroad-catalog/ --spring.config.name=collector,catalogdb \ No newline at end of file +JAVA=$(update-alternatives --display java | grep priority | grep java-21-openjdk | cut -d " " -f1) +exec $JAVA -Xms128m -Xmx2g -Dspring.profiles.active=base,production -Dspring.profiles.include=$CATALOG_PROFILE -jar /usr/lib/xroad-catalog/xroad-catalog-collector.jar --spring.config.location=/etc/xroad/xroad-catalog/ --spring.config.name=collector,catalogdb diff --git a/xroad-catalog-collector/packages/xroad-catalog-collector/redhat/SPECS/xroad-catalog-collector.spec b/xroad-catalog-collector/packages/xroad-catalog-collector/redhat/SPECS/xroad-catalog-collector.spec index 8b7f7926..155b39c1 100644 --- a/xroad-catalog-collector/packages/xroad-catalog-collector/redhat/SPECS/xroad-catalog-collector.spec +++ b/xroad-catalog-collector/packages/xroad-catalog-collector/redhat/SPECS/xroad-catalog-collector.spec @@ -8,7 +8,7 @@ Release: %{rel}%{?snapshot}%{?dist} Summary: X-Road Service Listing Group: Applications/Internet License: MIT -Requires: systemd, cronie, cronie-anacron, postgresql, postgresql-server >= 10, java-11-openjdk +Requires: systemd, cronie, cronie-anacron, postgresql, postgresql-server >= 10, java-21-openjdk Requires(post): systemd Requires(preun): systemd Requires(postun): systemd diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchCompaniesActor.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchCompaniesActor.java index 81faf748..7dffe236 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchCompaniesActor.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchCompaniesActor.java @@ -17,7 +17,18 @@ import fi.vrk.xroad.catalog.collector.wsimport.XRoadClientIdentifierType; import fi.vrk.xroad.catalog.persistence.CatalogService; import fi.vrk.xroad.catalog.persistence.CompanyService; -import fi.vrk.xroad.catalog.persistence.entity.*; +import fi.vrk.xroad.catalog.persistence.entity.BusinessAddress; +import fi.vrk.xroad.catalog.persistence.entity.BusinessAuxiliaryName; +import fi.vrk.xroad.catalog.persistence.entity.BusinessIdChange; +import fi.vrk.xroad.catalog.persistence.entity.BusinessLine; +import fi.vrk.xroad.catalog.persistence.entity.BusinessName; +import fi.vrk.xroad.catalog.persistence.entity.Company; +import fi.vrk.xroad.catalog.persistence.entity.CompanyForm; +import fi.vrk.xroad.catalog.persistence.entity.ContactDetail; +import fi.vrk.xroad.catalog.persistence.entity.Language; +import fi.vrk.xroad.catalog.persistence.entity.Liquidation; +import fi.vrk.xroad.catalog.persistence.entity.RegisteredEntry; +import fi.vrk.xroad.catalog.persistence.entity.RegisteredOffice; import lombok.extern.slf4j.Slf4j; import org.json.JSONArray; import org.json.JSONObject; @@ -25,6 +36,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; + import java.util.ArrayList; import java.util.List; @@ -54,7 +66,8 @@ protected boolean handleMessage(Object message) { XRoadClientIdentifierType client = clientType.getId(); log.info("Fetching data for company with businessCode {}", client.getMemberCode()); String businessCode = clientType.getId().getMemberCode(); - JSONObject companyJson = OrganizationUtil.getCompany(clientType, fetchCompaniesUrl, businessCode, catalogService); + JSONObject companyJson = OrganizationUtil.getCompany(clientType, fetchCompaniesUrl, businessCode, + catalogService); saveData(companyJson.optJSONArray("results")); log.info("Successfully saved data for company with businessCode {}", businessCode); return true; diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchOpenApiActor.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchOpenApiActor.java index 980c115a..81471e13 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchOpenApiActor.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchOpenApiActor.java @@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; + import java.net.URL; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; @@ -68,15 +69,16 @@ public void preStart() throws Exception { @Override protected boolean handleMessage(Object message) { - if (message instanceof XRoadRestServiceIdentifierType) { - XRoadRestServiceIdentifierType service = (XRoadRestServiceIdentifierType) message; + if (message instanceof XRoadRestServiceIdentifierType service) { log.info("Fetching openApi [{}] {}", openApiCounter.addAndGet(1), ClientTypeUtil.toString(service)); - String openApi = xroadClient.getOpenApi(service, xroadSecurityServerHost, xroadInstance, memberClass, memberCode, subsystemCode, catalogService); + String openApi = xroadClient.getOpenApi(service, xroadSecurityServerHost, xroadInstance, memberClass, + memberCode, subsystemCode, catalogService); catalogService.saveOpenApi(createSubsystemId(service), createServiceId(service), openApi); List endpointList = MethodListUtil.getEndpointList(service); catalogService.prepareEndpoints(createSubsystemId(service), createServiceId(service)); - for (Endpoint endpoint: endpointList) { - catalogService.saveEndpoint(createSubsystemId(service), createServiceId(service), endpoint.getMethod(), endpoint.getPath()); + for (Endpoint endpoint : endpointList) { + catalogService.saveEndpoint(createSubsystemId(service), createServiceId(service), endpoint.getMethod(), + endpoint.getPath()); } log.info("Saved openApi successfully"); return true; diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchOrganizationsActor.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchOrganizationsActor.java index a7852406..b934645d 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchOrganizationsActor.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchOrganizationsActor.java @@ -15,7 +15,25 @@ import fi.vrk.xroad.catalog.collector.util.OrganizationUtil; import fi.vrk.xroad.catalog.collector.wsimport.ClientType; import fi.vrk.xroad.catalog.persistence.OrganizationService; -import fi.vrk.xroad.catalog.persistence.entity.*; +import fi.vrk.xroad.catalog.persistence.entity.Address; +import fi.vrk.xroad.catalog.persistence.entity.Email; +import fi.vrk.xroad.catalog.persistence.entity.Organization; +import fi.vrk.xroad.catalog.persistence.entity.OrganizationDescription; +import fi.vrk.xroad.catalog.persistence.entity.OrganizationName; +import fi.vrk.xroad.catalog.persistence.entity.PhoneNumber; +import fi.vrk.xroad.catalog.persistence.entity.PostOffice; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBox; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddress; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressAdditionalInformation; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipality; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipalityName; +import fi.vrk.xroad.catalog.persistence.entity.Street; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddress; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressAdditionalInformation; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipality; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipalityName; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressPostOffice; +import fi.vrk.xroad.catalog.persistence.entity.WebPage; import fi.vrk.xroad.catalog.persistence.CatalogService; import lombok.extern.slf4j.Slf4j; import org.json.JSONArray; @@ -57,9 +75,11 @@ public void preStart() throws Exception { } @Override - protected boolean handleMessage(Object message) throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException { + protected boolean handleMessage(Object message) + throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException { if (message instanceof ClientType) { - List organizationIds = OrganizationUtil.getOrganizationIdsList((ClientType)message, fetchOrganizationsUrl, + List organizationIds = OrganizationUtil.getOrganizationIdsList((ClientType) message, + fetchOrganizationsUrl, fetchOrganizationsLimit, catalogService); int numberOfOrganizations = organizationIds.size(); log.info("Fetched {} organization GUIDs from {}", numberOfOrganizations, fetchOrganizationsUrl); @@ -72,12 +92,14 @@ protected boolean handleMessage(Object message) throws NoSuchAlgorithmException, elementCount.getAndIncrement(); if (elementCount.get() % maxOrganizationsPerRequest == 0) { batchCount.getAndIncrement(); - saveBatch(OrganizationUtil.getDataByIds((ClientType) message, guidsList, fetchOrganizationsUrl, catalogService)); + saveBatch(OrganizationUtil.getDataByIds((ClientType) message, guidsList, fetchOrganizationsUrl, + catalogService)); guidsList.clear(); } if (elementCount.get() == organizationIds.size()) { batchCount.getAndIncrement(); - saveBatch(OrganizationUtil.getDataByIds((ClientType) message, guidsList, fetchOrganizationsUrl, catalogService)); + saveBatch(OrganizationUtil.getDataByIds((ClientType) message, guidsList, fetchOrganizationsUrl, + catalogService)); } }); log.info("Saved data of {} organizations successfully", numberOfOrganizations); @@ -174,7 +196,8 @@ private void saveStreetAddress(JSONObject streetAddressJson, Address savedAddres streetAddress.setAddress(savedAddress); StreetAddress savedStreetAddress = organizationService.saveStreetAddress(streetAddress); saveStreetAddressMunicipality(streetAddressJson.optJSONObject("municipality"), savedStreetAddress); - saveStreetAddressAdditionalInformation(streetAddressJson.optJSONArray("additionalInformation"), savedStreetAddress); + saveStreetAddressAdditionalInformation(streetAddressJson.optJSONArray("additionalInformation"), + savedStreetAddress); saveStreetAddressPostOffice(streetAddressJson.optJSONArray("postOffice"), savedStreetAddress); saveStreetAddressStreet(streetAddressJson.optJSONArray("street"), savedStreetAddress); } @@ -199,7 +222,8 @@ private void saveStreetAddressMunicipality(JSONObject municipalityJson, StreetAd } } - private void saveStreetAddressAdditionalInformation(JSONArray additionalInformationJson, StreetAddress savedStreetAddress) { + private void saveStreetAddressAdditionalInformation(JSONArray additionalInformationJson, + StreetAddress savedStreetAddress) { if (additionalInformationJson != null) { List streetAddressAdditionalInformationList = OrganizationUtil .createStreetAddressAdditionalInformation(additionalInformationJson); @@ -211,7 +235,7 @@ private void saveStreetAddressAdditionalInformation(JSONArray additionalInformat } private void saveStreetAddressPostOffice(JSONArray postOfficeJson, StreetAddress savedStreetAddress) { - if (postOfficeJson!= null) { + if (postOfficeJson != null) { List streetAddressPostOfficeList = OrganizationUtil .createStreetAddressPostOffices(postOfficeJson); streetAddressPostOfficeList.forEach(postOffice -> { @@ -232,22 +256,25 @@ private void saveStreetAddressStreet(JSONArray streetJson, StreetAddress savedSt } private void savePostOfficeBoxAddress(JSONObject postOfficeBoxAddressJson, Address savedAddress) { - PostOfficeBoxAddress postOfficeBoxAddress = OrganizationUtil.createPostOfficeBoxAddress(postOfficeBoxAddressJson); + PostOfficeBoxAddress postOfficeBoxAddress = OrganizationUtil + .createPostOfficeBoxAddress(postOfficeBoxAddressJson); postOfficeBoxAddress.setAddress(savedAddress); - PostOfficeBoxAddress savedPostOfficeBoxAddress = organizationService.savePostOfficeBoxAddress(postOfficeBoxAddress); + PostOfficeBoxAddress savedPostOfficeBoxAddress = organizationService + .savePostOfficeBoxAddress(postOfficeBoxAddress); savePostOfficeBoxAddressAdditionalInformation(postOfficeBoxAddressJson.optJSONArray("additionalInformation"), savedPostOfficeBoxAddress); savePostOffice(postOfficeBoxAddressJson.optJSONArray("postOffice"), savedPostOfficeBoxAddress); - savePostOfficeBoxAddressMunicipality(postOfficeBoxAddressJson.optJSONObject("municipality"), savedPostOfficeBoxAddress); + savePostOfficeBoxAddressMunicipality(postOfficeBoxAddressJson.optJSONObject("municipality"), + savedPostOfficeBoxAddress); savePostOfficeBox(postOfficeBoxAddressJson.optJSONArray("postOfficeBox"), savedPostOfficeBoxAddress); } private void savePostOfficeBoxAddressAdditionalInformation(JSONArray additionalInformationJson, - PostOfficeBoxAddress savedPostOfficeBoxAddress) { + PostOfficeBoxAddress savedPostOfficeBoxAddress) { if (additionalInformationJson != null) { - List postOfficeBoxAddressAdditionalInformationList - = OrganizationUtil.createPostOfficeBoxAddressAdditionalInformation(additionalInformationJson); + List postOfficeBoxAddressAdditionalInformationList = OrganizationUtil + .createPostOfficeBoxAddressAdditionalInformation(additionalInformationJson); postOfficeBoxAddressAdditionalInformationList.forEach(additionalInfo -> { additionalInfo.setPostOfficeBoxAddress(savedPostOfficeBoxAddress); organizationService.savePostOfficeBoxAddressAdditionalInformation(additionalInfo); @@ -266,8 +293,8 @@ private void savePostOffice(JSONArray postOfficeJson, PostOfficeBoxAddress saved } private void savePostOfficeBoxAddressMunicipality(JSONObject municipalityJson, - PostOfficeBoxAddress savedPostOfficeBoxAddress) { - if (municipalityJson!= null) { + PostOfficeBoxAddress savedPostOfficeBoxAddress) { + if (municipalityJson != null) { PostOfficeBoxAddressMunicipality postOfficeBoxAddressMunicipality = OrganizationUtil .createPostOfficeBoxAddressMunicipality(municipalityJson); postOfficeBoxAddressMunicipality.setPostOfficeBoxAddress(savedPostOfficeBoxAddress); diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchRestActor.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchRestActor.java index 490ce267..0f385ce4 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchRestActor.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchRestActor.java @@ -26,6 +26,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; + import java.util.List; import java.util.concurrent.atomic.AtomicInteger; @@ -63,20 +64,20 @@ public class FetchRestActor extends XRoadCatalogActor { @Override protected boolean handleMessage(Object message) { - if (message instanceof XRoadRestServiceIdentifierType) { - XRoadRestServiceIdentifierType service = (XRoadRestServiceIdentifierType) message; + if (message instanceof XRoadRestServiceIdentifierType service) { log.info("Fetching rest [{}] {}", restCounter.addAndGet(1), ClientTypeUtil.toString(service)); List endpointList = MethodListUtil.getEndpointList(service); String endpointData = "{\"endpoint_data\":"; JSONArray endPointsJSONArray = new JSONArray(); JSONObject endpointJson; catalogService.prepareEndpoints(createSubsystemId(service), createServiceId(service)); - for (Endpoint endpoint: endpointList) { + for (Endpoint endpoint : endpointList) { endpointJson = new JSONObject(); endpointJson.put(METHOD, endpoint.getMethod()); endpointJson.put(PATH, endpoint.getPath()); endPointsJSONArray.put(endpointJson); - catalogService.saveEndpoint(createSubsystemId(service), createServiceId(service), endpoint.getMethod(), endpoint.getPath()); + catalogService.saveEndpoint(createSubsystemId(service), createServiceId(service), endpoint.getMethod(), + endpoint.getPath()); } endpointData += endPointsJSONArray + "}"; catalogService.saveRest(createSubsystemId(service), createServiceId(service), endpointData); diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchWsdlActor.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchWsdlActor.java index 6324de38..e3fdb9e3 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchWsdlActor.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/FetchWsdlActor.java @@ -23,6 +23,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; + import java.net.URL; import java.util.concurrent.atomic.AtomicInteger; diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/ListClientsActor.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/ListClientsActor.java index b7be15d6..89eab055 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/ListClientsActor.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/ListClientsActor.java @@ -12,9 +12,8 @@ */ package fi.vrk.xroad.catalog.collector.actors; -import akka.actor.ActorRef; -import fi.vrk.xroad.catalog.collector.util.ClientTypeUtil; import fi.vrk.xroad.catalog.collector.util.ClientListUtil; +import fi.vrk.xroad.catalog.collector.util.ClientTypeUtil; import fi.vrk.xroad.catalog.collector.wsimport.ClientList; import fi.vrk.xroad.catalog.collector.wsimport.ClientType; import fi.vrk.xroad.catalog.collector.wsimport.XRoadObjectType; @@ -22,6 +21,7 @@ import fi.vrk.xroad.catalog.persistence.entity.Member; import fi.vrk.xroad.catalog.persistence.entity.MemberId; import fi.vrk.xroad.catalog.persistence.entity.Subsystem; +import akka.actor.ActorRef; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; @@ -34,7 +34,8 @@ import java.security.NoSuchAlgorithmException; import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.*; +import java.util.HashMap; +import java.util.HashSet; import java.util.concurrent.atomic.AtomicInteger; @Component @@ -79,7 +80,8 @@ public void preStart() throws Exception { } @Override - protected boolean handleMessage(Object message) throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException { + protected boolean handleMessage(Object message) + throws NoSuchAlgorithmException, KeyStoreException, KeyManagementException { if (START_COLLECTING.equals(message)) { if (Boolean.TRUE.equals(fetchUnlimited) || isTimeBetweenHours(fetchTimeAfterHour, fetchTimeBeforeHour)) { return fetchClients(); @@ -90,7 +92,7 @@ protected boolean handleMessage(Object message) throws NoSuchAlgorithmException, } } - private boolean fetchClients(){ + private boolean fetchClients() { String listClientsUrl = host + "/listClients"; log.info("Getting client list from {}", listClientsUrl); @@ -132,4 +134,4 @@ private static HashMap populateMapWithMembers(ClientList clien return m; } -} \ No newline at end of file +} diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/OrganizationsActor.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/OrganizationsActor.java index 03c833ed..9c5e879a 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/OrganizationsActor.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/OrganizationsActor.java @@ -94,10 +94,10 @@ public class OrganizationsActor extends XRoadCatalogActor { private XRoadClient xroadClient; public OrganizationsActor(ActorRef fetchWsdlPoolRef, - ActorRef fetchOpenApiPoolRef, - ActorRef fetchRestPoolRef, - ActorRef fetchOrganizationsPoolRef, - ActorRef fetchCompaniesPoolRef) { + ActorRef fetchOpenApiPoolRef, + ActorRef fetchRestPoolRef, + ActorRef fetchOrganizationsPoolRef, + ActorRef fetchCompaniesPoolRef) { this.fetchWsdlPoolRef = fetchWsdlPoolRef; this.fetchOpenApiPoolRef = fetchOpenApiPoolRef; this.fetchRestPoolRef = fetchRestPoolRef; @@ -137,7 +137,8 @@ private void fetchOrganizations(ClientType clientType) { } private void fetchCompanies(ClientType clientType) { - if (MethodListUtil.shouldFetchCompanies(fetchCompaniesUnlimited, fetchCompaniesTimeAfterHour, fetchCompaniesTimeBeforeHour)) { + if (MethodListUtil.shouldFetchCompanies(fetchCompaniesUnlimited, fetchCompaniesTimeAfterHour, + fetchCompaniesTimeBeforeHour)) { fetchCompaniesPoolRef.tell(clientType, getSelf()); } } @@ -184,4 +185,5 @@ private void saveSubsystemsAndServices(ClientType clientType) { } } } -} \ No newline at end of file +} + diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/OrganizationsSupervisor.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/OrganizationsSupervisor.java index 37622edc..96ae6a19 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/OrganizationsSupervisor.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/actors/OrganizationsSupervisor.java @@ -27,7 +27,8 @@ import static akka.actor.SupervisorStrategy.restart; /** - * Supervisor to get list of all clients in system and initiate a ClientActor for each + * Supervisor to get list of all clients in system and initiate a ClientActor + * for each *

* A router is configured at startup time, managing a pool of task actors. */ @@ -86,58 +87,61 @@ public void preStart() throws Exception { // prepare each pool. Give ActorRefs to other pools, as needed. // To make this possible, create pools in correct order - // for each pool, supervisor strategy restarts each individual actor if it fails. + // for each pool, supervisor strategy restarts each individual actor if it + // fails. // default is to restart the whole pool, which is not what we want: // http://doc.akka.io/docs/akka/current/java/routing.html#Supervision fetchWsdlPoolRouter = getContext().actorOf(new SmallestMailboxPool(fetchWsdlPoolSize) - .withSupervisorStrategy(new OneForOneStrategy(-1, - Duration.Inf(), - (Throwable t) -> restart())) - .props(springExtension.props("fetchWsdlActor")), + .withSupervisorStrategy(new OneForOneStrategy(-1, + Duration.Inf(), + (Throwable t) -> restart())) + .props(springExtension.props("fetchWsdlActor")), FETCH_WSDL_ACTOR_ROUTER); fetchOpenApiPoolRouter = getContext().actorOf(new SmallestMailboxPool(fetchOpenApiPoolSize) - .withSupervisorStrategy(new OneForOneStrategy(-1, - Duration.Inf(), - (Throwable t) -> restart())) - .props(springExtension.props("fetchOpenApiActor")), + .withSupervisorStrategy(new OneForOneStrategy(-1, + Duration.Inf(), + (Throwable t) -> restart())) + .props(springExtension.props("fetchOpenApiActor")), FETCH_OPENAPI_ACTOR_ROUTER); fetchRestPoolRouter = getContext().actorOf(new SmallestMailboxPool(fetchRestPoolSize) - .withSupervisorStrategy(new OneForOneStrategy(-1, - Duration.Inf(), - (Throwable t) -> restart())) - .props(springExtension.props("fetchRestActor")), + .withSupervisorStrategy(new OneForOneStrategy(-1, + Duration.Inf(), + (Throwable t) -> restart())) + .props(springExtension.props("fetchRestActor")), FETCH_REST_ACTOR_ROUTER); fetchOrganizationsPoolRouter = getContext().actorOf(new SmallestMailboxPool(fetchOrganizationsPoolSize) - .withSupervisorStrategy(new OneForOneStrategy(-1, - Duration.Inf(), - (Throwable t) -> restart())) - .props(springExtension.props("fetchOrganizationsActor")), + .withSupervisorStrategy(new OneForOneStrategy(-1, + Duration.Inf(), + (Throwable t) -> restart())) + .props(springExtension.props("fetchOrganizationsActor")), FETCH_ORGANIZATIONS_ACTOR_ROUTER); fetchCompaniesPoolRouter = getContext().actorOf(new SmallestMailboxPool(fetchCompaniesPoolSize) - .withSupervisorStrategy(new OneForOneStrategy(-1, - Duration.Inf(), - (Throwable t) -> restart())) - .props(springExtension.props("fetchCompaniesActor")), + .withSupervisorStrategy(new OneForOneStrategy(-1, + Duration.Inf(), + (Throwable t) -> restart())) + .props(springExtension.props("fetchCompaniesActor")), FETCH_COMPANIES_ACTOR_ROUTER); organizationsPoolRouter = getContext().actorOf(new SmallestMailboxPool(listMethodsPoolSize) - .withSupervisorStrategy(new OneForOneStrategy(-1, - Duration.Inf(), - (Throwable t) -> restart())) - .props(springExtension.props("organizationsActor", fetchWsdlPoolRouter, fetchOpenApiPoolRouter, - fetchRestPoolRouter, fetchOrganizationsPoolRouter, fetchCompaniesPoolRouter)), + .withSupervisorStrategy(new OneForOneStrategy(-1, + Duration.Inf(), + (Throwable t) -> restart())) + .props(springExtension.props("organizationsActor", fetchWsdlPoolRouter, + fetchOpenApiPoolRouter, + fetchRestPoolRouter, fetchOrganizationsPoolRouter, + fetchCompaniesPoolRouter)), ORGANIZATIONS_ACTOR_ROUTER); listClientsPoolRouter = getContext().actorOf(new SmallestMailboxPool(1) - .withSupervisorStrategy(new OneForOneStrategy(-1, - Duration.Inf(), - (Throwable t) -> restart())) - .props(springExtension.props("listClientsActor", organizationsPoolRouter)), + .withSupervisorStrategy(new OneForOneStrategy(-1, + Duration.Inf(), + (Throwable t) -> restart())) + .props(springExtension.props("listClientsActor", organizationsPoolRouter)), LIST_CLIENTS_ACTOR_ROUTER); super.preStart(); @@ -153,4 +157,4 @@ protected boolean handleMessage(Object message) { return false; } } -} \ No newline at end of file +} diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/configuration/ProductionConfiguration.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/configuration/ProductionConfiguration.java index c48bc0bd..1842ceb3 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/configuration/ProductionConfiguration.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/configuration/ProductionConfiguration.java @@ -17,7 +17,7 @@ import org.springframework.context.annotation.Profile; @Configuration -@Profile({"production", "sshtest"} ) +@Profile({ "production", "sshtest" }) @Slf4j public class ProductionConfiguration extends ApplicationConfiguration { diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/extension/SpringActorProducer.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/extension/SpringActorProducer.java index 208a938a..902c967a 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/extension/SpringActorProducer.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/extension/SpringActorProducer.java @@ -25,21 +25,20 @@ public class SpringActorProducer implements IndirectActorProducer { private final Object[] args; public SpringActorProducer(ApplicationContext applicationContext, - String actorBeanName) { + String actorBeanName) { this.applicationContext = applicationContext; this.actorBeanName = actorBeanName; args = null; } public SpringActorProducer(ApplicationContext applicationContext, - String actorBeanName, - Object... args) { + String actorBeanName, + Object... args) { this.applicationContext = applicationContext; this.actorBeanName = actorBeanName; this.args = args; } - @Override public Actor produce() { if (args != null) { @@ -53,4 +52,5 @@ public Actor produce() { public Class actorClass() { return (Class) applicationContext.getType(actorBeanName); } -} \ No newline at end of file +} + diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/extension/SpringExtension.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/extension/SpringExtension.java index 216f5db1..c48bae4f 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/extension/SpringExtension.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/extension/SpringExtension.java @@ -22,13 +22,14 @@ public class SpringExtension implements Extension { private ApplicationContext applicationContext; + @SuppressWarnings("checkstyle:HiddenField") public void initialize(ApplicationContext applicationContext) { this.applicationContext = applicationContext; } public Props props(String actorBeanName) { return Props.create(SpringActorProducer.class, - applicationContext, actorBeanName); + applicationContext, actorBeanName); } public Props props(String actorBeanName, Object... args) { @@ -36,4 +37,4 @@ public Props props(String actorBeanName, Object... args) { applicationContext, actorBeanName, args); } -} \ No newline at end of file +} diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/ClientListUtil.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/ClientListUtil.java index 3e48f14a..edb80032 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/ClientListUtil.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/ClientListUtil.java @@ -20,11 +20,10 @@ import fi.vrk.xroad.catalog.persistence.entity.ErrorLog; import org.json.JSONArray; import org.json.JSONObject; -import org.springframework.http.*; +import org.springframework.http.ResponseEntity; import org.springframework.web.client.RestTemplate; -public class ClientListUtil { - +public final class ClientListUtil { private ClientListUtil() { // Private empty constructor @@ -45,8 +44,7 @@ public static ClientList clientListFromResponse(String url, CatalogService catal } ClientList clientList = new ClientList(); - for (int i = 0; i < members.length(); i++) - { + for (int i = 0; i < members.length(); i++) { ClientType clientType = new ClientType(); JSONObject id = members.getJSONObject(i).getJSONObject("id"); XRoadClientIdentifierType xRoadClientIdentifierType = new XRoadClientIdentifierType(); @@ -56,7 +54,8 @@ public static ClientList clientListFromResponse(String url, CatalogService catal xRoadClientIdentifierType.setSubsystemCode(id.optString("subsystem_code")); xRoadClientIdentifierType.setGroupCode(id.optString("group_code")); xRoadClientIdentifierType.setServiceCode(id.optString("service_code")); - xRoadClientIdentifierType.setServiceVersion(id.has("service_version") ? id.optString("service_version") : null); + xRoadClientIdentifierType + .setServiceVersion(id.has("service_version") ? id.optString("service_version") : null); xRoadClientIdentifierType.setSecurityCategoryCode(id.optString("security_category_code")); xRoadClientIdentifierType.setServerCode(id.optString("server_code")); xRoadClientIdentifierType.setObjectType(XRoadObjectType.fromValue(id.optString("object_type"))); @@ -68,6 +67,4 @@ public static ClientList clientListFromResponse(String url, CatalogService catal return clientList; } - - } diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/ClientTypeUtil.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/ClientTypeUtil.java index 1e0f5e51..21711097 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/ClientTypeUtil.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/ClientTypeUtil.java @@ -17,7 +17,7 @@ import fi.vrk.xroad.catalog.collector.wsimport.XRoadIdentifierType; import fi.vrk.xroad.catalog.collector.wsimport.XRoadObjectType; -public class ClientTypeUtil { +public final class ClientTypeUtil { private ClientTypeUtil() { // Private empty constructor @@ -27,6 +27,7 @@ public static String toString(ClientType c) { return toString(c.getId()) + ":" + c.getName(); } + @SuppressWarnings("checkstyle:MagicNumber") public static String toString(XRoadIdentifierType c) { StringBuilder sb = new StringBuilder(128); sb.append(c.getObjectType()); diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/MethodListUtil.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/MethodListUtil.java index 5e17ec06..3605bcd2 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/MethodListUtil.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/MethodListUtil.java @@ -12,13 +12,18 @@ */ package fi.vrk.xroad.catalog.collector.util; -import fi.vrk.xroad.catalog.collector.wsimport.*; +import fi.vrk.xroad.catalog.collector.wsimport.ClientType; +import fi.vrk.xroad.catalog.collector.wsimport.XRoadObjectType; import fi.vrk.xroad.catalog.persistence.CatalogService; import fi.vrk.xroad.catalog.persistence.entity.ErrorLog; import lombok.extern.slf4j.Slf4j; import org.json.JSONArray; import org.json.JSONObject; -import org.springframework.http.*; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.web.client.RestTemplate; import java.time.LocalDate; import java.time.LocalDateTime; @@ -26,7 +31,7 @@ import java.util.List; @Slf4j -public class MethodListUtil { +public final class MethodListUtil { private static SecurityServerMetadata securityServerMetadata; @@ -46,12 +51,12 @@ public static boolean shouldFlushLogEntries(int fetchHourAfter, int fetchHourBef } public static List methodListFromResponse(ClientType clientType, - String host, - String xRoadInstance, - String memberClass, - String memberCode, - String subsystemCode, - CatalogService catalogService) { + String host, + String xRoadInstance, + String memberClass, + String memberCode, + String subsystemCode, + CatalogService catalogService) { final String url = new StringBuilder().append(host).append("/r1/") .append(clientType.getId().getXRoadInstance()).append("/") .append(clientType.getId().getMemberClass()).append("/") @@ -70,15 +75,23 @@ public static List methodListFromResponse(Client xRoadRestServiceIdentifierType.setSubsystemCode(service.optString("subsystem_code")); xRoadRestServiceIdentifierType.setMemberClass(service.optString("member_class")); xRoadRestServiceIdentifierType.setServiceCode(service.optString("service_code")); - xRoadRestServiceIdentifierType.setServiceVersion(service.has("service_version") ? service.optString("service_version") : null); + xRoadRestServiceIdentifierType.setServiceVersion( + service.has("service_version") ? service.optString("service_version") + : null); xRoadRestServiceIdentifierType.setXRoadInstance(service.optString("xroad_instance")); - xRoadRestServiceIdentifierType.setObjectType(XRoadObjectType.fromValue(service.optString("object_type"))); - xRoadRestServiceIdentifierType.setServiceType(service.has("service_type") ? service.optString("service_type") : null); + xRoadRestServiceIdentifierType + .setObjectType(XRoadObjectType + .fromValue(service.optString("object_type"))); + xRoadRestServiceIdentifierType + .setServiceType(service.has("service_type") + ? service.optString("service_type") + : null); JSONArray endpointList = service.optJSONArray("endpoint_list"); List endpoints = new ArrayList<>(); for (int j = 0; j < endpointList.length(); j++) { JSONObject endpoint = endpointList.getJSONObject(j); - endpoints.add(Endpoint.builder().method(endpoint.optString("method")).path(endpoint.optString("path")).build()); + endpoints.add(Endpoint.builder().method(endpoint.optString("method")) + .path(endpoint.optString("path")).build()); } xRoadRestServiceIdentifierType.setEndpoints(endpoints); restServices.add(xRoadRestServiceIdentifierType); @@ -89,12 +102,12 @@ public static List methodListFromResponse(Client } public static String openApiFromResponse(ClientType clientType, - String host, - String xRoadInstance, - String memberClass, - String memberCode, - String subsystemCode, - CatalogService catalogService) { + String host, + String xRoadInstance, + String memberClass, + String memberCode, + String subsystemCode, + CatalogService catalogService) { final String url = new StringBuilder().append(host).append("/r1/") .append(clientType.getId().getXRoadInstance()).append("/") .append(clientType.getId().getMemberClass()).append("/") @@ -108,10 +121,12 @@ public static String openApiFromResponse(ClientType clientType, return (json != null) ? json.toString() : ""; } - public static List getEndpointList(XRoadRestServiceIdentifierType service) { + public static List getEndpointList( + XRoadRestServiceIdentifierType service) { List endpointList = new ArrayList<>(); for (fi.vrk.xroad.catalog.collector.util.Endpoint endpoint : service.getEndpoints()) { - endpointList.add(Endpoint.builder().method(endpoint.getMethod()).path(endpoint.getPath()).build()); + endpointList.add(Endpoint.builder().method(endpoint.getMethod()).path(endpoint.getPath()) + .build()); } return endpointList; } @@ -143,7 +158,8 @@ private static boolean isTimeBetweenHours(int fetchHourAfter, int fetchHourBefor return (today.isAfter(fetchTimeFrom) && today.isBefore(fetchTimeTo)); } - private static String createHeader(String xRoadInstance, String memberClass, String memberCode, String subsystemCode) { + private static String createHeader(String xRoadInstance, String memberClass, String memberCode, + String subsystemCode) { return new StringBuilder() .append(xRoadInstance).append("/") .append(memberClass).append("/") @@ -151,7 +167,8 @@ private static String createHeader(String xRoadInstance, String memberClass, Str .append(subsystemCode).toString(); } - private static JSONObject getJSON(String url, ClientType clientType, String xRoadClientHeader, CatalogService catalogService) { + private static JSONObject getJSON(String url, ClientType clientType, String xRoadClientHeader, + CatalogService catalogService) { RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); List mediaTypes = new ArrayList<>(); @@ -160,7 +177,8 @@ private static JSONObject getJSON(String url, ClientType clientType, String xRoa headers.set("X-Road-Client", xRoadClientHeader); final HttpEntity entity = new HttpEntity<>(headers); try { - ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class); + ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, entity, + String.class); return new JSONObject(response.getBody()); } catch (Exception e) { SecurityServerMetadata newSecurityServerMetadata = SecurityServerMetadata.builder() @@ -172,7 +190,8 @@ private static JSONObject getJSON(String url, ClientType clientType, String xRoa log.error("Fetch of REST services failed: " + e.getMessage()); ErrorLog errorLog = ErrorLog.builder() .created(LocalDateTime.now()) - .message("Fetch of REST services failed(url: " + url + "): " + e.getMessage()) + .message("Fetch of REST services failed(url: " + url + "): " + + e.getMessage()) .code("500") .xRoadInstance(clientType.getId().getXRoadInstance()) .memberClass(clientType.getId().getMemberClass()) diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/OrganizationUtil.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/OrganizationUtil.java index afde8c33..e038b0a3 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/OrganizationUtil.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/OrganizationUtil.java @@ -14,16 +14,55 @@ import fi.vrk.xroad.catalog.collector.wsimport.ClientType; import fi.vrk.xroad.catalog.persistence.CatalogService; -import fi.vrk.xroad.catalog.persistence.entity.*; +import fi.vrk.xroad.catalog.persistence.entity.Address; +import fi.vrk.xroad.catalog.persistence.entity.BusinessAddress; +import fi.vrk.xroad.catalog.persistence.entity.BusinessAuxiliaryName; +import fi.vrk.xroad.catalog.persistence.entity.BusinessIdChange; +import fi.vrk.xroad.catalog.persistence.entity.BusinessLine; +import fi.vrk.xroad.catalog.persistence.entity.BusinessName; +import fi.vrk.xroad.catalog.persistence.entity.Company; +import fi.vrk.xroad.catalog.persistence.entity.CompanyForm; +import fi.vrk.xroad.catalog.persistence.entity.ContactDetail; +import fi.vrk.xroad.catalog.persistence.entity.Email; +import fi.vrk.xroad.catalog.persistence.entity.ErrorLog; +import fi.vrk.xroad.catalog.persistence.entity.Language; +import fi.vrk.xroad.catalog.persistence.entity.Liquidation; +import fi.vrk.xroad.catalog.persistence.entity.Organization; +import fi.vrk.xroad.catalog.persistence.entity.OrganizationDescription; +import fi.vrk.xroad.catalog.persistence.entity.OrganizationName; +import fi.vrk.xroad.catalog.persistence.entity.PhoneNumber; +import fi.vrk.xroad.catalog.persistence.entity.PostOffice; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBox; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddress; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressAdditionalInformation; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipality; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipalityName; +import fi.vrk.xroad.catalog.persistence.entity.RegisteredEntry; +import fi.vrk.xroad.catalog.persistence.entity.RegisteredOffice; +import fi.vrk.xroad.catalog.persistence.entity.Street; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddress; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressAdditionalInformation; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipality; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipalityName; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressPostOffice; +import fi.vrk.xroad.catalog.persistence.entity.WebPage; import lombok.extern.slf4j.Slf4j; -import org.apache.http.conn.ssl.NoopHostnameVerifier; -import org.apache.http.conn.ssl.SSLConnectionSocketFactory; -import org.apache.http.conn.ssl.TrustStrategy; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; + +import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; +import org.apache.hc.client5.http.impl.classic.HttpClients; +import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager; +import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder; +import org.apache.hc.client5.http.ssl.NoopHostnameVerifier; +import org.apache.hc.client5.http.ssl.SSLConnectionSocketFactory; +import org.apache.hc.core5.ssl.SSLContexts; +import org.apache.hc.core5.ssl.TrustStrategy; import org.json.JSONArray; import org.json.JSONObject; -import org.springframework.http.*; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; import org.springframework.web.client.RestTemplate; import javax.net.ssl.SSLContext; @@ -38,8 +77,8 @@ import java.util.List; @Slf4j -public class OrganizationUtil { - +public final class OrganizationUtil { + private static final String WITH_BUSINESS_CODE = "with businessCode "; private static final String DESCRIPTION = "description"; private static final String LANGUAGE = "language"; @@ -54,7 +93,8 @@ private OrganizationUtil() { } - public static JSONObject getCompany(ClientType clientType, String url, String businessCode, CatalogService catalogService) { + public static JSONObject getCompany(ClientType clientType, String url, String businessCode, + CatalogService catalogService) { final String fetchCompaniesUrl = new StringBuilder().append(url) .append("/").append(businessCode).toString(); JSONObject jsonObject = new JSONObject(); @@ -64,41 +104,64 @@ public static JSONObject getCompany(ClientType clientType, String url, String bu return jsonObject; } catch (KeyStoreException e) { ErrorLog errorLog = MethodListUtil.createErrorLog(clientType, - "KeyStoreException occurred when fetching companies from url " + url + WITH_BUSINESS_CODE + businessCode, + "KeyStoreException occurred when fetching companies from url " + + url + + WITH_BUSINESS_CODE + + businessCode, "500"); catalogService.saveErrorLog(errorLog); - log.error("KeyStoreException occurred when fetching companies from url {} with businessCode {}", url, businessCode); + log.error("KeyStoreException occurred when fetching companies from url {} with businessCode {}", + url, + businessCode); } catch (NoSuchAlgorithmException e) { ErrorLog errorLog = MethodListUtil.createErrorLog(clientType, - "NoSuchAlgorithmException occurred when fetching companies from url " + url + WITH_BUSINESS_CODE + businessCode, + "NoSuchAlgorithmException occurred when fetching companies from url " + + url + + WITH_BUSINESS_CODE + + businessCode, "500"); catalogService.saveErrorLog(errorLog); - log.error("NoSuchAlgorithmException occurred when fetching companies from url {} with businessCode {}", url, businessCode); + log.error("NoSuchAlgorithmException occurred when fetching companies from url {} with businessCode {}", + url, + businessCode); } catch (KeyManagementException e) { ErrorLog errorLog = MethodListUtil.createErrorLog(clientType, - "KeyManagementException occurred when fetching companies from url " + url + WITH_BUSINESS_CODE + businessCode, + "KeyManagementException occurred when fetching companies from url " + + url + + WITH_BUSINESS_CODE + + businessCode, "500"); catalogService.saveErrorLog(errorLog); - log.error("KeyManagementException occurred when fetching companies from url {} with businessCode {}", url, businessCode); - } - catch (Exception e) { + log.error("KeyManagementException occurred when fetching companies from url {} with businessCode {}", + url, + businessCode); + } catch (Exception e) { ErrorLog errorLog = MethodListUtil.createErrorLog(clientType, - "Exception occurred when fetching companies from url " + url + WITH_BUSINESS_CODE + businessCode, + "Exception occurred when fetching companies from url " + + url + + WITH_BUSINESS_CODE + + businessCode, "500"); catalogService.saveErrorLog(errorLog); - log.error("Exception occurred when fetching companies from url {} with businessCode {}", url, businessCode); + log.error("Exception occurred when fetching companies from url {} with businessCode {}", + url, + businessCode); } return jsonObject; } - public static List getOrganizationIdsList(ClientType clientType, String url, Integer fetchOrganizationsLimit, CatalogService catalogService) - throws KeyStoreException, NoSuchAlgorithmException, KeyManagementException { + public static List getOrganizationIdsList(ClientType clientType, String url, + Integer fetchOrganizationsLimit, CatalogService catalogService) + throws KeyStoreException, NoSuchAlgorithmException, + KeyManagementException { List idsList = new ArrayList<>(); try { String response = getResponseBody(url); JSONObject json = new JSONObject(response); JSONArray itemList = json.optJSONArray("itemList"); - int totalFetchAmount = itemList.length() > fetchOrganizationsLimit ? fetchOrganizationsLimit : itemList.length(); + int totalFetchAmount = itemList.length() > fetchOrganizationsLimit + ? fetchOrganizationsLimit + : itemList.length(); for (int i = 0; i < totalFetchAmount; i++) { String id = itemList.optJSONObject(i).optString("id"); idsList.add(id); @@ -106,37 +169,49 @@ public static List getOrganizationIdsList(ClientType clientType, String return idsList; } catch (KeyStoreException e) { ErrorLog errorLog = MethodListUtil.createErrorLog(clientType, - "KeyStoreException occurred when fetching organization ids with from url " + url, + "KeyStoreException occurred when fetching organization ids with from url " + + url, "500"); catalogService.saveErrorLog(errorLog); - log.error("KeyStoreException occurred when fetching organization ids with from url {}", url); + log.error("KeyStoreException occurred when fetching organization ids with from url {}", + url); } catch (NoSuchAlgorithmException e) { ErrorLog errorLog = MethodListUtil.createErrorLog(clientType, - "NoSuchAlgorithmException occurred when fetching organization ids with from url " + url, + "NoSuchAlgorithmException occurred when fetching organization ids with from url " + + url, "500"); catalogService.saveErrorLog(errorLog); - log.error("NoSuchAlgorithmException occurred when fetching organization ids with from url {}", url); + log.error("NoSuchAlgorithmException occurred when fetching organization ids with from url {}", + url); } catch (KeyManagementException e) { ErrorLog errorLog = MethodListUtil.createErrorLog(clientType, - "KeyManagementException occurred when fetching organization ids with from url " + url, + "KeyManagementException occurred when fetching organization ids with from url " + + url, "500"); catalogService.saveErrorLog(errorLog); - log.error("KeyManagementException occurred when fetching organizations with from url {}", url); + log.error("KeyManagementException occurred when fetching organizations with from url {}", + url); } catch (Exception e) { - log.error("Exception occurred when fetching organization ids: " + e.getMessage()); + log.error("Exception occurred when fetching organization ids: " + + e.getMessage()); ErrorLog errorLog = ErrorLog.builder() .created(LocalDateTime.now()) - .message("Exception occurred when fetching organization ids: " + e.getMessage()) + .message("Exception occurred when fetching organization ids: " + + e.getMessage()) .code("500") - .xRoadInstance(clientType.getId().getXRoadInstance()) + .xRoadInstance(clientType.getId() + .getXRoadInstance()) .memberClass(clientType.getId().getMemberClass()) .memberCode(clientType.getId().getMemberCode()) .groupCode(clientType.getId().getGroupCode()) - .securityCategoryCode(clientType.getId().getSecurityCategoryCode()) + .securityCategoryCode(clientType.getId() + .getSecurityCategoryCode()) .serverCode(clientType.getId().getServerCode()) .serviceCode(clientType.getId().getServiceCode()) - .serviceVersion(clientType.getId().getServiceVersion()) - .subsystemCode(clientType.getId().getSubsystemCode()) + .serviceVersion(clientType.getId() + .getServiceVersion()) + .subsystemCode(clientType.getId() + .getSubsystemCode()) .build(); catalogService.saveErrorLog(errorLog); } @@ -146,8 +221,10 @@ public static List getOrganizationIdsList(ClientType clientType, String public static Organization createOrganization(JSONObject jsonObject) { return Organization.builder().businessCode(jsonObject.optString("businessCode")) .guid(jsonObject.optString("id")) - .organizationType(jsonObject.optString("organizationType")) - .publishingStatus(jsonObject.optString("publishingStatus")) + .organizationType(jsonObject.optString( + "organizationType")) + .publishingStatus(jsonObject.optString( + "publishingStatus")) .build(); } @@ -155,9 +232,15 @@ public static List createEmails(JSONArray jsonArray) { List emails = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { emails.add(Email.builder() - .description(replaceUnicodeControlCharacters(jsonArray.optJSONObject(i).optString(DESCRIPTION))) - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .value(replaceUnicodeControlCharacters(jsonArray.optJSONObject(i).optString(VALUE))).build()); + .description(replaceUnicodeControlCharacters( + jsonArray.optJSONObject(i).optString( + DESCRIPTION))) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .value(replaceUnicodeControlCharacters( + jsonArray.optJSONObject(i).optString( + VALUE))) + .build()); } return emails; } @@ -166,9 +249,15 @@ public static List createWebPages(JSONArray jsonArray) { List webPages = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { webPages.add(WebPage.builder() - .url(replaceUnicodeControlCharacters(jsonArray.optJSONObject(i).optString("url"))) - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .value(replaceUnicodeControlCharacters(jsonArray.optJSONObject(i).optString(VALUE))).build()); + .url(replaceUnicodeControlCharacters( + jsonArray.optJSONObject(i).optString( + "url"))) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .value(replaceUnicodeControlCharacters( + jsonArray.optJSONObject(i).optString( + VALUE))) + .build()); } return webPages; } @@ -177,24 +266,38 @@ public static List createDescriptions(JSONArray jsonArr List organizationDescriptions = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { organizationDescriptions.add(OrganizationDescription.builder() - .type(jsonArray.optJSONObject(i).optString("type")) - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .value(replaceUnicodeControlCharacters(jsonArray.optJSONObject(i).optString(VALUE))).build()); + .type(jsonArray.optJSONObject(i).optString( + "type")) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .value(replaceUnicodeControlCharacters( + jsonArray.optJSONObject(i).optString( + VALUE))) + .build()); } return organizationDescriptions; } + @SuppressWarnings("squid:S6035") private static String replaceUnicodeControlCharacters(String input) { - return input.replaceAll("[\\x{0000}-\\x{0009}]|[\\x{000b}-\\x{000c}]|[\\x{000e}-\\x{000f}]|[\\x{0010}-\\x{001f}]", ""); + // TODO: Check if there is a better way to remove control characters + return input.replaceAll( + "[\\x{0000}-\\x{0009}]|[\\x{000b}-\\x{000c}]|[\\x{000e}-\\x{000f}]|[\\x{0010}-\\x{001f}]", + ""); } public static List createNames(JSONArray jsonArray) { List organizationNames = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { organizationNames.add(OrganizationName.builder() - .type(jsonArray.optJSONObject(i).optString("type")) - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .value(replaceUnicodeControlCharacters(jsonArray.optJSONObject(i).optString(VALUE))).build()); + .type(jsonArray.optJSONObject(i).optString( + "type")) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .value(replaceUnicodeControlCharacters( + jsonArray.optJSONObject(i).optString( + VALUE))) + .build()); } return organizationNames; } @@ -203,9 +306,13 @@ public static List

createAddresses(JSONArray jsonArray) { List
addresses = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { addresses.add(Address.builder() - .type(jsonArray.optJSONObject(i).optString("type")) - .subType(jsonArray.optJSONObject(i).optString("subType")) - .country(jsonArray.optJSONObject(i).optString("country")).build()); + .type(jsonArray.optJSONObject(i).optString( + "type")) + .subType(jsonArray.optJSONObject(i) + .optString("subType")) + .country(jsonArray.optJSONObject(i) + .optString("country")) + .build()); } return addresses; } @@ -216,7 +323,9 @@ public static StreetAddress createStreetAddress(JSONObject jsonObject) { .postalCode(jsonObject.optString("postalCode")) .latitude(jsonObject.optString("latitude")) .longitude(jsonObject.optString("longitude")) - .coordinateState(jsonObject.optString("coordinateState")).build(); + .coordinateState(jsonObject.optString( + "coordinateState")) + .build(); } public static StreetAddressMunicipality createStreetAddressMunicipality(JSONObject jsonObject) { @@ -224,22 +333,33 @@ public static StreetAddressMunicipality createStreetAddressMunicipality(JSONObje .code(jsonObject.optString("code")).build(); } - public static List createStreetAddressMunicipalityNames(JSONArray jsonArray) { + public static List createStreetAddressMunicipalityNames( + JSONArray jsonArray) { List streetAddressMunicipalityNames = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { - streetAddressMunicipalityNames.add(StreetAddressMunicipalityName.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .value(jsonArray.optJSONObject(i).optString(VALUE)).build()); + streetAddressMunicipalityNames.add(StreetAddressMunicipalityName + .builder() + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .value(jsonArray.optJSONObject(i) + .optString(VALUE)) + .build()); } return streetAddressMunicipalityNames; } - public static List createStreetAddressAdditionalInformation(JSONArray jsonArray) { + public static List createStreetAddressAdditionalInformation( + JSONArray jsonArray) { List additionalInformationList = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { - additionalInformationList.add(StreetAddressAdditionalInformation.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .value(replaceUnicodeControlCharacters(jsonArray.optJSONObject(i).optString(VALUE))).build()); + additionalInformationList.add(StreetAddressAdditionalInformation + .builder() + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .value(replaceUnicodeControlCharacters( + jsonArray.optJSONObject(i).optString( + VALUE))) + .build()); } return additionalInformationList; } @@ -248,8 +368,11 @@ public static List createStreetAddressPostOffices(JSONA List postOffices = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { postOffices.add(StreetAddressPostOffice.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .value(jsonArray.optJSONObject(i).optString(VALUE)).build()); + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .value(jsonArray.optJSONObject(i) + .optString(VALUE)) + .build()); } return postOffices; } @@ -258,8 +381,11 @@ public static List createStreets(JSONArray jsonArray) { List streets = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { streets.add(Street.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .value(jsonArray.optJSONObject(i).optString(VALUE)).build()); + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .value(jsonArray.optJSONObject(i) + .optString(VALUE)) + .build()); } return streets; } @@ -273,9 +399,14 @@ public static List createPostOfficeBo JSONArray jsonArray) { List additionalInformationList = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { - additionalInformationList.add(PostOfficeBoxAddressAdditionalInformation.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .value(replaceUnicodeControlCharacters(jsonArray.optJSONObject(i).optString(VALUE))).build()); + additionalInformationList.add(PostOfficeBoxAddressAdditionalInformation + .builder() + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .value(replaceUnicodeControlCharacters( + jsonArray.optJSONObject(i).optString( + VALUE))) + .build()); } return additionalInformationList; } @@ -284,8 +415,11 @@ public static List createPostOfficeBoxes(JSONArray jsonArray) { List postOfficeBoxes = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { postOfficeBoxes.add(PostOfficeBox.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .value(jsonArray.optJSONObject(i).optString(VALUE)).build()); + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .value(jsonArray.optJSONObject(i) + .optString(VALUE)) + .build()); } return postOfficeBoxes; } @@ -294,23 +428,32 @@ public static List createPostOffice(JSONArray jsonArray) { List postOffices = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { postOffices.add(PostOffice.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .value(jsonArray.optJSONObject(i).optString(VALUE)).build()); + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .value(jsonArray.optJSONObject(i) + .optString(VALUE)) + .build()); } return postOffices; } - public static PostOfficeBoxAddressMunicipality createPostOfficeBoxAddressMunicipality(JSONObject jsonObject) { + public static PostOfficeBoxAddressMunicipality createPostOfficeBoxAddressMunicipality( + JSONObject jsonObject) { return PostOfficeBoxAddressMunicipality.builder() .code(jsonObject.optString("code")).build(); } - public static List createPostOfficeBoxAddressMunicipalityNames(JSONArray jsonArray) { + public static List createPostOfficeBoxAddressMunicipalityNames( + JSONArray jsonArray) { List streetAddressMunicipalityNames = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { - streetAddressMunicipalityNames.add(PostOfficeBoxAddressMunicipalityName.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .value(jsonArray.optJSONObject(i).optString(VALUE)).build()); + streetAddressMunicipalityNames.add(PostOfficeBoxAddressMunicipalityName + .builder() + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .value(jsonArray.optJSONObject(i) + .optString(VALUE)) + .build()); } return streetAddressMunicipalityNames; } @@ -319,13 +462,26 @@ public static List createPhoneNumbers(JSONArray jsonArray) { List phoneNumbers = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { phoneNumbers.add(PhoneNumber.builder() - .additionalInformation(replaceUnicodeControlCharacters(jsonArray.optJSONObject(i).optString("additionalInformation"))) - .number(jsonArray.optJSONObject(i).optString("number")) - .isFinnishServiceNumber(jsonArray.optJSONObject(i).getBoolean("isFinnishServiceNumber")) - .prefixNumber(jsonArray.optJSONObject(i).optString("prefixNumber")) - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .chargeDescription(replaceUnicodeControlCharacters(jsonArray.optJSONObject(i).optString("chargeDescription"))) - .serviceChargeType(jsonArray.optJSONObject(i).optString("serviceChargeType")).build()); + .additionalInformation(replaceUnicodeControlCharacters( + jsonArray.optJSONObject(i).optString( + "additionalInformation"))) + .number(jsonArray.optJSONObject(i) + .optString("number")) + .isFinnishServiceNumber( + jsonArray.optJSONObject(i).getBoolean( + "isFinnishServiceNumber")) + .prefixNumber(jsonArray.optJSONObject(i) + .optString("prefixNumber")) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .chargeDescription( + replaceUnicodeControlCharacters(jsonArray + .optJSONObject(i) + .optString("chargeDescription"))) + .serviceChargeType(jsonArray.optJSONObject( + i) + .optString("serviceChargeType")) + .build()); } return phoneNumbers; } @@ -335,7 +491,8 @@ public static Company createCompany(JSONObject jsonObject) { .companyForm(jsonObject.optString("companyForm")) .detailsUri(jsonObject.optString("detailsUri")) .name(jsonObject.optString("name")) - .registrationDate(parseDateFromString(jsonObject.optString(REGISTRATION_DATE))) + .registrationDate(parseDateFromString(jsonObject + .optString(REGISTRATION_DATE))) .build(); } @@ -343,17 +500,30 @@ public static List createBusinessAddresses(JSONArray jsonArray) List businessAddresses = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { businessAddresses.add(BusinessAddress.builder() - .careOf(jsonArray.optJSONObject(i).optString("careOf")) - .city(jsonArray.optJSONObject(i).optString("city")) - .country(jsonArray.optJSONObject(i).optString("country")) - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .postCode(jsonArray.optJSONObject(i).optString("postCode")) - .source(jsonArray.optJSONObject(i).optLong(SOURCE)) - .type(jsonArray.optJSONObject(i).optLong("type")) - .version(jsonArray.optJSONObject(i).optLong(VERSION)) - .street(jsonArray.optJSONObject(i).optString("street")) - .registrationDate(parseDateFromString(jsonArray.optJSONObject(i).optString(REGISTRATION_DATE))) - .endDate(parseDateFromString(jsonArray.optJSONObject(i).optString(END_DATE))) + .careOf(jsonArray.optJSONObject(i) + .optString("careOf")) + .city(jsonArray.optJSONObject(i).optString( + "city")) + .country(jsonArray.optJSONObject(i) + .optString("country")) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .postCode(jsonArray.optJSONObject(i) + .optString("postCode")) + .source(jsonArray.optJSONObject(i) + .optLong(SOURCE)) + .type(jsonArray.optJSONObject(i).optLong( + "type")) + .version(jsonArray.optJSONObject(i) + .optLong(VERSION)) + .street(jsonArray.optJSONObject(i) + .optString("street")) + .registrationDate(parseDateFromString( + jsonArray.optJSONObject(i).optString( + REGISTRATION_DATE))) + .endDate(parseDateFromString(jsonArray + .optJSONObject(i) + .optString(END_DATE))) .build()); } return businessAddresses; @@ -363,13 +533,22 @@ public static List createBusinessAuxiliaryNames(JSONArray List businessAuxiliaryNames = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { businessAuxiliaryNames.add(BusinessAuxiliaryName.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .name(jsonArray.optJSONObject(i).optString("name")) - .ordering(jsonArray.optJSONObject(i).optLong(ORDER)) - .source(jsonArray.optJSONObject(i).optLong(SOURCE)) - .version(jsonArray.optJSONObject(i).optLong(VERSION)) - .registrationDate(parseDateFromString(jsonArray.optJSONObject(i).optString(REGISTRATION_DATE))) - .endDate(parseDateFromString(jsonArray.optJSONObject(i).optString(END_DATE))) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .name(jsonArray.optJSONObject(i).optString( + "name")) + .ordering(jsonArray.optJSONObject(i) + .optLong(ORDER)) + .source(jsonArray.optJSONObject(i) + .optLong(SOURCE)) + .version(jsonArray.optJSONObject(i) + .optLong(VERSION)) + .registrationDate(parseDateFromString( + jsonArray.optJSONObject(i).optString( + REGISTRATION_DATE))) + .endDate(parseDateFromString(jsonArray + .optJSONObject(i) + .optString(END_DATE))) .build()); } return businessAuxiliaryNames; @@ -379,14 +558,24 @@ public static List createBusinessIdChanges(JSONArray jsonArray List businessIdChanges = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { businessIdChanges.add(BusinessIdChange.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .change(jsonArray.optJSONObject(i).optString("change")) - .changeDate(jsonArray.optJSONObject(i).optString("changeDate")) - .description(jsonArray.optJSONObject(i).optString(DESCRIPTION)) - .reason(jsonArray.optJSONObject(i).optString("reason")) - .oldBusinessId(jsonArray.optJSONObject(i).optString("oldBusinessId")) - .newBusinessId(jsonArray.optJSONObject(i).optString("newBusinessId")) - .source(jsonArray.optJSONObject(i).optLong(SOURCE)) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .change(jsonArray.optJSONObject(i) + .optString("change")) + .changeDate(jsonArray.optJSONObject(i) + .optString("changeDate")) + .description(jsonArray.optJSONObject(i) + .optString(DESCRIPTION)) + .reason(jsonArray.optJSONObject(i) + .optString("reason")) + .oldBusinessId(jsonArray.optJSONObject( + i) + .optString("oldBusinessId")) + .newBusinessId(jsonArray.optJSONObject( + i) + .optString("newBusinessId")) + .source(jsonArray.optJSONObject(i) + .optLong(SOURCE)) .build()); } return businessIdChanges; @@ -396,13 +585,22 @@ public static List createBusinessLines(JSONArray jsonArray) { List businessLines = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { businessLines.add(BusinessLine.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .name(jsonArray.optJSONObject(i).optString("name")) - .ordering(jsonArray.optJSONObject(i).optLong(ORDER)) - .source(jsonArray.optJSONObject(i).optLong(SOURCE)) - .version(jsonArray.optJSONObject(i).optLong(VERSION)) - .registrationDate(parseDateFromString(jsonArray.optJSONObject(i).optString(REGISTRATION_DATE))) - .endDate(parseDateFromString(jsonArray.optJSONObject(i).optString(END_DATE))) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .name(jsonArray.optJSONObject(i).optString( + "name")) + .ordering(jsonArray.optJSONObject(i) + .optLong(ORDER)) + .source(jsonArray.optJSONObject(i) + .optLong(SOURCE)) + .version(jsonArray.optJSONObject(i) + .optLong(VERSION)) + .registrationDate(parseDateFromString( + jsonArray.optJSONObject(i).optString( + REGISTRATION_DATE))) + .endDate(parseDateFromString(jsonArray + .optJSONObject(i) + .optString(END_DATE))) .build()); } return businessLines; @@ -412,13 +610,22 @@ public static List createBusinessNames(JSONArray jsonArray) { List businessNames = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { businessNames.add(BusinessName.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .name(jsonArray.optJSONObject(i).optString("name")) - .ordering(jsonArray.optJSONObject(i).optLong(ORDER)) - .source(jsonArray.optJSONObject(i).optLong(SOURCE)) - .version(jsonArray.optJSONObject(i).optLong(VERSION)) - .registrationDate(parseDateFromString(jsonArray.optJSONObject(i).optString(REGISTRATION_DATE))) - .endDate(parseDateFromString(jsonArray.optJSONObject(i).optString(END_DATE))) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .name(jsonArray.optJSONObject(i).optString( + "name")) + .ordering(jsonArray.optJSONObject(i) + .optLong(ORDER)) + .source(jsonArray.optJSONObject(i) + .optLong(SOURCE)) + .version(jsonArray.optJSONObject(i) + .optLong(VERSION)) + .registrationDate(parseDateFromString( + jsonArray.optJSONObject(i).optString( + REGISTRATION_DATE))) + .endDate(parseDateFromString(jsonArray + .optJSONObject(i) + .optString(END_DATE))) .build()); } return businessNames; @@ -428,13 +635,22 @@ public static List createCompanyForms(JSONArray jsonArray) { List companyForms = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { companyForms.add(CompanyForm.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .name(jsonArray.optJSONObject(i).optString("name")) - .source(jsonArray.optJSONObject(i).optLong(SOURCE)) - .type(jsonArray.optJSONObject(i).optLong("type")) - .version(jsonArray.optJSONObject(i).optLong(VERSION)) - .registrationDate(parseDateFromString(jsonArray.optJSONObject(i).optString(REGISTRATION_DATE))) - .endDate(parseDateFromString(jsonArray.optJSONObject(i).optString(END_DATE))) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .name(jsonArray.optJSONObject(i).optString( + "name")) + .source(jsonArray.optJSONObject(i) + .optLong(SOURCE)) + .type(jsonArray.optJSONObject(i).optLong( + "type")) + .version(jsonArray.optJSONObject(i) + .optLong(VERSION)) + .registrationDate(parseDateFromString( + jsonArray.optJSONObject(i).optString( + REGISTRATION_DATE))) + .endDate(parseDateFromString(jsonArray + .optJSONObject(i) + .optString(END_DATE))) .build()); } return companyForms; @@ -444,13 +660,22 @@ public static List createContactDetails(JSONArray jsonArray) { List contactDetails = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { contactDetails.add(ContactDetail.builder() - .version(jsonArray.optJSONObject(i).optLong(VERSION)) - .type(jsonArray.optJSONObject(i).optString("type")) - .source(jsonArray.optJSONObject(i).optLong(SOURCE)) - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .value(jsonArray.optJSONObject(i).optString(VALUE)) - .registrationDate(parseDateFromString(jsonArray.optJSONObject(i).optString(REGISTRATION_DATE))) - .endDate(parseDateFromString(jsonArray.optJSONObject(i).optString(END_DATE))) + .version(jsonArray.optJSONObject(i) + .optLong(VERSION)) + .type(jsonArray.optJSONObject(i).optString( + "type")) + .source(jsonArray.optJSONObject(i) + .optLong(SOURCE)) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .value(jsonArray.optJSONObject(i) + .optString(VALUE)) + .registrationDate(parseDateFromString( + jsonArray.optJSONObject(i).optString( + REGISTRATION_DATE))) + .endDate(parseDateFromString(jsonArray + .optJSONObject(i) + .optString(END_DATE))) .build()); } return contactDetails; @@ -460,12 +685,20 @@ public static List createLanguages(JSONArray jsonArray) { List languages = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { languages.add(Language.builder() - .version(jsonArray.optJSONObject(i).optLong(VERSION)) - .source(jsonArray.optJSONObject(i).optLong(SOURCE)) - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .name(jsonArray.optJSONObject(i).optString("name")) - .registrationDate(parseDateFromString(jsonArray.optJSONObject(i).optString(REGISTRATION_DATE))) - .endDate(parseDateFromString(jsonArray.optJSONObject(i).optString(END_DATE))) + .version(jsonArray.optJSONObject(i) + .optLong(VERSION)) + .source(jsonArray.optJSONObject(i) + .optLong(SOURCE)) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .name(jsonArray.optJSONObject(i).optString( + "name")) + .registrationDate(parseDateFromString( + jsonArray.optJSONObject(i).optString( + REGISTRATION_DATE))) + .endDate(parseDateFromString(jsonArray + .optJSONObject(i) + .optString(END_DATE))) .build()); } return languages; @@ -475,11 +708,16 @@ public static List createLiquidations(JSONArray jsonArray) { List liquidations = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { liquidations.add(Liquidation.builder() - .version(jsonArray.optJSONObject(i).optLong(VERSION)) - .source(jsonArray.optJSONObject(i).optLong(SOURCE)) - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .name(jsonArray.optJSONObject(i).optString("name")) - .type(jsonArray.optJSONObject(i).optLong("type")) + .version(jsonArray.optJSONObject(i) + .optLong(VERSION)) + .source(jsonArray.optJSONObject(i) + .optLong(SOURCE)) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .name(jsonArray.optJSONObject(i).optString( + "name")) + .type(jsonArray.optJSONObject(i).optLong( + "type")) .registrationDate(LocalDateTime.now()) .endDate(LocalDateTime.now()) .build()); @@ -491,13 +729,22 @@ public static List createRegisteredEntries(JSONArray jsonArray) List registeredEntries = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { registeredEntries.add(RegisteredEntry.builder() - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .description(jsonArray.optJSONObject(i).optString(DESCRIPTION)) - .register(jsonArray.optJSONObject(i).optLong("register")) - .status(jsonArray.optJSONObject(i).optLong("status")) - .authority(jsonArray.optJSONObject(i).optLong("authority")) - .registrationDate(parseDateFromString(jsonArray.optJSONObject(i).optString(REGISTRATION_DATE))) - .endDate(parseDateFromString(jsonArray.optJSONObject(i).optString(END_DATE))) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .description(jsonArray.optJSONObject(i) + .optString(DESCRIPTION)) + .register(jsonArray.optJSONObject(i) + .optLong("register")) + .status(jsonArray.optJSONObject(i) + .optLong("status")) + .authority(jsonArray.optJSONObject(i) + .optLong("authority")) + .registrationDate(parseDateFromString( + jsonArray.optJSONObject(i).optString( + REGISTRATION_DATE))) + .endDate(parseDateFromString(jsonArray + .optJSONObject(i) + .optString(END_DATE))) .build()); } return registeredEntries; @@ -507,13 +754,22 @@ public static List createRegisteredOffices(JSONArray jsonArray List registeredOffices = new ArrayList<>(); for (int i = 0; i < jsonArray.length(); i++) { registeredOffices.add(RegisteredOffice.builder() - .source(jsonArray.optJSONObject(i).optLong(SOURCE)) - .language(jsonArray.optJSONObject(i).optString(LANGUAGE)) - .name(jsonArray.optJSONObject(i).optString("name")) - .ordering(jsonArray.optJSONObject(i).optLong(ORDER)) - .version(jsonArray.optJSONObject(i).optLong(VERSION)) - .registrationDate(parseDateFromString(jsonArray.optJSONObject(i).optString(REGISTRATION_DATE))) - .endDate(parseDateFromString(jsonArray.optJSONObject(i).optString(END_DATE))) + .source(jsonArray.optJSONObject(i) + .optLong(SOURCE)) + .language(jsonArray.optJSONObject(i) + .optString(LANGUAGE)) + .name(jsonArray.optJSONObject(i).optString( + "name")) + .ordering(jsonArray.optJSONObject(i) + .optLong(ORDER)) + .version(jsonArray.optJSONObject(i) + .optLong(VERSION)) + .registrationDate(parseDateFromString( + jsonArray.optJSONObject(i).optString( + REGISTRATION_DATE))) + .endDate(parseDateFromString(jsonArray + .optJSONObject(i) + .optString(END_DATE))) .build()); } return registeredOffices; @@ -526,7 +782,8 @@ private static LocalDateTime parseDateFromString(String dateValue) { return null; } - public static JSONArray getDataByIds(ClientType clientType, List guids, String url, CatalogService catalogService) { + public static JSONArray getDataByIds(ClientType clientType, List guids, String url, + CatalogService catalogService) { String requestGuids = ""; for (int i = 0; i < guids.size(); i++) { requestGuids += guids.get(i); @@ -546,65 +803,90 @@ public static JSONArray getDataByIds(ClientType clientType, List guids, return itemList; } catch (KeyStoreException e) { ErrorLog errorLog = MethodListUtil.createErrorLog(clientType, - "KeyStoreException occurred when fetching organizations with from url " + url, + "KeyStoreException occurred when fetching organizations with from url " + + url, "500"); catalogService.saveErrorLog(errorLog); - log.error("KeyStoreException occurred when fetching organizations with from url {}", url); + log.error("KeyStoreException occurred when fetching organizations with from url {}", + url); } catch (NoSuchAlgorithmException e) { ErrorLog errorLog = MethodListUtil.createErrorLog(clientType, - "NoSuchAlgorithmException occurred when fetching organizations with from url " + url, + "NoSuchAlgorithmException occurred when fetching organizations with from url " + + url, "500"); catalogService.saveErrorLog(errorLog); - log.error("NoSuchAlgorithmException occurred when fetching organizations with from url {}", url); + log.error("NoSuchAlgorithmException occurred when fetching organizations with from url {}", + url); } catch (KeyManagementException e) { ErrorLog errorLog = MethodListUtil.createErrorLog(clientType, - "KeyManagementException occurred when fetching organizations with from url " + url, + "KeyManagementException occurred when fetching organizations with from url " + + url, "500"); catalogService.saveErrorLog(errorLog); - log.error("KeyManagementException occurred when fetching organizations with from url {}", url); + log.error("KeyManagementException occurred when fetching organizations with from url {}", + url); } catch (Exception e) { - log.error("Exception occurred when fetching organization data: " + e.getMessage()); + log.error("Exception occurred when fetching organization data: " + + e.getMessage()); ErrorLog errorLog = ErrorLog.builder() .created(LocalDateTime.now()) - .message("Exception occurred when fetching organization data: " + e.getMessage()) + .message("Exception occurred when fetching organization data: " + + e.getMessage()) .code("500") - .xRoadInstance(clientType.getId().getXRoadInstance()) + .xRoadInstance(clientType.getId() + .getXRoadInstance()) .memberClass(clientType.getId().getMemberClass()) .memberCode(clientType.getId().getMemberCode()) .groupCode(clientType.getId().getGroupCode()) - .securityCategoryCode(clientType.getId().getSecurityCategoryCode()) + .securityCategoryCode(clientType.getId() + .getSecurityCategoryCode()) .serverCode(clientType.getId().getServerCode()) .serviceCode(clientType.getId().getServiceCode()) - .serviceVersion(clientType.getId().getServiceVersion()) - .subsystemCode(clientType.getId().getSubsystemCode()) + .serviceVersion(clientType.getId() + .getServiceVersion()) + .subsystemCode(clientType.getId() + .getSubsystemCode()) .build(); catalogService.saveErrorLog(errorLog); } return itemList; } - public static String getResponseBody(String url) throws KeyStoreException, NoSuchAlgorithmException, KeyManagementException { + public static String getResponseBody(String url) + throws KeyStoreException, NoSuchAlgorithmException, + KeyManagementException { HttpHeaders headers = new HttpHeaders(); List mediaTypes = new ArrayList<>(); mediaTypes.add(MediaType.APPLICATION_JSON); headers.setAccept(mediaTypes); final HttpEntity entity = new HttpEntity<>(headers); RestTemplate restTemplate = createTemplate(); - ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class); + ResponseEntity response = restTemplate.exchange(url, HttpMethod.GET, entity, + String.class); return response.getBody(); } - private static RestTemplate createTemplate() throws KeyStoreException, NoSuchAlgorithmException, KeyManagementException { + private static RestTemplate createTemplate() + throws KeyStoreException, NoSuchAlgorithmException, + KeyManagementException { TrustStrategy acceptingTrustStrategy = new TrustStrategy() { @Override - public boolean isTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { + public boolean isTrusted(X509Certificate[] x509Certificates, String s) + throws CertificateException { return true; } }; - SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom().loadTrustMaterial(null, acceptingTrustStrategy).build(); - SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext, new NoopHostnameVerifier()); - CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(csf).build(); + SSLContext sslContext = SSLContexts.custom() + .loadTrustMaterial(null, acceptingTrustStrategy) + .build(); + SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext, + new NoopHostnameVerifier()); + PoolingHttpClientConnectionManager cm = PoolingHttpClientConnectionManagerBuilder + .create() + .setSSLSocketFactory(csf) + .build(); + CloseableHttpClient httpClient = HttpClients.custom().setConnectionManager(cm).build(); HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(); requestFactory.setHttpClient(httpClient); RestTemplate restTemplate = new RestTemplate(requestFactory); diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/XRoadClient.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/XRoadClient.java index 5bfe2921..b319ae3d 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/XRoadClient.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/XRoadClient.java @@ -12,7 +12,17 @@ */ package fi.vrk.xroad.catalog.collector.util; -import fi.vrk.xroad.catalog.collector.wsimport.*; +import fi.vrk.xroad.catalog.collector.wsimport.ClientType; +import fi.vrk.xroad.catalog.collector.wsimport.GetWsdl; +import fi.vrk.xroad.catalog.collector.wsimport.GetWsdlResponse; +import fi.vrk.xroad.catalog.collector.wsimport.ListMethods; +import fi.vrk.xroad.catalog.collector.wsimport.ListMethodsResponse; +import fi.vrk.xroad.catalog.collector.wsimport.MetaServicesPort; +import fi.vrk.xroad.catalog.collector.wsimport.ProducerPortService; +import fi.vrk.xroad.catalog.collector.wsimport.XRoadClientIdentifierType; +import fi.vrk.xroad.catalog.collector.wsimport.XRoadIdentifierType; +import fi.vrk.xroad.catalog.collector.wsimport.XRoadObjectType; +import fi.vrk.xroad.catalog.collector.wsimport.XRoadServiceIdentifierType; import fi.vrk.xroad.catalog.persistence.CatalogService; import fi.vrk.xroad.catalog.persistence.entity.ErrorLog; import jakarta.activation.DataHandler; @@ -31,27 +41,70 @@ import java.time.LocalDateTime; import java.util.ArrayList; import java.util.Collection; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.UUID; @Slf4j public class XRoadClient { + static final int HTTP_CONNECTION_TIMEOUT = 30000; + static final int HTTP_RECEIVE_TIMEOUT = 60000; + + static final Map META_SERVICE_PORTS = new HashMap<>(); final MetaServicesPort metaServicesPort; + final XRoadClientIdentifierType clientId; public XRoadClient(XRoadClientIdentifierType clientId, URL serverUrl) { this.metaServicesPort = getMetaServicesPort(serverUrl); - final XRoadClientIdentifierType tmp = new XRoadClientIdentifierType(); copyIdentifierType(tmp, clientId); this.clientId = tmp; } + private static synchronized MetaServicesPort getMetaServicesPort(URL serverUrl) { + /** + * This is currently a workaround, since the current approach results in all the + * dispatchers creating a new port, which in turn causes a failure due to HTTP + * code 429 (Too Many Requests) from W3C's server. + * + * An issue is that CXF ports are not thread-safe, however that is + * mostly for the cases of configuring it, which we do in + * {@link}fi.vrk.xroad.catalog.collector.util.XRoadClient#getMetaServicesPort(URL)}. + * Actually using the port in multiple threads to do requests as a client should + * be safe. + * + * Nevertheless, this should be refactored when migrating away from Akka. + * Currently just a stop-gap solution to get the JAVA21 build version running + * correctish. + * + * A few alternatives I have come across for this are: + * + * - Try to use cataloging, which links the online resources to local files. + * Though this apparently is pretty hit or miss depending on the implementation. + * Some information suggests CXF does not support this. + * + * - Another alternative would be to use XRD4J once it is updated to JAVA21, + * since it doesn't try to parse the WSDL every time. + * + */ + MetaServicesPort port = META_SERVICE_PORTS.get(serverUrl); + if (!META_SERVICE_PORTS.containsKey(serverUrl)) { + port = createMetaServicesPort(serverUrl); + META_SERVICE_PORTS.put(serverUrl, port); + } else { + port = META_SERVICE_PORTS.get(serverUrl); + } + return port; + } + /** * Calls the service using JAX-WS endpoints that have been generated from wsdl */ - public List getMethods(XRoadClientIdentifierType member, CatalogService catalogService) { + public List getMethods(XRoadClientIdentifierType member, + CatalogService catalogService) { XRoadServiceIdentifierType serviceIdentifierType = new XRoadServiceIdentifierType(); copyIdentifierType(serviceIdentifierType, member); @@ -70,7 +123,7 @@ public List getMethods(XRoadClientIdentifierType mem userId(), queryId(), protocolVersion()); - } catch(Exception e) { + } catch (Exception e) { log.error("Fetch of SOAP services failed: " + e.getMessage()); ErrorLog errorLog = ErrorLog.builder() .created(LocalDateTime.now()) @@ -116,7 +169,7 @@ public String getWsdl(XRoadServiceIdentifierType service, CatalogService catalog protocolVersion(), response, wsdl); - } catch(Exception e) { + } catch (Exception e) { log.error("Fetch of WSDL failed: " + e.getMessage()); ErrorLog errorLog = ErrorLog.builder() .created(LocalDateTime.now()) @@ -135,12 +188,11 @@ public String getWsdl(XRoadServiceIdentifierType service, CatalogService catalog catalogService.saveErrorLog(errorLog); } - if (!(wsdl.value instanceof byte[])) { DataHandler dh = null; final Client client = ClientProxy.getClient(metaServicesPort); - final Collection attachments = - (Collection)client.getResponseContext().get(Message.ATTACHMENTS); + final Collection attachments = (Collection) client.getResponseContext() + .get(Message.ATTACHMENTS); if (attachments != null && attachments.size() == 1) { dh = attachments.iterator().next().getDataHandler(); } else { @@ -167,7 +219,7 @@ public String getWsdl(XRoadServiceIdentifierType service, CatalogService catalog } dh.writeTo(buf); return buf.toString(StandardCharsets.UTF_8.name()); - } catch (IOException|NullPointerException e) { + } catch (IOException | NullPointerException e) { log.error("Error downloading WSDL: ", e.getMessage()); ErrorLog errorLog = ErrorLog.builder() .created(LocalDateTime.now()) @@ -192,12 +244,12 @@ public String getWsdl(XRoadServiceIdentifierType service, CatalogService catalog } public String getOpenApi(XRoadRestServiceIdentifierType service, - String host, - String xRoadInstance, - String memberClass, - String memberCode, - String subsystemCode, - CatalogService catalogService) { + String host, + String xRoadInstance, + String memberClass, + String memberCode, + String subsystemCode, + CatalogService catalogService) { ClientType clientType = new ClientType(); XRoadClientIdentifierType xRoadClientIdentifierType = new XRoadClientIdentifierType(); xRoadClientIdentifierType.setXRoadInstance(service.getXRoadInstance()); @@ -212,7 +264,8 @@ public String getOpenApi(XRoadRestServiceIdentifierType service, xRoadClientIdentifierType.setObjectType(service.getObjectType()); clientType.setId(xRoadClientIdentifierType); - return MethodListUtil.openApiFromResponse(clientType, host, xRoadInstance, memberClass, memberCode, subsystemCode, catalogService); + return MethodListUtil.openApiFromResponse(clientType, host, xRoadInstance, memberClass, memberCode, + subsystemCode, catalogService); } private static Holder queryId() { @@ -231,15 +284,15 @@ private static Holder holder(T value) { return new Holder<>(value); } - private static MetaServicesPort getMetaServicesPort(URL url) { + private static MetaServicesPort createMetaServicesPort(URL url) { ProducerPortService service = new ProducerPortService(); MetaServicesPort port = service.getMetaServicesPortSoap11(); BindingProvider bindingProvider = (BindingProvider) port; bindingProvider.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, url.toString()); final HTTPConduit conduit = (HTTPConduit) ClientProxy.getClient(port).getConduit(); - conduit.getClient().setConnectionTimeout(30000); - conduit.getClient().setReceiveTimeout(60000); + conduit.getClient().setConnectionTimeout(HTTP_CONNECTION_TIMEOUT); + conduit.getClient().setReceiveTimeout(HTTP_RECEIVE_TIMEOUT); return port; } diff --git a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/XRoadRestServiceIdentifierType.java b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/XRoadRestServiceIdentifierType.java index 9989a176..c919c958 100644 --- a/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/XRoadRestServiceIdentifierType.java +++ b/xroad-catalog-collector/src/main/java/fi/vrk/xroad/catalog/collector/util/XRoadRestServiceIdentifierType.java @@ -18,11 +18,13 @@ import jakarta.xml.bind.annotation.XmlType; import java.util.List; - /** - *

Java class for XRoadServiceIdentifierType complex type. + *

+ * Java class for XRoadServiceIdentifierType complex type. * - *

The following schema fragment specifies the expected content contained within this class. + *

+ * The following schema fragment specifies the expected content contained within + * this class. * *

  * <complexType name="XRoadServiceIdentifierType">
@@ -46,8 +48,7 @@
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "XRoadServiceIdentifierType", namespace = "http://x-road.eu/xsd/identifiers")
-public class XRoadRestServiceIdentifierType extends XRoadIdentifierType
-{
+public class XRoadRestServiceIdentifierType extends XRoadIdentifierType {
     protected String serviceType;
 
     protected List endpointList;
@@ -60,7 +61,11 @@ public void setServiceType(String value) {
         this.serviceType = value;
     }
 
-    public List getEndpoints() { return endpointList; }
+    public List getEndpoints() {
+        return endpointList;
+    }
 
-    public void setEndpoints(List endpoints) { this.endpointList = endpoints; }
+    public void setEndpoints(List endpoints) {
+        this.endpointList = endpoints;
+    }
 }
diff --git a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/FetchCompanyActorTest.java b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/FetchCompanyActorTest.java
index aeb21923..1f5fb5ac 100644
--- a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/FetchCompanyActorTest.java
+++ b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/FetchCompanyActorTest.java
@@ -31,7 +31,7 @@
 import static org.mockito.Mockito.*;
 
 @SpringBootTest(classes = DevelopmentConfiguration.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
-@TestPropertySource(properties = {"xroad-catalog.fetch-companies-run-unlimited=true"})
+@TestPropertySource(properties = { "xroad-catalog.fetch-companies-run-unlimited=true" })
 public class FetchCompanyActorTest {
 
     @MockBean
@@ -48,7 +48,8 @@ public class FetchCompanyActorTest {
 
     @Test
     public void testBasicPlumbing() {
-        TestActorRef fetchCompanyActor = TestActorRef.create(actorSystem, springExtension.props("fetchCompaniesActor", null));
+        TestActorRef fetchCompanyActor = TestActorRef.create(actorSystem,
+                springExtension.props("fetchCompaniesActor", null));
         ClientType clientType = new ClientType();
         XRoadClientIdentifierType value = new XRoadClientIdentifierType();
         value.setXRoadInstance("INSTANCE");
@@ -65,7 +66,8 @@ public void testBasicPlumbing() {
 
     @Test
     public void testBasicPlumbingWithInvalidData() {
-        TestActorRef fetchCompanyActor = TestActorRef.create(actorSystem, springExtension.props("fetchCompaniesActor", null));
+        TestActorRef fetchCompanyActor = TestActorRef.create(actorSystem,
+                springExtension.props("fetchCompaniesActor", null));
         ClientType clientType = new ClientType();
         XRoadClientIdentifierType value = new XRoadClientIdentifierType();
         value.setXRoadInstance("INSTANCE");
@@ -88,4 +90,3 @@ public void testBasicPlumbingWithInvalidMessageType() {
     }
 
 }
-
diff --git a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/FetchOpenApiActorTest.java b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/FetchOpenApiActorTest.java
index 4e475297..a630ea75 100644
--- a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/FetchOpenApiActorTest.java
+++ b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/FetchOpenApiActorTest.java
@@ -79,4 +79,3 @@ public void testBasicPlumbingWithWrongMessageType() {
         verify(catalogService, times(0)).saveEndpoint(any(), any(), any(), any());
     }
 }
-
diff --git a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/ListClientsActorTest.java b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/ListClientsActorTest.java
index 47777876..3d7f8eba 100644
--- a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/ListClientsActorTest.java
+++ b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/ListClientsActorTest.java
@@ -47,7 +47,6 @@
 @SpringBootTest(classes = DevelopmentConfiguration.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 public class ListClientsActorTest extends TestKit {
 
-
     @MockBean
     CatalogService catalogService;
 
@@ -61,27 +60,28 @@ public class ListClientsActorTest extends TestKit {
 
     ListClientsActor listClientsActor;
 
-    static ActorSystem _system;
+    static ActorSystem system;
 
     public ListClientsActorTest() {
-        super(_system);
+        super(system);
     }
 
     @BeforeTestClass
     public static void setupTest() {
-        _system = ActorSystem.create();
+        system = ActorSystem.create();
     }
 
     @AfterTestClass
     public static void teardown() {
-        TestKit.shutdownActorSystem(_system);
-        _system = null;
+        TestKit.shutdownActorSystem(system);
+        system = null;
     }
 
     @BeforeEach
     public void setup() throws Exception {
         listMethodsPoolRef = mock(InternalActorRef.class);
-        TestActorRef clientsRef = TestActorRef.create(actorSystem, springExtension.props("listClientsActor", listMethodsPoolRef));
+        TestActorRef clientsRef = TestActorRef.create(actorSystem,
+                springExtension.props("listClientsActor", listMethodsPoolRef));
         listClientsActor = clientsRef.underlyingActor();
         ReflectionTestUtils.setField(listClientsActor, "host", "http://localhost");
         ReflectionTestUtils.setField(listClientsActor, "fetchUnlimited", Boolean.TRUE);
@@ -101,7 +101,8 @@ public void testOnReceiveWhenFetchUnlimited() throws Exception {
             clientList.getMember().add(createClientType(XRoadObjectType.SUBSYSTEM, "member2", "sssub1"));
             clientList.getMember().add(createClientType(XRoadObjectType.SUBSYSTEM, "member2", "sssub2"));
 
-            mocked.when(() -> ClientListUtil.clientListFromResponse(any(String.class), any(CatalogService.class))).thenReturn(clientList);
+            mocked.when(() -> ClientListUtil.clientListFromResponse(any(String.class), any(CatalogService.class)))
+                    .thenReturn(clientList);
 
             listClientsActor.onReceive(ListClientsActor.START_COLLECTING);
 
@@ -126,7 +127,8 @@ public void testOnReceiveWhenFetchNotUnlimitedButTimeIsInBetween() throws Except
             clientList.getMember().add(createClientType(XRoadObjectType.SUBSYSTEM, "member2", "sssub1"));
             clientList.getMember().add(createClientType(XRoadObjectType.SUBSYSTEM, "member2", "sssub2"));
 
-            mocked.when(() -> ClientListUtil.clientListFromResponse(any(String.class), any(CatalogService.class))).thenReturn(clientList);
+            mocked.when(() -> ClientListUtil.clientListFromResponse(any(String.class), any(CatalogService.class)))
+                    .thenReturn(clientList);
 
             listClientsActor.onReceive(ListClientsActor.START_COLLECTING);
 
@@ -138,7 +140,8 @@ public void testOnReceiveWhenFetchNotUnlimitedButTimeIsInBetween() throws Except
     public void testOnReceiveWithEmptyMemberList() throws Exception {
         try (MockedStatic mocked = mockStatic(ClientListUtil.class)) {
             ClientList clientList = new ClientList();
-            mocked.when(() -> ClientListUtil.clientListFromResponse(any(String.class), any(CatalogService.class))).thenReturn(clientList);
+            mocked.when(() -> ClientListUtil.clientListFromResponse(any(String.class), any(CatalogService.class)))
+                    .thenReturn(clientList);
             listClientsActor.onReceive(ListClientsActor.START_COLLECTING);
             verify(catalogService, times(1)).saveAllMembersAndSubsystems(any());
         }
diff --git a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/ListClientsRestTest.java b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/ListClientsRestTest.java
index 533ebc10..94ffa274 100644
--- a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/ListClientsRestTest.java
+++ b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/actors/ListClientsRestTest.java
@@ -32,70 +32,69 @@
 @SpringBootTest(classes = DevelopmentConfiguration.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 public class ListClientsRestTest {
 
-    private static final String VALID_LISTCLIENTS_RESPONSE =
-            "\n" +
-                    "\n"
-                    +
-                    "    \n" +
-                    "        \n" +
-                    "            FI\n" +
-                    "            GOV\n" +
-                    "            1710128-9\n" +
-                    "        \n" +
-                    "        Gofore\n" +
-                    "    \n" +
-                    "    \n" +
-                    "        \n" +
-                    "            FI\n" +
-                    "            GOV\n" +
-                    "            1710128-9\n" +
-                    "            Management\n" +
-                    "        \n" +
-                    "        Gofore\n" +
-                    "    \n" +
-                    "    \n" +
-                    "        \n" +
-                    "            FI\n" +
-                    "            GOV\n" +
-                    "            1710128-9\n" +
-                    "            SS1\n" +
-                    "        \n" +
-                    "        Gofore\n" +
-                    "    \n" +
-                    "\n";
+    private static final String VALID_LISTCLIENTS_RESPONSE = "\n"
+            +
+            "\n"
+            +
+            "    \n" +
+            "        \n" +
+            "            FI\n" +
+            "            GOV\n" +
+            "            1710128-9\n" +
+            "        \n" +
+            "        Gofore\n" +
+            "    \n" +
+            "    \n" +
+            "        \n" +
+            "            FI\n" +
+            "            GOV\n" +
+            "            1710128-9\n" +
+            "            Management\n" +
+            "        \n" +
+            "        Gofore\n" +
+            "    \n" +
+            "    \n" +
+            "        \n" +
+            "            FI\n" +
+            "            GOV\n" +
+            "            1710128-9\n" +
+            "            SS1\n" +
+            "        \n" +
+            "        Gofore\n" +
+            "    \n" +
+            "\n";
 
-    private static final String OUTDATED_GLOBAL_CONF =
-            "Server.ClientProxy.OutdatedGlobalConfGlobal configuration is expiredOutdatedGlobalConf: \n"
-                    +
-                    "\tat ee.ria.xroad.common.conf.globalconf.GlobalConf.verifyValidity(GlobalConf.java:160)\n" +
-                    "\tat ee.ria.xroad.proxy.util.MessageProcessorBase.cacheConfigurationForCurrentThread(MessageProcessorBase.java:64)\n"
-                    +
-                    "\tat ee.ria.xroad.proxy.util.MessageProcessorBase.<init>(MessageProcessorBase.java:55)\n" +
-                    "\tat ee.ria.xroad.proxy.clientproxy.AsicContainerClientRequestProcessor.<init>(AsicContainerClientRequestProcessor.java:108)\n"
-                    +
-                    "\tat ee.ria.xroad.proxy.clientproxy.AsicContainerHandler.createRequestProcessor(AsicContainerHandler.java:63)\n"
-                    +
-                    "\tat ee.ria.xroad.proxy.clientproxy.AbstractClientProxyHandler.handle(AbstractClientProxyHandler.java:80)\n"
-                    +
-                    "\tat ee.ria.xroad.proxy.clientproxy.AsicContainerHandler.handle(AsicContainerHandler.java:39)\n" +
-                    "\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)\n" +
-                    "\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)\n" +
-                    "\tat org.eclipse.jetty.server.Server.handle(Server.java:370)\n" +
-                    "\tat org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)\n"
-                    +
-                    "\tat org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)\n"
-                    +
-                    "\tat org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)\n"
-                    +
-                    "\tat org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)\n" +
-                    "\tat org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:231)\n" +
-                    "\tat org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)\n" +
-                    "\tat org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)\n" +
-                    "\tat org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)\n" +
-                    "\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)\n" +
-                    "\tat org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)\n" +
-                    "\tat java.lang.Thread.run(Thread.java:745)\n" +
-                    "";
+    private static final String OUTDATED_GLOBAL_CONF = "Server.ClientProxy.OutdatedGlobalConfGlobal configuration is expiredOutdatedGlobalConf: \n"
+            +
+            "\tat ee.ria.xroad.common.conf.globalconf.GlobalConf.verifyValidity(GlobalConf.java:160)\n" +
+            "\tat ee.ria.xroad.proxy.util.MessageProcessorBase.cacheConfigurationForCurrentThread(MessageProcessorBase.java:64)\n"
+            +
+            "\tat ee.ria.xroad.proxy.util.MessageProcessorBase.<init>(MessageProcessorBase.java:55)\n" +
+            "\tat ee.ria.xroad.proxy.clientproxy.AsicContainerClientRequestProcessor.<init>(AsicContainerClientRequestProcessor.java:108)\n"
+            +
+            "\tat ee.ria.xroad.proxy.clientproxy.AsicContainerHandler.createRequestProcessor(AsicContainerHandler.java:63)\n"
+            +
+            "\tat ee.ria.xroad.proxy.clientproxy.AbstractClientProxyHandler.handle(AbstractClientProxyHandler.java:80)\n"
+            +
+            "\tat ee.ria.xroad.proxy.clientproxy.AsicContainerHandler.handle(AsicContainerHandler.java:39)\n" +
+            "\tat org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)\n" +
+            "\tat org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)\n" +
+            "\tat org.eclipse.jetty.server.Server.handle(Server.java:370)\n" +
+            "\tat org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)\n"
+            +
+            "\tat org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)\n"
+            +
+            "\tat org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)\n"
+            +
+            "\tat org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)\n" +
+            "\tat org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:231)\n" +
+            "\tat org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)\n" +
+            "\tat org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)\n" +
+            "\tat org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)\n" +
+            "\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)\n" +
+            "\tat org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)\n" +
+            "\tat java.lang.Thread.run(Thread.java:745)\n" +
+            "";
 
     private static final String TEST_REQUEST_PATH = "/dummy-request-path";
 
diff --git a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/configuration/DevelopmentConfiguration.java b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/configuration/DevelopmentConfiguration.java
index 6c16bf8e..83265dd4 100644
--- a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/configuration/DevelopmentConfiguration.java
+++ b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/configuration/DevelopmentConfiguration.java
@@ -27,9 +27,8 @@
 import org.springframework.context.annotation.Profile;
 import org.springframework.web.client.RestOperations;
 
-
 @Configuration
-@Profile( {"development", "default", "fi"})
+@Profile({ "development", "default", "fi" })
 @Slf4j
 public class DevelopmentConfiguration extends ApplicationConfiguration {
 
@@ -40,13 +39,11 @@ public RestOperations getRestOperations() {
         return new MockRestTemplate();
     }
 
-    // to start CXF (for mock web service)
     @Bean
-    public ServletRegistrationBean servletRegistrationBean() {
-        return new ServletRegistrationBean(new CXFServlet(), "/*");
+    public ServletRegistrationBean servletRegistrationBean() {
+        return new ServletRegistrationBean<>(new CXFServlet(), "/*");
     }
 
-
     @Bean
     @Lazy(value = false)
     public EndpointImpl metaServicesService(Bus bus) {
diff --git a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/mock/MockHttpServer.java b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/mock/MockHttpServer.java
index a74db185..88b87b4f 100644
--- a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/mock/MockHttpServer.java
+++ b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/mock/MockHttpServer.java
@@ -28,14 +28,15 @@ public interface MockHttpServer {
 
     int PORT = 8932;
 
-    Logger log = LoggerFactory.getLogger("MockHttpServer");
+    Logger LOG = LoggerFactory.getLogger("MockHttpServer");
 
     HttpServer getServer();
-    void setServer(HttpServer server);
 
+    void setServer(HttpServer server);
 
     /**
      * Start http server that offers the given file through http
+     * 
      * @param fileName file that can be found in classpath
      */
     default void startServer(String fileName) {
@@ -44,7 +45,7 @@ default void startServer(String fileName) {
 
             getServer().createContext(getContext(fileName), getHandler(fileName));
             getServer().setExecutor(null); // creates a default executor
-            log.info("Starting local http server {} in port {}", getServer(), PORT);
+            LOG.info("Starting local http server {} in port {}", getServer(), PORT);
             getServer().start();
         } catch (Exception e) {
             throw new CatalogCollectorRuntimeException("Cannot start httpserver", e);
@@ -55,29 +56,29 @@ default void startServer(String fileName) {
      * Stop http server
      */
     default void stopServer() {
-        log.info("Stopping local http server {} in port {}", getServer(), PORT);
+        LOG.info("Stopping local http server {} in port {}", getServer(), PORT);
         getServer().stop(0);
     }
 
-
     /**
      * Start http server using file based on the url in the parameter
+     * 
      * @param url Actual url for the real request
      * @return Local url (url for localhost and resource filename)
      */
     default String startServerForUrl(String url) {
         String[] parts = url.split("/");
 
-        String fileName = "/data/" + parts[3]+".xml";
-        String localUrl = "http://localhost:"+PORT+fileName;
+        String fileName = "/data/" + parts[3] + ".xml";
+        String localUrl = "http://localhost:" + PORT + fileName;
 
-        log.info("Reading response from file {} and local url {}", fileName, localUrl);
+        LOG.info("Reading response from file {} and local url {}", fileName, localUrl);
 
         try {
             startServer(fileName);
             return localUrl;
         } catch (Exception e) {
-            log.error("Error getting resource from through http{}", localUrl);
+            LOG.error("Error getting resource from through http{}", localUrl);
             throw new CatalogCollectorRuntimeException("Error reading resource from httpserver", e);
         }
     }
@@ -90,7 +91,7 @@ default HttpHandler getHandler(String fileName) {
         return new ResourceToHttpHandler(fileName);
     }
 
-    static class ResourceToHttpHandler implements HttpHandler {
+    class ResourceToHttpHandler implements HttpHandler {
 
         public final String fileName;
 
@@ -98,8 +99,6 @@ public ResourceToHttpHandler(String fileName) {
             this.fileName = fileName;
         }
 
-
-
         @Override
         public void handle(HttpExchange exchange) throws IOException {
             ClassPathResource resource = new ClassPathResource(fileName);
diff --git a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/mock/MockMetaServicesImpl.java b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/mock/MockMetaServicesImpl.java
index eb765ef3..2680e090 100644
--- a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/mock/MockMetaServicesImpl.java
+++ b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/mock/MockMetaServicesImpl.java
@@ -13,7 +13,16 @@
 package fi.vrk.xroad.catalog.collector.mock;
 
 import fi.vrk.xroad.catalog.collector.util.ClientTypeUtil;
-import fi.vrk.xroad.catalog.collector.wsimport.*;
+import fi.vrk.xroad.catalog.collector.wsimport.AllowedMethods;
+import fi.vrk.xroad.catalog.collector.wsimport.AllowedMethodsResponse;
+import fi.vrk.xroad.catalog.collector.wsimport.GetWsdl;
+import fi.vrk.xroad.catalog.collector.wsimport.GetWsdlResponse;
+import fi.vrk.xroad.catalog.collector.wsimport.ListMethods;
+import fi.vrk.xroad.catalog.collector.wsimport.ListMethodsResponse;
+import fi.vrk.xroad.catalog.collector.wsimport.MetaServicesPort;
+import fi.vrk.xroad.catalog.collector.wsimport.XRoadClientIdentifierType;
+import fi.vrk.xroad.catalog.collector.wsimport.XRoadObjectType;
+import fi.vrk.xroad.catalog.collector.wsimport.XRoadServiceIdentifierType;
 import jakarta.annotation.Resource;
 import jakarta.jws.WebService;
 import jakarta.xml.ws.Holder;
@@ -26,8 +35,7 @@
  * Mock metaservices -service which answers something valid and semi-reasonable
  * dummy data when queried for listMethods
  */
-@WebService(serviceName = "producerPortService", targetNamespace = "http://metadata.x-road.eu/",
-        wsdlLocation = "schema/metaservices.wsdl")
+@WebService(serviceName = "producerPortService", targetNamespace = "http://metadata.x-road.eu/", wsdlLocation = "schema/metaservices.wsdl")
 @Slf4j
 public class MockMetaServicesImpl implements MetaServicesPort {
 
@@ -36,18 +44,20 @@ public class MockMetaServicesImpl implements MetaServicesPort {
 
     @Override
     public AllowedMethodsResponse allowedMethods(AllowedMethods allowedMethods,
-                                                 Holder client, Holder service, Holder userId,
-                                                 Holder id, Holder protocolVersion) {
+            Holder client,
+            Holder service,
+            Holder userId,
+            Holder id, Holder protocolVersion) {
         throw new UnsupportedOperationException("not implemented");
     }
 
     @Override
     public ListMethodsResponse listMethods(ListMethods listMethods,
-                                           Holder client,
-                                           Holder service,
-                                           Holder userId,
-                                           Holder id,
-                                           Holder protocolVersion) {
+            Holder client,
+            Holder service,
+            Holder userId,
+            Holder id,
+            Holder protocolVersion) {
         log.info("mock listMethods");
         log.info("client= {}", ClientTypeUtil.toString(client.value));
 
@@ -60,21 +70,23 @@ public ListMethodsResponse listMethods(ListMethods listMethods,
 
     @Override
     public void getWsdl(GetWsdl getWsdl, Holder client,
-            Holder service, Holder userId, Holder id,
-            Holder protocolVersion, Holder getWsdlResponse, Holder wsdl) {
+            Holder service, Holder userId,
+            Holder id,
+            Holder protocolVersion, Holder getWsdlResponse,
+            Holder wsdl) {
 
         final GetWsdlResponse response = new GetWsdlResponse();
         response.setServiceCode(getWsdl.getServiceCode());
         response.setServiceVersion(getWsdl.getServiceVersion());
         getWsdlResponse.value = response;
-        final String tmp = MessageFormat.format(WSDL_TEMPLATE, getWsdl.getServiceCode(), getWsdl.getServiceVersion());
+        final String tmp = getWSDLForService(getWsdl.getServiceCode(), getWsdl.getServiceVersion());
         wsdl.value = tmp.getBytes(StandardCharsets.UTF_8);
         log.info("Returning WSDL");
     }
 
     private XRoadServiceIdentifierType generateService(String serviceCode,
-                                                       String serviceVersion,
-                                                       XRoadServiceIdentifierType serviceHeader) {
+            String serviceVersion,
+            XRoadServiceIdentifierType serviceHeader) {
         XRoadServiceIdentifierType service = new XRoadServiceIdentifierType();
         service.setXRoadInstance(serviceHeader.getXRoadInstance());
         service.setMemberClass(serviceHeader.getMemberClass());
@@ -86,21 +98,29 @@ private XRoadServiceIdentifierType generateService(String serviceCode,
         return service;
     }
 
-    private static String WSDL_TEMPLATE = "\n" +
+            "                  name=\"testService\" targetNamespace=\"http://vrk-test.x-road.fi/producer\">\n"
+            +
             "    \n" +
             "        \n" +
             "        \n" +
             "            \n" +
             "                \n" +
-            "                    Enumeration for X-Road identifier\n" +
+            "                    Enumeration for X-Road identifier\n"
+            +
             "                        types that can be used in requests.\n" +
             "                    \n" +
             "                \n" +
@@ -110,9 +130,11 @@ private XRoadServiceIdentifierType generateService(String serviceCode,
             "                    \n" +
             "                \n" +
             "            \n" +
-            "            \n" +
+            "            \n"
+            +
             "                \n" +
-            "                    Identifies the X-Road instance.\n" +
+            "                    Identifies the X-Road instance.\n"
+            +
             "                        This field is applicable to all identifier\n" +
             "                        types.\n" +
             "                    \n" +
@@ -120,76 +142,94 @@ private XRoadServiceIdentifierType generateService(String serviceCode,
             "            \n" +
             "            \n" +
             "                \n" +
-            "                    Type of the member (company,\n" +
-            "                        government institution, private person, etc.)\n" +
+            "                    Type of the member (company,\n"
+            +
+            "                        government institution, private person, etc.)\n"
+            +
             "                    \n" +
             "                \n" +
             "            \n" +
             "            \n" +
             "                \n" +
-            "                    Code that uniquely identifies a\n" +
+            "                    Code that uniquely identifies a\n"
+            +
             "                        member of given member type.\n" +
             "                    \n" +
             "                \n" +
             "            \n" +
-            "            \n" +
+            "            \n"
+            +
             "                \n" +
-            "                    Code that uniquely identifies a\n" +
+            "                    Code that uniquely identifies a\n"
+            +
             "                        subsystem of given SDSB member.\n" +
             "                    \n" +
             "                \n" +
             "            \n" +
             "            \n" +
             "                \n" +
-            "                    Code that uniquely identifies a\n" +
+            "                    Code that uniquely identifies a\n"
+            +
             "                        service offered by given SDSB member or\n" +
             "                        subsystem.\n" +
             "                    \n" +
             "                \n" +
             "            \n" +
-            "            \n" +
+            "            \n"
+            +
             "                \n" +
             "                    Version of the service.\n" +
             "                    \n" +
             "                \n" +
             "            \n" +
-            "            \n" +
+            "            \n"
+            +
             "            \n" +
             "                \n" +
             "                    \n" +
             "                    \n" +
             "                    \n" +
-            "                    \n" +
+            "                    \n"
+            +
             "                \n" +
-            "                \n" +
+            "                \n"
+            +
             "            \n" +
             "            \n" +
             "                \n" +
             "                    \n" +
             "                    \n" +
             "                    \n" +
-            "                    \n" +
+            "                    \n"
+            +
             "                    \n" +
-            "                    \n" +
+            "                    \n"
+            +
             "                \n" +
-            "                \n" +
+            "                \n"
+            +
             "            \n" +
             "        \n" +
             " \n" +
             "        \n" +
             "        \n" +
             "            \n" +
-            "            \n" +
-            "            \n" +
+            "            \n"
+            +
+            "            \n"
+            +
             "            \n" +
             "            \n" +
-            "            \n" +
+            "            \n"
+            +
             "        \n" +
             "                  \n" +
             "        \n" +
-            "                   \n" +
+            "                   \n"
+            +
             "            \n" +
             "            \n" +
             "                \n" +
@@ -197,7 +237,8 @@ private XRoadServiceIdentifierType generateService(String serviceCode,
             "                        \n" +
             "                            \n" +
             "                                \n" +
-            "                                    \n" +
+            "                                    \n"
+            +
             "                                        \n" +
             "                                            \n" +
             "                                                Service response\n" +
@@ -218,7 +259,8 @@ private XRoadServiceIdentifierType generateService(String serviceCode,
             "        \n" +
             "        \n" +
             "        \n" +
-            "        \n" +
+            "        \n"
+            +
             "    \n" +
             "     \n" +
             "    \n" +
@@ -235,31 +277,44 @@ private XRoadServiceIdentifierType generateService(String serviceCode,
             "        \n" +
             "    \n" +
             "   \n" +
-            "    \n" +
-            "        \n" +
+            "    \n"
+            +
+            "        \n"
+            +
             "        \n" +
             "            \n" +
             "            {1}\n" +
             "            \n" +
             "                \n" +
-            "                \n" +
-            "                \n" +
-            "                \n" +
-            "                \n" +
-            "                \n" +
+            "                \n"
+            +
+            "                \n"
+            +
+            "                \n"
+            +
+            "                \n"
+            +
+            "                \n"
+            +
             "            \n" +
             "            \n" +
             "                \n" +
-            "                \n" +
-            "                \n" +
-            "                \n" +
-            "                \n" +
-            "                \n" +
+            "                \n"
+            +
+            "                \n"
+            +
+            "                \n"
+            +
+            "                \n"
+            +
+            "                \n"
+            +
             "            \n" +
             "        \n" +
             "    \n" +
             "    \n" +
-            "        \n" +
+            "        \n"
+            +
             "            \n" +
             "        \n" +
             "    \n" +
diff --git a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/mock/MockRestTemplate.java b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/mock/MockRestTemplate.java
index e21d8982..ff0f86a6 100644
--- a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/mock/MockRestTemplate.java
+++ b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/mock/MockRestTemplate.java
@@ -34,7 +34,7 @@ public  T getForObject(String url, Class responseType, Object... urlVariab
         try {
             log.info("starting server for url: " + url);
             localUrl = startServerForUrl(url);
-            T result = super.getForObject(localUrl,responseType);
+            T result = super.getForObject(localUrl, responseType);
             log.info("starting server for url: " + url);
             stopServer();
             return result;
@@ -44,7 +44,6 @@ public  T getForObject(String url, Class responseType, Object... urlVariab
         }
     }
 
-
     @Override
     public HttpServer getServer() {
         return server;
diff --git a/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/util/XRoadClientTest.java b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/util/XRoadClientTest.java
new file mode 100644
index 00000000..2e44a7a2
--- /dev/null
+++ b/xroad-catalog-collector/src/test/java/fi/vrk/xroad/catalog/collector/util/XRoadClientTest.java
@@ -0,0 +1,105 @@
+/**
+ * The MIT License
+ *
+ * Copyright (c) 2023- Nordic Institute for Interoperability Solutions (NIIS)
+ * Copyright (c) 2016-2023 Finnish Digital Agency
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+package fi.vrk.xroad.catalog.collector.util;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.List;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.TestPropertySource;
+
+import fi.vrk.xroad.catalog.collector.configuration.DevelopmentConfiguration;
+import fi.vrk.xroad.catalog.collector.mock.MockMetaServicesImpl;
+import fi.vrk.xroad.catalog.collector.wsimport.XRoadClientIdentifierType;
+import fi.vrk.xroad.catalog.collector.wsimport.XRoadObjectType;
+import fi.vrk.xroad.catalog.collector.wsimport.XRoadServiceIdentifierType;
+import fi.vrk.xroad.catalog.persistence.CatalogService;
+
+@SpringBootTest(classes = DevelopmentConfiguration.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+@TestPropertySource(properties = {
+        "xroad-catalog.webservices-endpoint=http://localhost:${local.server.port}/metaservices"
+})
+public class XRoadClientTest {
+
+    @MockBean
+    CatalogService catalogService;
+
+    @Value("${xroad-catalog.security-server-host}")
+    private String xroadSecurityServerHost;
+
+    @Value("${xroad-catalog.xroad-instance}")
+    private String xroadInstance;
+
+    @Value("${xroad-catalog.member-code}")
+    private String memberCode;
+
+    @Value("${xroad-catalog.member-class}")
+    private String memberClass;
+
+    @Value("${xroad-catalog.subsystem-code}")
+    private String subsystemCode;
+
+    @Value("${xroad-catalog.webservices-endpoint}")
+    private String webservicesEndpoint;
+
+    private XRoadClientIdentifierType getDefaultClient() {
+        XRoadClientIdentifierType client = new XRoadClientIdentifierType();
+        client.setXRoadInstance(xroadInstance);
+        client.setMemberClass(memberClass);
+        client.setMemberCode(memberCode);
+        client.setObjectType(XRoadObjectType.MEMBER);
+        return client;
+    }
+
+    private XRoadServiceIdentifierType getDefaultService() {
+        XRoadServiceIdentifierType service = new XRoadServiceIdentifierType();
+        service.setXRoadInstance(xroadInstance);
+        service.setMemberClass(memberClass);
+        service.setMemberCode(memberCode);
+        service.setSubsystemCode(subsystemCode);
+        service.setServiceCode("code123");
+        service.setServiceVersion("v3");
+        service.setObjectType(XRoadObjectType.SERVICE);
+        return service;
+    }
+
+    @Test
+    public void testCallListMethods() throws MalformedURLException {
+        XRoadClientIdentifierType client = getDefaultClient();
+        XRoadClient xRoadClient = new XRoadClient(client, new URL(webservicesEndpoint));
+        assertFalse(xRoadClient == null);
+        XRoadClientIdentifierType client2 = getDefaultClient();
+        client2.setSubsystemCode(subsystemCode);
+        List openApiResponse = xRoadClient.getMethods(client2, catalogService);
+        assertEquals(3, openApiResponse.size());
+    }
+
+    @Test
+    public void testCallGetWsdl() throws MalformedURLException {
+        XRoadClientIdentifierType client = getDefaultClient();
+        XRoadClient xRoadClient = new XRoadClient(client, new URL(webservicesEndpoint));
+        assertFalse(xRoadClient == null);
+        XRoadServiceIdentifierType service = getDefaultService();
+        String wsdl = xRoadClient.getWsdl(service, catalogService);
+        assertEquals(MockMetaServicesImpl.getWSDLForService(service.getServiceCode(), service.getServiceVersion()),
+                wsdl);
+    }
+
+}
diff --git a/xroad-catalog-lister/build.gradle b/xroad-catalog-lister/build.gradle
index 18406a38..841c656f 100644
--- a/xroad-catalog-lister/build.gradle
+++ b/xroad-catalog-lister/build.gradle
@@ -1,61 +1,25 @@
 plugins {
     alias (libs.plugins.spring.boot)
+    alias (libs.plugins.wsdl2java)
     id 'java'
     id 'eclipse'
     id 'idea'
     id 'jacoco'
+    id 'catalogservice.java-checks'
 }
 
 group 'fi.vrk.xroad.catalog.lister'
-sourceCompatibility = 11
-targetCompatibility = 11
+sourceCompatibility = 21
+targetCompatibility = 21
 
 repositories {
     mavenCentral()
 }
 
-task genJaxb {
-    ext.sourcesDir = "${buildDir}/generated-sources/jaxb"
-    ext.classesDir = "${buildDir}/classes/jaxb"
-    ext.schema = "src/main/resources/services.wsdl"
-
-    outputs.dir classesDir
-
-    doLast() {
-        project.ant {
-            taskdef name: "xjc", classname: "com.sun.tools.xjc.XJCTask",
-                    classpath: configurations.jaxb.asPath
-            mkdir(dir: sourcesDir)
-            mkdir(dir: classesDir)
-
-            xjc(destdir: sourcesDir, schema: schema) {
-                arg(value: "-wsdl")
-                produces(dir: sourcesDir, includes: "**/*.java")
-            }
-
-            javac(destdir: classesDir, includeantruntime:false, source: 11, target: 11, debug: true,
-                    debugLevel: "lines,vars,source",
-                    classpath: configurations.jaxb.asPath) {
-                src(path: sourcesDir)
-                include(name: "**/*.java")
-                include(name: "*.java")
-            }
-
-            copy(todir: classesDir) {
-                fileset(dir: sourcesDir, erroronmissingdir: false) {
-                    exclude(name: "**/*.java")
-                }
-            }
-        }
-    }
-}
-
-task afterEclipseImport {
-	dependsOn "genJaxb"
-}
-
-configurations {
-    jaxb
+wsdl2java {
+    cxfVersion.set(libs.versions.cxf) // Grab the version from our versions catalog
+    markGenerated = true
+    packageName = 'fi.vrk.xroad.catalog.lister.generated'
 }
 
 bootJar {
@@ -71,8 +35,6 @@ jar {
 
 dependencies {
     implementation project(':xroad-catalog-persistence')
-    implementation(files(genJaxb.classesDir).builtBy(genJaxb))
-
     implementation (libs.jakarta)
     implementation (libs.spring.doc)
     implementation (libs.commons.csv)
@@ -82,7 +44,6 @@ dependencies {
     implementation (libs.wsdl4j)
     implementation (libs.commons.bean.utils)
     implementation (libs.guava)
-    jaxb (libs.xjc)
     implementation (libs.lombok)
     annotationProcessor (libs.lombok)
     testImplementation (libs.spring.boot.test)
diff --git a/xroad-catalog-lister/build_rpm.sh b/xroad-catalog-lister/build_rpm.sh
index 1db7dec0..8ebaacc2 100755
--- a/xroad-catalog-lister/build_rpm.sh
+++ b/xroad-catalog-lister/build_rpm.sh
@@ -28,7 +28,7 @@ CMD="-ba"
 
 rm -rf ${ROOT}/RPMS/*
 
-app_version=3.0.4
+app_version=4.0.0
 
 echo "Chosen catalog profile = $PROFILE"
 
diff --git a/xroad-catalog-lister/packages/xroad-catalog-lister/docker/Dockerfile b/xroad-catalog-lister/packages/xroad-catalog-lister/docker/Dockerfile
index 7d5531fa..75be5017 100644
--- a/xroad-catalog-lister/packages/xroad-catalog-lister/docker/Dockerfile
+++ b/xroad-catalog-lister/packages/xroad-catalog-lister/docker/Dockerfile
@@ -1,7 +1,7 @@
 FROM centos:7
 MAINTAINER "Nordic Institute for Interoperability Solutions (NIIS)" 
 
-RUN yum -y install sudo git rpm-build java-11-openjdk-headless
+RUN yum -y install sudo git rpm-build java-21-openjdk-headless
 RUN yum clean all
 RUN sed -i 's/requiretty/!requiretty/' /etc/sudoers
 
diff --git a/xroad-catalog-lister/packages/xroad-catalog-lister/redhat/SOURCES/xroad-catalog-lister b/xroad-catalog-lister/packages/xroad-catalog-lister/redhat/SOURCES/xroad-catalog-lister
index caea56ab..6aba71c1 100644
--- a/xroad-catalog-lister/packages/xroad-catalog-lister/redhat/SOURCES/xroad-catalog-lister
+++ b/xroad-catalog-lister/packages/xroad-catalog-lister/redhat/SOURCES/xroad-catalog-lister
@@ -1,6 +1,6 @@
 #!/bin/sh
 set -x
 source /etc/xroad/xroad-catalog/catalog-profile.properties
-JAVA=$(update-alternatives --display java | grep priority | grep java-11-openjdk | cut -d " " -f1)
+JAVA=$(update-alternatives --display java | grep priority | grep java-21-openjdk | cut -d " " -f1)
 exec $JAVA -Xms128m -Xmx2g -Dserver.port=8070 -Dspring.profiles.active=production -Dspring.profiles.include=$CATALOG_PROFILE -jar /usr/lib/xroad-catalog/xroad-catalog-lister.jar --spring.config.location=/etc/xroad/xroad-catalog/ --spring.config.name=lister,catalogdb
 
diff --git a/xroad-catalog-lister/packages/xroad-catalog-lister/redhat/SPECS/xroad-catalog-lister.spec b/xroad-catalog-lister/packages/xroad-catalog-lister/redhat/SPECS/xroad-catalog-lister.spec
index 35ecda17..211cd0a4 100644
--- a/xroad-catalog-lister/packages/xroad-catalog-lister/redhat/SPECS/xroad-catalog-lister.spec
+++ b/xroad-catalog-lister/packages/xroad-catalog-lister/redhat/SPECS/xroad-catalog-lister.spec
@@ -8,7 +8,7 @@ Release:            %{rel}%{?snapshot}%{?dist}
 Summary:            X-Road Service Listing
 Group:              Applications/Internet
 License:            MIT
-Requires:           systemd, java-11-openjdk, xroad-confclient
+Requires:           systemd, java-21-openjdk, xroad-confclient
 Requires(post):     systemd
 Requires(preun):    systemd
 Requires(postun):   systemd
diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCatalogService.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCatalogService.java
index a92fc4d9..225be9c6 100644
--- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCatalogService.java
+++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCatalogService.java
@@ -12,30 +12,35 @@
  */
 package fi.vrk.xroad.catalog.lister;
 
-import fi.vrk.xroad.xroad_catalog_lister.ErrorLog;
-import fi.vrk.xroad.xroad_catalog_lister.Member;
 import javax.xml.datatype.XMLGregorianCalendar;
 
+import fi.vrk.xroad.catalog.lister.generated.ErrorLog;
+import fi.vrk.xroad.catalog.lister.generated.Member;
+
 public interface JaxbCatalogService {
 
     /**
-     * Returns all members that have had some part of member->substem->service->wsdl graph
-     * changed after startDateTime. If startDateTime = null, returns all members
+     * Returns all members that have had some part of member->substem->service->wsdl
+     * graph
+     * changed after startDateTime. If startDateTime = null, returns
+     * all members
      * altogether.
      *
-     * All substem->service->wsdl items are always returned, whether they are removed items
+     * All substem->service->wsdl items are always returned, whether they are
+     * removed items
      * or not, and whether they have been updated since startDateTime or not.
      *
      * @param startDateTime creation datetime from
-     * @param endDateTime creation datetime to
+     * @param endDateTime   creation datetime to
      * @return Iterable of JAXB generated Members
      */
     Iterable getAllMembers(XMLGregorianCalendar startDateTime, XMLGregorianCalendar endDateTime);
 
     /**
      * Returns all errorLog entries
+     * 
      * @param startDateTime creation datetime from
-     * @param endDateTime creation datetime to
+     * @param endDateTime   creation datetime to
      * @return Iterable of JAXB generated ErrorLog entries
      */
     Iterable getErrorLog(XMLGregorianCalendar startDateTime, XMLGregorianCalendar endDateTime);
diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCatalogServiceImpl.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCatalogServiceImpl.java
index c8d7d57a..301f668d 100644
--- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCatalogServiceImpl.java
+++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCatalogServiceImpl.java
@@ -13,7 +13,7 @@
 package fi.vrk.xroad.catalog.lister;
 
 import fi.vrk.xroad.catalog.persistence.CatalogService;
-import fi.vrk.xroad.xroad_catalog_lister.Member;
+import fi.vrk.xroad.catalog.lister.generated.Member;
 import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,11 +33,11 @@ public class JaxbCatalogServiceImpl implements JaxbCatalogService {
     private JaxbServiceConverter jaxbServiceConverter;
 
     @Override
-    public Iterable getAllMembers(XMLGregorianCalendar startDateTime, XMLGregorianCalendar endDateTime)  {
+    public Iterable getAllMembers(XMLGregorianCalendar startDateTime, XMLGregorianCalendar endDateTime) {
         Iterable entities;
         if (startDateTime != null && endDateTime != null) {
             entities = catalogService.getAllMembers(jaxbServiceConverter.toLocalDateTime(startDateTime),
-                                                    jaxbServiceConverter.toLocalDateTime(endDateTime));
+                    jaxbServiceConverter.toLocalDateTime(endDateTime));
         } else {
             entities = catalogService.getAllMembers();
         }
@@ -46,11 +46,11 @@ public Iterable getAllMembers(XMLGregorianCalendar startDateTime, XMLGre
     }
 
     @Override
-    public Iterable getErrorLog(XMLGregorianCalendar startDateTime,
-                                                                            XMLGregorianCalendar endDateTime) {
+    public Iterable getErrorLog(XMLGregorianCalendar startDateTime,
+            XMLGregorianCalendar endDateTime) {
         Iterable entities;
         entities = catalogService.getErrorLog(jaxbServiceConverter.toLocalDateTime(startDateTime),
-                                              jaxbServiceConverter.toLocalDateTime(endDateTime));
+                jaxbServiceConverter.toLocalDateTime(endDateTime));
         return jaxbServiceConverter.convertErrorLog(entities);
     }
 
diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCompanyService.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCompanyService.java
index 1526b637..71aa9140 100644
--- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCompanyService.java
+++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCompanyService.java
@@ -12,30 +12,31 @@
  */
 package fi.vrk.xroad.catalog.lister;
 
-import fi.vrk.xroad.xroad_catalog_lister.ChangedValue;
-import fi.vrk.xroad.xroad_catalog_lister.Company;
 import javax.xml.datatype.XMLGregorianCalendar;
 
+import fi.vrk.xroad.catalog.lister.generated.ChangedValue;
+import fi.vrk.xroad.catalog.lister.generated.Company;
+
 public interface JaxbCompanyService {
 
     /**
      * Returns whether some values of Company have changed
      *
-     * @param  businessID businessId of a company
+     * @param businessID    businessId of a company
      * @param startDateTime creation datetime from
-     * @param endDateTime creation datetime to
+     * @param endDateTime   creation datetime to
      * @return Iterable of JAXB generated ChangedValues
      */
     Iterable getChangedCompanyValues(String businessID,
-                                                   XMLGregorianCalendar startDateTime,
-                                                   XMLGregorianCalendar endDateTime);
+            XMLGregorianCalendar startDateTime,
+            XMLGregorianCalendar endDateTime);
 
     /**
      * Returns all companies
      *
      * All subitems of company are always returned
      *
-     * @param  businessId businessId of a company
+     * @param businessId businessId of a company
      * @return Iterable of JAXB generated Companies
      */
     Iterable getCompanies(String businessId);
diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCompanyServiceImpl.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCompanyServiceImpl.java
index fadbc30c..946c675e 100644
--- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCompanyServiceImpl.java
+++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbCompanyServiceImpl.java
@@ -13,16 +13,29 @@
 package fi.vrk.xroad.catalog.lister;
 
 import fi.vrk.xroad.catalog.persistence.CompanyService;
-import fi.vrk.xroad.catalog.persistence.entity.*;
-import fi.vrk.xroad.xroad_catalog_lister.ChangedValue;
-import fi.vrk.xroad.xroad_catalog_lister.Company;
+import fi.vrk.xroad.catalog.persistence.entity.BusinessAddress;
+import fi.vrk.xroad.catalog.persistence.entity.BusinessAuxiliaryName;
+import fi.vrk.xroad.catalog.persistence.entity.BusinessIdChange;
+import fi.vrk.xroad.catalog.persistence.entity.BusinessLine;
+import fi.vrk.xroad.catalog.persistence.entity.BusinessName;
+import fi.vrk.xroad.catalog.persistence.entity.CompanyForm;
+import fi.vrk.xroad.catalog.persistence.entity.ContactDetail;
+import fi.vrk.xroad.catalog.persistence.entity.Language;
+import fi.vrk.xroad.catalog.persistence.entity.Liquidation;
+import fi.vrk.xroad.catalog.persistence.entity.RegisteredEntry;
+import fi.vrk.xroad.catalog.persistence.entity.RegisteredOffice;
+import fi.vrk.xroad.catalog.lister.generated.ChangedValue;
+import fi.vrk.xroad.catalog.lister.generated.Company;
 import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import javax.xml.datatype.XMLGregorianCalendar;
 import java.time.LocalDateTime;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
 
 @Component
 @Slf4j
@@ -55,9 +68,10 @@ public class JaxbCompanyServiceImpl implements JaxbCompanyService {
 
     @Override
     public Iterable getChangedCompanyValues(String businessId,
-                                                          XMLGregorianCalendar startDateTime,
-                                                          XMLGregorianCalendar endDateTime) {
-        Iterable companies = companyService.getCompanies(businessId);
+            XMLGregorianCalendar startDateTime,
+            XMLGregorianCalendar endDateTime) {
+        Iterable companies = companyService
+                .getCompanies(businessId);
         List changedValueList = new ArrayList<>();
         if (companies.iterator().hasNext()) {
             companies.forEach(company -> changedValueList.addAll(getAllChangedValuesForCompany(company,
@@ -77,9 +91,10 @@ public Iterable getCompanies(String businessId) {
         return jaxbOrganizationConverter.convertCompanies(entities);
     }
 
-    private Collection getAllChangedValuesForCompany(fi.vrk.xroad.catalog.persistence.entity.Company company,
-                                                                   LocalDateTime startDateTime,
-                                                                   LocalDateTime endDateTime) {
+    private Collection getAllChangedValuesForCompany(
+            fi.vrk.xroad.catalog.persistence.entity.Company company,
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         List changedValueList = new ArrayList<>();
         Set businessAddresses = company.getAllBusinessAddresses();
         Set businessAuxiliaryNames = company.getAllBusinessAuxiliaryNames();
@@ -98,15 +113,19 @@ private Collection getAllChangedValuesForCompany(fi.vrk.xroad.cata
         }
 
         if (getBusinessAddressChangedValue(businessAddresses, startDateTime, endDateTime) != null) {
-            changedValueList.add(getBusinessAddressChangedValue(businessAddresses, startDateTime, endDateTime));
+            changedValueList.add(
+                    getBusinessAddressChangedValue(businessAddresses, startDateTime, endDateTime));
         }
 
         if (getBusinessAuxiliaryNamesChangedValue(businessAuxiliaryNames, startDateTime, endDateTime) != null) {
-            changedValueList.add(getBusinessAuxiliaryNamesChangedValue(businessAuxiliaryNames, startDateTime, endDateTime));
+            changedValueList
+                    .add(getBusinessAuxiliaryNamesChangedValue(businessAuxiliaryNames,
+                            startDateTime, endDateTime));
         }
 
         if (getBusinessIdChangeChangedValue(businessIdChanges, startDateTime, endDateTime) != null) {
-            changedValueList.add(getBusinessIdChangeChangedValue(businessIdChanges, startDateTime, endDateTime));
+            changedValueList.add(
+                    getBusinessIdChangeChangedValue(businessIdChanges, startDateTime, endDateTime));
         }
 
         if (getBusinessLineChangedValue(businessLines, startDateTime, endDateTime) != null) {
@@ -134,19 +153,21 @@ private Collection getAllChangedValuesForCompany(fi.vrk.xroad.cata
         }
 
         if (getRegisteredEntryChangedValue(registeredEntries, startDateTime, endDateTime) != null) {
-            changedValueList.add(getRegisteredEntryChangedValue(registeredEntries, startDateTime, endDateTime));
+            changedValueList.add(
+                    getRegisteredEntryChangedValue(registeredEntries, startDateTime, endDateTime));
         }
 
         if (getRegisteredOfficeChangedValue(registeredOffices, startDateTime, endDateTime) != null) {
-            changedValueList.add(getRegisteredOfficeChangedValue(registeredOffices, startDateTime, endDateTime));
+            changedValueList.add(
+                    getRegisteredOfficeChangedValue(registeredOffices, startDateTime, endDateTime));
         }
 
         return changedValueList;
     }
 
     private ChangedValue getCompanyChangedValue(fi.vrk.xroad.catalog.persistence.entity.Company company,
-                                                LocalDateTime startDateTime,
-                                                LocalDateTime endDateTime) {
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         LocalDateTime companyChange = company.getStatusInfo().getChanged();
         ChangedValue changedValue = null;
         if (companyChange.isAfter(startDateTime) && companyChange.isBefore(endDateTime)) {
@@ -157,11 +178,12 @@ private ChangedValue getCompanyChangedValue(fi.vrk.xroad.catalog.persistence.ent
     }
 
     private ChangedValue getBusinessAddressChangedValue(Set businessAddresses,
-                                                        LocalDateTime startDateTime,
-                                                        LocalDateTime endDateTime) {
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         ChangedValue changedValue = null;
-        if (businessAddresses.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) &&
-                obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
+        if (businessAddresses.stream()
+                .anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime)
+                        && obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
             changedValue = new ChangedValue();
             changedValue.setName(BUSINESS_ADDRESS);
         }
@@ -169,11 +191,12 @@ private ChangedValue getBusinessAddressChangedValue(Set busines
     }
 
     private ChangedValue getBusinessAuxiliaryNamesChangedValue(Set businessAuxiliaryNames,
-                                                               LocalDateTime startDateTime,
-                                                               LocalDateTime endDateTime) {
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         ChangedValue changedValue = null;
-        if (businessAuxiliaryNames.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) &&
-                obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
+        if (businessAuxiliaryNames.stream()
+                .anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime)
+                        && obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
             changedValue = new ChangedValue();
             changedValue.setName(BUSINESS_AUXILIARY_NAME);
         }
@@ -181,11 +204,12 @@ private ChangedValue getBusinessAuxiliaryNamesChangedValue(Set businessIdChanges,
-                                                         LocalDateTime startDateTime,
-                                                         LocalDateTime endDateTime) {
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         ChangedValue changedValue = null;
-        if (businessIdChanges.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) &&
-                obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
+        if (businessIdChanges.stream()
+                .anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime)
+                        && obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
             changedValue = new ChangedValue();
             changedValue.setName(BUSINESS_ID_CHANGE);
         }
@@ -193,11 +217,11 @@ private ChangedValue getBusinessIdChangeChangedValue(Set busin
     }
 
     private ChangedValue getBusinessLineChangedValue(Set businessLines,
-                                                     LocalDateTime startDateTime,
-                                                     LocalDateTime endDateTime) {
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         ChangedValue changedValue = null;
-        if (businessLines.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) &&
-                obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
+        if (businessLines.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime)
+                && obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
             changedValue = new ChangedValue();
             changedValue.setName(BUSINESS_LINE);
         }
@@ -205,11 +229,11 @@ private ChangedValue getBusinessLineChangedValue(Set businessLines
     }
 
     private ChangedValue getBusinessNameChangedValue(Set businessNames,
-                                                     LocalDateTime startDateTime,
-                                                     LocalDateTime endDateTime) {
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         ChangedValue changedValue = null;
-        if (businessNames.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) &&
-                obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
+        if (businessNames.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime)
+                && obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
             changedValue = new ChangedValue();
             changedValue.setName(BUSINESS_NAME);
         }
@@ -217,11 +241,11 @@ private ChangedValue getBusinessNameChangedValue(Set businessNames
     }
 
     private ChangedValue getCompanyFormChangedValue(Set companyForms,
-                                                    LocalDateTime startDateTime,
-                                                    LocalDateTime endDateTime) {
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         ChangedValue changedValue = null;
-        if (companyForms.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) &&
-                obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
+        if (companyForms.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime)
+                && obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
             changedValue = new ChangedValue();
             changedValue.setName(COMPANY_FORM);
         }
@@ -229,11 +253,11 @@ private ChangedValue getCompanyFormChangedValue(Set companyForms,
     }
 
     private ChangedValue getContactDetailChangedValue(Set contactDetails,
-                                                      LocalDateTime startDateTime,
-                                                      LocalDateTime endDateTime) {
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         ChangedValue changedValue = null;
-        if (contactDetails.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) &&
-                obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
+        if (contactDetails.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime)
+                && obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
             changedValue = new ChangedValue();
             changedValue.setName(CONTACT_DETAIL);
         }
@@ -241,11 +265,11 @@ private ChangedValue getContactDetailChangedValue(Set contactDeta
     }
 
     private ChangedValue getLanguageChangedValue(Set languages,
-                                                 LocalDateTime startDateTime,
-                                                 LocalDateTime endDateTime) {
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         ChangedValue changedValue = null;
-        if (languages.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) &&
-                obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
+        if (languages.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime)
+                && obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
             changedValue = new ChangedValue();
             changedValue.setName(LANGUAGE);
         }
@@ -253,11 +277,11 @@ private ChangedValue getLanguageChangedValue(Set languages,
     }
 
     private ChangedValue getLiquidationChangedValue(Set liquidations,
-                                                    LocalDateTime startDateTime,
-                                                    LocalDateTime endDateTime) {
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         ChangedValue changedValue = null;
-        if (liquidations.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) &&
-                obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
+        if (liquidations.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime)
+                && obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
             changedValue = new ChangedValue();
             changedValue.setName(LIQUIDATION);
         }
@@ -265,11 +289,12 @@ private ChangedValue getLiquidationChangedValue(Set liquidations,
     }
 
     private ChangedValue getRegisteredEntryChangedValue(Set registeredEntries,
-                                                        LocalDateTime startDateTime,
-                                                        LocalDateTime endDateTime) {
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         ChangedValue changedValue = null;
-        if (registeredEntries.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) &&
-                obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
+        if (registeredEntries.stream()
+                .anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime)
+                        && obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
             changedValue = new ChangedValue();
             changedValue.setName(REGISTERED_ENTRY);
         }
@@ -277,11 +302,12 @@ private ChangedValue getRegisteredEntryChangedValue(Set registe
     }
 
     private ChangedValue getRegisteredOfficeChangedValue(Set registeredOffices,
-                                                         LocalDateTime startDateTime,
-                                                         LocalDateTime endDateTime) {
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         ChangedValue changedValue = null;
-        if (registeredOffices.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) &&
-                obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
+        if (registeredOffices.stream()
+                .anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime)
+                        && obj.getStatusInfo().getChanged().isBefore(endDateTime))) {
             changedValue = new ChangedValue();
             changedValue.setName(REGISTERED_OFFICE);
         }
diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationConversion.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationConversion.java
index 4734c5e5..f51b4a1c 100644
--- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationConversion.java
+++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationConversion.java
@@ -12,8 +12,8 @@
  */
 package fi.vrk.xroad.catalog.lister;
 
-import fi.vrk.xroad.xroad_catalog_lister.Company;
-import fi.vrk.xroad.xroad_catalog_lister.Organization;
+import fi.vrk.xroad.catalog.lister.generated.Company;
+import fi.vrk.xroad.catalog.lister.generated.Organization;
 import org.springframework.context.annotation.Profile;
 
 import java.util.Collection;
@@ -23,13 +23,16 @@ public interface JaxbOrganizationConversion {
 
     /**
      * Convert entities to XML objects
+     * 
      * @param organizations Iterable of Organization entities
      * @return Collection of Organizations (JAXB generated)
      */
-    Collection convertOrganizations(Iterable organizations);
+    Collection convertOrganizations(
+            Iterable organizations);
 
     /**
      * Convert entities to XML objects
+     * 
      * @param companies Iterable of Company entities
      * @return Collection of Companies (JAXB generated)
      */
diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationConverter.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationConverter.java
index 0a6c2c07..35d2b835 100644
--- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationConverter.java
+++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationConverter.java
@@ -14,14 +14,14 @@
 
 import fi.vrk.xroad.catalog.lister.util.JaxbOrganizationUtil;
 import fi.vrk.xroad.catalog.lister.util.JaxbServiceUtil;
-import fi.vrk.xroad.xroad_catalog_lister.AddressList;
-import fi.vrk.xroad.xroad_catalog_lister.Company;
-import fi.vrk.xroad.xroad_catalog_lister.EmailList;
-import fi.vrk.xroad.xroad_catalog_lister.Organization;
-import fi.vrk.xroad.xroad_catalog_lister.OrganizationDescriptionList;
-import fi.vrk.xroad.xroad_catalog_lister.OrganizationNameList;
-import fi.vrk.xroad.xroad_catalog_lister.PhoneNumberList;
-import fi.vrk.xroad.xroad_catalog_lister.WebPageList;
+import fi.vrk.xroad.catalog.lister.generated.AddressList;
+import fi.vrk.xroad.catalog.lister.generated.Company;
+import fi.vrk.xroad.catalog.lister.generated.EmailList;
+import fi.vrk.xroad.catalog.lister.generated.Organization;
+import fi.vrk.xroad.catalog.lister.generated.OrganizationDescriptionList;
+import fi.vrk.xroad.catalog.lister.generated.OrganizationNameList;
+import fi.vrk.xroad.catalog.lister.generated.PhoneNumberList;
+import fi.vrk.xroad.catalog.lister.generated.WebPageList;
 import org.springframework.stereotype.Component;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -30,12 +30,11 @@
 @Component
 public class JaxbOrganizationConverter implements JaxbOrganizationConversion {
 
-
     @Override
     public Collection convertOrganizations(
-            Iterable organizations)  {
+            Iterable organizations) {
         List converted = new ArrayList<>();
-        for (fi.vrk.xroad.catalog.persistence.entity.Organization organization: organizations) {
+        for (fi.vrk.xroad.catalog.persistence.entity.Organization organization : organizations) {
             Organization co = new Organization();
             co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(organization.getStatusInfo().getChanged()));
             co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(organization.getStatusInfo().getCreated()));
@@ -47,16 +46,19 @@ public Collection convertOrganizations(
             co.setPublishingStatus(organization.getPublishingStatus());
 
             co.setOrganizationNames(new OrganizationNameList());
-            Iterable organizationNames = organization.getAllOrganizationNames();
+            Iterable organizationNames = organization
+                    .getAllOrganizationNames();
             if (organizationNames != null) {
-                co.getOrganizationNames().getOrganizationName().addAll(JaxbOrganizationUtil.convertOrganizationNames(organizationNames));
+                co.getOrganizationNames().getOrganizationName()
+                        .addAll(JaxbOrganizationUtil.convertOrganizationNames(organizationNames));
             }
 
             co.setOrganizationDescriptions(new OrganizationDescriptionList());
-            Iterable organizationDescriptions
-                    = organization.getAllOrganizationDescriptions();
+            Iterable organizationDescriptions = organization
+                    .getAllOrganizationDescriptions();
             if (organizationDescriptions != null) {
-                co.getOrganizationDescriptions().getOrganizationDescription().addAll(JaxbOrganizationUtil.convertOrganizationDescriptions(organizationDescriptions));
+                co.getOrganizationDescriptions().getOrganizationDescription()
+                        .addAll(JaxbOrganizationUtil.convertOrganizationDescriptions(organizationDescriptions));
             }
 
             co.setEmails(new EmailList());
@@ -66,7 +68,8 @@ public Collection convertOrganizations(
             }
 
             co.setPhoneNumbers(new PhoneNumberList());
-            Iterable phoneNumbers = organization.getAllPhoneNumbers();
+            Iterable phoneNumbers = organization
+                    .getAllPhoneNumbers();
             if (phoneNumbers != null) {
                 co.getPhoneNumbers().getPhoneNumber().addAll(JaxbOrganizationUtil.convertPhoneNumbers(phoneNumbers));
             }
@@ -90,9 +93,9 @@ public Collection convertOrganizations(
 
     @Override
     public Collection convertCompanies(
-            Iterable companies)  {
+            Iterable companies) {
         List converted = new ArrayList<>();
-        for (fi.vrk.xroad.catalog.persistence.entity.Company company: companies) {
+        for (fi.vrk.xroad.catalog.persistence.entity.Company company : companies) {
             converted.add(JaxbOrganizationUtil.convertCompany(company));
         }
         return converted;
diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationService.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationService.java
index a662ef99..074af084 100644
--- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationService.java
+++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationService.java
@@ -12,8 +12,8 @@
  */
 package fi.vrk.xroad.catalog.lister;
 
-import fi.vrk.xroad.xroad_catalog_lister.ChangedValue;
-import fi.vrk.xroad.xroad_catalog_lister.Organization;
+import fi.vrk.xroad.catalog.lister.generated.ChangedValue;
+import fi.vrk.xroad.catalog.lister.generated.Organization;
 import javax.xml.datatype.XMLGregorianCalendar;
 
 public interface JaxbOrganizationService {
@@ -31,12 +31,12 @@ public interface JaxbOrganizationService {
     /**
      * Returns whether some values of Organization have changed
      *
-     * @param  guid guid of a company
+     * @param guid          guid of a company
      * @param startDateTime creation datetime from
-     * @param endDateTime creation datetime to
+     * @param endDateTime   creation datetime to
      * @return Iterable of JAXB generated ChangedValues
      */
     Iterable getChangedOrganizationValues(String guid,
-                                                        XMLGregorianCalendar startDateTime,
-                                                        XMLGregorianCalendar endDateTime);
+            XMLGregorianCalendar startDateTime,
+            XMLGregorianCalendar endDateTime);
 }
diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationServiceImpl.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationServiceImpl.java
index 1f8f7eb7..f24bfe39 100644
--- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationServiceImpl.java
+++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationServiceImpl.java
@@ -13,16 +13,37 @@
 package fi.vrk.xroad.catalog.lister;
 
 import fi.vrk.xroad.catalog.persistence.OrganizationService;
-import fi.vrk.xroad.catalog.persistence.entity.*;
-import fi.vrk.xroad.xroad_catalog_lister.ChangedValue;
-import fi.vrk.xroad.xroad_catalog_lister.Organization;
+import fi.vrk.xroad.catalog.persistence.entity.Address;
+import fi.vrk.xroad.catalog.persistence.entity.Email;
+import fi.vrk.xroad.catalog.persistence.entity.OrganizationDescription;
+import fi.vrk.xroad.catalog.persistence.entity.OrganizationName;
+import fi.vrk.xroad.catalog.persistence.entity.PhoneNumber;
+import fi.vrk.xroad.catalog.persistence.entity.PostOffice;
+import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBox;
+import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddress;
+import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressAdditionalInformation;
+import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipality;
+import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipalityName;
+import fi.vrk.xroad.catalog.persistence.entity.Street;
+import fi.vrk.xroad.catalog.persistence.entity.StreetAddress;
+import fi.vrk.xroad.catalog.persistence.entity.StreetAddressAdditionalInformation;
+import fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipality;
+import fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipalityName;
+import fi.vrk.xroad.catalog.persistence.entity.StreetAddressPostOffice;
+import fi.vrk.xroad.catalog.persistence.entity.WebPage;
+import fi.vrk.xroad.catalog.lister.generated.ChangedValue;
+import fi.vrk.xroad.catalog.lister.generated.Organization;
 import lombok.Setter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import javax.xml.datatype.XMLGregorianCalendar;
 import java.time.LocalDateTime;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Optional;
+import java.util.Set;
 
 @Component
 @Slf4j
@@ -70,9 +91,10 @@ public Iterable getOrganizations(String businessCode) {
 
     @Override
     public Iterable getChangedOrganizationValues(String guid,
-                                                               XMLGregorianCalendar startDateTime,
-                                                               XMLGregorianCalendar endDateTime) {
-        Optional organization = organizationService.getOrganization(guid);
+            XMLGregorianCalendar startDateTime,
+            XMLGregorianCalendar endDateTime) {
+        Optional organization = organizationService
+                .getOrganization(guid);
         if (organization.isPresent()) {
             return getAllChangedValuesForOrganization(organization.get(),
                     jaxbServiceConverter.toLocalDateTime(startDateTime),
@@ -82,9 +104,10 @@ public Iterable getChangedOrganizationValues(String guid,
         }
     }
 
-    private Iterable getAllChangedValuesForOrganization(fi.vrk.xroad.catalog.persistence.entity.Organization organization,
-                                                                      LocalDateTime startDateTime,
-                                                                      LocalDateTime endDateTime) {
+    private Iterable getAllChangedValuesForOrganization(
+            fi.vrk.xroad.catalog.persistence.entity.Organization organization,
+            LocalDateTime startDateTime,
+            LocalDateTime endDateTime) {
         List changedValueList = new ArrayList<>();
         Set organizationNames = organization.getAllOrganizationNames();
         Set organizationDescriptions = organization.getAllOrganizationDescriptions();
@@ -93,43 +116,43 @@ private Iterable getAllChangedValuesForOrganization(fi.vrk.xroad.c
         Set webPages = organization.getAllWebPages();
         Set
addresses = organization.getAllAddresses(); - if (organization.getStatusInfo().getChanged().isAfter(startDateTime) && - organization.getStatusInfo().getChanged().isBefore(endDateTime)) { + if (organization.getStatusInfo().getChanged().isAfter(startDateTime) + && organization.getStatusInfo().getChanged().isBefore(endDateTime)) { ChangedValue changedValue = new ChangedValue(); changedValue.setName(ORGANIZATION); changedValueList.add(changedValue); } - if (organizationNames.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) && - obj.getStatusInfo().getChanged().isBefore(endDateTime))) { + if (organizationNames.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) + && obj.getStatusInfo().getChanged().isBefore(endDateTime))) { ChangedValue changedValue = new ChangedValue(); changedValue.setName(ORGANIZATION_NAME); changedValueList.add(changedValue); } - if (organizationDescriptions.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) && - obj.getStatusInfo().getChanged().isBefore(endDateTime))) { + if (organizationDescriptions.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) + && obj.getStatusInfo().getChanged().isBefore(endDateTime))) { ChangedValue changedValue = new ChangedValue(); changedValue.setName(ORGANIZATION_DESCRIPTION); changedValueList.add(changedValue); } - if (emails.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) && - obj.getStatusInfo().getChanged().isBefore(endDateTime))) { + if (emails.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) + && obj.getStatusInfo().getChanged().isBefore(endDateTime))) { ChangedValue changedValue = new ChangedValue(); changedValue.setName(EMAIL); changedValueList.add(changedValue); } - if (phoneNumbers.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) && - obj.getStatusInfo().getChanged().isBefore(endDateTime))) { + if (phoneNumbers.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) + && obj.getStatusInfo().getChanged().isBefore(endDateTime))) { ChangedValue changedValue = new ChangedValue(); changedValue.setName(PHONE_NUMBER); changedValueList.add(changedValue); } - if (webPages.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) && - obj.getStatusInfo().getChanged().isBefore(endDateTime))) { + if (webPages.stream().anyMatch(obj -> obj.getStatusInfo().getChanged().isAfter(startDateTime) + && obj.getStatusInfo().getChanged().isBefore(endDateTime))) { ChangedValue changedValue = new ChangedValue(); changedValue.setName(WEB_PAGE); changedValueList.add(changedValue); @@ -141,8 +164,8 @@ private Iterable getAllChangedValuesForOrganization(fi.vrk.xroad.c } private Collection getAllChangedValuesForAddress(Set
addresses, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + LocalDateTime startDateTime, + LocalDateTime endDateTime) { List changedValueList = new ArrayList<>(); addresses.forEach(address -> { if (getChangedValueForAddress(address, startDateTime, endDateTime) != null) { @@ -151,7 +174,8 @@ private Collection getAllChangedValuesForAddress(Set
addr Set streetAddresses = address.getAllStreetAddresses(); streetAddresses.forEach(streetAddress -> { - List allChangedValuesForStreetAddress = getAllChangedValuesForStreetAddress(streetAddress, startDateTime, endDateTime); + List allChangedValuesForStreetAddress = getAllChangedValuesForStreetAddress(streetAddress, + startDateTime, endDateTime); for (ChangedValue changedValue : allChangedValuesForStreetAddress) { changedValueList.add(changedValue); } @@ -159,9 +183,10 @@ private Collection getAllChangedValuesForAddress(Set
addr Set postOfficeBoxAddresses = address.getAllPostOfficeBoxAddresses(); postOfficeBoxAddresses.forEach(postOfficeBoxAddress -> { - List allChangedValuesForPostOfficeBoxAddress = getAllChangedValuesForPostOfficeBoxAddress(postOfficeBoxAddress, - startDateTime, - endDateTime); + List allChangedValuesForPostOfficeBoxAddress = getAllChangedValuesForPostOfficeBoxAddress( + postOfficeBoxAddress, + startDateTime, + endDateTime); for (ChangedValue changedValue : allChangedValuesForPostOfficeBoxAddress) { changedValueList.add(changedValue); } @@ -172,8 +197,8 @@ private Collection getAllChangedValuesForAddress(Set
addr } private ChangedValue getChangedValueForAddress(Address address, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + LocalDateTime startDateTime, + LocalDateTime endDateTime) { LocalDateTime addressChange = address.getStatusInfo().getChanged(); ChangedValue changedValue = null; if (addressChange.isAfter(startDateTime) && addressChange.isBefore(endDateTime)) { @@ -184,8 +209,8 @@ private ChangedValue getChangedValueForAddress(Address address, } private List getAllChangedValuesForStreetAddress(StreetAddress streetAddress, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + LocalDateTime startDateTime, + LocalDateTime endDateTime) { List changedValueList = new ArrayList<>(); if (getChangedValueForStreetAddress(streetAddress, startDateTime, endDateTime) != null) { changedValueList.add(getChangedValueForStreetAddress(streetAddress, startDateTime, endDateTime)); @@ -208,21 +233,26 @@ private List getAllChangedValuesForStreetAddress(StreetAddress str Set municipalities = streetAddress.getAllMunicipalities(); municipalities.forEach(municipality -> { if (getChangedValueForStreetAddressMunicipality(municipality, startDateTime, endDateTime) != null) { - changedValueList.add(getChangedValueForStreetAddressMunicipality(municipality, startDateTime, endDateTime)); + changedValueList + .add(getChangedValueForStreetAddressMunicipality(municipality, startDateTime, endDateTime)); } Set municipalityNames = municipality.getAllMunicipalityNames(); municipalityNames.forEach(municipalityName -> { - if (getChangedValueForStreetAddressMunicipalityName(municipalityName, startDateTime, endDateTime) != null) { - changedValueList.add(getChangedValueForStreetAddressMunicipalityName(municipalityName, startDateTime, endDateTime)); + if (getChangedValueForStreetAddressMunicipalityName(municipalityName, startDateTime, + endDateTime) != null) { + changedValueList.add(getChangedValueForStreetAddressMunicipalityName(municipalityName, + startDateTime, endDateTime)); } }); }); Set additionalInformationList = streetAddress.getAllAdditionalInformation(); additionalInformationList.forEach(additionalInformation -> { - if (getChangedValueForStreetAddressAdditionalInformation(additionalInformation, startDateTime, endDateTime) != null) { - changedValueList.add(getChangedValueForStreetAddressAdditionalInformation(additionalInformation, startDateTime, endDateTime)); + if (getChangedValueForStreetAddressAdditionalInformation(additionalInformation, startDateTime, + endDateTime) != null) { + changedValueList.add(getChangedValueForStreetAddressAdditionalInformation(additionalInformation, + startDateTime, endDateTime)); } }); @@ -230,8 +260,8 @@ private List getAllChangedValuesForStreetAddress(StreetAddress str } private ChangedValue getChangedValueForStreetAddress(StreetAddress address, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + LocalDateTime startDateTime, + LocalDateTime endDateTime) { LocalDateTime streetAddressChange = address.getStatusInfo().getChanged(); ChangedValue changedValue = null; if (streetAddressChange.isAfter(startDateTime) && streetAddressChange.isBefore(endDateTime)) { @@ -242,8 +272,8 @@ private ChangedValue getChangedValueForStreetAddress(StreetAddress address, } private ChangedValue getChangedValueForStreetAddressStreet(Street street, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + LocalDateTime startDateTime, + LocalDateTime endDateTime) { LocalDateTime streetChange = street.getStatusInfo().getChanged(); ChangedValue changedValue = null; if (streetChange.isAfter(startDateTime) && streetChange.isBefore(endDateTime)) { @@ -254,11 +284,12 @@ private ChangedValue getChangedValueForStreetAddressStreet(Street street, } private ChangedValue getChangedValueForStreetAddressPostOffice(StreetAddressPostOffice postOffice, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + LocalDateTime startDateTime, + LocalDateTime endDateTime) { LocalDateTime streetAddressPostOfficeChange = postOffice.getStatusInfo().getChanged(); ChangedValue changedValue = null; - if (streetAddressPostOfficeChange.isAfter(startDateTime) && streetAddressPostOfficeChange.isBefore(endDateTime)) { + if (streetAddressPostOfficeChange.isAfter(startDateTime) + && streetAddressPostOfficeChange.isBefore(endDateTime)) { changedValue = new ChangedValue(); changedValue.setName(STREET_ADDRESS_POST_OFFICE); } @@ -266,11 +297,12 @@ private ChangedValue getChangedValueForStreetAddressPostOffice(StreetAddressPost } private ChangedValue getChangedValueForStreetAddressMunicipality(StreetAddressMunicipality municipality, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + LocalDateTime startDateTime, + LocalDateTime endDateTime) { LocalDateTime streetAddressMunicipalityChange = municipality.getStatusInfo().getChanged(); ChangedValue changedValue = null; - if (streetAddressMunicipalityChange.isAfter(startDateTime) && streetAddressMunicipalityChange.isBefore(endDateTime)) { + if (streetAddressMunicipalityChange.isAfter(startDateTime) + && streetAddressMunicipalityChange.isBefore(endDateTime)) { changedValue = new ChangedValue(); changedValue.setName(STREET_ADDRESS_MUNICIPALITY); } @@ -278,23 +310,26 @@ private ChangedValue getChangedValueForStreetAddressMunicipality(StreetAddressMu } private ChangedValue getChangedValueForStreetAddressMunicipalityName(StreetAddressMunicipalityName municipalityName, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + LocalDateTime startDateTime, + LocalDateTime endDateTime) { LocalDateTime streetAddressMunicipalityNameChange = municipalityName.getStatusInfo().getChanged(); ChangedValue changedValue = null; - if (streetAddressMunicipalityNameChange.isAfter(startDateTime) && streetAddressMunicipalityNameChange.isBefore(endDateTime)) { + if (streetAddressMunicipalityNameChange.isAfter(startDateTime) + && streetAddressMunicipalityNameChange.isBefore(endDateTime)) { changedValue = new ChangedValue(); changedValue.setName(STREET_ADDRESS_MUNICIPALITY_NAME); } return changedValue; } - private ChangedValue getChangedValueForStreetAddressAdditionalInformation(StreetAddressAdditionalInformation additionalInformation, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + private ChangedValue getChangedValueForStreetAddressAdditionalInformation( + StreetAddressAdditionalInformation additionalInformation, + LocalDateTime startDateTime, + LocalDateTime endDateTime) { LocalDateTime streetAddressAdditionalInfoChange = additionalInformation.getStatusInfo().getChanged(); ChangedValue changedValue = null; - if (streetAddressAdditionalInfoChange.isAfter(startDateTime) && streetAddressAdditionalInfoChange.isBefore(endDateTime)) { + if (streetAddressAdditionalInfoChange.isAfter(startDateTime) + && streetAddressAdditionalInfoChange.isBefore(endDateTime)) { changedValue = new ChangedValue(); changedValue.setName(STREET_ADDRESS_ADDITIONAL_INFORMATION); } @@ -302,44 +337,54 @@ private ChangedValue getChangedValueForStreetAddressAdditionalInformation(Street } private List getAllChangedValuesForPostOfficeBoxAddress(PostOfficeBoxAddress postOfficeBoxAddress, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + LocalDateTime startDateTime, + LocalDateTime endDateTime) { List changedValueList = new ArrayList<>(); if (getChangedValueForPostOfficeBoxAddress(postOfficeBoxAddress, startDateTime, endDateTime) != null) { - changedValueList.add(getChangedValueForPostOfficeBoxAddress(postOfficeBoxAddress, startDateTime, endDateTime)); + changedValueList + .add(getChangedValueForPostOfficeBoxAddress(postOfficeBoxAddress, startDateTime, endDateTime)); } Set postOffices = postOfficeBoxAddress.getAllPostOffices(); postOffices.forEach(postOffice -> { if (getChangedValueForPostOfficeBoxAddressPostOffice(postOffice, startDateTime, endDateTime) != null) { - changedValueList.add(getChangedValueForPostOfficeBoxAddressPostOffice(postOffice, startDateTime, endDateTime)); + changedValueList + .add(getChangedValueForPostOfficeBoxAddressPostOffice(postOffice, startDateTime, endDateTime)); } }); Set postOfficeBoxes = postOfficeBoxAddress.getAllPostOfficeBoxes(); postOfficeBoxes.forEach(postOfficeBox -> { - if (getChangedValueForPostOfficeBoxAddressPostOfficeBox(postOfficeBox, startDateTime, endDateTime) != null) { - changedValueList.add(getChangedValueForPostOfficeBoxAddressPostOfficeBox(postOfficeBox, startDateTime, endDateTime)); + if (getChangedValueForPostOfficeBoxAddressPostOfficeBox(postOfficeBox, startDateTime, + endDateTime) != null) { + changedValueList.add( + getChangedValueForPostOfficeBoxAddressPostOfficeBox(postOfficeBox, startDateTime, endDateTime)); } }); - Set addressAdditionalInformationList = postOfficeBoxAddress.getAllAdditionalInformation(); + Set addressAdditionalInformationList = postOfficeBoxAddress + .getAllAdditionalInformation(); addressAdditionalInformationList.forEach(additionalInformation -> { - if (getChangedValueForPostOfficeBoxAddressAdditionalInformation(additionalInformation, startDateTime, endDateTime) != null) { - changedValueList.add(getChangedValueForPostOfficeBoxAddressAdditionalInformation(additionalInformation, startDateTime, endDateTime)); + if (getChangedValueForPostOfficeBoxAddressAdditionalInformation(additionalInformation, startDateTime, + endDateTime) != null) { + changedValueList.add(getChangedValueForPostOfficeBoxAddressAdditionalInformation(additionalInformation, + startDateTime, endDateTime)); } }); Set municipalities = postOfficeBoxAddress.getAllMunicipalities(); municipalities.forEach(municipality -> { if (getChangedValueForPostOfficeBoxAddressMunicipality(municipality, startDateTime, endDateTime) != null) { - changedValueList.add(getChangedValueForPostOfficeBoxAddressMunicipality(municipality, startDateTime, endDateTime)); + changedValueList.add( + getChangedValueForPostOfficeBoxAddressMunicipality(municipality, startDateTime, endDateTime)); } Set municipalityNames = municipality.getAllMunicipalityNames(); municipalityNames.forEach(municipalityName -> { - if (getChangedValueForPostOfficeBoxAddressMunicipalityName(municipalityName, startDateTime, endDateTime) != null) { - changedValueList.add(getChangedValueForPostOfficeBoxAddressMunicipalityName(municipalityName, startDateTime, endDateTime)); + if (getChangedValueForPostOfficeBoxAddressMunicipalityName(municipalityName, startDateTime, + endDateTime) != null) { + changedValueList.add(getChangedValueForPostOfficeBoxAddressMunicipalityName(municipalityName, + startDateTime, endDateTime)); } }); }); @@ -347,8 +392,8 @@ private List getAllChangedValuesForPostOfficeBoxAddress(PostOffice } private ChangedValue getChangedValueForPostOfficeBoxAddress(PostOfficeBoxAddress postOfficeBoxAddress, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + LocalDateTime startDateTime, + LocalDateTime endDateTime) { LocalDateTime postOfficeBoxAddressChange = postOfficeBoxAddress.getStatusInfo().getChanged(); ChangedValue changedValue = null; if (postOfficeBoxAddressChange.isAfter(startDateTime) && postOfficeBoxAddressChange.isBefore(endDateTime)) { @@ -359,8 +404,8 @@ private ChangedValue getChangedValueForPostOfficeBoxAddress(PostOfficeBoxAddress } private ChangedValue getChangedValueForPostOfficeBoxAddressPostOffice(PostOffice postOffice, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + LocalDateTime startDateTime, + LocalDateTime endDateTime) { LocalDateTime postOfficeChange = postOffice.getStatusInfo().getChanged(); ChangedValue changedValue = null; if (postOfficeChange.isAfter(startDateTime) && postOfficeChange.isBefore(endDateTime)) { @@ -371,8 +416,8 @@ private ChangedValue getChangedValueForPostOfficeBoxAddressPostOffice(PostOffice } private ChangedValue getChangedValueForPostOfficeBoxAddressPostOfficeBox(PostOfficeBox postOfficeBox, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + LocalDateTime startDateTime, + LocalDateTime endDateTime) { LocalDateTime postOfficeBoxChange = postOfficeBox.getStatusInfo().getChanged(); ChangedValue changedValue = null; if (postOfficeBoxChange.isAfter(startDateTime) && postOfficeBoxChange.isBefore(endDateTime)) { @@ -382,39 +427,42 @@ private ChangedValue getChangedValueForPostOfficeBoxAddressPostOfficeBox(PostOff return changedValue; } - private ChangedValue getChangedValueForPostOfficeBoxAddressAdditionalInformation(PostOfficeBoxAddressAdditionalInformation additionalInformation, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + private ChangedValue getChangedValueForPostOfficeBoxAddressAdditionalInformation( + PostOfficeBoxAddressAdditionalInformation additionalInformation, + LocalDateTime startDateTime, + LocalDateTime endDateTime) { LocalDateTime postOfficeBoxAddressAdditionalInfoChange = additionalInformation.getStatusInfo().getChanged(); ChangedValue changedValue = null; - if (postOfficeBoxAddressAdditionalInfoChange.isAfter(startDateTime) && - postOfficeBoxAddressAdditionalInfoChange.isBefore(endDateTime)) { + if (postOfficeBoxAddressAdditionalInfoChange.isAfter(startDateTime) + && postOfficeBoxAddressAdditionalInfoChange.isBefore(endDateTime)) { changedValue = new ChangedValue(); changedValue.setName(POST_OFFICE_BOX_ADDRESS_ADDITIONAL_INFORMATION); } return changedValue; } - private ChangedValue getChangedValueForPostOfficeBoxAddressMunicipality(PostOfficeBoxAddressMunicipality municipality, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + private ChangedValue getChangedValueForPostOfficeBoxAddressMunicipality( + PostOfficeBoxAddressMunicipality municipality, + LocalDateTime startDateTime, + LocalDateTime endDateTime) { LocalDateTime postOfficeBoxAddressMunicipalityChange = municipality.getStatusInfo().getChanged(); ChangedValue changedValue = null; - if (postOfficeBoxAddressMunicipalityChange.isAfter(startDateTime) && - postOfficeBoxAddressMunicipalityChange.isBefore(endDateTime)) { + if (postOfficeBoxAddressMunicipalityChange.isAfter(startDateTime) + && postOfficeBoxAddressMunicipalityChange.isBefore(endDateTime)) { changedValue = new ChangedValue(); changedValue.setName(POST_OFFICE_BOX_ADDRESS_MUNICIPALITY); } return changedValue; } - private ChangedValue getChangedValueForPostOfficeBoxAddressMunicipalityName(PostOfficeBoxAddressMunicipalityName municipalityName, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + private ChangedValue getChangedValueForPostOfficeBoxAddressMunicipalityName( + PostOfficeBoxAddressMunicipalityName municipalityName, + LocalDateTime startDateTime, + LocalDateTime endDateTime) { LocalDateTime postOfficeBoxAddressMunicipalityNameChange = municipalityName.getStatusInfo().getChanged(); ChangedValue changedValue = null; - if (postOfficeBoxAddressMunicipalityNameChange.isAfter(startDateTime) && - postOfficeBoxAddressMunicipalityNameChange.isBefore(endDateTime)) { + if (postOfficeBoxAddressMunicipalityNameChange.isAfter(startDateTime) + && postOfficeBoxAddressMunicipalityNameChange.isBefore(endDateTime)) { changedValue = new ChangedValue(); changedValue.setName(POST_OFFICE_BOX_ADDRESS_MUNICIPALITY_NAME); } diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbServiceConversion.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbServiceConversion.java index 0d4fcaa7..4efab67b 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbServiceConversion.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbServiceConversion.java @@ -12,47 +12,54 @@ */ package fi.vrk.xroad.catalog.lister; +import fi.vrk.xroad.catalog.lister.generated.ErrorLog; +import fi.vrk.xroad.catalog.lister.generated.Member; import fi.vrk.xroad.catalog.persistence.entity.Service; import fi.vrk.xroad.catalog.persistence.entity.Subsystem; -import fi.vrk.xroad.xroad_catalog_lister.ErrorLog; -import fi.vrk.xroad.xroad_catalog_lister.Member; import org.springframework.context.annotation.Profile; import javax.xml.datatype.XMLGregorianCalendar; import java.time.LocalDateTime; import java.util.Collection; -@Profile({"default", "fi"}) +@Profile({ "default", "fi" }) public interface JaxbServiceConversion { /** * Convert entities to XML objects - * @param members Iterable of Member entities + * + * @param members Iterable of Member entities * @param onlyActiveChildren if true, convert only active subsystems * @return Collection of Members (JAXB generated) */ - Collection convertMembers(Iterable members, boolean onlyActiveChildren); + Collection convertMembers(Iterable members, + boolean onlyActiveChildren); /** * Convert entities to XML objects - * @param subsystems Iterable of Subsystem entities + * + * @param subsystems Iterable of Subsystem entities * @param onlyActiveChildren if true, convert only active subsystems * @return collection of XML objects */ - Collection convertSubsystems(Iterable subsystems, boolean onlyActiveChildren); + Collection convertSubsystems(Iterable subsystems, + boolean onlyActiveChildren); /** * Convert entities to XML objects - * @param services Iterable of Service entities + * + * @param services Iterable of Service entities * @param onlyActiveChildren if true, convert only active subsystems * @return collection of XML objects */ - Collection convertServices(Iterable services, boolean onlyActiveChildren); + Collection convertServices(Iterable services, + boolean onlyActiveChildren); LocalDateTime toLocalDateTime(XMLGregorianCalendar calendar); /** * Convert entities to XML objects + * * @param errorLogEntries Iterable of ErrorLog entities * @return Collection of ErrorLog entries (JAXB generated) */ diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbServiceConverter.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbServiceConverter.java index db37966c..6c49eea8 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbServiceConverter.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/JaxbServiceConverter.java @@ -12,10 +12,13 @@ */ package fi.vrk.xroad.catalog.lister; +import fi.vrk.xroad.catalog.lister.generated.ErrorLog; +import fi.vrk.xroad.catalog.lister.generated.Member; +import fi.vrk.xroad.catalog.lister.generated.ServiceList; +import fi.vrk.xroad.catalog.lister.generated.SubsystemList; import fi.vrk.xroad.catalog.lister.util.JaxbServiceUtil; import fi.vrk.xroad.catalog.persistence.entity.Service; import fi.vrk.xroad.catalog.persistence.entity.Subsystem; -import fi.vrk.xroad.xroad_catalog_lister.*; import org.springframework.stereotype.Component; import javax.xml.datatype.XMLGregorianCalendar; import java.time.LocalDateTime; @@ -28,9 +31,9 @@ public class JaxbServiceConverter implements JaxbServiceConversion { @Override public Collection convertMembers(Iterable members, - boolean onlyActiveChildren) { + boolean onlyActiveChildren) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.Member member: members) { + for (fi.vrk.xroad.catalog.persistence.entity.Member member : members) { Member cm = new Member(); cm.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(member.getStatusInfo().getChanged())); cm.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(member.getStatusInfo().getCreated())); @@ -54,11 +57,11 @@ public Collection convertMembers(Iterable convertSubsystems(Iterable subsystems, - boolean onlyActiveChildren) { - List converted = new ArrayList<>(); - for (Subsystem subsystem: subsystems) { - fi.vrk.xroad.xroad_catalog_lister.Subsystem cs = new fi.vrk.xroad.xroad_catalog_lister.Subsystem(); + public Collection convertSubsystems(Iterable subsystems, + boolean onlyActiveChildren) { + List converted = new ArrayList<>(); + for (Subsystem subsystem : subsystems) { + fi.vrk.xroad.catalog.lister.generated.Subsystem cs = new fi.vrk.xroad.catalog.lister.generated.Subsystem(); cs.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(subsystem.getStatusInfo().getChanged())); cs.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(subsystem.getStatusInfo().getCreated())); cs.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(subsystem.getStatusInfo().getFetched())); @@ -78,10 +81,10 @@ public Collection convertSubsystems } @Override - public Collection convertServices(Iterable services, - boolean onlyActiveChildren) { - List converted = new ArrayList<>(); - for (Service service: services) { + public Collection convertServices(Iterable services, + boolean onlyActiveChildren) { + List converted = new ArrayList<>(); + for (Service service : services) { converted.add(JaxbServiceUtil.convertService(service, onlyActiveChildren)); } return converted; @@ -93,9 +96,10 @@ public LocalDateTime toLocalDateTime(XMLGregorianCalendar calendar) { } @Override - public Collection convertErrorLog(Iterable errorLogEntries) { + public Collection convertErrorLog( + Iterable errorLogEntries) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.ErrorLog errorLog: errorLogEntries) { + for (fi.vrk.xroad.catalog.persistence.entity.ErrorLog errorLog : errorLogEntries) { ErrorLog er = new ErrorLog(); er.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(errorLog.getCreated())); er.setMessage(errorLog.getMessage()); diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/OrganizationController.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/OrganizationController.java index 63aca70c..d032ee97 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/OrganizationController.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/OrganizationController.java @@ -23,7 +23,7 @@ import fi.vrk.xroad.catalog.persistence.dto.OrganizationData; import fi.vrk.xroad.catalog.persistence.entity.Company; import fi.vrk.xroad.catalog.persistence.entity.Organization; -import fi.vrk.xroad.xroad_catalog_lister.ChangedValue; +import fi.vrk.xroad.catalog.lister.generated.ChangedValue; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Profile; import org.springframework.context.annotation.PropertySource; @@ -55,7 +55,6 @@ public class OrganizationController implements OrganizationOperations { @Autowired private JaxbOrganizationService jaxbOrganizationService; - @Override public ResponseEntity getOrganization(@PathVariable String businessCode) { OrganizationDTO organizationDTO = null; @@ -111,14 +110,14 @@ public ResponseEntity getOrganization(@PathVariable String busi @Override public ResponseEntity getOrganizationChanges(@PathVariable String businessCode, - @RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate) { + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate) { LocalDateTime startDateTime; LocalDateTime endDateTime; try { startDateTime = ServiceUtil.convertStringToLocalDateTime(startDate); endDateTime = ServiceUtil.convertStringToLocalDateTime(endDate); - } catch(CatalogListerRuntimeException e) { + } catch (CatalogListerRuntimeException e) { return ResponseEntity.badRequest().build(); } @@ -132,22 +131,27 @@ public ResponseEntity getOrganizationChanges(@PathVariable } else { Iterable organizations = organizationService.getOrganizations(businessCode); if (organizations.iterator().hasNext()) { - changedValues = jaxbOrganizationService.getChangedOrganizationValues(organizations.iterator().next().getGuid(), + changedValues = jaxbOrganizationService.getChangedOrganizationValues( + organizations.iterator().next().getGuid(), JaxbServiceUtil.toXmlGregorianCalendar(startDateTime), JaxbServiceUtil.toXmlGregorianCalendar(endDateTime)); } } if (changedValues == null) { - return ResponseEntity.ok(OrganizationChanged.builder().changed(false).changedValueList(new ArrayList<>()).build()); + return ResponseEntity + .ok(OrganizationChanged.builder().changed(false).changedValueList(new ArrayList<>()).build()); } if (changedValues.iterator().hasNext()) { List changedValueList = new ArrayList<>(); - changedValues.forEach(changedValue -> changedValueList.add(fi.vrk.xroad.catalog.persistence.dto.ChangedValue.builder() - .name(changedValue.getName()) - .build())); - organizationChanged = OrganizationChanged.builder().changed(true).changedValueList(changedValueList).build(); + changedValues.forEach( + changedValue -> changedValueList.add(fi.vrk.xroad.catalog.persistence.dto.ChangedValue.builder() + .name(changedValue.getName()) + .build())); + organizationChanged = OrganizationChanged.builder().changed(true).changedValueList(changedValueList) + .build(); } else { - organizationChanged = OrganizationChanged.builder().changed(false).changedValueList(new ArrayList<>()).build(); + organizationChanged = OrganizationChanged.builder().changed(false).changedValueList(new ArrayList<>()) + .build(); } return ResponseEntity.ok(organizationChanged); } diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/OrganizationEndpoint.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/OrganizationEndpoint.java index 17db2ea1..a23dc43a 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/OrganizationEndpoint.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/OrganizationEndpoint.java @@ -12,28 +12,27 @@ */ package fi.vrk.xroad.catalog.lister; -import fi.vrk.xroad.xroad_catalog_lister.GetCompanies; -import fi.vrk.xroad.xroad_catalog_lister.GetCompaniesResponse; -import fi.vrk.xroad.xroad_catalog_lister.GetOrganizations; -import fi.vrk.xroad.xroad_catalog_lister.GetOrganizationsResponse; -import fi.vrk.xroad.xroad_catalog_lister.HasCompanyChanged; -import fi.vrk.xroad.xroad_catalog_lister.HasCompanyChangedResponse; -import fi.vrk.xroad.xroad_catalog_lister.HasOrganizationChanged; -import fi.vrk.xroad.xroad_catalog_lister.HasOrganizationChangedResponse; +import fi.vrk.xroad.catalog.lister.generated.GetCompanies; +import fi.vrk.xroad.catalog.lister.generated.GetCompaniesResponse; +import fi.vrk.xroad.catalog.lister.generated.GetOrganizations; +import fi.vrk.xroad.catalog.lister.generated.GetOrganizationsResponse; +import fi.vrk.xroad.catalog.lister.generated.HasCompanyChanged; +import fi.vrk.xroad.catalog.lister.generated.HasCompanyChangedResponse; +import fi.vrk.xroad.catalog.lister.generated.HasOrganizationChanged; +import fi.vrk.xroad.catalog.lister.generated.HasOrganizationChangedResponse; import org.springframework.context.annotation.Profile; import org.springframework.ws.server.endpoint.annotation.Endpoint; import org.springframework.ws.server.endpoint.annotation.PayloadRoot; import org.springframework.ws.server.endpoint.annotation.RequestPayload; import org.springframework.ws.server.endpoint.annotation.ResponsePayload; - @Endpoint @Profile("fi") public interface OrganizationEndpoint { - static final String NAMESPACE_URI = "http://xroad.vrk.fi/xroad-catalog-lister"; + String NAMESPACE_URI = "http://xroad.vrk.fi/xroad-catalog-lister"; - static final String NOT_FOUND = " not found"; + String NOT_FOUND = " not found"; @PayloadRoot(namespace = NAMESPACE_URI, localPart = "GetOrganizations") @ResponsePayload diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/OrganizationEndpointImpl.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/OrganizationEndpointImpl.java index 964792ef..0187326c 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/OrganizationEndpointImpl.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/OrganizationEndpointImpl.java @@ -13,20 +13,20 @@ package fi.vrk.xroad.catalog.lister; import com.google.common.collect.Lists; -import fi.vrk.xroad.xroad_catalog_lister.ChangedValue; -import fi.vrk.xroad.xroad_catalog_lister.ChangedValueList; -import fi.vrk.xroad.xroad_catalog_lister.Company; -import fi.vrk.xroad.xroad_catalog_lister.CompanyList; -import fi.vrk.xroad.xroad_catalog_lister.GetCompanies; -import fi.vrk.xroad.xroad_catalog_lister.GetCompaniesResponse; -import fi.vrk.xroad.xroad_catalog_lister.GetOrganizations; -import fi.vrk.xroad.xroad_catalog_lister.GetOrganizationsResponse; -import fi.vrk.xroad.xroad_catalog_lister.HasCompanyChanged; -import fi.vrk.xroad.xroad_catalog_lister.HasCompanyChangedResponse; -import fi.vrk.xroad.xroad_catalog_lister.HasOrganizationChanged; -import fi.vrk.xroad.xroad_catalog_lister.HasOrganizationChangedResponse; -import fi.vrk.xroad.xroad_catalog_lister.Organization; -import fi.vrk.xroad.xroad_catalog_lister.OrganizationList; +import fi.vrk.xroad.catalog.lister.generated.ChangedValue; +import fi.vrk.xroad.catalog.lister.generated.ChangedValueList; +import fi.vrk.xroad.catalog.lister.generated.Company; +import fi.vrk.xroad.catalog.lister.generated.CompanyList; +import fi.vrk.xroad.catalog.lister.generated.GetCompanies; +import fi.vrk.xroad.catalog.lister.generated.GetCompaniesResponse; +import fi.vrk.xroad.catalog.lister.generated.GetOrganizations; +import fi.vrk.xroad.catalog.lister.generated.GetOrganizationsResponse; +import fi.vrk.xroad.catalog.lister.generated.HasCompanyChanged; +import fi.vrk.xroad.catalog.lister.generated.HasCompanyChangedResponse; +import fi.vrk.xroad.catalog.lister.generated.HasOrganizationChanged; +import fi.vrk.xroad.catalog.lister.generated.HasOrganizationChangedResponse; +import fi.vrk.xroad.catalog.lister.generated.Organization; +import fi.vrk.xroad.catalog.lister.generated.OrganizationList; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Profile; @@ -35,7 +35,6 @@ import org.springframework.ws.server.endpoint.annotation.RequestPayload; import org.springframework.ws.server.endpoint.annotation.ResponsePayload; - @Endpoint @Slf4j @Profile("fi") @@ -47,7 +46,6 @@ public class OrganizationEndpointImpl implements OrganizationEndpoint { @Autowired private JaxbOrganizationService jaxbOrganizationService; - @Override @PayloadRoot(namespace = NAMESPACE_URI, localPart = "GetOrganizations") @ResponsePayload @@ -56,7 +54,8 @@ public GetOrganizationsResponse getOrganizations(@RequestPayload GetOrganization response.setOrganizationList(new OrganizationList()); Iterable organizations = jaxbOrganizationService.getOrganizations(request.getBusinessCode()); if (!organizations.iterator().hasNext()) { - throw new CatalogListerRuntimeException("Organizations with businessCode " + request.getBusinessCode() + NOT_FOUND); + throw new CatalogListerRuntimeException( + "Organizations with businessCode " + request.getBusinessCode() + NOT_FOUND); } response.getOrganizationList().getOrganization().addAll(Lists.newArrayList(organizations)); return response; diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceController.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceController.java index 954a52a8..26ba3c43 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceController.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceController.java @@ -31,6 +31,8 @@ import fi.vrk.xroad.catalog.persistence.entity.ErrorLog; import fi.vrk.xroad.catalog.persistence.entity.Rest; import fi.vrk.xroad.catalog.persistence.entity.Service; +import jakarta.ws.rs.core.MediaType; + import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVPrinter; import org.springframework.beans.factory.annotation.Autowired; @@ -50,12 +52,11 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import javax.ws.rs.core.*; @RestController @RequestMapping("/api") @PropertySource("classpath:lister.properties") -@Profile({"default", "fi"}) +@Profile({ "default", "fi" }) public class ServiceController implements ServiceOperations { @Value("${xroad-catalog.shared-params-file}") @@ -89,13 +90,13 @@ public class ServiceController implements ServiceOperations { @Override public ResponseEntity listErrors(@PathVariable(required = false) String xRoadInstance, - @PathVariable(required = false) String memberClass, - @PathVariable(required = false) String memberCode, - @PathVariable(required = false) String subsystemCode, - @RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate, - @RequestParam(required = false) Integer page, - @RequestParam(required = false) Integer limit) { + @PathVariable(required = false) String memberClass, + @PathVariable(required = false) String memberCode, + @PathVariable(required = false) String subsystemCode, + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate, + @RequestParam(required = false) Integer page, + @RequestParam(required = false) Integer limit) { page = (page == null) ? 0 : page; limit = (limit == null) ? 100 : limit; LocalDateTime startDateTime; @@ -103,68 +104,82 @@ public ResponseEntity listErrors(@PathVariable(required = fals try { startDateTime = ServiceUtil.convertStringToLocalDateTime(startDate); endDateTime = ServiceUtil.convertStringToLocalDateTime(endDate); - } catch(CatalogListerRuntimeException e) { + } catch (CatalogListerRuntimeException e) { return ResponseEntity.badRequest().build(); } - XRoadData xRoadData = XRoadData.builder().xRoadInstance(xRoadInstance).memberClass(memberClass).memberCode(memberCode).subsystemCode(subsystemCode).build(); - Page errors = catalogService.getErrors(xRoadData, Integer.valueOf(page), Integer.valueOf(limit), startDateTime, endDateTime); - return ResponseEntity.ok(ErrorLogResponse.builder().pageNumber(page).pageSize(limit).numberOfPages(errors.getTotalPages()).errorLogList(errors.getContent()).build()); + XRoadData xRoadData = XRoadData.builder().xRoadInstance(xRoadInstance).memberClass(memberClass) + .memberCode(memberCode).subsystemCode(subsystemCode).build(); + Page errors = catalogService.getErrors(xRoadData, page, limit, startDateTime, endDateTime); + return ResponseEntity.ok(ErrorLogResponse.builder().pageNumber(page).pageSize(limit) + .numberOfPages(errors.getTotalPages()).errorLogList(errors.getContent()).build()); } @Override - public ResponseEntity getDistinctServiceStatistics(@RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate) { + public ResponseEntity getDistinctServiceStatistics( + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate) { LocalDateTime startDateTime; LocalDateTime endDateTime; try { startDateTime = ServiceUtil.convertStringToLocalDateTime(startDate); endDateTime = ServiceUtil.convertStringToLocalDateTime(endDate); - } catch(CatalogListerRuntimeException e) { + } catch (CatalogListerRuntimeException e) { return ResponseEntity.badRequest().build(); } - List serviceStatisticsList = catalogService.getDistinctServiceStatistics(startDateTime, endDateTime); - return ResponseEntity.ok(DistinctServiceStatisticsResponse.builder().distinctServiceStatisticsList(serviceStatisticsList).build()); + List serviceStatisticsList = catalogService + .getDistinctServiceStatistics(startDateTime, endDateTime); + return ResponseEntity.ok(DistinctServiceStatisticsResponse.builder() + .distinctServiceStatisticsList(serviceStatisticsList).build()); } @Override - public ResponseEntity getServiceStatistics(@RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate) { + public ResponseEntity getServiceStatistics( + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate) { LocalDateTime startDateTime; LocalDateTime endDateTime; try { startDateTime = ServiceUtil.convertStringToLocalDateTime(startDate); endDateTime = ServiceUtil.convertStringToLocalDateTime(endDate); - } catch(CatalogListerRuntimeException e) { + } catch (CatalogListerRuntimeException e) { return ResponseEntity.badRequest().build(); } - List serviceStatisticsList = catalogService.getServiceStatistics(startDateTime, endDateTime); - return ResponseEntity.ok(ServiceStatisticsResponse.builder().serviceStatisticsList(serviceStatisticsList).build()); + List serviceStatisticsList = catalogService.getServiceStatistics(startDateTime, + endDateTime); + return ResponseEntity + .ok(ServiceStatisticsResponse.builder().serviceStatisticsList(serviceStatisticsList) + .build()); } @Override - public ResponseEntity getServiceStatisticsCSV(@RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate) { + public ResponseEntity getServiceStatisticsCSV( + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate) { LocalDateTime startDateTime; LocalDateTime endDateTime; try { startDateTime = ServiceUtil.convertStringToLocalDateTime(startDate); endDateTime = ServiceUtil.convertStringToLocalDateTime(endDate); - } catch(CatalogListerRuntimeException e) { + } catch (CatalogListerRuntimeException e) { return ResponseEntity.badRequest().build(); } - List serviceStatisticsList = catalogService.getServiceStatistics(startDateTime, endDateTime); + List serviceStatisticsList = catalogService.getServiceStatistics(startDateTime, + endDateTime); try { StringWriter sw = new StringWriter(); - CSVPrinter csvPrinter = new CSVPrinter(sw, CSVFormat.Builder.create().setDelimiter(",").setHeader(CSV_DATE_HEADER, - CSV_NUMBER_OF_REST_SERVICES_HEADER, - CSV_NUMBER_OF_SOAP_SERVICES_HEADER, - CSV_NUMBER_OF_OPENAPI_SERVICES_HEADER).build()); + CSVPrinter csvPrinter = new CSVPrinter(sw, + CSVFormat.Builder.create().setDelimiter(",").setHeader(CSV_DATE_HEADER, + CSV_NUMBER_OF_REST_SERVICES_HEADER, + CSV_NUMBER_OF_SOAP_SERVICES_HEADER, + CSV_NUMBER_OF_OPENAPI_SERVICES_HEADER).build()); if (serviceStatisticsList != null) { - serviceStatisticsList.forEach(serviceStatistics -> ServiceUtil.printCSVRecord(csvPrinter, + serviceStatisticsList.forEach(serviceStatistics -> ServiceUtil.printCSVRecord( + csvPrinter, Arrays.asList(serviceStatistics.getCreated().toString(), serviceStatistics.getNumberOfRestServices().toString(), serviceStatistics.getNumberOfSoapServices().toString(), - serviceStatistics.getNumberOfOpenApiServices().toString()))); + serviceStatistics.getNumberOfOpenApiServices() + .toString()))); } String reportName = SERVICE_STATISTICS_REPORT_NAME + LocalDateTime.now(); sw.close(); @@ -179,37 +194,42 @@ public ResponseEntity getServiceStatisticsCSV(@RequestParam(r } @Override - public ResponseEntity getListOfServices(@RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate) { + public ResponseEntity getListOfServices( + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate) { LocalDateTime startDateTime; LocalDateTime endDateTime; try { startDateTime = ServiceUtil.convertStringToLocalDateTime(startDate); endDateTime = ServiceUtil.convertStringToLocalDateTime(endDate); - } catch(CatalogListerRuntimeException e) { + } catch (CatalogListerRuntimeException e) { return ResponseEntity.badRequest().build(); } - List securityServerList = ServiceUtil.getSecurityServerInfoList(sharedParamsParser, sharedParamsFile); + List securityServerList = ServiceUtil.getSecurityServerInfoList(sharedParamsParser, + sharedParamsFile); List memberDataList = catalogService.getMemberData(startDateTime, endDateTime); - return ResponseEntity.ok(ListOfServicesResponse.builder().memberData(memberDataList).securityServerData(securityServerList).build()); + return ResponseEntity.ok(ListOfServicesResponse.builder().memberData(memberDataList) + .securityServerData(securityServerList).build()); } @Override public ResponseEntity getListOfServicesCSV(@RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate) { + @RequestParam(required = false) String endDate) { LocalDateTime startDateTime; LocalDateTime endDateTime; try { startDateTime = ServiceUtil.convertStringToLocalDateTime(startDate); endDateTime = ServiceUtil.convertStringToLocalDateTime(endDate); - } catch(CatalogListerRuntimeException e) { + } catch (CatalogListerRuntimeException e) { return ResponseEntity.badRequest().build(); } - List securityServerList = ServiceUtil.getSecurityServerInfoList(sharedParamsParser, sharedParamsFile); + List securityServerList = ServiceUtil.getSecurityServerInfoList(sharedParamsParser, + sharedParamsFile); List memberDataList = catalogService.getMemberData(startDateTime, endDateTime); try { StringWriter sw = new StringWriter(); - CSVPrinter csvPrinter = new CSVPrinter(sw, CSVFormat.Builder.create().setDelimiter(",").setHeader( + CSVPrinter csvPrinter = new CSVPrinter(sw, + CSVFormat.Builder.create().setDelimiter(",").setHeader( CSV_DATE_HEADER, CSV_XROAD_INSTANCE_HEADER, CSV_MEMBER_CLASS_HEADER, @@ -250,40 +270,48 @@ public ResponseEntity> listDescriptors() { @Override public ResponseEntity getEndpoints(@PathVariable String xRoadInstance, - @PathVariable String memberClass, - @PathVariable String memberCode, - @PathVariable String subsystemCode, - @PathVariable String serviceCode) { + @PathVariable String memberClass, + @PathVariable String memberCode, + @PathVariable String subsystemCode, + @PathVariable String serviceCode) { List listOfServices = new ArrayList<>(); - List services = catalogService.getServices(xRoadInstance, memberClass, memberCode, subsystemCode, serviceCode); - services.forEach(service -> listOfServices.add(getServiceEndpointsResponse(service, xRoadInstance, memberClass, memberCode, subsystemCode, serviceCode))); + List services = catalogService.getServices(xRoadInstance, memberClass, memberCode, + subsystemCode, + serviceCode); + services.forEach(service -> listOfServices + .add(getServiceEndpointsResponse(service, xRoadInstance, memberClass, + memberCode, subsystemCode, serviceCode))); ServiceResponse response = ServiceResponse.builder().listOfServices(listOfServices).build(); return ResponseEntity.ok(response); } @Override public ResponseEntity getRest(@PathVariable String xRoadInstance, - @PathVariable String memberClass, - @PathVariable String memberCode, - @PathVariable String subsystemCode, - @PathVariable String serviceCode) { + @PathVariable String memberClass, + @PathVariable String memberCode, + @PathVariable String subsystemCode, + @PathVariable String serviceCode) { List listOfServices = new ArrayList<>(); - List services = catalogService.getServices(xRoadInstance, memberClass, memberCode, subsystemCode, serviceCode); + List services = catalogService.getServices(xRoadInstance, memberClass, memberCode, + subsystemCode, + serviceCode); services.forEach(service -> { Rest rest = catalogService.getRest(service); if (rest != null) { - listOfServices.add(getServiceEndpointsResponse(service, xRoadInstance, memberClass, memberCode, subsystemCode, serviceCode)); + listOfServices.add(getServiceEndpointsResponse(service, xRoadInstance, memberClass, + memberCode, + subsystemCode, serviceCode)); } }); return ResponseEntity.ok(ServiceResponse.builder().listOfServices(listOfServices).build()); } private ServiceEndpointsResponse getServiceEndpointsResponse(Service service, - String xRoadInstance, - String memberClass, - String memberCode, - String subsystemCode, - String serviceCode) { + String xRoadInstance, + String memberClass, + String memberCode, + String subsystemCode, + String serviceCode) { List endpointDataList = new ArrayList<>(); service.getAllEndpoints().forEach(endpoint -> endpointDataList.add(EndpointData.builder() .method(endpoint.getMethod()) diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceEndpoint.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceEndpoint.java index c7957899..f0dca5e4 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceEndpoint.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceEndpoint.java @@ -12,32 +12,31 @@ */ package fi.vrk.xroad.catalog.lister; -import fi.vrk.xroad.xroad_catalog_lister.GetErrors; -import fi.vrk.xroad.xroad_catalog_lister.GetErrorsResponse; -import fi.vrk.xroad.xroad_catalog_lister.GetOpenAPI; -import fi.vrk.xroad.xroad_catalog_lister.GetOpenAPIResponse; -import fi.vrk.xroad.xroad_catalog_lister.GetServiceType; -import fi.vrk.xroad.xroad_catalog_lister.GetServiceTypeResponse; -import fi.vrk.xroad.xroad_catalog_lister.GetWsdl; -import fi.vrk.xroad.xroad_catalog_lister.GetWsdlResponse; -import fi.vrk.xroad.xroad_catalog_lister.IsProvider; -import fi.vrk.xroad.xroad_catalog_lister.IsProviderResponse; -import fi.vrk.xroad.xroad_catalog_lister.ListMembers; -import fi.vrk.xroad.xroad_catalog_lister.ListMembersResponse; +import fi.vrk.xroad.catalog.lister.generated.GetErrors; +import fi.vrk.xroad.catalog.lister.generated.GetErrorsResponse; +import fi.vrk.xroad.catalog.lister.generated.GetOpenAPI; +import fi.vrk.xroad.catalog.lister.generated.GetOpenAPIResponse; +import fi.vrk.xroad.catalog.lister.generated.GetServiceType; +import fi.vrk.xroad.catalog.lister.generated.GetServiceTypeResponse; +import fi.vrk.xroad.catalog.lister.generated.GetWsdl; +import fi.vrk.xroad.catalog.lister.generated.GetWsdlResponse; +import fi.vrk.xroad.catalog.lister.generated.IsProvider; +import fi.vrk.xroad.catalog.lister.generated.IsProviderResponse; +import fi.vrk.xroad.catalog.lister.generated.ListMembers; +import fi.vrk.xroad.catalog.lister.generated.ListMembersResponse; import org.springframework.context.annotation.Profile; import org.springframework.ws.server.endpoint.annotation.Endpoint; import org.springframework.ws.server.endpoint.annotation.PayloadRoot; import org.springframework.ws.server.endpoint.annotation.RequestPayload; import org.springframework.ws.server.endpoint.annotation.ResponsePayload; - @Endpoint -@Profile({"default", "fi"}) +@Profile({ "default", "fi" }) public interface ServiceEndpoint { - static final String NAMESPACE_URI = "http://xroad.vrk.fi/xroad-catalog-lister"; + String NAMESPACE_URI = "http://xroad.vrk.fi/xroad-catalog-lister"; - static final String NOT_FOUND = " not found"; + String NOT_FOUND = " not found"; @PayloadRoot(namespace = NAMESPACE_URI, localPart = "ListMembers") @ResponsePayload diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceEndpointImpl.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceEndpointImpl.java index 0ff6fb51..39cad7e1 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceEndpointImpl.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceEndpointImpl.java @@ -13,11 +13,27 @@ package fi.vrk.xroad.catalog.lister; import com.google.common.collect.Lists; + +import fi.vrk.xroad.catalog.lister.generated.ErrorLog; +import fi.vrk.xroad.catalog.lister.generated.ErrorLogList; +import fi.vrk.xroad.catalog.lister.generated.GetErrors; +import fi.vrk.xroad.catalog.lister.generated.GetErrorsResponse; +import fi.vrk.xroad.catalog.lister.generated.GetOpenAPI; +import fi.vrk.xroad.catalog.lister.generated.GetOpenAPIResponse; +import fi.vrk.xroad.catalog.lister.generated.GetServiceType; +import fi.vrk.xroad.catalog.lister.generated.GetServiceTypeResponse; +import fi.vrk.xroad.catalog.lister.generated.GetWsdl; +import fi.vrk.xroad.catalog.lister.generated.GetWsdlResponse; +import fi.vrk.xroad.catalog.lister.generated.IsProvider; +import fi.vrk.xroad.catalog.lister.generated.IsProviderResponse; +import fi.vrk.xroad.catalog.lister.generated.ListMembers; +import fi.vrk.xroad.catalog.lister.generated.ListMembersResponse; +import fi.vrk.xroad.catalog.lister.generated.Member; +import fi.vrk.xroad.catalog.lister.generated.MemberList; import fi.vrk.xroad.catalog.persistence.CatalogService; import fi.vrk.xroad.catalog.persistence.entity.OpenApi; import fi.vrk.xroad.catalog.persistence.entity.Wsdl; import fi.vrk.xroad.catalog.persistence.entity.Service; -import fi.vrk.xroad.xroad_catalog_lister.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Profile; @@ -29,7 +45,7 @@ @Endpoint @Slf4j -@Profile({"default", "fi"}) +@Profile({ "default", "fi" }) public class ServiceEndpointImpl implements ServiceEndpoint { @Autowired @@ -47,7 +63,8 @@ public ListMembersResponse listMembers(@RequestPayload ListMembers request) { } ListMembersResponse response = new ListMembersResponse(); response.setMemberList(new MemberList()); - Iterable members = jaxbCatalogService.getAllMembers(request.getStartDateTime(), request.getEndDateTime()); + Iterable members = jaxbCatalogService.getAllMembers(request.getStartDateTime(), + request.getEndDateTime()); response.getMemberList().getMember().addAll(Lists.newArrayList(members)); return response; } @@ -97,7 +114,7 @@ public IsProviderResponse isProvider(@RequestPayload IsProvider request) { } member.getAllSubsystems().forEach(subsystem -> { - subsystem.getAllServices().forEach(service -> { + subsystem.getAllServices().forEach(service -> { if (service.hasWsdl() || service.hasOpenApi()) { isProvider.set(Boolean.TRUE); } @@ -141,10 +158,12 @@ public GetOpenAPIResponse getOpenApi(@RequestPayload GetOpenAPI request) { public GetErrorsResponse getErrors(@RequestPayload GetErrors request) { GetErrorsResponse response = new GetErrorsResponse(); response.setErrorLogList(new ErrorLogList()); - Iterable errorLogEntries = jaxbCatalogService.getErrorLog(request.getStartDateTime(), request.getEndDateTime()); + Iterable errorLogEntries = jaxbCatalogService.getErrorLog(request.getStartDateTime(), + request.getEndDateTime()); if (errorLogEntries != null && !errorLogEntries.iterator().hasNext()) { throw new CatalogListerRuntimeException("ErrorLog entries since " - + request.getStartDateTime().toString() + " until " + request.getEndDateTime().toString() + NOT_FOUND); + + request.getStartDateTime().toString() + " until " + request.getEndDateTime().toString() + + NOT_FOUND); } response.getErrorLogList().getErrorLog().addAll(errorLogEntries != null ? Lists.newArrayList(errorLogEntries) diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceEndpointInterceptor.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceEndpointInterceptor.java index 38d3950b..1d2cad07 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceEndpointInterceptor.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceEndpointInterceptor.java @@ -20,7 +20,7 @@ import org.springframework.ws.soap.server.SoapEndpointInterceptor; import javax.xml.XMLConstants; -import javax.xml.soap.SOAPException; +import jakarta.xml.soap.SOAPException; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; @@ -44,7 +44,6 @@ public boolean handleResponse(MessageContext messageContext, Object endpoint) th return true; } - protected SoapHeader getSoapHeader(WebServiceMessage message) { if (message instanceof SoapMessage) { SoapMessage soapMessage = (SoapMessage) message; @@ -54,7 +53,6 @@ protected SoapHeader getSoapHeader(WebServiceMessage message) { } } - protected void transformHeaders(WebServiceMessage reqMessage, WebServiceMessage respMessage) throws TransformerException { @@ -83,7 +81,6 @@ public void afterCompletion(MessageContext messageContext, Object endpoint, Exce // No need to do anything } - @Override public boolean understands(SoapHeaderElement header) { return true; diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceOperations.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceOperations.java index c4c517fb..2618484d 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceOperations.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/ServiceOperations.java @@ -19,45 +19,43 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; - @RequestMapping("/default") -@Profile({"default", "fi"}) +@Profile({ "default", "fi" }) public interface ServiceOperations { - @GetMapping(path = {"/listErrors/{xRoadInstance}/{memberClass}/{memberCode}/{subsystemCode}", - "/listErrors/{xRoadInstance}/{memberClass}/{memberCode}", - "/listErrors/{xRoadInstance}/{memberClass}", - "/listErrors/{xRoadInstance}", - "/listErrors"}, - produces = "application/json") + @GetMapping(path = { "/listErrors/{xRoadInstance}/{memberClass}/{memberCode}/{subsystemCode}", + "/listErrors/{xRoadInstance}/{memberClass}/{memberCode}", + "/listErrors/{xRoadInstance}/{memberClass}", + "/listErrors/{xRoadInstance}", + "/listErrors" }, produces = "application/json") ResponseEntity listErrors(@PathVariable(required = false) String xRoadInstance, - @PathVariable(required = false) String memberClass, - @PathVariable(required = false) String memberCode, - @PathVariable(required = false) String subsystemCode, - @RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate, - @RequestParam(required = false) Integer page, - @RequestParam(required = false) Integer limit); + @PathVariable(required = false) String memberClass, + @PathVariable(required = false) String memberCode, + @PathVariable(required = false) String subsystemCode, + @RequestParam(required = false) String startDate, + @RequestParam(required = false) String endDate, + @RequestParam(required = false) Integer page, + @RequestParam(required = false) Integer limit); @GetMapping(path = "/getDistinctServiceStatistics", produces = "application/json") ResponseEntity getDistinctServiceStatistics(@RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate); + @RequestParam(required = false) String endDate); @GetMapping(path = "/getServiceStatistics", produces = "application/json") ResponseEntity getServiceStatistics(@RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate); + @RequestParam(required = false) String endDate); @GetMapping(path = "/getServiceStatisticsCSV", produces = "text/csv") ResponseEntity getServiceStatisticsCSV(@RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate); + @RequestParam(required = false) String endDate); @GetMapping(path = "/getListOfServices", produces = "application/json") ResponseEntity getListOfServices(@RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate); + @RequestParam(required = false) String endDate); @GetMapping(path = "/getListOfServicesCSV", produces = "text/csv") ResponseEntity getListOfServicesCSV(@RequestParam(required = false) String startDate, - @RequestParam(required = false) String endDate); + @RequestParam(required = false) String endDate); @GetMapping(path = "/listSecurityServers", produces = "application/json") ResponseEntity listSecurityServers(); @@ -65,17 +63,18 @@ ResponseEntity getListOfServicesCSV(@RequestParam(required = false) String st @GetMapping(path = "/listDescriptors", produces = "application/json") ResponseEntity listDescriptors(); + @SuppressWarnings("checkstyle:linelength") @GetMapping(path = "/getEndpoints/{xRoadInstance}/{memberClass}/{memberCode}/{subsystemCode}/{serviceCode}", produces = "application/json") ResponseEntity getEndpoints(@PathVariable String xRoadInstance, - @PathVariable String memberClass, - @PathVariable String memberCode, - @PathVariable String subsystemCode, - @PathVariable String serviceCode); + @PathVariable String memberClass, + @PathVariable String memberCode, + @PathVariable String subsystemCode, + @PathVariable String serviceCode); @GetMapping(path = "/getRest/{xRoadInstance}/{memberClass}/{memberCode}/{subsystemCode}/{serviceCode}", produces = "application/json") ResponseEntity getRest(@PathVariable String xRoadInstance, - @PathVariable String memberClass, - @PathVariable String memberCode, - @PathVariable String subsystemCode, - @PathVariable String serviceCode); + @PathVariable String memberClass, + @PathVariable String memberCode, + @PathVariable String subsystemCode, + @PathVariable String serviceCode); } diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/SharedParamsParser.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/SharedParamsParser.java index 8319d6c3..3a1db6f2 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/SharedParamsParser.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/SharedParamsParser.java @@ -68,15 +68,20 @@ public class SharedParamsParser { private Environment environment; /** - * Parses security server information from X-Road global configuration shared-params.xml. - * Matches member elements with securityServer elements to gather the information. + * Parses security server information from X-Road global configuration + * shared-params.xml. + * Matches member elements with securityServer elements to gather the + * information. * * @return list of {@link SecurityServerInfo} objects - * @throws ParserConfigurationException when there are issues with parsing the file - * @throws IOException when unable to read input file - * @throws SAXException when there are issues with parsing of XML + * @throws ParserConfigurationException when there are issues with parsing the + * file + * @throws IOException when unable to read input file + * @throws SAXException when there are issues with parsing of + * XML */ - public Set parseInfo(String sharedParamsFile) throws ParserConfigurationException, IOException, SAXException { + public Set parseInfo(String sharedParamsFile) + throws ParserConfigurationException, IOException, SAXException { Document document = parseInputAndConvertToXmlDocument(new File(sharedParamsFile)); Element root = document.getDocumentElement(); String xRoadInstance = root.getChildNodes().item(1).getFirstChild().getNodeValue(); @@ -96,14 +101,13 @@ public Set parseInfo(String sharedParamsFile) throws ParserC if (member.getNodeType() == Node.ELEMENT_NODE) { Element memberElement = (Element) member; if (memberElement.getAttribute(ID).equals(owner)) { - Element memberClassElement = - (Element) memberElement.getElementsByTagName(MEMBER_CLASS).item(0); - String memberClass = - memberClassElement.getElementsByTagName(CODE).item(0).getTextContent(); - String memberCode = - memberElement.getElementsByTagName(MEMBER_CODE).item(0).getTextContent(); - SecurityServerInfo info = - new SecurityServerInfo(xRoadInstance, serverCode, address, memberClass, memberCode); + Element memberClassElement = (Element) memberElement.getElementsByTagName(MEMBER_CLASS) + .item(0); + String memberClass = memberClassElement.getElementsByTagName(CODE).item(0).getTextContent(); + String memberCode = memberElement.getElementsByTagName(MEMBER_CODE).item(0) + .getTextContent(); + SecurityServerInfo info = new SecurityServerInfo(xRoadInstance, serverCode, address, + memberClass, memberCode); securityServerInfos.add(info); break; } @@ -116,31 +120,42 @@ public Set parseInfo(String sharedParamsFile) throws ParserC } /** - * Parses security server information from X-Road global configuration shared-params.xml. - * Matches member elements with securityServer elements to gather the information. + * Parses security server information from X-Road global configuration + * shared-params.xml. + * Matches member elements with securityServer elements to gather the + * information. * * @return list of {@link SecurityServerInfo} objects - * @throws ParserConfigurationException when there are issues with parsing the file - * @throws IOException when unable to read input file - * @throws SAXException when there are issues with parsing of XML + * @throws ParserConfigurationException when there are issues with parsing the + * file + * @throws IOException when unable to read input file + * @throws SAXException when there are issues with parsing of + * XML */ - public SecurityServerDataList parseDetails(String sharedParamsFile) throws ParserConfigurationException, IOException, SAXException { + public SecurityServerDataList parseDetails(String sharedParamsFile) + throws ParserConfigurationException, IOException, SAXException { Document document = parseInputAndConvertToXmlDocument(new File(sharedParamsFile)); Element root = document.getDocumentElement(); - List securityServerList = getSecurityServerDataList(root.getElementsByTagName(SECURITY_SERVER), root.getElementsByTagName(MEMBER)); + List securityServerList = getSecurityServerDataList( + root.getElementsByTagName(SECURITY_SERVER), root.getElementsByTagName(MEMBER)); return SecurityServerDataList.builder().securityServerDataList(securityServerList).build(); } /** - * Parses security server information from X-Road global configuration shared-params.xml. - * Matches member elements with securityServer elements to gather the information. + * Parses security server information from X-Road global configuration + * shared-params.xml. + * Matches member elements with securityServer elements to gather the + * information. * * @return list of {@link SecurityServerInfo} objects - * @throws ParserConfigurationException when there are issues with parsing the file - * @throws IOException when unable to read input file - * @throws SAXException when there are issues with parsing of XML + * @throws ParserConfigurationException when there are issues with parsing the + * file + * @throws IOException when unable to read input file + * @throws SAXException when there are issues with parsing of + * XML */ - public List parseDescriptorInfo(String sharedParamsFile) throws ParserConfigurationException, IOException, SAXException { + public List parseDescriptorInfo(String sharedParamsFile) + throws ParserConfigurationException, IOException, SAXException { Document document = parseInputAndConvertToXmlDocument(new File(sharedParamsFile)); Element root = document.getDocumentElement(); String xRoadInstance = root.getChildNodes().item(1).getFirstChild().getNodeValue(); @@ -160,8 +175,8 @@ public List parseDescriptorInfo(String sharedParamsFile) throws Node subsystem = subsystems.item(k); if (member.getNodeType() == Node.ELEMENT_NODE) { Element subsystemElement = (Element) subsystem; - String subsystemCode = - subsystemElement.getElementsByTagName(SUBSYSTEM_CODE).item(0).getTextContent(); + String subsystemCode = subsystemElement.getElementsByTagName(SUBSYSTEM_CODE).item(0) + .getTextContent(); descriptorInfos.add(DescriptorInfo.builder() .xRoadInstance(xRoadInstance) @@ -169,12 +184,14 @@ public List parseDescriptorInfo(String sharedParamsFile) throws .memberClass(memberClass) .memberName(name) .subsystemCode(subsystemCode) - .subsystemName(SubsystemName.builder().en(DEFAULT_SUBSYSTEM_NAME_EN).et(DEFAULT_SUBSYSTEM_NAME_ET).build()) + .subsystemName(SubsystemName.builder().en(DEFAULT_SUBSYSTEM_NAME_EN) + .et(DEFAULT_SUBSYSTEM_NAME_ET).build()) .email(Lists.newArrayList( Email.builder() .name(DEFAULT_CONTACT_NAME) .email(DEFAULT_CONTACT_EMAIL) - .build())).build()); + .build())) + .build()); } } @@ -184,7 +201,8 @@ public List parseDescriptorInfo(String sharedParamsFile) throws return descriptorInfos; } - private Document parseInputAndConvertToXmlDocument(File inputFile) throws ParserConfigurationException, IOException, SAXException { + private Document parseInputAndConvertToXmlDocument(File inputFile) + throws ParserConfigurationException, IOException, SAXException { DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); documentBuilderFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); documentBuilderFactory.setFeature("http://xml.org/sax/features/external-general-entities", false); @@ -253,7 +271,6 @@ private MemberInfo getOwnerData(NodeList members, String ownerId) { return MemberInfo.builder().build(); } - private MemberInfo buildMemberInfo(Element memberElement) { return buildSubsystemInfo(memberElement, null); } @@ -317,4 +334,4 @@ private List getClients(NodeList members, List clientIdList) }); return clients; } -} \ No newline at end of file +} diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/WebMvcConfiguration.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/WebMvcConfiguration.java new file mode 100644 index 00000000..d71fa3be --- /dev/null +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/WebMvcConfiguration.java @@ -0,0 +1,32 @@ +/** + * The MIT License + * + * Copyright (c) 2023- Nordic Institute for Interoperability Solutions (NIIS) + * Copyright (c) 2016-2023 Finnish Digital Agency + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package fi.vrk.xroad.catalog.lister; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class WebMvcConfiguration implements WebMvcConfigurer { + @Override + public void configurePathMatch(PathMatchConfigurer configurer) { + // This defaults to false in Spring 6, but to keep the previous behaviour we set + // it to true + // Note that this is actually deprecated but the solution it points to is also + // deprecated now, + // in the future we probably need to resolve this another way (filters, + // redirects or just note + // in the documentation that /path is not the same as /path/). + configurer.setUseTrailingSlashMatch(true); + } +} diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/WsdlCdataInterceptor.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/WsdlCdataInterceptor.java index 69e2be7c..bfe5060c 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/WsdlCdataInterceptor.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/WsdlCdataInterceptor.java @@ -18,9 +18,14 @@ import org.springframework.ws.soap.saaj.SaajSoapMessage; import org.w3c.dom.CDATASection; import org.w3c.dom.NodeList; + +import jakarta.xml.soap.SOAPBody; +import jakarta.xml.soap.SOAPEnvelope; +import jakarta.xml.soap.SOAPMessage; +import jakarta.xml.soap.SOAPPart; + import org.w3c.dom.Node; import javax.xml.namespace.QName; -import javax.xml.soap.*; import java.util.Iterator; public class WsdlCdataInterceptor implements EndpointInterceptor { diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/JaxbOrganizationUtil.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/JaxbOrganizationUtil.java index 30423cef..32fcd615 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/JaxbOrganizationUtil.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/JaxbOrganizationUtil.java @@ -12,64 +12,65 @@ */ package fi.vrk.xroad.catalog.lister.util; -import fi.vrk.xroad.xroad_catalog_lister.Address; -import fi.vrk.xroad.xroad_catalog_lister.BusinessAddress; -import fi.vrk.xroad.xroad_catalog_lister.BusinessAddressList; -import fi.vrk.xroad.xroad_catalog_lister.BusinessAuxiliaryName; -import fi.vrk.xroad.xroad_catalog_lister.BusinessAuxiliaryNameList; -import fi.vrk.xroad.xroad_catalog_lister.BusinessIdChange; -import fi.vrk.xroad.xroad_catalog_lister.BusinessIdChangeList; -import fi.vrk.xroad.xroad_catalog_lister.BusinessLine; -import fi.vrk.xroad.xroad_catalog_lister.BusinessLineList; -import fi.vrk.xroad.xroad_catalog_lister.BusinessName; -import fi.vrk.xroad.xroad_catalog_lister.BusinessNameList; -import fi.vrk.xroad.xroad_catalog_lister.Company; -import fi.vrk.xroad.xroad_catalog_lister.CompanyForm; -import fi.vrk.xroad.xroad_catalog_lister.CompanyFormList; -import fi.vrk.xroad.xroad_catalog_lister.ContactDetail; -import fi.vrk.xroad.xroad_catalog_lister.ContactDetailList; -import fi.vrk.xroad.xroad_catalog_lister.Email; -import fi.vrk.xroad.xroad_catalog_lister.Language; -import fi.vrk.xroad.xroad_catalog_lister.LanguageList; -import fi.vrk.xroad.xroad_catalog_lister.Liquidation; -import fi.vrk.xroad.xroad_catalog_lister.LiquidationList; -import fi.vrk.xroad.xroad_catalog_lister.OrganizationDescription; -import fi.vrk.xroad.xroad_catalog_lister.OrganizationName; -import fi.vrk.xroad.xroad_catalog_lister.PhoneNumber; -import fi.vrk.xroad.xroad_catalog_lister.PostOffice; -import fi.vrk.xroad.xroad_catalog_lister.PostOfficeBox; -import fi.vrk.xroad.xroad_catalog_lister.PostOfficeBoxAddress; -import fi.vrk.xroad.xroad_catalog_lister.PostOfficeBoxAddressAdditionalInformation; -import fi.vrk.xroad.xroad_catalog_lister.PostOfficeBoxAddressAdditionalInformationList; -import fi.vrk.xroad.xroad_catalog_lister.PostOfficeBoxAddressList; -import fi.vrk.xroad.xroad_catalog_lister.PostOfficeBoxAddressMunicipality; -import fi.vrk.xroad.xroad_catalog_lister.PostOfficeBoxAddressMunicipalityList; -import fi.vrk.xroad.xroad_catalog_lister.PostOfficeBoxAddressMunicipalityName; -import fi.vrk.xroad.xroad_catalog_lister.PostOfficeBoxAddressMunicipalityNameList; -import fi.vrk.xroad.xroad_catalog_lister.PostOfficeBoxList; -import fi.vrk.xroad.xroad_catalog_lister.PostOfficeList; -import fi.vrk.xroad.xroad_catalog_lister.RegisteredEntry; -import fi.vrk.xroad.xroad_catalog_lister.RegisteredEntryList; -import fi.vrk.xroad.xroad_catalog_lister.RegisteredOffice; -import fi.vrk.xroad.xroad_catalog_lister.RegisteredOfficeList; -import fi.vrk.xroad.xroad_catalog_lister.Street; -import fi.vrk.xroad.xroad_catalog_lister.StreetAddress; -import fi.vrk.xroad.xroad_catalog_lister.StreetAddressAdditionalInformation; -import fi.vrk.xroad.xroad_catalog_lister.StreetAddressAdditionalInformationList; -import fi.vrk.xroad.xroad_catalog_lister.StreetAddressList; -import fi.vrk.xroad.xroad_catalog_lister.StreetAddressMunicipality; -import fi.vrk.xroad.xroad_catalog_lister.StreetAddressMunicipalityList; -import fi.vrk.xroad.xroad_catalog_lister.StreetAddressMunicipalityName; -import fi.vrk.xroad.xroad_catalog_lister.StreetAddressMunicipalityNameList; -import fi.vrk.xroad.xroad_catalog_lister.StreetAddressPostOffice; -import fi.vrk.xroad.xroad_catalog_lister.StreetAddressPostOfficeList; -import fi.vrk.xroad.xroad_catalog_lister.StreetList; -import fi.vrk.xroad.xroad_catalog_lister.WebPage; +import fi.vrk.xroad.catalog.lister.generated.Address; +import fi.vrk.xroad.catalog.lister.generated.BusinessAddress; +import fi.vrk.xroad.catalog.lister.generated.BusinessAddressList; +import fi.vrk.xroad.catalog.lister.generated.BusinessAuxiliaryName; +import fi.vrk.xroad.catalog.lister.generated.BusinessAuxiliaryNameList; +import fi.vrk.xroad.catalog.lister.generated.BusinessIdChange; +import fi.vrk.xroad.catalog.lister.generated.BusinessIdChangeList; +import fi.vrk.xroad.catalog.lister.generated.BusinessLine; +import fi.vrk.xroad.catalog.lister.generated.BusinessLineList; +import fi.vrk.xroad.catalog.lister.generated.BusinessName; +import fi.vrk.xroad.catalog.lister.generated.BusinessNameList; +import fi.vrk.xroad.catalog.lister.generated.Company; +import fi.vrk.xroad.catalog.lister.generated.CompanyForm; +import fi.vrk.xroad.catalog.lister.generated.CompanyFormList; +import fi.vrk.xroad.catalog.lister.generated.ContactDetail; +import fi.vrk.xroad.catalog.lister.generated.ContactDetailList; +import fi.vrk.xroad.catalog.lister.generated.Email; +import fi.vrk.xroad.catalog.lister.generated.Language; +import fi.vrk.xroad.catalog.lister.generated.LanguageList; +import fi.vrk.xroad.catalog.lister.generated.Liquidation; +import fi.vrk.xroad.catalog.lister.generated.LiquidationList; +import fi.vrk.xroad.catalog.lister.generated.OrganizationDescription; +import fi.vrk.xroad.catalog.lister.generated.OrganizationName; +import fi.vrk.xroad.catalog.lister.generated.PhoneNumber; +import fi.vrk.xroad.catalog.lister.generated.PostOffice; +import fi.vrk.xroad.catalog.lister.generated.PostOfficeBox; +import fi.vrk.xroad.catalog.lister.generated.PostOfficeBoxAddress; +import fi.vrk.xroad.catalog.lister.generated.PostOfficeBoxAddressAdditionalInformation; +import fi.vrk.xroad.catalog.lister.generated.PostOfficeBoxAddressAdditionalInformationList; +import fi.vrk.xroad.catalog.lister.generated.PostOfficeBoxAddressList; +import fi.vrk.xroad.catalog.lister.generated.PostOfficeBoxAddressMunicipality; +import fi.vrk.xroad.catalog.lister.generated.PostOfficeBoxAddressMunicipalityList; +import fi.vrk.xroad.catalog.lister.generated.PostOfficeBoxAddressMunicipalityName; +import fi.vrk.xroad.catalog.lister.generated.PostOfficeBoxAddressMunicipalityNameList; +import fi.vrk.xroad.catalog.lister.generated.PostOfficeBoxList; +import fi.vrk.xroad.catalog.lister.generated.PostOfficeList; +import fi.vrk.xroad.catalog.lister.generated.RegisteredEntry; +import fi.vrk.xroad.catalog.lister.generated.RegisteredEntryList; +import fi.vrk.xroad.catalog.lister.generated.RegisteredOffice; +import fi.vrk.xroad.catalog.lister.generated.RegisteredOfficeList; +import fi.vrk.xroad.catalog.lister.generated.Street; +import fi.vrk.xroad.catalog.lister.generated.StreetAddress; +import fi.vrk.xroad.catalog.lister.generated.StreetAddressAdditionalInformation; +import fi.vrk.xroad.catalog.lister.generated.StreetAddressAdditionalInformationList; +import fi.vrk.xroad.catalog.lister.generated.StreetAddressList; +import fi.vrk.xroad.catalog.lister.generated.StreetAddressMunicipality; +import fi.vrk.xroad.catalog.lister.generated.StreetAddressMunicipalityList; +import fi.vrk.xroad.catalog.lister.generated.StreetAddressMunicipalityName; +import fi.vrk.xroad.catalog.lister.generated.StreetAddressMunicipalityNameList; +import fi.vrk.xroad.catalog.lister.generated.StreetAddressPostOffice; +import fi.vrk.xroad.catalog.lister.generated.StreetAddressPostOfficeList; +import fi.vrk.xroad.catalog.lister.generated.StreetList; +import fi.vrk.xroad.catalog.lister.generated.WebPage; import java.util.ArrayList; import java.util.Collection; import java.util.List; -public class JaxbOrganizationUtil { +@SuppressWarnings("checkstyle:linelength") +public final class JaxbOrganizationUtil { private JaxbOrganizationUtil() { @@ -78,12 +79,16 @@ private JaxbOrganizationUtil() { public static Collection convertOrganizationNames( Iterable organizationNames) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.OrganizationName organizationName: organizationNames) { + for (fi.vrk.xroad.catalog.persistence.entity.OrganizationName organizationName : organizationNames) { OrganizationName co = new OrganizationName(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(organizationName.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(organizationName.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(organizationName.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(organizationName.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(organizationName.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(organizationName.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(organizationName.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(organizationName.getStatusInfo().getRemoved())); co.setLanguage(organizationName.getLanguage()); co.setType(organizationName.getType()); co.setValue(organizationName.getValue()); @@ -95,12 +100,16 @@ public static Collection convertOrganizationNames( public static Collection convertOrganizationDescriptions( Iterable organizationDescriptions) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.OrganizationDescription organizationDescription: organizationDescriptions) { + for (fi.vrk.xroad.catalog.persistence.entity.OrganizationDescription organizationDescription : organizationDescriptions) { OrganizationDescription co = new OrganizationDescription(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(organizationDescription.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(organizationDescription.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(organizationDescription.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(organizationDescription.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(organizationDescription.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(organizationDescription.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(organizationDescription.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(organizationDescription.getStatusInfo().getRemoved())); co.setLanguage(organizationDescription.getLanguage()); co.setType(organizationDescription.getType()); co.setValue(organizationDescription.getValue()); @@ -112,7 +121,7 @@ public static Collection convertOrganizationDescription public static Collection convertEmails( Iterable emails) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.Email email: emails) { + for (fi.vrk.xroad.catalog.persistence.entity.Email email : emails) { Email co = new Email(); co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(email.getStatusInfo().getChanged())); co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(email.getStatusInfo().getCreated())); @@ -129,7 +138,7 @@ public static Collection convertEmails( public static Collection convertPhoneNumbers( Iterable phoneNumbers) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.PhoneNumber phoneNumber: phoneNumbers) { + for (fi.vrk.xroad.catalog.persistence.entity.PhoneNumber phoneNumber : phoneNumbers) { PhoneNumber co = new PhoneNumber(); co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(phoneNumber.getStatusInfo().getChanged())); co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(phoneNumber.getStatusInfo().getCreated())); @@ -150,7 +159,7 @@ public static Collection convertPhoneNumbers( public static Collection convertWebPages( Iterable webPages) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.WebPage webPage: webPages) { + for (fi.vrk.xroad.catalog.persistence.entity.WebPage webPage : webPages) { WebPage co = new WebPage(); co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(webPage.getStatusInfo().getChanged())); co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(webPage.getStatusInfo().getCreated())); @@ -167,7 +176,7 @@ public static Collection convertWebPages( public static Collection
convertAddresses( Iterable addresses) { List
converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.Address address: addresses) { + for (fi.vrk.xroad.catalog.persistence.entity.Address address : addresses) { Address co = new Address(); co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(address.getStatusInfo().getChanged())); co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(address.getStatusInfo().getCreated())); @@ -178,16 +187,19 @@ public static Collection
convertAddresses( co.setType(address.getType()); co.setStreetAddresses(new StreetAddressList()); - Iterable streetAddresses = address.getAllStreetAddresses(); + Iterable streetAddresses = address + .getAllStreetAddresses(); if (streetAddresses != null) { - co.getStreetAddresses().getStreetAddress().addAll(convertStreetAddresses(streetAddresses)); + co.getStreetAddresses().getStreetAddress() + .addAll(convertStreetAddresses(streetAddresses)); } co.setPostOfficeBoxAddresses(new PostOfficeBoxAddressList()); - Iterable postOfficeBoxAddresses - = address.getAllPostOfficeBoxAddresses(); + Iterable postOfficeBoxAddresses = address + .getAllPostOfficeBoxAddresses(); if (postOfficeBoxAddresses != null) { - co.getPostOfficeBoxAddresses().getPostOfficeBoxAddress().addAll(convertPostOfficeBoxAddresses(postOfficeBoxAddresses)); + co.getPostOfficeBoxAddresses().getPostOfficeBoxAddress() + .addAll(convertPostOfficeBoxAddresses(postOfficeBoxAddresses)); } converted.add(co); @@ -198,41 +210,52 @@ public static Collection
convertAddresses( public static Collection convertStreetAddresses( Iterable streetAddresses) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.StreetAddress streetAddress: streetAddresses) { + for (fi.vrk.xroad.catalog.persistence.entity.StreetAddress streetAddress : streetAddresses) { StreetAddress co = new StreetAddress(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(streetAddress.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(streetAddress.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(streetAddress.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(streetAddress.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(streetAddress.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(streetAddress.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(streetAddress.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(streetAddress.getStatusInfo().getRemoved())); co.setPostalCode(streetAddress.getPostalCode()); co.setLatitude(streetAddress.getLatitude()); co.setLongitude(streetAddress.getLongitude()); co.setCoordinateState(streetAddress.getCoordinateState()); co.setStreets(new StreetList()); - Iterable streets = streetAddress.getAllStreets(); + Iterable streets = streetAddress + .getAllStreets(); if (streets != null) { co.getStreets().getStreet().addAll(convertStreets(streets)); } co.setPostOffices(new StreetAddressPostOfficeList()); - Iterable streetAddressPostOffices = streetAddress.getAllPostOffices(); + Iterable streetAddressPostOffices = streetAddress + .getAllPostOffices(); if (streetAddressPostOffices != null) { - co.getPostOffices().getStreetAddressPostOffice().addAll(convertStreetAddressPostOffices(streetAddressPostOffices)); + co.getPostOffices().getStreetAddressPostOffice() + .addAll(convertStreetAddressPostOffices(streetAddressPostOffices)); } co.setMunicipalities(new StreetAddressMunicipalityList()); - Iterable streetAddressMunicipalities = streetAddress.getAllMunicipalities(); + Iterable streetAddressMunicipalities = streetAddress + .getAllMunicipalities(); if (streetAddressMunicipalities != null) { - co.getMunicipalities().getStreetAddressMunicipality().addAll(convertStreetAddressMunicipalities(streetAddressMunicipalities)); + co.getMunicipalities().getStreetAddressMunicipality() + .addAll(convertStreetAddressMunicipalities( + streetAddressMunicipalities)); } co.setAdditionalInformation(new StreetAddressAdditionalInformationList()); - Iterable streetAddressAdditionalInformation - = streetAddress.getAllAdditionalInformation(); + Iterable streetAddressAdditionalInformation = streetAddress + .getAllAdditionalInformation(); if (streetAddressAdditionalInformation != null) { co.getAdditionalInformation().getStreetAddressAdditionalInformation() - .addAll(convertStreetAddressAdditionalInformation(streetAddressAdditionalInformation)); + .addAll(convertStreetAddressAdditionalInformation( + streetAddressAdditionalInformation)); } converted.add(co); @@ -243,7 +266,7 @@ public static Collection convertStreetAddresses( public static Collection convertStreets( Iterable streets) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.Street street: streets) { + for (fi.vrk.xroad.catalog.persistence.entity.Street street : streets) { Street co = new Street(); co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(street.getStatusInfo().getChanged())); co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(street.getStatusInfo().getCreated())); @@ -259,12 +282,16 @@ public static Collection convertStreets( public static Collection convertStreetAddressPostOffices( Iterable streetAddressPostOffices) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.StreetAddressPostOffice streetAddressPostOffice: streetAddressPostOffices) { + for (fi.vrk.xroad.catalog.persistence.entity.StreetAddressPostOffice streetAddressPostOffice : streetAddressPostOffices) { StreetAddressPostOffice co = new StreetAddressPostOffice(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressPostOffice.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressPostOffice.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressPostOffice.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressPostOffice.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(streetAddressPostOffice.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(streetAddressPostOffice.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(streetAddressPostOffice.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(streetAddressPostOffice.getStatusInfo().getRemoved())); co.setLanguage(streetAddressPostOffice.getLanguage()); co.setValue(streetAddressPostOffice.getValue()); converted.add(co); @@ -275,20 +302,29 @@ public static Collection convertStreetAddressPostOffice public static Collection convertStreetAddressMunicipalities( Iterable streetAddressMunicipalities) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipality streetAddressMunicipality: streetAddressMunicipalities) { + for (fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipality streetAddressMunicipality : streetAddressMunicipalities) { StreetAddressMunicipality co = new StreetAddressMunicipality(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressMunicipality.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressMunicipality.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressMunicipality.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressMunicipality.getStatusInfo().getRemoved())); + co.setChanged( + JaxbServiceUtil.toXmlGregorianCalendar( + streetAddressMunicipality.getStatusInfo().getChanged())); + co.setCreated( + JaxbServiceUtil.toXmlGregorianCalendar( + streetAddressMunicipality.getStatusInfo().getCreated())); + co.setFetched( + JaxbServiceUtil.toXmlGregorianCalendar( + streetAddressMunicipality.getStatusInfo().getFetched())); + co.setRemoved( + JaxbServiceUtil.toXmlGregorianCalendar( + streetAddressMunicipality.getStatusInfo().getRemoved())); co.setCode(streetAddressMunicipality.getCode()); co.setStreetAddressMunicipalityNames(new StreetAddressMunicipalityNameList()); - Iterable streetAddressMunicipalityNames - = streetAddressMunicipality.getAllMunicipalityNames(); + Iterable streetAddressMunicipalityNames = streetAddressMunicipality + .getAllMunicipalityNames(); if (streetAddressMunicipalityNames != null) { co.getStreetAddressMunicipalityNames().getStreetAddressMunicipalityName() - .addAll(convertStreetAddressMunicipalityNames(streetAddressMunicipalityNames)); + .addAll(convertStreetAddressMunicipalityNames( + streetAddressMunicipalityNames)); } converted.add(co); @@ -299,12 +335,20 @@ public static Collection convertStreetAddressMunicipa public static Collection convertStreetAddressMunicipalityNames( Iterable streetAddressMunicipalityNames) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipalityName streetAddressMunicipalityName: streetAddressMunicipalityNames) { + for (fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipalityName streetAddressMunicipalityName : streetAddressMunicipalityNames) { StreetAddressMunicipalityName co = new StreetAddressMunicipalityName(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressMunicipalityName.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressMunicipalityName.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressMunicipalityName.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressMunicipalityName.getStatusInfo().getRemoved())); + co.setChanged( + JaxbServiceUtil.toXmlGregorianCalendar( + streetAddressMunicipalityName.getStatusInfo().getChanged())); + co.setCreated( + JaxbServiceUtil.toXmlGregorianCalendar( + streetAddressMunicipalityName.getStatusInfo().getCreated())); + co.setFetched( + JaxbServiceUtil.toXmlGregorianCalendar( + streetAddressMunicipalityName.getStatusInfo().getFetched())); + co.setRemoved( + JaxbServiceUtil.toXmlGregorianCalendar( + streetAddressMunicipalityName.getStatusInfo().getRemoved())); co.setLanguage(streetAddressMunicipalityName.getLanguage()); co.setValue(streetAddressMunicipalityName.getValue()); converted.add(co); @@ -315,12 +359,20 @@ public static Collection convertStreetAddressMuni public static Collection convertStreetAddressAdditionalInformation( Iterable streetAddressAdditionalInformationList) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.StreetAddressAdditionalInformation streetAddressAdditionalInformation: streetAddressAdditionalInformationList) { + for (fi.vrk.xroad.catalog.persistence.entity.StreetAddressAdditionalInformation streetAddressAdditionalInformation : streetAddressAdditionalInformationList) { StreetAddressAdditionalInformation co = new StreetAddressAdditionalInformation(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressAdditionalInformation.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressAdditionalInformation.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressAdditionalInformation.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(streetAddressAdditionalInformation.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(streetAddressAdditionalInformation.getStatusInfo() + .getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(streetAddressAdditionalInformation.getStatusInfo() + .getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(streetAddressAdditionalInformation.getStatusInfo() + .getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(streetAddressAdditionalInformation.getStatusInfo() + .getRemoved())); co.setLanguage(streetAddressAdditionalInformation.getLanguage()); co.setValue(streetAddressAdditionalInformation.getValue()); converted.add(co); @@ -331,41 +383,50 @@ public static Collection convertStreetAddres public static Collection convertPostOfficeBoxAddresses( Iterable postOfficeBoxAddresses) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddress postOfficeBoxAddress: postOfficeBoxAddresses) { + for (fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddress postOfficeBoxAddress : postOfficeBoxAddresses) { PostOfficeBoxAddress co = new PostOfficeBoxAddress(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddress.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddress.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddress.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddress.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBoxAddress.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBoxAddress.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBoxAddress.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBoxAddress.getStatusInfo().getRemoved())); co.setPostalCode(postOfficeBoxAddress.getPostalCode()); co.setPostalCode(postOfficeBoxAddress.getPostalCode()); co.setAdditionalInformation(new PostOfficeBoxAddressAdditionalInformationList()); - Iterable postOfficeBoxAddressAdditionalInformation - = postOfficeBoxAddress.getAllAdditionalInformation(); + Iterable postOfficeBoxAddressAdditionalInformation = postOfficeBoxAddress + .getAllAdditionalInformation(); if (postOfficeBoxAddressAdditionalInformation != null) { co.getAdditionalInformation().getPostOfficeBoxAddressAdditionalInformation() - .addAll(convertPostOfficeBoxAddressAdditionalInformation(postOfficeBoxAddressAdditionalInformation)); + .addAll(convertPostOfficeBoxAddressAdditionalInformation( + postOfficeBoxAddressAdditionalInformation)); } co.setPostOfficeBoxAddressMunicipalities(new PostOfficeBoxAddressMunicipalityList()); - Iterable postOfficeBoxAddressMunicipalities - = postOfficeBoxAddress.getAllMunicipalities(); + Iterable postOfficeBoxAddressMunicipalities = postOfficeBoxAddress + .getAllMunicipalities(); if (postOfficeBoxAddressMunicipalities != null) { co.getPostOfficeBoxAddressMunicipalities().getPostOfficeBoxAddressMunicipality() - .addAll(convertPostOfficeBoxAddressMunicipalities(postOfficeBoxAddressMunicipalities)); + .addAll(convertPostOfficeBoxAddressMunicipalities( + postOfficeBoxAddressMunicipalities)); } co.setPostOffices(new PostOfficeList()); - Iterable postOffices = postOfficeBoxAddress.getAllPostOffices(); + Iterable postOffices = postOfficeBoxAddress + .getAllPostOffices(); if (postOffices != null) { co.getPostOffices().getPostOffice().addAll(convertPostOffices(postOffices)); } co.setPostOfficeBoxes(new PostOfficeBoxList()); - Iterable postOfficeBoxes = postOfficeBoxAddress.getAllPostOfficeBoxes(); + Iterable postOfficeBoxes = postOfficeBoxAddress + .getAllPostOfficeBoxes(); if (postOfficeBoxes != null) { - co.getPostOfficeBoxes().getPostOfficeBox().addAll(convertPostOfficeBoxes(postOfficeBoxes)); + co.getPostOfficeBoxes().getPostOfficeBox() + .addAll(convertPostOfficeBoxes(postOfficeBoxes)); } converted.add(co); @@ -376,14 +437,20 @@ public static Collection convertPostOfficeBoxAddresses( public static Collection convertPostOfficeBoxAddressAdditionalInformation( Iterable postOfficeBoxAddressAdditionalInformationList) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressAdditionalInformation postOfficeBoxAddressAdditionalInformation: - postOfficeBoxAddressAdditionalInformationList) { - PostOfficeBoxAddressAdditionalInformation co - = new PostOfficeBoxAddressAdditionalInformation(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddressAdditionalInformation.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddressAdditionalInformation.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddressAdditionalInformation.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddressAdditionalInformation.getStatusInfo().getRemoved())); + for (fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressAdditionalInformation postOfficeBoxAddressAdditionalInformation : postOfficeBoxAddressAdditionalInformationList) { + PostOfficeBoxAddressAdditionalInformation co = new PostOfficeBoxAddressAdditionalInformation(); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBoxAddressAdditionalInformation + .getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBoxAddressAdditionalInformation + .getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBoxAddressAdditionalInformation + .getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBoxAddressAdditionalInformation + .getStatusInfo().getRemoved())); co.setLanguage(postOfficeBoxAddressAdditionalInformation.getLanguage()); co.setValue(postOfficeBoxAddressAdditionalInformation.getValue()); converted.add(co); @@ -394,20 +461,29 @@ public static Collection convertPostO public static Collection convertPostOfficeBoxAddressMunicipalities( Iterable postOfficeBoxAddressMunicipalities) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipality postOfficeBoxAddressMunicipality: postOfficeBoxAddressMunicipalities) { + for (fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipality postOfficeBoxAddressMunicipality : postOfficeBoxAddressMunicipalities) { PostOfficeBoxAddressMunicipality co = new PostOfficeBoxAddressMunicipality(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddressMunicipality.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddressMunicipality.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddressMunicipality.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddressMunicipality.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar( + postOfficeBoxAddressMunicipality.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar( + postOfficeBoxAddressMunicipality.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar( + postOfficeBoxAddressMunicipality.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar( + postOfficeBoxAddressMunicipality.getStatusInfo().getRemoved())); co.setCode(postOfficeBoxAddressMunicipality.getCode()); co.setPostOfficeBoxAddressMunicipalityNames(new PostOfficeBoxAddressMunicipalityNameList()); - Iterable postOfficeBoxAddressMunicipalityNames - = postOfficeBoxAddressMunicipality.getAllMunicipalityNames(); + Iterable postOfficeBoxAddressMunicipalityNames = postOfficeBoxAddressMunicipality + .getAllMunicipalityNames(); if (postOfficeBoxAddressMunicipalityNames != null) { co.getPostOfficeBoxAddressMunicipalityNames().getPostOfficeBoxAddressMunicipalityName() - .addAll(convertPostOfficeBoxAddressMunicipalityNames(postOfficeBoxAddressMunicipalityNames)); + .addAll(convertPostOfficeBoxAddressMunicipalityNames( + postOfficeBoxAddressMunicipalityNames)); } converted.add(co); @@ -418,12 +494,20 @@ public static Collection convertPostOfficeBoxA public static Collection convertPostOfficeBoxAddressMunicipalityNames( Iterable postOfficeBoxAddressMunicipalityNames) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipalityName postOfficeBoxAddressMunicipalityName: postOfficeBoxAddressMunicipalityNames) { + for (fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipalityName postOfficeBoxAddressMunicipalityName : postOfficeBoxAddressMunicipalityNames) { PostOfficeBoxAddressMunicipalityName co = new PostOfficeBoxAddressMunicipalityName(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddressMunicipalityName.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddressMunicipalityName.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddressMunicipalityName.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBoxAddressMunicipalityName.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBoxAddressMunicipalityName.getStatusInfo() + .getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBoxAddressMunicipalityName.getStatusInfo() + .getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBoxAddressMunicipalityName.getStatusInfo() + .getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBoxAddressMunicipalityName.getStatusInfo() + .getRemoved())); co.setLanguage(postOfficeBoxAddressMunicipalityName.getLanguage()); co.setValue(postOfficeBoxAddressMunicipalityName.getValue()); converted.add(co); @@ -434,7 +518,7 @@ public static Collection convertPostOffice public static Collection convertPostOffices( Iterable postOffices) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.PostOffice postOffice: postOffices) { + for (fi.vrk.xroad.catalog.persistence.entity.PostOffice postOffice : postOffices) { PostOffice co = new PostOffice(); co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(postOffice.getStatusInfo().getChanged())); co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(postOffice.getStatusInfo().getCreated())); @@ -450,12 +534,16 @@ public static Collection convertPostOffices( public static Collection convertPostOfficeBoxes( Iterable postOfficeBoxes) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.PostOfficeBox postOfficeBox: postOfficeBoxes) { + for (fi.vrk.xroad.catalog.persistence.entity.PostOfficeBox postOfficeBox : postOfficeBoxes) { PostOfficeBox co = new PostOfficeBox(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBox.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBox.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBox.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(postOfficeBox.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBox.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBox.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBox.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(postOfficeBox.getStatusInfo().getRemoved())); co.setLanguage(postOfficeBox.getLanguage()); co.setValue(postOfficeBox.getValue()); converted.add(co); @@ -476,43 +564,53 @@ public static Company convertCompany(fi.vrk.xroad.catalog.persistence.entity.Com co.setRegistrationDate(JaxbServiceUtil.toXmlGregorianCalendar(company.getRegistrationDate())); co.setBusinessAddresses(new BusinessAddressList()); - Iterable businessAddresses = company.getAllBusinessAddresses(); + Iterable businessAddresses = company + .getAllBusinessAddresses(); if (businessAddresses != null) { - co.getBusinessAddresses().getBusinessAddress().addAll(convertBusinessAddresses(businessAddresses)); + co.getBusinessAddresses().getBusinessAddress() + .addAll(convertBusinessAddresses(businessAddresses)); } co.setBusinessAuxiliaryNames(new BusinessAuxiliaryNameList()); - Iterable businessAuxiliaryNames = company.getAllBusinessAuxiliaryNames(); + Iterable businessAuxiliaryNames = company + .getAllBusinessAuxiliaryNames(); if (businessAuxiliaryNames != null) { - co.getBusinessAuxiliaryNames().getBusinessAuxiliaryName().addAll(convertBusinessAuxiliaryNames(businessAuxiliaryNames)); + co.getBusinessAuxiliaryNames().getBusinessAuxiliaryName() + .addAll(convertBusinessAuxiliaryNames(businessAuxiliaryNames)); } co.setBusinessIdChanges(new BusinessIdChangeList()); - Iterable businessIdChanges = company.getAllBusinessIdChanges(); + Iterable businessIdChanges = company + .getAllBusinessIdChanges(); if (businessIdChanges != null) { - co.getBusinessIdChanges().getBusinessIdChange().addAll(convertBusinessIdChanges(businessIdChanges)); + co.getBusinessIdChanges().getBusinessIdChange() + .addAll(convertBusinessIdChanges(businessIdChanges)); } co.setBusinessLines(new BusinessLineList()); - Iterable businessLines = company.getAllBusinessLines(); + Iterable businessLines = company + .getAllBusinessLines(); if (businessLines != null) { co.getBusinessLines().getBusinessLine().addAll(convertBusinessLines(businessLines)); } co.setBusinessNames(new BusinessNameList()); - Iterable businessNames = company.getAllBusinessNames(); + Iterable businessNames = company + .getAllBusinessNames(); if (businessNames != null) { co.getBusinessNames().getBusinessName().addAll(convertBusinessNames(businessNames)); } co.setCompanyForms(new CompanyFormList()); - Iterable companyForms = company.getAllCompanyForms(); + Iterable companyForms = company + .getAllCompanyForms(); if (companyForms != null) { co.getCompanyForms().getCompanyForm().addAll(convertCompanyForms(companyForms)); } co.setContactDetails(new ContactDetailList()); - Iterable contactDetails = company.getAllContactDetails(); + Iterable contactDetails = company + .getAllContactDetails(); if (contactDetails != null) { co.getContactDetails().getContactDetail().addAll(convertContactDetails(contactDetails)); } @@ -524,21 +622,26 @@ public static Company convertCompany(fi.vrk.xroad.catalog.persistence.entity.Com } co.setLiquidations(new LiquidationList()); - Iterable liquidations = company.getAllLiquidations(); + Iterable liquidations = company + .getAllLiquidations(); if (liquidations != null) { co.getLiquidations().getLiquidation().addAll(convertLiquidations(liquidations)); } co.setRegisteredEntries(new RegisteredEntryList()); - Iterable registeredEntries = company.getAllRegisteredEntries(); + Iterable registeredEntries = company + .getAllRegisteredEntries(); if (registeredEntries != null) { - co.getRegisteredEntries().getRegisteredEntry().addAll(convertRegisteredEntries(registeredEntries)); + co.getRegisteredEntries().getRegisteredEntry() + .addAll(convertRegisteredEntries(registeredEntries)); } co.setRegisteredOffices(new RegisteredOfficeList()); - Iterable registeredOffices = company.getAllRegisteredOffices(); + Iterable registeredOffices = company + .getAllRegisteredOffices(); if (registeredOffices != null) { - co.getRegisteredOffices().getRegisteredOffice().addAll(convertRegisteredOffices(registeredOffices)); + co.getRegisteredOffices().getRegisteredOffice() + .addAll(convertRegisteredOffices(registeredOffices)); } return co; } @@ -546,12 +649,16 @@ public static Company convertCompany(fi.vrk.xroad.catalog.persistence.entity.Com public static Collection convertBusinessAddresses( Iterable businessAddresses) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.BusinessAddress businessAddress: businessAddresses) { + for (fi.vrk.xroad.catalog.persistence.entity.BusinessAddress businessAddress : businessAddresses) { BusinessAddress co = new BusinessAddress(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(businessAddress.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(businessAddress.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(businessAddress.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(businessAddress.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(businessAddress.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(businessAddress.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(businessAddress.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(businessAddress.getStatusInfo().getRemoved())); co.setCareOf(businessAddress.getCareOf()); co.setCity(businessAddress.getCity()); co.setCountry(businessAddress.getCountry()); @@ -561,7 +668,8 @@ public static Collection convertBusinessAddresses( co.setStreet(businessAddress.getStreet()); co.setType(businessAddress.getType()); co.setVersion(businessAddress.getVersion()); - co.setRegistrationDate(JaxbServiceUtil.toXmlGregorianCalendar(businessAddress.getRegistrationDate())); + co.setRegistrationDate( + JaxbServiceUtil.toXmlGregorianCalendar(businessAddress.getRegistrationDate())); co.setEndDate(JaxbServiceUtil.toXmlGregorianCalendar(businessAddress.getEndDate())); converted.add(co); } @@ -571,18 +679,23 @@ public static Collection convertBusinessAddresses( public static Collection convertBusinessAuxiliaryNames( Iterable businessAuxiliaryNames) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.BusinessAuxiliaryName businessAuxiliaryName: businessAuxiliaryNames) { + for (fi.vrk.xroad.catalog.persistence.entity.BusinessAuxiliaryName businessAuxiliaryName : businessAuxiliaryNames) { BusinessAuxiliaryName co = new BusinessAuxiliaryName(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(businessAuxiliaryName.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(businessAuxiliaryName.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(businessAuxiliaryName.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(businessAuxiliaryName.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(businessAuxiliaryName.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(businessAuxiliaryName.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(businessAuxiliaryName.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(businessAuxiliaryName.getStatusInfo().getRemoved())); co.setLanguage(businessAuxiliaryName.getLanguage()); co.setName(businessAuxiliaryName.getName()); co.setOrdering(businessAuxiliaryName.getOrdering()); co.setSource(businessAuxiliaryName.getSource()); co.setVersion(businessAuxiliaryName.getVersion()); - co.setRegistrationDate(JaxbServiceUtil.toXmlGregorianCalendar(businessAuxiliaryName.getRegistrationDate())); + co.setRegistrationDate(JaxbServiceUtil + .toXmlGregorianCalendar(businessAuxiliaryName.getRegistrationDate())); co.setEndDate(JaxbServiceUtil.toXmlGregorianCalendar(businessAuxiliaryName.getEndDate())); converted.add(co); } @@ -592,12 +705,16 @@ public static Collection convertBusinessAuxiliaryNames( public static Collection convertBusinessIdChanges( Iterable businessIdChanges) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.BusinessIdChange businessIdChange: businessIdChanges) { + for (fi.vrk.xroad.catalog.persistence.entity.BusinessIdChange businessIdChange : businessIdChanges) { BusinessIdChange co = new BusinessIdChange(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(businessIdChange.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(businessIdChange.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(businessIdChange.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(businessIdChange.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(businessIdChange.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(businessIdChange.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(businessIdChange.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(businessIdChange.getStatusInfo().getRemoved())); co.setLanguage(businessIdChange.getLanguage()); co.setSource(businessIdChange.getSource()); co.setChange(businessIdChange.getChange()); @@ -614,18 +731,23 @@ public static Collection convertBusinessIdChanges( public static Collection convertBusinessLines( Iterable businessLines) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.BusinessLine businessLine: businessLines) { + for (fi.vrk.xroad.catalog.persistence.entity.BusinessLine businessLine : businessLines) { BusinessLine co = new BusinessLine(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(businessLine.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(businessLine.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(businessLine.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(businessLine.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(businessLine.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(businessLine.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(businessLine.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(businessLine.getStatusInfo().getRemoved())); co.setLanguage(businessLine.getLanguage()); co.setSource(businessLine.getSource()); co.setName(businessLine.getName()); co.setOrdering(businessLine.getOrdering()); co.setVersion(businessLine.getVersion()); - co.setRegistrationDate(JaxbServiceUtil.toXmlGregorianCalendar(businessLine.getRegistrationDate())); + co.setRegistrationDate( + JaxbServiceUtil.toXmlGregorianCalendar(businessLine.getRegistrationDate())); co.setEndDate(JaxbServiceUtil.toXmlGregorianCalendar(businessLine.getEndDate())); converted.add(co); } @@ -635,18 +757,23 @@ public static Collection convertBusinessLines( public static Collection convertBusinessNames( Iterable businessNames) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.BusinessName businessName: businessNames) { + for (fi.vrk.xroad.catalog.persistence.entity.BusinessName businessName : businessNames) { BusinessName co = new BusinessName(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(businessName.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(businessName.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(businessName.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(businessName.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(businessName.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(businessName.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(businessName.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(businessName.getStatusInfo().getRemoved())); co.setLanguage(businessName.getLanguage()); co.setSource(businessName.getSource()); co.setName(businessName.getName()); co.setOrdering(businessName.getOrdering()); co.setVersion(businessName.getVersion()); - co.setRegistrationDate(JaxbServiceUtil.toXmlGregorianCalendar(businessName.getRegistrationDate())); + co.setRegistrationDate( + JaxbServiceUtil.toXmlGregorianCalendar(businessName.getRegistrationDate())); co.setEndDate(JaxbServiceUtil.toXmlGregorianCalendar(businessName.getEndDate())); converted.add(co); } @@ -656,7 +783,7 @@ public static Collection convertBusinessNames( public static Collection convertCompanyForms( Iterable companyForms) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.CompanyForm companyForm: companyForms) { + for (fi.vrk.xroad.catalog.persistence.entity.CompanyForm companyForm : companyForms) { CompanyForm co = new CompanyForm(); co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(companyForm.getStatusInfo().getChanged())); co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(companyForm.getStatusInfo().getCreated())); @@ -667,7 +794,8 @@ public static Collection convertCompanyForms( co.setName(companyForm.getName()); co.setType(companyForm.getType()); co.setVersion(companyForm.getVersion()); - co.setRegistrationDate(JaxbServiceUtil.toXmlGregorianCalendar(companyForm.getRegistrationDate())); + co.setRegistrationDate( + JaxbServiceUtil.toXmlGregorianCalendar(companyForm.getRegistrationDate())); co.setEndDate(JaxbServiceUtil.toXmlGregorianCalendar(companyForm.getEndDate())); converted.add(co); } @@ -677,18 +805,23 @@ public static Collection convertCompanyForms( public static Collection convertContactDetails( Iterable contactDetails) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.ContactDetail contactDetail: contactDetails) { + for (fi.vrk.xroad.catalog.persistence.entity.ContactDetail contactDetail : contactDetails) { ContactDetail co = new ContactDetail(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(contactDetail.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(contactDetail.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(contactDetail.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(contactDetail.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(contactDetail.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(contactDetail.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(contactDetail.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(contactDetail.getStatusInfo().getRemoved())); co.setLanguage(contactDetail.getLanguage()); co.setSource(contactDetail.getSource()); co.setValue(contactDetail.getValue()); co.setType(contactDetail.getType()); co.setVersion(contactDetail.getVersion()); - co.setRegistrationDate(JaxbServiceUtil.toXmlGregorianCalendar(contactDetail.getRegistrationDate())); + co.setRegistrationDate( + JaxbServiceUtil.toXmlGregorianCalendar(contactDetail.getRegistrationDate())); co.setEndDate(JaxbServiceUtil.toXmlGregorianCalendar(contactDetail.getEndDate())); converted.add(co); } @@ -698,7 +831,7 @@ public static Collection convertContactDetails( public static Collection convertLanguages( Iterable languages) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.Language language: languages) { + for (fi.vrk.xroad.catalog.persistence.entity.Language language : languages) { Language co = new Language(); co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(language.getStatusInfo().getChanged())); co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(language.getStatusInfo().getCreated())); @@ -718,7 +851,7 @@ public static Collection convertLanguages( public static Collection convertLiquidations( Iterable liquidations) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.Liquidation liquidation: liquidations) { + for (fi.vrk.xroad.catalog.persistence.entity.Liquidation liquidation : liquidations) { Liquidation co = new Liquidation(); co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(liquidation.getStatusInfo().getChanged())); co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(liquidation.getStatusInfo().getCreated())); @@ -729,7 +862,8 @@ public static Collection convertLiquidations( co.setName(liquidation.getName()); co.setVersion(liquidation.getVersion()); co.setType(liquidation.getType()); - co.setRegistrationDate(JaxbServiceUtil.toXmlGregorianCalendar(liquidation.getRegistrationDate())); + co.setRegistrationDate( + JaxbServiceUtil.toXmlGregorianCalendar(liquidation.getRegistrationDate())); co.setEndDate(JaxbServiceUtil.toXmlGregorianCalendar(liquidation.getEndDate())); converted.add(co); } @@ -739,18 +873,23 @@ public static Collection convertLiquidations( public static Collection convertRegisteredEntries( Iterable registeredEntries) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.RegisteredEntry registeredEntry: registeredEntries) { + for (fi.vrk.xroad.catalog.persistence.entity.RegisteredEntry registeredEntry : registeredEntries) { RegisteredEntry co = new RegisteredEntry(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(registeredEntry.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(registeredEntry.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(registeredEntry.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(registeredEntry.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(registeredEntry.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(registeredEntry.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(registeredEntry.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(registeredEntry.getStatusInfo().getRemoved())); co.setLanguage(registeredEntry.getLanguage()); co.setAuthority(registeredEntry.getAuthority()); co.setDescription(registeredEntry.getDescription()); co.setRegister(registeredEntry.getRegister()); co.setStatus(registeredEntry.getStatus()); - co.setRegistrationDate(JaxbServiceUtil.toXmlGregorianCalendar(registeredEntry.getRegistrationDate())); + co.setRegistrationDate( + JaxbServiceUtil.toXmlGregorianCalendar(registeredEntry.getRegistrationDate())); co.setEndDate(JaxbServiceUtil.toXmlGregorianCalendar(registeredEntry.getEndDate())); converted.add(co); } @@ -760,18 +899,23 @@ public static Collection convertRegisteredEntries( public static Collection convertRegisteredOffices( Iterable registeredOffices) { List converted = new ArrayList<>(); - for (fi.vrk.xroad.catalog.persistence.entity.RegisteredOffice registeredOffice: registeredOffices) { + for (fi.vrk.xroad.catalog.persistence.entity.RegisteredOffice registeredOffice : registeredOffices) { RegisteredOffice co = new RegisteredOffice(); - co.setChanged(JaxbServiceUtil.toXmlGregorianCalendar(registeredOffice.getStatusInfo().getChanged())); - co.setCreated(JaxbServiceUtil.toXmlGregorianCalendar(registeredOffice.getStatusInfo().getCreated())); - co.setFetched(JaxbServiceUtil.toXmlGregorianCalendar(registeredOffice.getStatusInfo().getFetched())); - co.setRemoved(JaxbServiceUtil.toXmlGregorianCalendar(registeredOffice.getStatusInfo().getRemoved())); + co.setChanged(JaxbServiceUtil + .toXmlGregorianCalendar(registeredOffice.getStatusInfo().getChanged())); + co.setCreated(JaxbServiceUtil + .toXmlGregorianCalendar(registeredOffice.getStatusInfo().getCreated())); + co.setFetched(JaxbServiceUtil + .toXmlGregorianCalendar(registeredOffice.getStatusInfo().getFetched())); + co.setRemoved(JaxbServiceUtil + .toXmlGregorianCalendar(registeredOffice.getStatusInfo().getRemoved())); co.setLanguage(registeredOffice.getLanguage()); co.setSource(registeredOffice.getSource()); co.setOrdering(registeredOffice.getOrdering()); co.setVersion(registeredOffice.getVersion()); co.setName(registeredOffice.getName()); - co.setRegistrationDate(JaxbServiceUtil.toXmlGregorianCalendar(registeredOffice.getRegistrationDate())); + co.setRegistrationDate( + JaxbServiceUtil.toXmlGregorianCalendar(registeredOffice.getRegistrationDate())); co.setEndDate(JaxbServiceUtil.toXmlGregorianCalendar(registeredOffice.getEndDate())); converted.add(co); } diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/JaxbServiceUtil.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/JaxbServiceUtil.java index 445d3609..b661e0dd 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/JaxbServiceUtil.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/JaxbServiceUtil.java @@ -13,10 +13,11 @@ package fi.vrk.xroad.catalog.lister.util; import fi.vrk.xroad.catalog.lister.CatalogListerRuntimeException; +import fi.vrk.xroad.catalog.lister.generated.OPENAPI; +import fi.vrk.xroad.catalog.lister.generated.WSDL; import fi.vrk.xroad.catalog.persistence.entity.OpenApi; import fi.vrk.xroad.catalog.persistence.entity.Service; import fi.vrk.xroad.catalog.persistence.entity.Wsdl; -import fi.vrk.xroad.xroad_catalog_lister.*; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; @@ -24,14 +25,15 @@ import java.time.ZoneId; import java.util.GregorianCalendar; -public class JaxbServiceUtil { +public final class JaxbServiceUtil { private JaxbServiceUtil() { } - public static fi.vrk.xroad.xroad_catalog_lister.Service convertService(Service service, boolean onlyActiveChildren) { - fi.vrk.xroad.xroad_catalog_lister.Service cs = new fi.vrk.xroad.xroad_catalog_lister.Service(); + public static fi.vrk.xroad.catalog.lister.generated.Service convertService(Service service, + boolean onlyActiveChildren) { + fi.vrk.xroad.catalog.lister.generated.Service cs = new fi.vrk.xroad.catalog.lister.generated.Service(); cs.setChanged(toXmlGregorianCalendar(service.getStatusInfo().getChanged())); cs.setCreated(toXmlGregorianCalendar(service.getStatusInfo().getCreated())); cs.setFetched(toXmlGregorianCalendar(service.getStatusInfo().getFetched())); diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/OrganizationUtil.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/OrganizationUtil.java index 225160d3..7a11712f 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/OrganizationUtil.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/OrganizationUtil.java @@ -75,7 +75,7 @@ import java.util.ArrayList; import java.util.List; -public class OrganizationUtil { +public final class OrganizationUtil { private OrganizationUtil() { @@ -83,31 +83,36 @@ private OrganizationUtil() { public static List getOrganizationNameData(Iterable organizations) { List organizationNameDataList = new ArrayList<>(); - List organizationNames = new ArrayList<>(organizations.iterator().next().getAllOrganizationNames()); - organizationNames.forEach(organizationName -> organizationNameDataList.add(OrganizationNameData.builder() - .language(organizationName.getLanguage()) - .type(organizationName.getType()) - .value(organizationName.getValue()) - .changed(organizationName.getStatusInfo().getChanged()) - .created(organizationName.getStatusInfo().getCreated()) - .fetched(organizationName.getStatusInfo().getFetched()) - .removed(organizationName.getStatusInfo().getRemoved()) - .build())); + List organizationNames = new ArrayList<>( + organizations.iterator().next().getAllOrganizationNames()); + organizationNames + .forEach(organizationName -> organizationNameDataList.add(OrganizationNameData.builder() + .language(organizationName.getLanguage()) + .type(organizationName.getType()) + .value(organizationName.getValue()) + .changed(organizationName.getStatusInfo().getChanged()) + .created(organizationName.getStatusInfo().getCreated()) + .fetched(organizationName.getStatusInfo().getFetched()) + .removed(organizationName.getStatusInfo().getRemoved()) + .build())); return organizationNameDataList; } - public static List getOrganizationDescriptionData(Iterable organizations) { + public static List getOrganizationDescriptionData( + Iterable organizations) { List organizationDescriptionDataList = new ArrayList<>(); - List organizationDescriptions = new ArrayList<>(organizations.iterator().next().getAllOrganizationDescriptions()); - organizationDescriptions.forEach(organizationDescription -> organizationDescriptionDataList.add(OrganizationDescriptionData.builder() - .language(organizationDescription.getLanguage()) - .type(organizationDescription.getType()) - .value(organizationDescription.getValue()) - .changed(organizationDescription.getStatusInfo().getChanged()) - .created(organizationDescription.getStatusInfo().getCreated()) - .fetched(organizationDescription.getStatusInfo().getFetched()) - .removed(organizationDescription.getStatusInfo().getRemoved()) - .build())); + List organizationDescriptions = new ArrayList<>( + organizations.iterator().next().getAllOrganizationDescriptions()); + organizationDescriptions.forEach(organizationDescription -> organizationDescriptionDataList + .add(OrganizationDescriptionData.builder() + .language(organizationDescription.getLanguage()) + .type(organizationDescription.getType()) + .value(organizationDescription.getValue()) + .changed(organizationDescription.getStatusInfo().getChanged()) + .created(organizationDescription.getStatusInfo().getCreated()) + .fetched(organizationDescription.getStatusInfo().getFetched()) + .removed(organizationDescription.getStatusInfo().getRemoved()) + .build())); return organizationDescriptionDataList; } @@ -118,8 +123,10 @@ public static List getAddressData(Iterable organizati .country(address.getCountry()) .type(address.getType()) .subType(address.getSubType()) - .postOfficeBoxAddressData(getPostOfficeBoxAddressData(organizations.iterator().next().getAllAddresses())) - .streetAddressData(getStreetAddressData(organizations.iterator().next().getAllAddresses())) + .postOfficeBoxAddressData(getPostOfficeBoxAddressData( + organizations.iterator().next().getAllAddresses())) + .streetAddressData( + getStreetAddressData(organizations.iterator().next().getAllAddresses())) .changed(address.getStatusInfo().getChanged()) .created(address.getStatusInfo().getCreated()) .fetched(address.getStatusInfo().getFetched()) @@ -130,25 +137,30 @@ public static List getAddressData(Iterable organizati public static List getPostOfficeBoxAddressData(Iterable
addresses) { List postOfficeBoxAddressDataList = new ArrayList<>(); - List postOfficeBoxAddresses = new ArrayList<>(addresses.iterator().next().getAllPostOfficeBoxAddresses()); - postOfficeBoxAddresses.forEach(postOfficeBoxAddress -> postOfficeBoxAddressDataList.add(PostOfficeBoxAddressData.builder() - .additionalInformation(getPostOfficeBoxAddressAdditionalInformationData(postOfficeBoxAddress)) - .postalCode(postOfficeBoxAddress.getPostalCode()) - .postOfficeBoxAddressMunicipalities(getPostOfficeBoxAddressMunicipalityData(postOfficeBoxAddress)) - .postOfficeBoxes(getPostOfficeBoxData(postOfficeBoxAddress)) - .postOffices(getPostOfficeData(postOfficeBoxAddress)) - .changed(postOfficeBoxAddress.getStatusInfo().getChanged()) - .created(postOfficeBoxAddress.getStatusInfo().getCreated()) - .fetched(postOfficeBoxAddress.getStatusInfo().getFetched()) - .removed(postOfficeBoxAddress.getStatusInfo().getRemoved()) - .build())); + List postOfficeBoxAddresses = new ArrayList<>( + addresses.iterator().next().getAllPostOfficeBoxAddresses()); + postOfficeBoxAddresses.forEach(postOfficeBoxAddress -> postOfficeBoxAddressDataList + .add(PostOfficeBoxAddressData.builder() + .additionalInformation(getPostOfficeBoxAddressAdditionalInformationData( + postOfficeBoxAddress)) + .postalCode(postOfficeBoxAddress.getPostalCode()) + .postOfficeBoxAddressMunicipalities( + getPostOfficeBoxAddressMunicipalityData( + postOfficeBoxAddress)) + .postOfficeBoxes(getPostOfficeBoxData(postOfficeBoxAddress)) + .postOffices(getPostOfficeData(postOfficeBoxAddress)) + .changed(postOfficeBoxAddress.getStatusInfo().getChanged()) + .created(postOfficeBoxAddress.getStatusInfo().getCreated()) + .fetched(postOfficeBoxAddress.getStatusInfo().getFetched()) + .removed(postOfficeBoxAddress.getStatusInfo().getRemoved()) + .build())); return postOfficeBoxAddressDataList; } - public static List getStreetAddressData(Iterable
addresses) { List streetAddressDataList = new ArrayList<>(); - List streetAddresses = new ArrayList<>(addresses.iterator().next().getAllStreetAddresses()); + List streetAddresses = new ArrayList<>( + addresses.iterator().next().getAllStreetAddresses()); streetAddresses.forEach(streetAddress -> streetAddressDataList.add(StreetAddressData.builder() .additionalInformation(getStreetAddressAdditionalInformationData(streetAddress)) .coordinateState(streetAddress.getCoordinateState()) @@ -167,18 +179,26 @@ public static List getStreetAddressData(Iterable
add return streetAddressDataList; } - public static List getStreetAddressAdditionalInformationData(StreetAddress streetAddress) { + public static List getStreetAddressAdditionalInformationData( + StreetAddress streetAddress) { List streetAddressAdditionalInformationDataList = new ArrayList<>(); - List streetAddressAdditionalInformationList = new ArrayList<>(streetAddress.getAllAdditionalInformation()); - streetAddressAdditionalInformationList.forEach(streetAddressAdditionalInformation -> streetAddressAdditionalInformationDataList.add( - StreetAddressAdditionalInformationData.builder() - .language(streetAddressAdditionalInformation.getLanguage()) - .value(streetAddressAdditionalInformation.getValue()) - .changed(streetAddressAdditionalInformation.getStatusInfo().getChanged()) - .created(streetAddressAdditionalInformation.getStatusInfo().getCreated()) - .fetched(streetAddressAdditionalInformation.getStatusInfo().getFetched()) - .removed(streetAddressAdditionalInformation.getStatusInfo().getRemoved()) - .build())); + List streetAddressAdditionalInformationList = new ArrayList<>( + streetAddress.getAllAdditionalInformation()); + streetAddressAdditionalInformationList.forEach( + streetAddressAdditionalInformation -> streetAddressAdditionalInformationDataList.add( + StreetAddressAdditionalInformationData.builder() + .language(streetAddressAdditionalInformation + .getLanguage()) + .value(streetAddressAdditionalInformation.getValue()) + .changed(streetAddressAdditionalInformation + .getStatusInfo().getChanged()) + .created(streetAddressAdditionalInformation + .getStatusInfo().getCreated()) + .fetched(streetAddressAdditionalInformation + .getStatusInfo().getFetched()) + .removed(streetAddressAdditionalInformation + .getStatusInfo().getRemoved()) + .build())); return streetAddressAdditionalInformationDataList; } @@ -196,95 +216,141 @@ public static List getStreetData(StreetAddress streetAddress) { return streetDataList; } - public static List getStreetAddressMunicipalityData(StreetAddress streetAddress) { + public static List getStreetAddressMunicipalityData( + StreetAddress streetAddress) { List streetAddressMunicipalityDataList = new ArrayList<>(); - List streetAddressMunicipalities = new ArrayList<>(streetAddress.getAllMunicipalities()); - streetAddressMunicipalities.forEach(streetAddressMunicipality -> streetAddressMunicipalityDataList.add(StreetAddressMunicipalityData.builder() - .code(streetAddressMunicipality.getCode()) - .streetAddressMunicipalityNames(getStreetAddressMunicipalityNameData(streetAddressMunicipality)) - .changed(streetAddressMunicipality.getStatusInfo().getChanged()) - .created(streetAddressMunicipality.getStatusInfo().getCreated()) - .fetched(streetAddressMunicipality.getStatusInfo().getFetched()) - .removed(streetAddressMunicipality.getStatusInfo().getRemoved()) - .build())); + List streetAddressMunicipalities = new ArrayList<>( + streetAddress.getAllMunicipalities()); + streetAddressMunicipalities.forEach(streetAddressMunicipality -> streetAddressMunicipalityDataList + .add(StreetAddressMunicipalityData.builder() + .code(streetAddressMunicipality.getCode()) + .streetAddressMunicipalityNames(getStreetAddressMunicipalityNameData( + streetAddressMunicipality)) + .changed(streetAddressMunicipality.getStatusInfo().getChanged()) + .created(streetAddressMunicipality.getStatusInfo().getCreated()) + .fetched(streetAddressMunicipality.getStatusInfo().getFetched()) + .removed(streetAddressMunicipality.getStatusInfo().getRemoved()) + .build())); return streetAddressMunicipalityDataList; } - public static List getStreetAddressMunicipalityNameData(StreetAddressMunicipality streetAddressMunicipality) { + public static List getStreetAddressMunicipalityNameData( + StreetAddressMunicipality streetAddressMunicipality) { List streetAddressMunicipalityNameDataList = new ArrayList<>(); - List streetAddressMunicipalityNames = new ArrayList<>(streetAddressMunicipality.getAllMunicipalityNames()); - streetAddressMunicipalityNames.forEach(streetAddressMunicipalityName -> streetAddressMunicipalityNameDataList.add( - StreetAddressMunicipalityNameData.builder() - .language(streetAddressMunicipalityName.getLanguage()) - .value(streetAddressMunicipalityName.getValue()) - .changed(streetAddressMunicipalityName.getStatusInfo().getChanged()) - .created(streetAddressMunicipalityName.getStatusInfo().getCreated()) - .fetched(streetAddressMunicipalityName.getStatusInfo().getFetched()) - .removed(streetAddressMunicipalityName.getStatusInfo().getRemoved()) - .build())); + List streetAddressMunicipalityNames = new ArrayList<>( + streetAddressMunicipality.getAllMunicipalityNames()); + streetAddressMunicipalityNames + .forEach(streetAddressMunicipalityName -> streetAddressMunicipalityNameDataList.add( + StreetAddressMunicipalityNameData.builder() + .language(streetAddressMunicipalityName.getLanguage()) + .value(streetAddressMunicipalityName.getValue()) + .changed(streetAddressMunicipalityName.getStatusInfo() + .getChanged()) + .created(streetAddressMunicipalityName.getStatusInfo() + .getCreated()) + .fetched(streetAddressMunicipalityName.getStatusInfo() + .getFetched()) + .removed(streetAddressMunicipalityName.getStatusInfo() + .getRemoved()) + .build())); return streetAddressMunicipalityNameDataList; } public static List getStreetAddressPostOfficeData(StreetAddress streetAddress) { List streetAddressPostOfficeDataList = new ArrayList<>(); - List streetAddressPostOffices = new ArrayList<>(streetAddress.getAllPostOffices()); - streetAddressPostOffices.forEach(streetAddressPostOffice -> streetAddressPostOfficeDataList.add(StreetAddressPostOfficeData.builder() - .language(streetAddressPostOffice.getLanguage()) - .value(streetAddressPostOffice.getValue()) - .changed(streetAddressPostOffice.getStatusInfo().getChanged()) - .created(streetAddressPostOffice.getStatusInfo().getCreated()) - .fetched(streetAddressPostOffice.getStatusInfo().getFetched()) - .removed(streetAddressPostOffice.getStatusInfo().getRemoved()) - .build())); + List streetAddressPostOffices = new ArrayList<>( + streetAddress.getAllPostOffices()); + streetAddressPostOffices.forEach(streetAddressPostOffice -> streetAddressPostOfficeDataList + .add(StreetAddressPostOfficeData.builder() + .language(streetAddressPostOffice.getLanguage()) + .value(streetAddressPostOffice.getValue()) + .changed(streetAddressPostOffice.getStatusInfo().getChanged()) + .created(streetAddressPostOffice.getStatusInfo().getCreated()) + .fetched(streetAddressPostOffice.getStatusInfo().getFetched()) + .removed(streetAddressPostOffice.getStatusInfo().getRemoved()) + .build())); return streetAddressPostOfficeDataList; } - public static List getPostOfficeBoxAddressAdditionalInformationData(PostOfficeBoxAddress postOfficeBoxAddress) { + public static List getPostOfficeBoxAddressAdditionalInformationData( + PostOfficeBoxAddress postOfficeBoxAddress) { List postOfficeBoxAddressAdditionalInformationDataList = new ArrayList<>(); - List postOfficeBoxAddressAdditionalInformationList = - new ArrayList<>(postOfficeBoxAddress.getAllAdditionalInformation()); + List postOfficeBoxAddressAdditionalInformationList = new ArrayList<>( + postOfficeBoxAddress.getAllAdditionalInformation()); postOfficeBoxAddressAdditionalInformationList.forEach( - postOfficeBoxAddressAdditionalInformation -> postOfficeBoxAddressAdditionalInformationDataList.add( - PostOfficeBoxAddressAdditionalInformationData.builder() - .language(postOfficeBoxAddressAdditionalInformation.getLanguage()) - .value(postOfficeBoxAddressAdditionalInformation.getValue()) - .changed(postOfficeBoxAddressAdditionalInformation.getStatusInfo().getChanged()) - .created(postOfficeBoxAddressAdditionalInformation.getStatusInfo().getCreated()) - .fetched(postOfficeBoxAddressAdditionalInformation.getStatusInfo().getFetched()) - .removed(postOfficeBoxAddressAdditionalInformation.getStatusInfo().getRemoved()) - .build())); + postOfficeBoxAddressAdditionalInformation -> postOfficeBoxAddressAdditionalInformationDataList + .add( + PostOfficeBoxAddressAdditionalInformationData.builder() + .language(postOfficeBoxAddressAdditionalInformation + .getLanguage()) + .value(postOfficeBoxAddressAdditionalInformation + .getValue()) + .changed(postOfficeBoxAddressAdditionalInformation + .getStatusInfo() + .getChanged()) + .created(postOfficeBoxAddressAdditionalInformation + .getStatusInfo() + .getCreated()) + .fetched(postOfficeBoxAddressAdditionalInformation + .getStatusInfo() + .getFetched()) + .removed(postOfficeBoxAddressAdditionalInformation + .getStatusInfo() + .getRemoved()) + .build())); return postOfficeBoxAddressAdditionalInformationDataList; } - public static List getPostOfficeBoxAddressMunicipalityData(PostOfficeBoxAddress postOfficeBoxAddress) { + public static List getPostOfficeBoxAddressMunicipalityData( + PostOfficeBoxAddress postOfficeBoxAddress) { List postOfficeBoxAddressMunicipalityDataList = new ArrayList<>(); - List postOfficeBoxAddressMunicipalities = new ArrayList<>(postOfficeBoxAddress.getAllMunicipalities()); - postOfficeBoxAddressMunicipalities.forEach(postOfficeBoxAddressMunicipality -> postOfficeBoxAddressMunicipalityDataList.add( - PostOfficeBoxAddressMunicipalityData.builder() - .code(postOfficeBoxAddressMunicipality.getCode()) - .postOfficeBoxAddressMunicipalityNames(getPostOfficeBoxAddressMunicipalityNameData(postOfficeBoxAddressMunicipality)) - .changed(postOfficeBoxAddressMunicipality.getStatusInfo().getChanged()) - .created(postOfficeBoxAddressMunicipality.getStatusInfo().getCreated()) - .fetched(postOfficeBoxAddressMunicipality.getStatusInfo().getFetched()) - .removed(postOfficeBoxAddressMunicipality.getStatusInfo().getRemoved()) - .build())); + List postOfficeBoxAddressMunicipalities = new ArrayList<>( + postOfficeBoxAddress.getAllMunicipalities()); + postOfficeBoxAddressMunicipalities.forEach( + postOfficeBoxAddressMunicipality -> postOfficeBoxAddressMunicipalityDataList.add( + PostOfficeBoxAddressMunicipalityData.builder() + .code(postOfficeBoxAddressMunicipality.getCode()) + .postOfficeBoxAddressMunicipalityNames( + getPostOfficeBoxAddressMunicipalityNameData( + postOfficeBoxAddressMunicipality)) + .changed(postOfficeBoxAddressMunicipality + .getStatusInfo().getChanged()) + .created(postOfficeBoxAddressMunicipality + .getStatusInfo().getCreated()) + .fetched(postOfficeBoxAddressMunicipality + .getStatusInfo().getFetched()) + .removed(postOfficeBoxAddressMunicipality + .getStatusInfo().getRemoved()) + .build())); return postOfficeBoxAddressMunicipalityDataList; } public static List getPostOfficeBoxAddressMunicipalityNameData( PostOfficeBoxAddressMunicipality postOfficeBoxAddressMunicipality) { List postOfficeBoxAddressMunicipalityNameDataList = new ArrayList<>(); - List postOfficeBoxAddressMunicipalityNames = - new ArrayList<>(postOfficeBoxAddressMunicipality.getAllMunicipalityNames()); - postOfficeBoxAddressMunicipalityNames.forEach(postOfficeBoxAddressMunicipalityName -> postOfficeBoxAddressMunicipalityNameDataList.add( - PostOfficeBoxAddressMunicipalityNameData.builder() - .language(postOfficeBoxAddressMunicipalityName.getLanguage()) - .value(postOfficeBoxAddressMunicipalityName.getValue()) - .changed(postOfficeBoxAddressMunicipalityName.getStatusInfo().getChanged()) - .created(postOfficeBoxAddressMunicipalityName.getStatusInfo().getCreated()) - .fetched(postOfficeBoxAddressMunicipalityName.getStatusInfo().getFetched()) - .removed(postOfficeBoxAddressMunicipalityName.getStatusInfo().getRemoved()) - .build())); + List postOfficeBoxAddressMunicipalityNames = new ArrayList<>( + postOfficeBoxAddressMunicipality.getAllMunicipalityNames()); + postOfficeBoxAddressMunicipalityNames.forEach( + postOfficeBoxAddressMunicipalityName -> postOfficeBoxAddressMunicipalityNameDataList + .add( + PostOfficeBoxAddressMunicipalityNameData.builder() + .language(postOfficeBoxAddressMunicipalityName + .getLanguage()) + .value(postOfficeBoxAddressMunicipalityName + .getValue()) + .changed(postOfficeBoxAddressMunicipalityName + .getStatusInfo() + .getChanged()) + .created(postOfficeBoxAddressMunicipalityName + .getStatusInfo() + .getCreated()) + .fetched(postOfficeBoxAddressMunicipalityName + .getStatusInfo() + .getFetched()) + .removed(postOfficeBoxAddressMunicipalityName + .getStatusInfo() + .getRemoved()) + .build())); return postOfficeBoxAddressMunicipalityNameDataList; } @@ -367,7 +433,8 @@ public static List getPhoneNumberData(Iterable or public static List getBusinessAddressData(Iterable companies) { List businessAddressDataList = new ArrayList<>(); - List businessAddresses = new ArrayList<>(companies.iterator().next().getAllBusinessAddresses()); + List businessAddresses = new ArrayList<>( + companies.iterator().next().getAllBusinessAddresses()); businessAddresses.forEach(businessAddress -> businessAddressDataList.add(BusinessAddressData.builder() .careOf(businessAddress.getCareOf()) .street(businessAddress.getStreet()) @@ -389,40 +456,44 @@ public static List getBusinessAddressData(Iterable public static List getBusinessAuxiliaryNameData(Iterable companies) { List businessAuxiliaryNameDataList = new ArrayList<>(); - List businessAuxiliaryNames = new ArrayList<>(companies.iterator().next().getAllBusinessAuxiliaryNames()); - businessAuxiliaryNames.forEach(businessAuxiliaryName -> businessAuxiliaryNameDataList.add(BusinessAuxiliaryNameData.builder() - .language(businessAuxiliaryName.getLanguage()) - .source(businessAuxiliaryName.getSource()) - .version(businessAuxiliaryName.getVersion()) - .name(businessAuxiliaryName.getName()) - .ordering(businessAuxiliaryName.getOrdering()) - .endDate(businessAuxiliaryName.getEndDate()) - .registrationDate(businessAuxiliaryName.getRegistrationDate()) - .changed(businessAuxiliaryName.getStatusInfo().getChanged()) - .created(businessAuxiliaryName.getStatusInfo().getCreated()) - .fetched(businessAuxiliaryName.getStatusInfo().getFetched()) - .removed(businessAuxiliaryName.getStatusInfo().getRemoved()) - .build())); + List businessAuxiliaryNames = new ArrayList<>( + companies.iterator().next().getAllBusinessAuxiliaryNames()); + businessAuxiliaryNames.forEach(businessAuxiliaryName -> businessAuxiliaryNameDataList + .add(BusinessAuxiliaryNameData.builder() + .language(businessAuxiliaryName.getLanguage()) + .source(businessAuxiliaryName.getSource()) + .version(businessAuxiliaryName.getVersion()) + .name(businessAuxiliaryName.getName()) + .ordering(businessAuxiliaryName.getOrdering()) + .endDate(businessAuxiliaryName.getEndDate()) + .registrationDate(businessAuxiliaryName.getRegistrationDate()) + .changed(businessAuxiliaryName.getStatusInfo().getChanged()) + .created(businessAuxiliaryName.getStatusInfo().getCreated()) + .fetched(businessAuxiliaryName.getStatusInfo().getFetched()) + .removed(businessAuxiliaryName.getStatusInfo().getRemoved()) + .build())); return businessAuxiliaryNameDataList; } public static List getBusinessIdChangeData(Iterable companies) { List businessIdChangeDataList = new ArrayList<>(); - List businessIdChanges = new ArrayList<>(companies.iterator().next().getAllBusinessIdChanges()); - businessIdChanges.forEach(businessIdChange -> businessIdChangeDataList.add(BusinessIdChangeData.builder() - .language(businessIdChange.getLanguage()) - .source(businessIdChange.getSource()) - .description(businessIdChange.getDescription()) - .change(businessIdChange.getChange()) - .oldBusinessId(businessIdChange.getOldBusinessId()) - .newBusinessId(businessIdChange.getNewBusinessId()) - .reason(businessIdChange.getReason()) - .changeDate(businessIdChange.getChangeDate()) - .changed(businessIdChange.getStatusInfo().getChanged()) - .created(businessIdChange.getStatusInfo().getCreated()) - .fetched(businessIdChange.getStatusInfo().getFetched()) - .removed(businessIdChange.getStatusInfo().getRemoved()) - .build())); + List businessIdChanges = new ArrayList<>( + companies.iterator().next().getAllBusinessIdChanges()); + businessIdChanges + .forEach(businessIdChange -> businessIdChangeDataList.add(BusinessIdChangeData.builder() + .language(businessIdChange.getLanguage()) + .source(businessIdChange.getSource()) + .description(businessIdChange.getDescription()) + .change(businessIdChange.getChange()) + .oldBusinessId(businessIdChange.getOldBusinessId()) + .newBusinessId(businessIdChange.getNewBusinessId()) + .reason(businessIdChange.getReason()) + .changeDate(businessIdChange.getChangeDate()) + .changed(businessIdChange.getStatusInfo().getChanged()) + .created(businessIdChange.getStatusInfo().getCreated()) + .fetched(businessIdChange.getStatusInfo().getFetched()) + .removed(businessIdChange.getStatusInfo().getRemoved()) + .build())); return businessIdChangeDataList; } @@ -485,7 +556,8 @@ public static List getCompanyFormData(Iterable compani public static List getContactDetailData(Iterable companies) { List contactDetailDataList = new ArrayList<>(); - List contactDetails = new ArrayList<>(companies.iterator().next().getAllContactDetails()); + List contactDetails = new ArrayList<>( + companies.iterator().next().getAllContactDetails()); contactDetails.forEach(contactDetail -> contactDetailDataList.add(ContactDetailData.builder() .language(contactDetail.getLanguage()) .source(contactDetail.getSource()) @@ -540,7 +612,8 @@ public static List getLiquidationData(Iterable compani public static List getRegisteredEntryData(Iterable companies) { List registeredEntryDataList = new ArrayList<>(); - List registeredEntries = new ArrayList<>(companies.iterator().next().getAllRegisteredEntries()); + List registeredEntries = new ArrayList<>( + companies.iterator().next().getAllRegisteredEntries()); registeredEntries.forEach(registeredEntry -> registeredEntryDataList.add(RegisteredEntryData.builder() .language(registeredEntry.getLanguage()) .endDate(registeredEntry.getEndDate()) @@ -559,20 +632,22 @@ public static List getRegisteredEntryData(Iterable public static List getRegisteredOfficeData(Iterable companies) { List registeredOfficeDataList = new ArrayList<>(); - List registeredOffices = new ArrayList<>(companies.iterator().next().getAllRegisteredOffices()); - registeredOffices.forEach(registeredOffice -> registeredOfficeDataList.add(RegisteredOfficeData.builder() - .language(registeredOffice.getLanguage()) - .endDate(registeredOffice.getEndDate()) - .registrationDate(registeredOffice.getRegistrationDate()) - .name(registeredOffice.getName()) - .ordering(registeredOffice.getOrdering()) - .source(registeredOffice.getSource()) - .version(registeredOffice.getVersion()) - .changed(registeredOffice.getStatusInfo().getChanged()) - .created(registeredOffice.getStatusInfo().getCreated()) - .fetched(registeredOffice.getStatusInfo().getFetched()) - .removed(registeredOffice.getStatusInfo().getRemoved()) - .build())); + List registeredOffices = new ArrayList<>( + companies.iterator().next().getAllRegisteredOffices()); + registeredOffices + .forEach(registeredOffice -> registeredOfficeDataList.add(RegisteredOfficeData.builder() + .language(registeredOffice.getLanguage()) + .endDate(registeredOffice.getEndDate()) + .registrationDate(registeredOffice.getRegistrationDate()) + .name(registeredOffice.getName()) + .ordering(registeredOffice.getOrdering()) + .source(registeredOffice.getSource()) + .version(registeredOffice.getVersion()) + .changed(registeredOffice.getStatusInfo().getChanged()) + .created(registeredOffice.getStatusInfo().getCreated()) + .fetched(registeredOffice.getStatusInfo().getFetched()) + .removed(registeredOffice.getStatusInfo().getRemoved()) + .build())); return registeredOfficeDataList; } } diff --git a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/ServiceUtil.java b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/ServiceUtil.java index d1d076de..0dfa77b2 100644 --- a/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/ServiceUtil.java +++ b/xroad-catalog-lister/src/main/java/fi/vrk/xroad/catalog/lister/util/ServiceUtil.java @@ -32,7 +32,7 @@ import java.util.Set; import javax.xml.parsers.ParserConfigurationException; -public class ServiceUtil { +public final class ServiceUtil { private ServiceUtil() { @@ -58,9 +58,11 @@ public static void printCSVRecord(CSVPrinter csvPrinter, List data) { } } - public static void printListOfServicesCSV(CSVPrinter csvPrinter, List memberDataList, List securityServerList) { + public static void printListOfServicesCSV(CSVPrinter csvPrinter, List memberDataList, + List securityServerList) { memberDataList.forEach(memberList -> { - printCSVRecord(csvPrinter, Arrays.asList(memberList.getDate().toString(), "", "", "", "", "", "", "", "", "", "", "", "")); + printCSVRecord(csvPrinter, + Arrays.asList(memberList.getDate().toString(), "", "", "", "", "", "", "", "", "", "", "", "")); memberList.getMemberDataList().forEach(memberData -> { String memberCreated = memberData.getCreated().toString(); String xRoadInstance = memberData.getXRoadInstance(); @@ -76,32 +78,40 @@ public static void printListOfServicesCSV(CSVPrinter csvPrinter, List { if (subsystemData.getServiceList().isEmpty() || subsystemData.getServiceList() == null) { - printCSVRecord(csvPrinter, Arrays.asList("", xRoadInstance, memberClass, memberCode, memberName, memberCreated, - subsystemData.getSubsystemCode(), subsystemData.getCreated().toString(), subsystemData.getActive().toString(), - "", "", "", "")); + printCSVRecord(csvPrinter, + Arrays.asList("", xRoadInstance, memberClass, memberCode, memberName, memberCreated, + subsystemData.getSubsystemCode(), subsystemData.getCreated().toString(), + subsystemData.getActive().toString(), + "", "", "", "")); } subsystemData.getServiceList().forEach(serviceData -> printCSVRecord(csvPrinter, Arrays.asList( - "", xRoadInstance, memberClass, memberCode, memberName, memberCreated, subsystemData.getSubsystemCode(), - subsystemData.getCreated().toString(), subsystemData.getActive().toString(), serviceData.getServiceCode(), - serviceData.getServiceVersion(), serviceData.getCreated().toString(), serviceData.getActive().toString()))); + "", xRoadInstance, memberClass, memberCode, memberName, memberCreated, + subsystemData.getSubsystemCode(), + subsystemData.getCreated().toString(), subsystemData.getActive().toString(), + serviceData.getServiceCode(), + serviceData.getServiceVersion(), serviceData.getCreated().toString(), + serviceData.getActive().toString()))); }); }); }); if (securityServerList != null && !securityServerList.isEmpty()) { - printCSVRecord(csvPrinter, Arrays.asList("", "Security server (SS) info:", "", "", "", "", "", "", "", "", "", "", "")); - printCSVRecord(csvPrinter, Arrays.asList("instance", "member class", "member code", "server code", "address", "", "", "", "", "","", "", "")); - - securityServerList.forEach(securityServerInfo -> printCSVRecord(csvPrinter, Arrays.asList(securityServerInfo.getXRoadInstance(), - securityServerInfo.getMemberClass(), securityServerInfo.getMemberCode(), - securityServerInfo.getServerCode(), securityServerInfo.getAddress() - , "", "", "", "", "", "", "", ""))); + printCSVRecord(csvPrinter, + Arrays.asList("", "Security server (SS) info:", "", "", "", "", "", "", "", "", "", "", "")); + printCSVRecord(csvPrinter, Arrays.asList("instance", "member class", "member code", "server code", + "address", "", "", "", "", "", "", "", "")); + + securityServerList.forEach(securityServerInfo -> printCSVRecord(csvPrinter, + Arrays.asList(securityServerInfo.getXRoadInstance(), + securityServerInfo.getMemberClass(), securityServerInfo.getMemberCode(), + securityServerInfo.getServerCode(), securityServerInfo.getAddress(), "", "", "", "", "", "", + "", ""))); } } public static List getSecurityServerInfoList(SharedParamsParser sharedParamsParser, - String sharedParamsFile) { + String sharedParamsFile) { List securityServerList = new ArrayList<>(); try { Set securityServerInfos = sharedParamsParser.parseInfo(sharedParamsFile); @@ -115,23 +125,25 @@ public static List getSecurityServerInfoList(SharedParamsPar } public static SecurityServerDataList getSecurityServerDataList(SharedParamsParser sharedParamsParser, - String sharedParamsFile) { + String sharedParamsFile) { SecurityServerDataList securityServerDataList; try { securityServerDataList = sharedParamsParser.parseDetails(sharedParamsFile); } catch (ParserConfigurationException | IOException | SAXException e) { - throw new CatalogListerRuntimeException("Exception when parsing security server data from sharedParams file: " + e); + throw new CatalogListerRuntimeException( + "Exception when parsing security server data from sharedParams file: " + e); } return securityServerDataList; } public static List getDescriptorInfoList(SharedParamsParser sharedParamsParser, - String sharedParamsFile) { + String sharedParamsFile) { List descriptorInfoList; try { descriptorInfoList = sharedParamsParser.parseDescriptorInfo(sharedParamsFile); } catch (ParserConfigurationException | IOException | SAXException e) { - throw new CatalogListerRuntimeException("Exception when parsing descriptor info from sharedParams file: " + e); + throw new CatalogListerRuntimeException( + "Exception when parsing descriptor info from sharedParams file: " + e); } return descriptorInfoList; } diff --git a/xroad-catalog-lister/src/main/resources/version.properties b/xroad-catalog-lister/src/main/resources/version.properties index 7063ed5f..fa5511b8 100644 --- a/xroad-catalog-lister/src/main/resources/version.properties +++ b/xroad-catalog-lister/src/main/resources/version.properties @@ -1,2 +1,2 @@ xroad-catalog.app-name=X-Road Catalog Lister -xroad-catalog.app-version=3.0.4 \ No newline at end of file +xroad-catalog.app-version=4.0.0 diff --git a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/ApplicationTests.java b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/ApplicationTests.java index 8f8bf33d..b5464e5c 100644 --- a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/ApplicationTests.java +++ b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/ApplicationTests.java @@ -18,35 +18,35 @@ import fi.vrk.xroad.catalog.persistence.entity.Service; import fi.vrk.xroad.catalog.persistence.entity.Subsystem; import fi.vrk.xroad.catalog.persistence.entity.Wsdl; -import fi.vrk.xroad.xroad_catalog_lister.ChangedValue; -import fi.vrk.xroad.xroad_catalog_lister.Company; -import fi.vrk.xroad.xroad_catalog_lister.Email; -import fi.vrk.xroad.xroad_catalog_lister.EmailList; -import fi.vrk.xroad.xroad_catalog_lister.ErrorLog; -import fi.vrk.xroad.xroad_catalog_lister.GetCompanies; -import fi.vrk.xroad.xroad_catalog_lister.GetCompaniesResponse; -import fi.vrk.xroad.xroad_catalog_lister.GetErrors; -import fi.vrk.xroad.xroad_catalog_lister.GetErrorsResponse; -import fi.vrk.xroad.xroad_catalog_lister.GetOpenAPI; -import fi.vrk.xroad.xroad_catalog_lister.GetOpenAPIResponse; -import fi.vrk.xroad.xroad_catalog_lister.GetOrganizations; -import fi.vrk.xroad.xroad_catalog_lister.GetOrganizationsResponse; -import fi.vrk.xroad.xroad_catalog_lister.GetServiceType; -import fi.vrk.xroad.xroad_catalog_lister.GetServiceTypeResponse; -import fi.vrk.xroad.xroad_catalog_lister.GetWsdl; -import fi.vrk.xroad.xroad_catalog_lister.GetWsdlResponse; -import fi.vrk.xroad.xroad_catalog_lister.HasCompanyChanged; -import fi.vrk.xroad.xroad_catalog_lister.HasCompanyChangedResponse; -import fi.vrk.xroad.xroad_catalog_lister.HasOrganizationChanged; -import fi.vrk.xroad.xroad_catalog_lister.HasOrganizationChangedResponse; -import fi.vrk.xroad.xroad_catalog_lister.IsProvider; -import fi.vrk.xroad.xroad_catalog_lister.IsProviderResponse; -import fi.vrk.xroad.xroad_catalog_lister.ListMembers; -import fi.vrk.xroad.xroad_catalog_lister.ListMembersResponse; -import fi.vrk.xroad.xroad_catalog_lister.Member; -import fi.vrk.xroad.xroad_catalog_lister.Organization; -import fi.vrk.xroad.xroad_catalog_lister.WebPage; -import fi.vrk.xroad.xroad_catalog_lister.WebPageList; +import fi.vrk.xroad.catalog.lister.generated.ChangedValue; +import fi.vrk.xroad.catalog.lister.generated.Company; +import fi.vrk.xroad.catalog.lister.generated.Email; +import fi.vrk.xroad.catalog.lister.generated.EmailList; +import fi.vrk.xroad.catalog.lister.generated.ErrorLog; +import fi.vrk.xroad.catalog.lister.generated.GetCompanies; +import fi.vrk.xroad.catalog.lister.generated.GetCompaniesResponse; +import fi.vrk.xroad.catalog.lister.generated.GetErrors; +import fi.vrk.xroad.catalog.lister.generated.GetErrorsResponse; +import fi.vrk.xroad.catalog.lister.generated.GetOpenAPI; +import fi.vrk.xroad.catalog.lister.generated.GetOpenAPIResponse; +import fi.vrk.xroad.catalog.lister.generated.GetOrganizations; +import fi.vrk.xroad.catalog.lister.generated.GetOrganizationsResponse; +import fi.vrk.xroad.catalog.lister.generated.GetServiceType; +import fi.vrk.xroad.catalog.lister.generated.GetServiceTypeResponse; +import fi.vrk.xroad.catalog.lister.generated.GetWsdl; +import fi.vrk.xroad.catalog.lister.generated.GetWsdlResponse; +import fi.vrk.xroad.catalog.lister.generated.HasCompanyChanged; +import fi.vrk.xroad.catalog.lister.generated.HasCompanyChangedResponse; +import fi.vrk.xroad.catalog.lister.generated.HasOrganizationChanged; +import fi.vrk.xroad.catalog.lister.generated.HasOrganizationChangedResponse; +import fi.vrk.xroad.catalog.lister.generated.IsProvider; +import fi.vrk.xroad.catalog.lister.generated.IsProviderResponse; +import fi.vrk.xroad.catalog.lister.generated.ListMembers; +import fi.vrk.xroad.catalog.lister.generated.ListMembersResponse; +import fi.vrk.xroad.catalog.lister.generated.Member; +import fi.vrk.xroad.catalog.lister.generated.Organization; +import fi.vrk.xroad.catalog.lister.generated.WebPage; +import fi.vrk.xroad.catalog.lister.generated.WebPageList; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; @@ -75,809 +75,840 @@ import static org.mockito.BDDMockito.given; @SpringBootTest(classes = ListerApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -@ActiveProfiles({"default","fi"}) +@ActiveProfiles({ "default", "fi" }) @TestInstance(TestInstance.Lifecycle.PER_CLASS) public class ApplicationTests { - private final Jaxb2Marshaller marshaller = new Jaxb2Marshaller(); - - @LocalServerPort - private int port; - - @MockBean - CatalogService catalogService; - - @MockBean - JaxbCatalogService jaxbCatalogService; - - @MockBean - JaxbCompanyService jaxbCompanyService; - - @MockBean - JaxbOrganizationService jaxbOrganizationService; - - @BeforeAll - public void init() throws Exception { - marshaller.setPackagesToScan(ClassUtils.getPackageName(ListMembers.class)); - marshaller.afterPropertiesSet(); - } - - @Test - public void testListServices() { - mockMembersForListServices(); - ListMembers request = new ListMembers(); - XMLGregorianCalendar startDateTime = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2020, 1, 1, 1, 1)); - XMLGregorianCalendar endDateTime = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2030, 1, 31, 1, 1)); - request.setStartDateTime(startDateTime); - request.setEndDateTime(endDateTime); - ListMembersResponse result = (ListMembersResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws", request); - assertNotNull(result); - assertEquals(3, result.getMemberList().getMember().size()); - } - - @Test - public void testGetServiceType() { - GetServiceType request = new GetServiceType(); - request.setXRoadInstance("dev-cs"); - request.setMemberClass("PUB"); - request.setMemberCode("14151328"); - request.setServiceCode("testService"); - request.setSubsystemCode("TestSubSystem"); - request.setServiceVersion("v1"); - - mockServicesForGetServiceType( - request.getXRoadInstance(), - request.getMemberClass(), - request.getMemberCode(), - request.getSubsystemCode(), - request.getServiceCode(), - request.getServiceVersion(), - "SOAP"); - - GetServiceTypeResponse result = (GetServiceTypeResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetServiceType/", request); - assertNotNull(result); - assertEquals("SOAP", result.getType()); - - request.setServiceCode("getAnotherRandom"); - mockServicesForGetServiceType( - request.getXRoadInstance(), - request.getMemberClass(), - request.getMemberCode(), - request.getSubsystemCode(), - request.getServiceCode(), - request.getServiceVersion(), - "REST"); - result = (GetServiceTypeResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetServiceType/", request); - assertNotNull(result); - assertEquals("REST", result.getType()); - - request.setServiceCode("getRandom"); - mockServicesForGetServiceType( - request.getXRoadInstance(), - request.getMemberClass(), - request.getMemberCode(), - request.getSubsystemCode(), - request.getServiceCode(), - request.getServiceVersion(), - "OPENAPI"); - result = (GetServiceTypeResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetServiceType/", request); - assertNotNull(result); - assertEquals("OPENAPI", result.getType()); - - } - - @Test - public void testGetServiceTypeException() { - boolean thrown = false; - String exceptionMessage = null; - try { - GetServiceType request = new GetServiceType(); - request.setXRoadInstance("dev-cs"); - request.setMemberClass("PUB"); - request.setMemberCode("14151328"); - request.setServiceCode("testService123"); - request.setSubsystemCode("TestSubSystem"); - request.setServiceVersion("v1"); - new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetServiceType/", request); - } catch (SoapFaultClientException e) { - thrown = true; - exceptionMessage = e.getMessage(); - } - assertTrue(thrown); - assertEquals(exceptionMessage, "Service with xRoadInstance \"dev-cs\", " + - "memberClass \"PUB\", memberCode \"14151328\", subsystemCode \"TestSubSystem\", serviceCode \"testService123\" " + - "and serviceVersion \"v1\" not found"); - } - - @Test - public void testGetWsdl() { - GetWsdl request = new GetWsdl(); - request.setExternalId("1000"); - given(catalogService.getWsdl(request.getExternalId())).willReturn(new Wsdl(new Service(), "This is WSDL", request.getExternalId())); - GetWsdlResponse result = (GetWsdlResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetWsdl/", request); - assertNotNull(result); - assertEquals("This is WSDL", result.getWsdl()); - } - - @Test - public void testGetWsdlException() { - boolean thrown = false; - String exceptionMessage = null; - try { - GetWsdl request = new GetWsdl(); - request.setExternalId("1001"); - new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetWsdl/", request); - } catch (SoapFaultClientException e) { - thrown = true; - exceptionMessage = e.getMessage(); - } - assertTrue(thrown); - assertEquals("wsdl with external id 1001 not found", exceptionMessage); - } - - @Test - public void testGetOpenApi() { - GetOpenAPI request = new GetOpenAPI(); - request.setExternalId("3003"); - given(catalogService.getOpenApi(request.getExternalId())).willReturn(new OpenApi(new Service(), "This is OpenAPI", request.getExternalId())); - GetOpenAPIResponse result = (GetOpenAPIResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetOpenAPI/", request); - assertNotNull(result); - assertEquals("This is OpenAPI", result.getOpenapi()); - } - - @Test - public void testGetOpenApiException() { - boolean thrown = false; - String exceptionMessage = null; - try { - GetOpenAPI request = new GetOpenAPI(); - request.setExternalId("3001"); - new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetOpenAPI/", request); - } catch (SoapFaultClientException e) { - thrown = true; - exceptionMessage = e.getMessage(); - } - assertTrue(thrown); - assertEquals("OpenApi with external id 3001 not found", exceptionMessage); - } - - @Test - public void testIsProvider() { - IsProvider request = new IsProvider(); - request.setXRoadInstance("dev-cs"); - request.setMemberClass("PUB"); - request.setMemberCode("14151328"); - mockProvider(request.getXRoadInstance(), request.getMemberClass(), request.getMemberCode()); - IsProviderResponse result = (IsProviderResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/IsProvider/", request); - assertNotNull(result); - assertTrue(result.isProvider()); - } - - @Test - public void testIsProviderFalse() { - IsProvider request = new IsProvider(); - request.setXRoadInstance("dev-cs"); - request.setMemberClass("PUB"); - request.setMemberCode("88855888"); - mockNoProvider(request.getXRoadInstance(), request.getMemberClass(), request.getMemberCode()); - IsProviderResponse result = (IsProviderResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/IsProvider/", request); - assertNotNull(result); - assertFalse(result.isProvider()); - } - - @Test - public void testIsProviderException() { - boolean thrown = false; - String exceptionMessage = null; - try { - IsProvider request = new IsProvider(); - request.setXRoadInstance("dev-cs"); - request.setMemberClass("PUB"); - request.setMemberCode("123"); - new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/IsProvider/", request); - } catch (SoapFaultClientException e) { - thrown = true; - exceptionMessage = e.getMessage(); - } - assertTrue(thrown); - assertEquals("Member with xRoadInstance \"dev-cs\", memberClass \"PUB\" and memberCode \"123\" not found", exceptionMessage); - } - - @Test - public void testGetOrganizations() { - String businessCode = "0123456-9"; - String emailAddress = "vaasa@vaasa.fi"; - String url = "https://www.vaasa.fi/"; - GetOrganizations request = new GetOrganizations(); - request.setBusinessCode(businessCode); - mockOrganizations(businessCode, emailAddress, url); - GetOrganizationsResponse result = (GetOrganizationsResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetOrganizations/", request); - assertNotNull(result); - assertEquals(1, result.getOrganizationList().getOrganization().size()); - assertEquals(businessCode, result.getOrganizationList().getOrganization().get(0).getBusinessCode()); - assertEquals(emailAddress, result.getOrganizationList().getOrganization().get(0).getEmails().getEmail().get(0).getValue()); - assertEquals(url, result.getOrganizationList().getOrganization().get(0).getWebPages().getWebPage().get(0).getUrl()); - } - - @Test - public void testGetOrganizationsException() { - boolean thrown = false; - String exceptionMessage = null; - try { - GetOrganizations request = new GetOrganizations(); - request.setBusinessCode("0123456-1"); - GetOrganizationsResponse result = (GetOrganizationsResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetOrganizations/", request); - } catch (SoapFaultClientException e) { - thrown = true; - exceptionMessage = e.getMessage(); - } - assertTrue(thrown); - assertEquals("Organizations with businessCode 0123456-1 not found", exceptionMessage); - } - - @Test - public void testHasOrganizationChangedValueList() { - HasOrganizationChanged request = new HasOrganizationChanged(); - request.setGuid("abcdef123456"); - LocalDateTime changedAfter = LocalDateTime.of(2015, Month.JULY, 29, 19, 30, 40); - LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); - GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); - GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); - XMLGregorianCalendar startDateTime = null; - XMLGregorianCalendar endDateTime = null; - try { - startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); - endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); - } catch (DatatypeConfigurationException e) { - e.printStackTrace(); - } - request.setStartDateTime(startDateTime); - request.setEndDateTime(endDateTime); - mockChangedOrganizationMultipleValues(request.getGuid(), request.getStartDateTime(), request.getEndDateTime()); - HasOrganizationChangedResponse result = (HasOrganizationChangedResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/HasOrganizationChanged/", request); - assertNotNull(result); - assertTrue(result.isChanged()); - assertEquals(7, result.getChangedValueList().getChangedValue().size()); - } - - @Test - public void testHasOrganizationChangedSingleValue() { - String guid = "abcdef123456"; - HasOrganizationChanged request = new HasOrganizationChanged(); - request.setGuid(guid); - LocalDateTime changedAfter = LocalDateTime.of(2019, Month.JULY, 29, 19, 30, 40); - LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); - GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); - GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); - XMLGregorianCalendar startDateTime = null; - XMLGregorianCalendar endDateTime = null; - try { - startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); - endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); - } catch (DatatypeConfigurationException e) { - e.printStackTrace(); - } - request.setStartDateTime(startDateTime); - request.setEndDateTime(endDateTime); - mockChangedOrganization(request.getGuid(), request.getStartDateTime(), request.getEndDateTime()); - HasOrganizationChangedResponse result = (HasOrganizationChangedResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/HasOrganizationChanged/", request); - assertNotNull(result); - assertTrue(result.isChanged()); - assertEquals(1, result.getChangedValueList().getChangedValue().size()); - assertEquals("Email", result.getChangedValueList().getChangedValue().get(0).getName()); - } - - @Test - public void testHasOrganizationChangedFalse() { - HasOrganizationChanged request = new HasOrganizationChanged(); - request.setGuid("abcdef123456"); - LocalDateTime changedAfter = LocalDateTime.of(2020, Month.JANUARY, 1, 0, 0, 0); - LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); - GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); - GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); - XMLGregorianCalendar startDateTime = null; - XMLGregorianCalendar endDateTime = null; - try { - startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); - endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); - } catch (DatatypeConfigurationException e) { - e.printStackTrace(); - } - request.setStartDateTime(startDateTime); - request.setEndDateTime(endDateTime); - mockUnchangedOrganization(request.getGuid(), request.getStartDateTime(), request.getEndDateTime()); - HasOrganizationChangedResponse result = (HasOrganizationChangedResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/HasOrganizationChanged/", request); - assertNotNull(result); - assertEquals(false, result.isChanged(), "Organization changed"); - assertEquals(0, result.getChangedValueList().getChangedValue().size()); - } - - @Test - public void testHasOrganizationChangedException() { - boolean thrown = false; - String exceptionMessage = null; - try { - HasOrganizationChanged request = new HasOrganizationChanged(); - request.setGuid("a123456"); - LocalDateTime changedAfter = LocalDateTime.of(2015, Month.JULY, 29, 19, 30, 40); - LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); - GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); - GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); - XMLGregorianCalendar startDateTime = null; - XMLGregorianCalendar endDateTime = null; - try { - startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); - endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); - } catch (DatatypeConfigurationException e) { - e.printStackTrace(); - } - request.setStartDateTime(startDateTime); - request.setEndDateTime(endDateTime); - mockChangedOrganizationNotFoundException(request.getGuid(), request.getStartDateTime(), request.getEndDateTime()); - HasOrganizationChangedResponse result = (HasOrganizationChangedResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/HasOrganizationChanged/", request); - } catch (SoapFaultClientException e) { - thrown = true; - exceptionMessage = e.getMessage(); - } - assertTrue(thrown); - assertEquals("Organization with guid a123456 not found", exceptionMessage); - - } - - @Test - public void testHasOrganizationChangedGuidRequiredException() { - boolean thrown = false; - String exceptionMessage = null; - try { - HasOrganizationChanged request = new HasOrganizationChanged(); - request.setGuid(null); - LocalDateTime changedAfter = LocalDateTime.of(2015, Month.JULY, 29, 19, 30, 40); - LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); - GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); - GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); - XMLGregorianCalendar startDateTime = null; - XMLGregorianCalendar endDateTime = null; - try { - startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); - endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); - } catch (DatatypeConfigurationException e) { - e.printStackTrace(); - } - request.setStartDateTime(startDateTime); - request.setEndDateTime(endDateTime); - HasOrganizationChangedResponse result = (HasOrganizationChangedResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/HasOrganizationChanged/", request); - } catch (SoapFaultClientException e) { - thrown = true; - exceptionMessage = e.getMessage(); - } - assertTrue(thrown); - assertEquals("Guid is a required parameter", exceptionMessage); - - } - - @Test - public void testGetCompanies() { - String businessId = "1710128-9"; - String detailsUri = "detailsUri"; - String companyForm = "OYJ"; - String name = "Gofore Oyj"; - GetCompanies request = new GetCompanies(); - request.setBusinessId(businessId); - mockCompanies(businessId, detailsUri, companyForm, name); - GetCompaniesResponse result = (GetCompaniesResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetCompanies/", request); - assertNotNull(result); - assertEquals(1, result.getCompanyList().getCompany().size()); - assertEquals(businessId, result.getCompanyList().getCompany().get(0).getBusinessId()); - assertEquals(detailsUri, result.getCompanyList().getCompany().get(0).getDetailsUri()); - assertEquals(companyForm, result.getCompanyList().getCompany().get(0).getCompanyForm()); - assertEquals(name, result.getCompanyList().getCompany().get(0).getName()); - } - - @Test - public void testGetCompaniesException() { - boolean thrown = false; - String exceptionMessage = null; - try { - GetCompanies request = new GetCompanies(); - request.setBusinessId("1710128-1"); - GetCompaniesResponse result = (GetCompaniesResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetCompanies/", request); - } catch (SoapFaultClientException e) { - thrown = true; - exceptionMessage = e.getMessage(); - } - assertTrue(thrown); - assertEquals("Companies with businessId 1710128-1 not found", exceptionMessage); - } - - @Test - public void testGetCompaniesBusinessIdRequiredException() { - boolean thrown = false; - String exceptionMessage = null; - try { - GetCompanies request = new GetCompanies(); - request.setBusinessId(null); - GetCompaniesResponse result = (GetCompaniesResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetCompanies/", request); - } catch (SoapFaultClientException e) { - thrown = true; - exceptionMessage = e.getMessage(); - } - assertTrue(thrown); - assertEquals("Companies with businessId null not found", exceptionMessage); - } - - @Test - public void testHasCompanyChangedValueList() { - HasCompanyChanged request = new HasCompanyChanged(); - request.setBusinessId("1710128-9"); - LocalDateTime changedAfter = LocalDateTime.of(2020, Month.MAY, 4, 0, 0, 0); - LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); - GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); - GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); - XMLGregorianCalendar startDateTime = null; - XMLGregorianCalendar endDateTime = null; - try { - startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); - endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); - } catch (DatatypeConfigurationException e) { - e.printStackTrace(); - } - request.setStartDateTime(startDateTime); - request.setEndDateTime(endDateTime); - mockChangedCompany(request.getBusinessId(), request.getStartDateTime(), request.getEndDateTime()); - HasCompanyChangedResponse result = (HasCompanyChangedResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/HasCompanyChanged/", request); - assertNotNull(result); - assertEquals(true, result.isChanged(), "Company changed"); - assertEquals(12, result.getChangedValueList().getChangedValue().size()); - } - - @Test - public void testHasCompanyChangedFalse() { - String businessId = "1710128-9"; - LocalDateTime changedAfter = LocalDateTime.of(2021, Month.MAY, 6, 12, 0, 0); - LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); - GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); - GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); - HasCompanyChanged request = new HasCompanyChanged(); - request.setBusinessId(businessId); - XMLGregorianCalendar startDateTime = null; - XMLGregorianCalendar endDateTime = null; - try { - startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); - endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); - } catch (DatatypeConfigurationException e) { - e.printStackTrace(); - } - request.setStartDateTime(startDateTime); - request.setEndDateTime(endDateTime); - mockUnchangedCompany(request.getBusinessId(), request.getStartDateTime(), request.getEndDateTime()); - HasCompanyChangedResponse result = (HasCompanyChangedResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/HasCompanyChanged/", request); - assertNotNull(result); - assertFalse(result.isChanged()); - assertEquals( 0, result.getChangedValueList().getChangedValue().size()); - } - - @Test - public void testHasCompanyChangedException() { - boolean thrown = false; - String exceptionMessage = null; - try { - HasCompanyChanged request = new HasCompanyChanged(); - request.setBusinessId("1710128-1"); - LocalDateTime changedAfter = LocalDateTime.of(2020, Month.MAY, 6, 12, 0, 0); - LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); - GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); - GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); - XMLGregorianCalendar startDateTime = null; - XMLGregorianCalendar endDateTime = null; - try { - startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); - endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); - } catch (DatatypeConfigurationException e) { - e.printStackTrace(); - } - request.setStartDateTime(startDateTime); - request.setEndDateTime(endDateTime); - mockChangedCompanyNotFoundException(request.getBusinessId(), request.getStartDateTime(), request.getEndDateTime()); - HasCompanyChangedResponse result = (HasCompanyChangedResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/HasCompanyChanged/", request); - } catch (SoapFaultClientException e) { - thrown = true; - exceptionMessage = e.getMessage(); - } - assertTrue(thrown); - assertEquals("company with businessId 1710128-1 not found", exceptionMessage); - - } - - @Test - public void testHasCompanyChangedBusinessIdRequiredException() { - boolean thrown = false; - String exceptionMessage = null; - try { - HasCompanyChanged request = new HasCompanyChanged(); - request.setBusinessId(null); - LocalDateTime changedAfter = LocalDateTime.of(2020, Month.MAY, 6, 12, 0, 0); - LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); - GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); - GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); - XMLGregorianCalendar startDateTime = null; - XMLGregorianCalendar endDateTime = null; - try { - startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); - endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); - } catch (DatatypeConfigurationException e) { - e.printStackTrace(); - } - request.setStartDateTime(startDateTime); - request.setEndDateTime(endDateTime); - HasCompanyChangedResponse result = (HasCompanyChangedResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/HasCompanyChanged/", request); - } catch (SoapFaultClientException e) { - thrown = true; - exceptionMessage = e.getMessage(); - } - assertTrue(thrown); - assertEquals("BusinessId is a required parameter", exceptionMessage); - - } - - @Test - public void testGetErrors() { - GetErrors request = new GetErrors(); - LocalDateTime changedAfter = LocalDateTime.of(2001, Month.MAY, 6, 12, 0, 0); - LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); - GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); - GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); - XMLGregorianCalendar startDateTime = null; - XMLGregorianCalendar endDateTime = null; - try { - startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); - endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); - } catch (DatatypeConfigurationException e) { - e.printStackTrace(); - } - request.setStartDateTime(startDateTime); - request.setEndDateTime(endDateTime); - mockErrors(request.getStartDateTime(), request.getEndDateTime()); - GetErrorsResponse result = (GetErrorsResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetErrors/", request); - assertNotNull(result); - assertEquals(6, result.getErrorLogList().getErrorLog().size()); - assertEquals("Service not found", result.getErrorLogList().getErrorLog().get(0).getMessage()); - } - - @Test - public void testGetErrorsException() { - boolean thrown = false; - String exceptionMessage = null; - GetErrors request = new GetErrors(); - try { - LocalDateTime changedAfter = LocalDateTime.of(2021, Month.JANUARY, 6, 12, 0, 0); - LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); - GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); - GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); - XMLGregorianCalendar startDateTime = null; - XMLGregorianCalendar endDateTime = null; - try { - startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); - endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); - } catch (DatatypeConfigurationException e) { - e.printStackTrace(); - } - request.setStartDateTime(startDateTime); - request.setEndDateTime(endDateTime); - GetErrorsResponse result = (GetErrorsResponse)new WebServiceTemplate(marshaller).marshalSendAndReceive( - "http://localhost:" + port + "/ws/GetErrors/", request); - } catch (SoapFaultClientException e) { - thrown = true; - exceptionMessage = e.getMessage(); - } - assertTrue(thrown); - assertEquals(exceptionMessage, "ErrorLog entries since " + request.getStartDateTime().toString() + - " until " + request.getEndDateTime().toString() + " not found"); - } - - private void mockMembersForListServices() { - Member member = new Member(); - Member member2 = new Member(); - Member member3 = new Member(); - member.setXRoadInstance("DEV"); - member.setMemberClass("GOV"); - member.setMemberCode("1234"); - member2.setXRoadInstance("DEV"); - member2.setMemberClass("GOV"); - member2.setMemberCode("5678"); - member3.setXRoadInstance("DEV"); - member3.setMemberClass("COM"); - member3.setMemberCode("1234"); - given(jaxbCatalogService.getAllMembers(any(), any())).willReturn(Arrays.asList(member, member2, member3)); - } - - private void mockErrors(XMLGregorianCalendar calStart, XMLGregorianCalendar calEnd) { - List errors = new ArrayList<>(); - List errorMessages = Arrays.asList( - "Service not found", - "Error with certificate", - "Unknown error", - "Access restricted", - "Connection refused", - "Multiple values returned"); - for (String errorMessage : errorMessages) { - ErrorLog errorLog = new ErrorLog(); - errorLog.setMessage(errorMessage); - errorLog.setXRoadInstance("DEV"); - errorLog.setMemberClass("GOV"); - errorLog.setMemberCode("1234"); - errorLog.setSubsystemCode("TestSubsystem"); - errorLog.setServiceCode("TestService"); - errors.add(errorLog); - } - - given(jaxbCatalogService.getErrorLog(calStart, calEnd)).willReturn(errors); - } - - private void mockServicesForGetServiceType(String xRoadInstance, - String memberClass, - String memberCode, - String subsystemCode, - String serviceCode, - String serviceVersion, - String serviceType) { - Service service = new Service(); - service.setServiceCode(serviceCode); - service.setServiceVersion(serviceVersion); - if (serviceType.equalsIgnoreCase("soap")) { - service.setWsdl(new Wsdl()); - } else if (serviceType.equalsIgnoreCase("openapi")) { - service.setOpenApi(new OpenApi()); - } - given(catalogService.getService(xRoadInstance, memberClass, memberCode, serviceCode, subsystemCode, serviceVersion)).willReturn(service); - } - - private void mockUnchangedCompany(String businessId, XMLGregorianCalendar calStart, XMLGregorianCalendar calEnd) { - given(jaxbCompanyService.getChangedCompanyValues(businessId, calStart, calEnd)).willReturn(new ArrayList<>()); - } - - private void mockChangedCompany(String businessId, XMLGregorianCalendar calStart, XMLGregorianCalendar calEnd) { - List changedValues = new ArrayList<>(); - List changeValueStrings = Arrays.asList( - "BusinessAddress", - "BusinessAuxiliaryName", - "BusinessIdChange", - "BusinessLine", - "BusinessName", - "Company", - "CompanyForm", - "ContactDetail", - "Language", - "Liquidation", - "RegisteredEntry", - "RegisteredOffice"); - for (String changeValueString : changeValueStrings) { - ChangedValue changedValue = new ChangedValue(); - changedValue.setName(changeValueString); - changedValues.add(changedValue); - } - given(jaxbCompanyService.getChangedCompanyValues(businessId, calStart, calEnd)).willReturn(changedValues); - } - - private void mockChangedCompanyNotFoundException(String businessId, XMLGregorianCalendar calStart, XMLGregorianCalendar calEnd) { - String exceptionMessage = "company with businessId " + businessId + " not found"; - given(jaxbCompanyService.getChangedCompanyValues(businessId, calStart, calEnd)).willThrow(new CatalogListerRuntimeException(exceptionMessage)); - } - - private void mockChangedOrganization(String guid, XMLGregorianCalendar calStart, XMLGregorianCalendar calEnd) { - ChangedValue changedValue = new ChangedValue(); - changedValue.setName("Email"); - given(jaxbOrganizationService.getChangedOrganizationValues(guid, calStart, calEnd)).willReturn(Arrays.asList(changedValue)); - } - - private void mockChangedOrganizationMultipleValues(String guid, XMLGregorianCalendar calStart, XMLGregorianCalendar calEnd) { - List changedValues = new ArrayList<>(); - List changeValueStrings = Arrays.asList( - "Address", - "Email", - "Organization", - "OrganizationName", - "OrganizationDescription", - "PhoneNumber", - "WebPage"); - for (String changeValueString : changeValueStrings) { - ChangedValue changedValue = new ChangedValue(); - changedValue.setName(changeValueString); - changedValues.add(changedValue); - } - given(jaxbOrganizationService.getChangedOrganizationValues(guid, calStart, calEnd)).willReturn(changedValues); - } - - private void mockChangedOrganizationNotFoundException(String guid, XMLGregorianCalendar calStart, XMLGregorianCalendar calEnd) { - String exceptionMessage = "Organization with guid " + guid + " not found"; - given(jaxbOrganizationService.getChangedOrganizationValues(guid, calStart, calEnd)).willThrow(new CatalogListerRuntimeException(exceptionMessage)); - } - - private void mockUnchangedOrganization(String guid, XMLGregorianCalendar calStart, XMLGregorianCalendar calEnd) { - given(jaxbOrganizationService.getChangedOrganizationValues(guid, calStart, calEnd)).willReturn(new ArrayList<>()); - } - - private void mockProvider(String xRoadInstance, String memberClass, String memberCode) { - fi.vrk.xroad.catalog.persistence.entity.Member member = new fi.vrk.xroad.catalog.persistence.entity.Member(); - member.setXRoadInstance(xRoadInstance); - member.setMemberClass(memberClass); - member.setMemberCode(memberCode); - Subsystem subsystem = new Subsystem(); - subsystem.setSubsystemCode("TestSubsystem"); - Service service = new Service(); - service.setServiceCode("TestService"); - service.setWsdl(new Wsdl(service, "This is WSDL", "3242efdf34r")); - subsystem.setServices(Set.of(service)); - member.setSubsystems(Set.of(subsystem)); - given(catalogService.getMember(xRoadInstance, memberClass, memberCode)).willReturn(member); - } - - private void mockNoProvider(String xRoadInstance, String memberClass, String memberCode) { - fi.vrk.xroad.catalog.persistence.entity.Member member = new fi.vrk.xroad.catalog.persistence.entity.Member(); - member.setXRoadInstance(xRoadInstance); - member.setMemberClass(memberClass); - member.setMemberCode(memberCode); - Subsystem subsystem = new Subsystem(); - subsystem.setSubsystemCode("TestSubsystem"); - Service service = new Service(); - service.setServiceCode("TestService"); - subsystem.setServices(Set.of(service)); - member.setSubsystems(Set.of(subsystem)); - given(catalogService.getMember(xRoadInstance, memberClass, memberCode)).willReturn(member); - } - - private void mockOrganizations(String businessCode, String emailAddress, String url) { - List organizations = new ArrayList<>(); - Organization organization = new Organization(); - organization.setBusinessCode(businessCode); - Email email = new Email(); - email.setValue(emailAddress); - EmailList emailList = new EmailList(); - emailList.getEmail().add(email); - organization.setEmails(emailList); - WebPage webPage = new WebPage(); - webPage.setUrl(url); - WebPageList webPageList = new WebPageList(); - webPageList.getWebPage().add(webPage); - organization.setWebPages(webPageList); - organizations.add(organization); - given(jaxbOrganizationService.getOrganizations(businessCode)).willReturn(organizations); - } - - private void mockCompanies(String businessId, String detailsUri, String companyForm, String name) { - List companies = new ArrayList<>(); - Company company = new Company(); - company.setBusinessId(businessId); - company.setDetailsUri(detailsUri); - company.setCompanyForm(companyForm); - company.setName(name); - companies.add(company); - given(jaxbCompanyService.getCompanies(businessId)).willReturn(companies); - } + private final Jaxb2Marshaller marshaller = new Jaxb2Marshaller(); + + @LocalServerPort + private int port; + + @MockBean + CatalogService catalogService; + + @MockBean + JaxbCatalogService jaxbCatalogService; + + @MockBean + JaxbCompanyService jaxbCompanyService; + + @MockBean + JaxbOrganizationService jaxbOrganizationService; + + @BeforeAll + public void init() throws Exception { + marshaller.setPackagesToScan(ClassUtils.getPackageName(ListMembers.class)); + marshaller.afterPropertiesSet(); + } + + @Test + public void testListServices() { + mockMembersForListServices(); + ListMembers request = new ListMembers(); + XMLGregorianCalendar startDateTime = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2020, 1, 1, 1, 1)); + XMLGregorianCalendar endDateTime = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2030, 1, 31, 1, 1)); + request.setStartDateTime(startDateTime); + request.setEndDateTime(endDateTime); + ListMembersResponse result = (ListMembersResponse) new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws", request); + assertNotNull(result); + assertEquals(3, result.getMemberList().getMember().size()); + } + + @Test + public void testGetServiceType() { + GetServiceType request = new GetServiceType(); + request.setXRoadInstance("dev-cs"); + request.setMemberClass("PUB"); + request.setMemberCode("14151328"); + request.setServiceCode("testService"); + request.setSubsystemCode("TestSubSystem"); + request.setServiceVersion("v1"); + + mockServicesForGetServiceType( + request.getXRoadInstance(), + request.getMemberClass(), + request.getMemberCode(), + request.getSubsystemCode(), + request.getServiceCode(), + request.getServiceVersion(), + "SOAP"); + + GetServiceTypeResponse result = (GetServiceTypeResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetServiceType/", request); + assertNotNull(result); + assertEquals("SOAP", result.getType()); + + request.setServiceCode("getAnotherRandom"); + mockServicesForGetServiceType( + request.getXRoadInstance(), + request.getMemberClass(), + request.getMemberCode(), + request.getSubsystemCode(), + request.getServiceCode(), + request.getServiceVersion(), + "REST"); + result = (GetServiceTypeResponse) new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetServiceType/", request); + assertNotNull(result); + assertEquals("REST", result.getType()); + + request.setServiceCode("getRandom"); + mockServicesForGetServiceType( + request.getXRoadInstance(), + request.getMemberClass(), + request.getMemberCode(), + request.getSubsystemCode(), + request.getServiceCode(), + request.getServiceVersion(), + "OPENAPI"); + result = (GetServiceTypeResponse) new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetServiceType/", request); + assertNotNull(result); + assertEquals("OPENAPI", result.getType()); + + } + + @Test + public void testGetServiceTypeException() { + boolean thrown = false; + String exceptionMessage = null; + try { + GetServiceType request = new GetServiceType(); + request.setXRoadInstance("dev-cs"); + request.setMemberClass("PUB"); + request.setMemberCode("14151328"); + request.setServiceCode("testService123"); + request.setSubsystemCode("TestSubSystem"); + request.setServiceVersion("v1"); + new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetServiceType/", request); + } catch (SoapFaultClientException e) { + thrown = true; + exceptionMessage = e.getMessage(); + } + assertTrue(thrown); + assertEquals(exceptionMessage, "Service with xRoadInstance \"dev-cs\", " + + "memberClass \"PUB\", memberCode \"14151328\", subsystemCode \"TestSubSystem\", serviceCode \"testService123\" " + + + "and serviceVersion \"v1\" not found"); + } + + @Test + public void testGetWsdl() { + GetWsdl request = new GetWsdl(); + request.setExternalId("1000"); + given(catalogService.getWsdl(request.getExternalId())) + .willReturn(new Wsdl(new Service(), "This is WSDL", request.getExternalId())); + GetWsdlResponse result = (GetWsdlResponse) new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetWsdl/", request); + assertNotNull(result); + assertEquals("This is WSDL", result.getWsdl()); + } + + @Test + public void testGetWsdlException() { + boolean thrown = false; + String exceptionMessage = null; + try { + GetWsdl request = new GetWsdl(); + request.setExternalId("1001"); + new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetWsdl/", request); + } catch (SoapFaultClientException e) { + thrown = true; + exceptionMessage = e.getMessage(); + } + assertTrue(thrown); + assertEquals("wsdl with external id 1001 not found", exceptionMessage); + } + + @Test + public void testGetOpenApi() { + GetOpenAPI request = new GetOpenAPI(); + request.setExternalId("3003"); + given(catalogService.getOpenApi(request.getExternalId())) + .willReturn(new OpenApi(new Service(), "This is OpenAPI", request.getExternalId())); + GetOpenAPIResponse result = (GetOpenAPIResponse) new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetOpenAPI/", request); + assertNotNull(result); + assertEquals("This is OpenAPI", result.getOpenapi()); + } + + @Test + public void testGetOpenApiException() { + boolean thrown = false; + String exceptionMessage = null; + try { + GetOpenAPI request = new GetOpenAPI(); + request.setExternalId("3001"); + new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetOpenAPI/", request); + } catch (SoapFaultClientException e) { + thrown = true; + exceptionMessage = e.getMessage(); + } + assertTrue(thrown); + assertEquals("OpenApi with external id 3001 not found", exceptionMessage); + } + + @Test + public void testIsProvider() { + IsProvider request = new IsProvider(); + request.setXRoadInstance("dev-cs"); + request.setMemberClass("PUB"); + request.setMemberCode("14151328"); + mockProvider(request.getXRoadInstance(), request.getMemberClass(), request.getMemberCode()); + IsProviderResponse result = (IsProviderResponse) new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws/IsProvider/", request); + assertNotNull(result); + assertTrue(result.isProvider()); + } + + @Test + public void testIsProviderFalse() { + IsProvider request = new IsProvider(); + request.setXRoadInstance("dev-cs"); + request.setMemberClass("PUB"); + request.setMemberCode("88855888"); + mockNoProvider(request.getXRoadInstance(), request.getMemberClass(), request.getMemberCode()); + IsProviderResponse result = (IsProviderResponse) new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws/IsProvider/", request); + assertNotNull(result); + assertFalse(result.isProvider()); + } + + @Test + public void testIsProviderException() { + boolean thrown = false; + String exceptionMessage = null; + try { + IsProvider request = new IsProvider(); + request.setXRoadInstance("dev-cs"); + request.setMemberClass("PUB"); + request.setMemberCode("123"); + new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws/IsProvider/", request); + } catch (SoapFaultClientException e) { + thrown = true; + exceptionMessage = e.getMessage(); + } + assertTrue(thrown); + assertEquals("Member with xRoadInstance \"dev-cs\", memberClass \"PUB\" and memberCode \"123\" not found", + exceptionMessage); + } + + @Test + public void testGetOrganizations() { + String businessCode = "0123456-9"; + String emailAddress = "vaasa@vaasa.fi"; + String url = "https://www.vaasa.fi/"; + GetOrganizations request = new GetOrganizations(); + request.setBusinessCode(businessCode); + mockOrganizations(businessCode, emailAddress, url); + GetOrganizationsResponse result = (GetOrganizationsResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetOrganizations/", request); + assertNotNull(result); + assertEquals(1, result.getOrganizationList().getOrganization().size()); + assertEquals(businessCode, result.getOrganizationList().getOrganization().get(0).getBusinessCode()); + assertEquals(emailAddress, + result.getOrganizationList().getOrganization().get(0).getEmails().getEmail().get(0).getValue()); + assertEquals(url, + result.getOrganizationList().getOrganization().get(0).getWebPages().getWebPage().get(0).getUrl()); + } + + @Test + public void testGetOrganizationsException() { + boolean thrown = false; + String exceptionMessage = null; + try { + GetOrganizations request = new GetOrganizations(); + request.setBusinessCode("0123456-1"); + GetOrganizationsResponse result = (GetOrganizationsResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetOrganizations/", request); + } catch (SoapFaultClientException e) { + thrown = true; + exceptionMessage = e.getMessage(); + } + assertTrue(thrown); + assertEquals("Organizations with businessCode 0123456-1 not found", exceptionMessage); + } + + @Test + public void testHasOrganizationChangedValueList() { + HasOrganizationChanged request = new HasOrganizationChanged(); + request.setGuid("abcdef123456"); + LocalDateTime changedAfter = LocalDateTime.of(2015, Month.JULY, 29, 19, 30, 40); + LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); + GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); + GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); + XMLGregorianCalendar startDateTime = null; + XMLGregorianCalendar endDateTime = null; + try { + startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); + endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); + } catch (DatatypeConfigurationException e) { + e.printStackTrace(); + } + request.setStartDateTime(startDateTime); + request.setEndDateTime(endDateTime); + mockChangedOrganizationMultipleValues(request.getGuid(), request.getStartDateTime(), request.getEndDateTime()); + HasOrganizationChangedResponse result = (HasOrganizationChangedResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/HasOrganizationChanged/", request); + assertNotNull(result); + assertTrue(result.isChanged()); + assertEquals(7, result.getChangedValueList().getChangedValue().size()); + } + + @Test + public void testHasOrganizationChangedSingleValue() { + String guid = "abcdef123456"; + HasOrganizationChanged request = new HasOrganizationChanged(); + request.setGuid(guid); + LocalDateTime changedAfter = LocalDateTime.of(2019, Month.JULY, 29, 19, 30, 40); + LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); + GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); + GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); + XMLGregorianCalendar startDateTime = null; + XMLGregorianCalendar endDateTime = null; + try { + startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); + endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); + } catch (DatatypeConfigurationException e) { + e.printStackTrace(); + } + request.setStartDateTime(startDateTime); + request.setEndDateTime(endDateTime); + mockChangedOrganization(request.getGuid(), request.getStartDateTime(), request.getEndDateTime()); + HasOrganizationChangedResponse result = (HasOrganizationChangedResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/HasOrganizationChanged/", request); + assertNotNull(result); + assertTrue(result.isChanged()); + assertEquals(1, result.getChangedValueList().getChangedValue().size()); + assertEquals("Email", result.getChangedValueList().getChangedValue().get(0).getName()); + } + + @Test + public void testHasOrganizationChangedFalse() { + HasOrganizationChanged request = new HasOrganizationChanged(); + request.setGuid("abcdef123456"); + LocalDateTime changedAfter = LocalDateTime.of(2020, Month.JANUARY, 1, 0, 0, 0); + LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); + GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); + GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); + XMLGregorianCalendar startDateTime = null; + XMLGregorianCalendar endDateTime = null; + try { + startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); + endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); + } catch (DatatypeConfigurationException e) { + e.printStackTrace(); + } + request.setStartDateTime(startDateTime); + request.setEndDateTime(endDateTime); + mockUnchangedOrganization(request.getGuid(), request.getStartDateTime(), request.getEndDateTime()); + HasOrganizationChangedResponse result = (HasOrganizationChangedResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/HasOrganizationChanged/", request); + assertNotNull(result); + assertEquals(false, result.isChanged(), "Organization changed"); + assertEquals(0, result.getChangedValueList().getChangedValue().size()); + } + + @Test + public void testHasOrganizationChangedException() { + boolean thrown = false; + String exceptionMessage = null; + try { + HasOrganizationChanged request = new HasOrganizationChanged(); + request.setGuid("a123456"); + LocalDateTime changedAfter = LocalDateTime.of(2015, Month.JULY, 29, 19, 30, 40); + LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); + GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); + GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); + XMLGregorianCalendar startDateTime = null; + XMLGregorianCalendar endDateTime = null; + try { + startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); + endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); + } catch (DatatypeConfigurationException e) { + e.printStackTrace(); + } + request.setStartDateTime(startDateTime); + request.setEndDateTime(endDateTime); + mockChangedOrganizationNotFoundException(request.getGuid(), request.getStartDateTime(), + request.getEndDateTime()); + HasOrganizationChangedResponse result = (HasOrganizationChangedResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/HasOrganizationChanged/", request); + } catch (SoapFaultClientException e) { + thrown = true; + exceptionMessage = e.getMessage(); + } + assertTrue(thrown); + assertEquals("Organization with guid a123456 not found", exceptionMessage); + + } + + @Test + public void testHasOrganizationChangedGuidRequiredException() { + boolean thrown = false; + String exceptionMessage = null; + try { + HasOrganizationChanged request = new HasOrganizationChanged(); + request.setGuid(null); + LocalDateTime changedAfter = LocalDateTime.of(2015, Month.JULY, 29, 19, 30, 40); + LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); + GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); + GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); + XMLGregorianCalendar startDateTime = null; + XMLGregorianCalendar endDateTime = null; + try { + startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); + endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); + } catch (DatatypeConfigurationException e) { + e.printStackTrace(); + } + request.setStartDateTime(startDateTime); + request.setEndDateTime(endDateTime); + HasOrganizationChangedResponse result = (HasOrganizationChangedResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/HasOrganizationChanged/", request); + } catch (SoapFaultClientException e) { + thrown = true; + exceptionMessage = e.getMessage(); + } + assertTrue(thrown); + assertEquals("Guid is a required parameter", exceptionMessage); + + } + + @Test + public void testGetCompanies() { + String businessId = "1710128-9"; + String detailsUri = "detailsUri"; + String companyForm = "OYJ"; + String name = "Gofore Oyj"; + GetCompanies request = new GetCompanies(); + request.setBusinessId(businessId); + mockCompanies(businessId, detailsUri, companyForm, name); + GetCompaniesResponse result = (GetCompaniesResponse) new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetCompanies/", request); + assertNotNull(result); + assertEquals(1, result.getCompanyList().getCompany().size()); + assertEquals(businessId, result.getCompanyList().getCompany().get(0).getBusinessId()); + assertEquals(detailsUri, result.getCompanyList().getCompany().get(0).getDetailsUri()); + assertEquals(companyForm, result.getCompanyList().getCompany().get(0).getCompanyForm()); + assertEquals(name, result.getCompanyList().getCompany().get(0).getName()); + } + + @Test + public void testGetCompaniesException() { + boolean thrown = false; + String exceptionMessage = null; + try { + GetCompanies request = new GetCompanies(); + request.setBusinessId("1710128-1"); + GetCompaniesResponse result = (GetCompaniesResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetCompanies/", request); + } catch (SoapFaultClientException e) { + thrown = true; + exceptionMessage = e.getMessage(); + } + assertTrue(thrown); + assertEquals("Companies with businessId 1710128-1 not found", exceptionMessage); + } + + @Test + public void testGetCompaniesBusinessIdRequiredException() { + boolean thrown = false; + String exceptionMessage = null; + try { + GetCompanies request = new GetCompanies(); + request.setBusinessId(null); + GetCompaniesResponse result = (GetCompaniesResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetCompanies/", request); + } catch (SoapFaultClientException e) { + thrown = true; + exceptionMessage = e.getMessage(); + } + assertTrue(thrown); + assertEquals("Companies with businessId null not found", exceptionMessage); + } + + @Test + public void testHasCompanyChangedValueList() { + HasCompanyChanged request = new HasCompanyChanged(); + request.setBusinessId("1710128-9"); + LocalDateTime changedAfter = LocalDateTime.of(2020, Month.MAY, 4, 0, 0, 0); + LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); + GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); + GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); + XMLGregorianCalendar startDateTime = null; + XMLGregorianCalendar endDateTime = null; + try { + startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); + endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); + } catch (DatatypeConfigurationException e) { + e.printStackTrace(); + } + request.setStartDateTime(startDateTime); + request.setEndDateTime(endDateTime); + mockChangedCompany(request.getBusinessId(), request.getStartDateTime(), request.getEndDateTime()); + HasCompanyChangedResponse result = (HasCompanyChangedResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/HasCompanyChanged/", request); + assertNotNull(result); + assertEquals(true, result.isChanged(), "Company changed"); + assertEquals(12, result.getChangedValueList().getChangedValue().size()); + } + + @Test + public void testHasCompanyChangedFalse() { + String businessId = "1710128-9"; + LocalDateTime changedAfter = LocalDateTime.of(2021, Month.MAY, 6, 12, 0, 0); + LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); + GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); + GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); + HasCompanyChanged request = new HasCompanyChanged(); + request.setBusinessId(businessId); + XMLGregorianCalendar startDateTime = null; + XMLGregorianCalendar endDateTime = null; + try { + startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); + endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); + } catch (DatatypeConfigurationException e) { + e.printStackTrace(); + } + request.setStartDateTime(startDateTime); + request.setEndDateTime(endDateTime); + mockUnchangedCompany(request.getBusinessId(), request.getStartDateTime(), request.getEndDateTime()); + HasCompanyChangedResponse result = (HasCompanyChangedResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/HasCompanyChanged/", request); + assertNotNull(result); + assertFalse(result.isChanged()); + assertEquals(0, result.getChangedValueList().getChangedValue().size()); + } + + @Test + public void testHasCompanyChangedException() { + boolean thrown = false; + String exceptionMessage = null; + try { + HasCompanyChanged request = new HasCompanyChanged(); + request.setBusinessId("1710128-1"); + LocalDateTime changedAfter = LocalDateTime.of(2020, Month.MAY, 6, 12, 0, 0); + LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); + GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); + GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); + XMLGregorianCalendar startDateTime = null; + XMLGregorianCalendar endDateTime = null; + try { + startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); + endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); + } catch (DatatypeConfigurationException e) { + e.printStackTrace(); + } + request.setStartDateTime(startDateTime); + request.setEndDateTime(endDateTime); + mockChangedCompanyNotFoundException(request.getBusinessId(), request.getStartDateTime(), + request.getEndDateTime()); + HasCompanyChangedResponse result = (HasCompanyChangedResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/HasCompanyChanged/", request); + } catch (SoapFaultClientException e) { + thrown = true; + exceptionMessage = e.getMessage(); + } + assertTrue(thrown); + assertEquals("company with businessId 1710128-1 not found", exceptionMessage); + + } + + @Test + public void testHasCompanyChangedBusinessIdRequiredException() { + boolean thrown = false; + String exceptionMessage = null; + try { + HasCompanyChanged request = new HasCompanyChanged(); + request.setBusinessId(null); + LocalDateTime changedAfter = LocalDateTime.of(2020, Month.MAY, 6, 12, 0, 0); + LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); + GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); + GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); + XMLGregorianCalendar startDateTime = null; + XMLGregorianCalendar endDateTime = null; + try { + startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); + endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); + } catch (DatatypeConfigurationException e) { + e.printStackTrace(); + } + request.setStartDateTime(startDateTime); + request.setEndDateTime(endDateTime); + HasCompanyChangedResponse result = (HasCompanyChangedResponse) new WebServiceTemplate(marshaller) + .marshalSendAndReceive( + "http://localhost:" + port + "/ws/HasCompanyChanged/", request); + } catch (SoapFaultClientException e) { + thrown = true; + exceptionMessage = e.getMessage(); + } + assertTrue(thrown); + assertEquals("BusinessId is a required parameter", exceptionMessage); + + } + + @Test + public void testGetErrors() { + GetErrors request = new GetErrors(); + LocalDateTime changedAfter = LocalDateTime.of(2001, Month.MAY, 6, 12, 0, 0); + LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); + GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); + GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); + XMLGregorianCalendar startDateTime = null; + XMLGregorianCalendar endDateTime = null; + try { + startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); + endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); + } catch (DatatypeConfigurationException e) { + e.printStackTrace(); + } + request.setStartDateTime(startDateTime); + request.setEndDateTime(endDateTime); + mockErrors(request.getStartDateTime(), request.getEndDateTime()); + GetErrorsResponse result = (GetErrorsResponse) new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetErrors/", request); + assertNotNull(result); + assertEquals(6, result.getErrorLogList().getErrorLog().size()); + assertEquals("Service not found", result.getErrorLogList().getErrorLog().get(0).getMessage()); + } + + @Test + public void testGetErrorsException() { + boolean thrown = false; + String exceptionMessage = null; + GetErrors request = new GetErrors(); + try { + LocalDateTime changedAfter = LocalDateTime.of(2021, Month.JANUARY, 6, 12, 0, 0); + LocalDateTime changedUntil = LocalDateTime.of(2022, Month.JULY, 29, 19, 30, 40); + GregorianCalendar calStart = GregorianCalendar.from(changedAfter.atZone(ZoneId.systemDefault())); + GregorianCalendar calEnd = GregorianCalendar.from(changedUntil.atZone(ZoneId.systemDefault())); + XMLGregorianCalendar startDateTime = null; + XMLGregorianCalendar endDateTime = null; + try { + startDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calStart); + endDateTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(calEnd); + } catch (DatatypeConfigurationException e) { + e.printStackTrace(); + } + request.setStartDateTime(startDateTime); + request.setEndDateTime(endDateTime); + GetErrorsResponse result = (GetErrorsResponse) new WebServiceTemplate(marshaller).marshalSendAndReceive( + "http://localhost:" + port + "/ws/GetErrors/", request); + } catch (SoapFaultClientException e) { + thrown = true; + exceptionMessage = e.getMessage(); + } + assertTrue(thrown); + assertEquals(exceptionMessage, "ErrorLog entries since " + request.getStartDateTime().toString() + + " until " + request.getEndDateTime().toString() + " not found"); + } + + private void mockMembersForListServices() { + Member member = new Member(); + Member member2 = new Member(); + Member member3 = new Member(); + member.setXRoadInstance("DEV"); + member.setMemberClass("GOV"); + member.setMemberCode("1234"); + member2.setXRoadInstance("DEV"); + member2.setMemberClass("GOV"); + member2.setMemberCode("5678"); + member3.setXRoadInstance("DEV"); + member3.setMemberClass("COM"); + member3.setMemberCode("1234"); + given(jaxbCatalogService.getAllMembers(any(), any())).willReturn(Arrays.asList(member, member2, member3)); + } + + private void mockErrors(XMLGregorianCalendar calStart, XMLGregorianCalendar calEnd) { + List errors = new ArrayList<>(); + List errorMessages = Arrays.asList( + "Service not found", + "Error with certificate", + "Unknown error", + "Access restricted", + "Connection refused", + "Multiple values returned"); + for (String errorMessage : errorMessages) { + ErrorLog errorLog = new ErrorLog(); + errorLog.setMessage(errorMessage); + errorLog.setXRoadInstance("DEV"); + errorLog.setMemberClass("GOV"); + errorLog.setMemberCode("1234"); + errorLog.setSubsystemCode("TestSubsystem"); + errorLog.setServiceCode("TestService"); + errors.add(errorLog); + } + + given(jaxbCatalogService.getErrorLog(calStart, calEnd)).willReturn(errors); + } + + private void mockServicesForGetServiceType(String xRoadInstance, + String memberClass, + String memberCode, + String subsystemCode, + String serviceCode, + String serviceVersion, + String serviceType) { + Service service = new Service(); + service.setServiceCode(serviceCode); + service.setServiceVersion(serviceVersion); + if (serviceType.equalsIgnoreCase("soap")) { + service.setWsdl(new Wsdl()); + } else if (serviceType.equalsIgnoreCase("openapi")) { + service.setOpenApi(new OpenApi()); + } + given(catalogService.getService(xRoadInstance, memberClass, memberCode, serviceCode, subsystemCode, + serviceVersion)) + .willReturn(service); + } + + private void mockUnchangedCompany(String businessId, XMLGregorianCalendar calStart, XMLGregorianCalendar calEnd) { + given(jaxbCompanyService.getChangedCompanyValues(businessId, calStart, calEnd)).willReturn(new ArrayList<>()); + } + + private void mockChangedCompany(String businessId, XMLGregorianCalendar calStart, XMLGregorianCalendar calEnd) { + List changedValues = new ArrayList<>(); + List changeValueStrings = Arrays.asList( + "BusinessAddress", + "BusinessAuxiliaryName", + "BusinessIdChange", + "BusinessLine", + "BusinessName", + "Company", + "CompanyForm", + "ContactDetail", + "Language", + "Liquidation", + "RegisteredEntry", + "RegisteredOffice"); + for (String changeValueString : changeValueStrings) { + ChangedValue changedValue = new ChangedValue(); + changedValue.setName(changeValueString); + changedValues.add(changedValue); + } + given(jaxbCompanyService.getChangedCompanyValues(businessId, calStart, calEnd)).willReturn(changedValues); + } + + private void mockChangedCompanyNotFoundException(String businessId, XMLGregorianCalendar calStart, + XMLGregorianCalendar calEnd) { + String exceptionMessage = "company with businessId " + businessId + " not found"; + given(jaxbCompanyService.getChangedCompanyValues(businessId, calStart, calEnd)) + .willThrow(new CatalogListerRuntimeException(exceptionMessage)); + } + + private void mockChangedOrganization(String guid, XMLGregorianCalendar calStart, XMLGregorianCalendar calEnd) { + ChangedValue changedValue = new ChangedValue(); + changedValue.setName("Email"); + given(jaxbOrganizationService.getChangedOrganizationValues(guid, calStart, calEnd)) + .willReturn(Arrays.asList(changedValue)); + } + + private void mockChangedOrganizationMultipleValues(String guid, XMLGregorianCalendar calStart, + XMLGregorianCalendar calEnd) { + List changedValues = new ArrayList<>(); + List changeValueStrings = Arrays.asList( + "Address", + "Email", + "Organization", + "OrganizationName", + "OrganizationDescription", + "PhoneNumber", + "WebPage"); + for (String changeValueString : changeValueStrings) { + ChangedValue changedValue = new ChangedValue(); + changedValue.setName(changeValueString); + changedValues.add(changedValue); + } + given(jaxbOrganizationService.getChangedOrganizationValues(guid, calStart, calEnd)).willReturn(changedValues); + } + + private void mockChangedOrganizationNotFoundException(String guid, XMLGregorianCalendar calStart, + XMLGregorianCalendar calEnd) { + String exceptionMessage = "Organization with guid " + guid + " not found"; + given(jaxbOrganizationService.getChangedOrganizationValues(guid, calStart, calEnd)) + .willThrow(new CatalogListerRuntimeException(exceptionMessage)); + } + + private void mockUnchangedOrganization(String guid, XMLGregorianCalendar calStart, XMLGregorianCalendar calEnd) { + given(jaxbOrganizationService.getChangedOrganizationValues(guid, calStart, calEnd)) + .willReturn(new ArrayList<>()); + } + + private void mockProvider(String xRoadInstance, String memberClass, String memberCode) { + fi.vrk.xroad.catalog.persistence.entity.Member member = new fi.vrk.xroad.catalog.persistence.entity.Member(); + member.setXRoadInstance(xRoadInstance); + member.setMemberClass(memberClass); + member.setMemberCode(memberCode); + Subsystem subsystem = new Subsystem(); + subsystem.setSubsystemCode("TestSubsystem"); + Service service = new Service(); + service.setServiceCode("TestService"); + service.setWsdl(new Wsdl(service, "This is WSDL", "3242efdf34r")); + subsystem.setServices(Set.of(service)); + member.setSubsystems(Set.of(subsystem)); + given(catalogService.getMember(xRoadInstance, memberClass, memberCode)).willReturn(member); + } + + private void mockNoProvider(String xRoadInstance, String memberClass, String memberCode) { + fi.vrk.xroad.catalog.persistence.entity.Member member = new fi.vrk.xroad.catalog.persistence.entity.Member(); + member.setXRoadInstance(xRoadInstance); + member.setMemberClass(memberClass); + member.setMemberCode(memberCode); + Subsystem subsystem = new Subsystem(); + subsystem.setSubsystemCode("TestSubsystem"); + Service service = new Service(); + service.setServiceCode("TestService"); + subsystem.setServices(Set.of(service)); + member.setSubsystems(Set.of(subsystem)); + given(catalogService.getMember(xRoadInstance, memberClass, memberCode)).willReturn(member); + } + + private void mockOrganizations(String businessCode, String emailAddress, String url) { + List organizations = new ArrayList<>(); + Organization organization = new Organization(); + organization.setBusinessCode(businessCode); + Email email = new Email(); + email.setValue(emailAddress); + EmailList emailList = new EmailList(); + emailList.getEmail().add(email); + organization.setEmails(emailList); + WebPage webPage = new WebPage(); + webPage.setUrl(url); + WebPageList webPageList = new WebPageList(); + webPageList.getWebPage().add(webPage); + organization.setWebPages(webPageList); + organizations.add(organization); + given(jaxbOrganizationService.getOrganizations(businessCode)).willReturn(organizations); + } + + private void mockCompanies(String businessId, String detailsUri, String companyForm, String name) { + List companies = new ArrayList<>(); + Company company = new Company(); + company.setBusinessId(businessId); + company.setDetailsUri(detailsUri); + company.setCompanyForm(companyForm); + company.setName(name); + companies.add(company); + given(jaxbCompanyService.getCompanies(businessId)).willReturn(companies); + } } diff --git a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/HeartbeatControllerTests.java b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/HeartbeatControllerTests.java index a9656e70..2a458d2b 100644 --- a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/HeartbeatControllerTests.java +++ b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/HeartbeatControllerTests.java @@ -32,7 +32,7 @@ import static org.mockito.BDDMockito.given; @SpringBootTest(classes = ListerApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -@TestPropertySource(properties = {"xroad-catalog.app-name=X-Road Catalog Lister","xroad-catalog.app-version=1.0.3"}) +@TestPropertySource(properties = { "xroad-catalog.app-name=X-Road Catalog Lister", "xroad-catalog.app-version=1.0.3" }) public class HeartbeatControllerTests { @Autowired @@ -44,11 +44,11 @@ public class HeartbeatControllerTests { @Test public void testGetHeartbeat() throws JSONException { LastCollectionData lastCollectionData = LastCollectionData.builder() - .wsdlsLastFetched(LocalDateTime.of(2021, 9,1,1,1,1)) - .subsystemsLastFetched(LocalDateTime.of(2021, 8,1,1,1, 1)) - .servicesLastFetched(LocalDateTime.of(2021, 7,1,1,1, 1)) - .openapisLastFetched(LocalDateTime.of(2021, 5,1,1,1, 1)) - .membersLastFetched(LocalDateTime.of(2021, 4,1,1,1, 1)).build(); + .wsdlsLastFetched(LocalDateTime.of(2021, 9, 1, 1, 1, 1)) + .subsystemsLastFetched(LocalDateTime.of(2021, 8, 1, 1, 1, 1)) + .servicesLastFetched(LocalDateTime.of(2021, 7, 1, 1, 1, 1)) + .openapisLastFetched(LocalDateTime.of(2021, 5, 1, 1, 1, 1)) + .membersLastFetched(LocalDateTime.of(2021, 4, 1, 1, 1, 1)).build(); given(catalogService.checkDatabaseConnection()).willReturn(Boolean.TRUE); given(catalogService.getLastCollectionData()).willReturn(lastCollectionData); ResponseEntity response = restTemplate.getForEntity("/api/heartbeat", String.class); @@ -59,7 +59,8 @@ public void testGetHeartbeat() throws JSONException { assertTrue(json.getBoolean("dbWorking")); assertEquals("X-Road Catalog Lister", json.getString("appName")); assertEquals("2021-09-01T01:01:01", json.getJSONObject("lastCollectionData").optString("wsdlsLastFetched")); - assertEquals("2021-08-01T01:01:01", json.getJSONObject("lastCollectionData").optString("subsystemsLastFetched")); + assertEquals("2021-08-01T01:01:01", + json.getJSONObject("lastCollectionData").optString("subsystemsLastFetched")); assertEquals("2021-07-01T01:01:01", json.getJSONObject("lastCollectionData").optString("servicesLastFetched")); assertEquals("2021-05-01T01:01:01", json.getJSONObject("lastCollectionData").optString("openapisLastFetched")); assertEquals("2021-04-01T01:01:01", json.getJSONObject("lastCollectionData").optString("membersLastFetched")); @@ -70,8 +71,7 @@ public void testGetHeartbeat() throws JSONException { public void testGetHeartbeatDbDown() throws JSONException { given(catalogService.checkDatabaseConnection()).willReturn(Boolean.FALSE); - ResponseEntity response = - restTemplate.getForEntity("/api/heartbeat", String.class); + ResponseEntity response = restTemplate.getForEntity("/api/heartbeat", String.class); assertNotNull(response.getBody()); assertEquals(200, response.getStatusCodeValue()); @@ -83,4 +83,3 @@ public void testGetHeartbeatDbDown() throws JSONException { } } - diff --git a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/JaxbCatalogServiceTest.java b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/JaxbCatalogServiceTest.java index 3106365e..369c863d 100644 --- a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/JaxbCatalogServiceTest.java +++ b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/JaxbCatalogServiceTest.java @@ -16,7 +16,11 @@ import fi.vrk.xroad.catalog.lister.util.JaxbServiceUtil; import fi.vrk.xroad.catalog.persistence.CatalogService; import fi.vrk.xroad.catalog.persistence.CatalogServiceImpl; -import fi.vrk.xroad.catalog.persistence.entity.*; +import fi.vrk.xroad.catalog.persistence.entity.Member; +import fi.vrk.xroad.catalog.persistence.entity.Service; +import fi.vrk.xroad.catalog.persistence.entity.Subsystem; +import fi.vrk.xroad.catalog.persistence.entity.Wsdl; + import org.apache.commons.beanutils.PropertyUtils; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; @@ -25,7 +29,13 @@ import javax.xml.datatype.XMLGregorianCalendar; import java.lang.reflect.InvocationTargetException; import java.time.LocalDateTime; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; import static org.junit.jupiter.api.Assertions.*; @@ -53,6 +63,7 @@ public void setup() { public Iterable getAllMembers(LocalDateTime startDateTime, LocalDateTime endDateTime) { return mockGetAllMembers(startDateTime, endDateTime); } + @Override public Iterable getAllMembers() { return mockGetAllMembers(DATETIME_1800, null); @@ -65,10 +76,14 @@ public Iterable getAllMembers() { @Test public void testGetAll() throws Exception { - XMLGregorianCalendar calendar20150505 = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2015, 5, 5, 0, 0)); - XMLGregorianCalendar calendar20140505 = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2014, 5, 5, 0, 0)); - XMLGregorianCalendar endDateTime = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2022, 12, 31, 0, 0)); - Iterable members = service.getAllMembers(calendar20150505, endDateTime); + XMLGregorianCalendar calendar20150505 = JaxbServiceUtil + .toXmlGregorianCalendar(LocalDateTime.of(2015, 5, 5, 0, 0)); + XMLGregorianCalendar calendar20140505 = JaxbServiceUtil + .toXmlGregorianCalendar(LocalDateTime.of(2014, 5, 5, 0, 0)); + XMLGregorianCalendar endDateTime = JaxbServiceUtil + .toXmlGregorianCalendar(LocalDateTime.of(2022, 12, 31, 0, 0)); + Iterable members = service.getAllMembers(calendar20150505, + endDateTime); assertEquals(2, Iterables.size(members)); assertEquals(new HashSet<>(Arrays.asList("2", "3")), new HashSet<>(getMemberCodes(members))); @@ -90,19 +105,19 @@ public void testGetAll() throws Exception { /** * Assert that member 2 has subsystem-service-wsdl contents that we expect */ - private void assertMember2Contents(Iterable members) throws - IllegalAccessException, NoSuchMethodException, InvocationTargetException { - fi.vrk.xroad.xroad_catalog_lister.Member m2 = (fi.vrk.xroad.xroad_catalog_lister.Member) - getItem(members, PROPERTY_MEMBER_CODE, "2"); + private void assertMember2Contents(Iterable members) + throws IllegalAccessException, NoSuchMethodException, InvocationTargetException { + fi.vrk.xroad.catalog.lister.generated.Member m2 = (fi.vrk.xroad.catalog.lister.generated.Member) getItem( + members, PROPERTY_MEMBER_CODE, "2"); assertNotNull(m2); assertEquals(new HashSet<>(Arrays.asList("21", "22", "23")), new HashSet<>(getSubsystemCodes(m2.getSubsystems().getSubsystem()))); - fi.vrk.xroad.xroad_catalog_lister.Subsystem ss21 = (fi.vrk.xroad.xroad_catalog_lister.Subsystem) - getItem(m2.getSubsystems().getSubsystem(), PROPERTY_SUBSYSTEM_CODE, "21"); - fi.vrk.xroad.xroad_catalog_lister.Subsystem ss22 = (fi.vrk.xroad.xroad_catalog_lister.Subsystem) - getItem(m2.getSubsystems().getSubsystem(), PROPERTY_SUBSYSTEM_CODE, "22"); - fi.vrk.xroad.xroad_catalog_lister.Subsystem ss23 = (fi.vrk.xroad.xroad_catalog_lister.Subsystem) - getItem(m2.getSubsystems().getSubsystem(), PROPERTY_SUBSYSTEM_CODE, "23"); + fi.vrk.xroad.catalog.lister.generated.Subsystem ss21 = (fi.vrk.xroad.catalog.lister.generated.Subsystem) getItem( + m2.getSubsystems().getSubsystem(), PROPERTY_SUBSYSTEM_CODE, "21"); + fi.vrk.xroad.catalog.lister.generated.Subsystem ss22 = (fi.vrk.xroad.catalog.lister.generated.Subsystem) getItem( + m2.getSubsystems().getSubsystem(), PROPERTY_SUBSYSTEM_CODE, "22"); + fi.vrk.xroad.catalog.lister.generated.Subsystem ss23 = (fi.vrk.xroad.catalog.lister.generated.Subsystem) getItem( + m2.getSubsystems().getSubsystem(), PROPERTY_SUBSYSTEM_CODE, "23"); assertNotNull(ss21); assertNotNull(ss22); assertNotNull(ss23); @@ -115,12 +130,12 @@ private void assertMember2Contents(Iterable(getServiceCodes(ss22.getServices().getService()))); assertEquals(new HashSet<>(Arrays.asList("231", "232", "233")), new HashSet<>(getServiceCodes(ss23.getServices().getService()))); - fi.vrk.xroad.xroad_catalog_lister.Service s221 = (fi.vrk.xroad.xroad_catalog_lister.Service) - getItem(ss22.getServices().getService(), PROPERTY_SERVICE_CODE, "221"); - fi.vrk.xroad.xroad_catalog_lister.Service s222 = (fi.vrk.xroad.xroad_catalog_lister.Service) - getItem(ss22.getServices().getService(), PROPERTY_SERVICE_CODE, "222"); - fi.vrk.xroad.xroad_catalog_lister.Service s223 = (fi.vrk.xroad.xroad_catalog_lister.Service) - getItem(ss22.getServices().getService(), PROPERTY_SERVICE_CODE, "223"); + fi.vrk.xroad.catalog.lister.generated.Service s221 = (fi.vrk.xroad.catalog.lister.generated.Service) getItem( + ss22.getServices().getService(), PROPERTY_SERVICE_CODE, "221"); + fi.vrk.xroad.catalog.lister.generated.Service s222 = (fi.vrk.xroad.catalog.lister.generated.Service) getItem( + ss22.getServices().getService(), PROPERTY_SERVICE_CODE, "222"); + fi.vrk.xroad.catalog.lister.generated.Service s223 = (fi.vrk.xroad.catalog.lister.generated.Service) getItem( + ss22.getServices().getService(), PROPERTY_SERVICE_CODE, "223"); assertNotNull(s221); assertNotNull(s222); assertNotNull(s223); @@ -129,11 +144,10 @@ private void assertMember2Contents(Iterable getPropertyValues(Iterable items, String propertyName) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException { List values = new ArrayList<>(); - for (Object item: items) { + for (Object item : items) { values.add(getStringProperty(propertyName, item)); } return values; @@ -146,7 +160,7 @@ private String getStringProperty(String propertyName, Object item) throws Illega private Object getItem(Iterable items, String propertyName, String value) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException { - for (Object item: items) { + for (Object item : items) { if (value.equals(getStringProperty(propertyName, item))) { return item; } @@ -154,18 +168,19 @@ private Object getItem(Iterable items, String propertyName, String value) throws return null; } - private Collection getMemberCodes(Iterable members) throws - IllegalAccessException, NoSuchMethodException, InvocationTargetException { + private Collection getMemberCodes(Iterable members) + throws IllegalAccessException, NoSuchMethodException, InvocationTargetException { return getPropertyValues(members, PROPERTY_MEMBER_CODE); } - private Collection getSubsystemCodes(Iterable subsystems) + private Collection getSubsystemCodes( + Iterable subsystems) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException { return getPropertyValues(subsystems, PROPERTY_SUBSYSTEM_CODE); } - private Collection getServiceCodes(Iterable services) throws - IllegalAccessException, NoSuchMethodException, InvocationTargetException { + private Collection getServiceCodes(Iterable services) + throws IllegalAccessException, NoSuchMethodException, InvocationTargetException { return getPropertyValues(services, PROPERTY_SERVICE_CODE); } @@ -262,7 +277,7 @@ private Iterable mockGetAllMembers(LocalDateTime startDateTime, LocalDat } List matchingMembers = new ArrayList<>(); Map allMembers = createTestMembers(); - for (Long key: keys) { + for (Long key : keys) { matchingMembers.add(allMembers.get(key)); } return matchingMembers; diff --git a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/JaxbCompanyServiceTest.java b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/JaxbCompanyServiceTest.java index c57b74f1..28bf6526 100644 --- a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/JaxbCompanyServiceTest.java +++ b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/JaxbCompanyServiceTest.java @@ -28,7 +28,7 @@ import fi.vrk.xroad.catalog.persistence.entity.Liquidation; import fi.vrk.xroad.catalog.persistence.entity.RegisteredEntry; import fi.vrk.xroad.catalog.persistence.entity.RegisteredOffice; -import fi.vrk.xroad.xroad_catalog_lister.ChangedValue; +import fi.vrk.xroad.catalog.lister.generated.ChangedValue; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; @@ -69,7 +69,7 @@ public Iterable getCompanies(String businessId) { @Test public void testGetCompanies() { - Iterable companies = service.getCompanies("1710128-9"); + Iterable companies = service.getCompanies("1710128-9"); assertEquals(1, companies.iterator().next().getBusinessAddresses().getBusinessAddress().size()); assertEquals(1, companies.iterator().next().getBusinessAuxiliaryNames().getBusinessAuxiliaryName().size()); assertEquals(1, companies.iterator().next().getBusinessIdChanges().getBusinessIdChange().size()); @@ -84,22 +84,29 @@ public void testGetCompanies() { assertEquals("1710128-9", companies.iterator().next().getBusinessId()); assertEquals("Oyj", companies.iterator().next().getCompanyForm()); assertEquals("Gofore Oyj", companies.iterator().next().getName()); - assertEquals("Katu 1", companies.iterator().next().getBusinessAddresses().getBusinessAddress().get(0).getStreet()); - assertEquals("Auxiliary name", companies.iterator().next().getBusinessAuxiliaryNames().getBusinessAuxiliaryName().get(0).getName()); - assertEquals("12345", companies.iterator().next().getBusinessIdChanges().getBusinessIdChange().get(0).getOldBusinessId()); - assertEquals("Business line", companies.iterator().next().getBusinessLines().getBusinessLine().get(0).getName()); + assertEquals("Katu 1", + companies.iterator().next().getBusinessAddresses().getBusinessAddress().get(0).getStreet()); + assertEquals("Auxiliary name", + companies.iterator().next().getBusinessAuxiliaryNames().getBusinessAuxiliaryName().get(0).getName()); + assertEquals("12345", + companies.iterator().next().getBusinessIdChanges().getBusinessIdChange().get(0).getOldBusinessId()); + assertEquals("Business line", + companies.iterator().next().getBusinessLines().getBusinessLine().get(0).getName()); assertEquals("EN", companies.iterator().next().getBusinessNames().getBusinessName().get(0).getLanguage()); assertEquals("FORM", companies.iterator().next().getCompanyForms().getCompanyForm().get(0).getName()); assertEquals("EN", companies.iterator().next().getContactDetails().getContactDetail().get(0).getLanguage()); assertEquals("Osakeyhtiö", companies.iterator().next().getLanguages().getLanguage().get(0).getName()); assertEquals("EN", companies.iterator().next().getLiquidations().getLiquidation().get(0).getLanguage()); - assertEquals("Description", companies.iterator().next().getRegisteredEntries().getRegisteredEntry().get(0).getDescription()); - assertEquals("EN", companies.iterator().next().getRegisteredOffices().getRegisteredOffice().get(0).getLanguage()); + assertEquals("Description", + companies.iterator().next().getRegisteredEntries().getRegisteredEntry().get(0).getDescription()); + assertEquals("EN", + companies.iterator().next().getRegisteredOffices().getRegisteredOffice().get(0).getLanguage()); } @Test public void testGetChangedCompanyValuesAfter2014() { - XMLGregorianCalendar changedAfter20141231 = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2014, 12, 31, 0, 0)); + XMLGregorianCalendar changedAfter20141231 = JaxbServiceUtil + .toXmlGregorianCalendar(LocalDateTime.of(2014, 12, 31, 0, 0)); XMLGregorianCalendar endDateTime = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2022, 12, 31, 0, 0)); Iterable changedValues = service.getChangedCompanyValues("1710128-9", changedAfter20141231, endDateTime); @@ -108,7 +115,8 @@ public void testGetChangedCompanyValuesAfter2014() { @Test public void testGetChangedCompanyValuesAfter2015() { - XMLGregorianCalendar changedAfter20151231 = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2015, 12, 31, 0, 0)); + XMLGregorianCalendar changedAfter20151231 = JaxbServiceUtil + .toXmlGregorianCalendar(LocalDateTime.of(2015, 12, 31, 0, 0)); XMLGregorianCalendar endDateTime = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2022, 12, 31, 0, 0)); Iterable changedValues = service.getChangedCompanyValues("1710128-9", changedAfter20151231, endDateTime); @@ -118,7 +126,8 @@ public void testGetChangedCompanyValuesAfter2015() { @Test public void testGetChangedCompanyValuesAfter2016() { - XMLGregorianCalendar changedAfter20160101 = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2016, 1, 1, 0, 0)); + XMLGregorianCalendar changedAfter20160101 = JaxbServiceUtil + .toXmlGregorianCalendar(LocalDateTime.of(2016, 1, 1, 0, 0)); XMLGregorianCalendar endDateTime = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2022, 12, 31, 0, 0)); Iterable changedValues = service.getChangedCompanyValues("1710128-9", changedAfter20160101, endDateTime); @@ -158,7 +167,7 @@ private Set createBusinessAddresses(Company c) { Set businessAddresses = new HashSet<>(); BusinessAddress businessAddress = BusinessAddress.builder().careOf("").city("Tampere").country("Finland") .language("FI").postCode("30123").source(0).street("Katu 1").type(0).version(0) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .statusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)) .endDate(null).company(c).build(); businessAddresses.add(businessAddress); @@ -169,7 +178,7 @@ private Set createBusinessAuxiliaryNames(Company c) { Set businessAuxiliaryNames = new HashSet<>(); BusinessAuxiliaryName businessAuxiliaryName = BusinessAuxiliaryName.builder() .name("Auxiliary name").language("EN").ordering(0).source(0).version(0) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .statusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)) .endDate(null).company(c).build(); businessAuxiliaryNames.add(businessAuxiliaryName); @@ -191,7 +200,7 @@ private Set createBusinessLines(Company c) { Set businessLines = new HashSet<>(); BusinessLine businessLine = BusinessLine.builder() .name("Business line").language("EN").ordering(0).source(0).version(0) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .statusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)) .endDate(null).company(c).build(); businessLines.add(businessLine); @@ -202,7 +211,7 @@ private Set createBusinessNames(Company c) { Set businessNames = new HashSet<>(); BusinessName businessName = BusinessName.builder() .name("Business name").language("EN").ordering(0).source(0).version(0) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .statusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)) .endDate(null).company(c).build(); businessNames.add(businessName); @@ -213,7 +222,7 @@ private Set createCompanyForms(Company c) { Set companyForms = new HashSet<>(); CompanyForm companyForm = CompanyForm.builder() .name("FORM").language("EN").source(0).version(0).type(1) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .statusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2016, DATETIME_2015, null)) .endDate(null).company(c).build(); companyForms.add(companyForm); @@ -224,7 +233,7 @@ private Set createContactDetails(Company c) { Set contactDetails = new HashSet<>(); ContactDetail contactDetail = ContactDetail.builder() .value("VALUE").language("EN").source(0).version(0).type("1") - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .statusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)) .endDate(null).company(c).build(); contactDetails.add(contactDetail); @@ -235,7 +244,7 @@ private Set createLanguages(Company c) { Set languages = new HashSet<>(); Language language = Language.builder() .name("Osakeyhtiö").language("FI").source(0).version(0) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .statusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)) .endDate(null).company(c).build(); languages.add(language); @@ -246,7 +255,7 @@ private Set createLiquidations(Company c) { Set liquidations = new HashSet<>(); Liquidation liquidation = Liquidation.builder() .name("Liquidation").language("EN").source(0).version(0).type(1) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .statusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)) .endDate(null).company(c).build(); liquidations.add(liquidation); @@ -257,7 +266,7 @@ private Set createRegisteredEntries(Company c) { Set registeredEntries = new HashSet<>(); RegisteredEntry registeredEntry = RegisteredEntry.builder() .status(1).authority(2).register(3).description("Description") - .language("EN").registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .language("EN").registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .statusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)) .endDate(null).company(c).build(); registeredEntries.add(registeredEntry); @@ -268,7 +277,7 @@ private Set createRegisteredOffices(Company c) { Set registeredOffices = new HashSet<>(); RegisteredOffice registeredOffice = RegisteredOffice.builder().source(0).ordering(0) .name("Registered Office").version(0).language("EN") - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .statusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)) .endDate(null).company(c).build(); registeredOffices.add(registeredOffice); diff --git a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationServiceTest.java b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationServiceTest.java index 8a3fcee9..74f8629c 100644 --- a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationServiceTest.java +++ b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/JaxbOrganizationServiceTest.java @@ -35,7 +35,7 @@ import fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipalityName; import fi.vrk.xroad.catalog.persistence.entity.StreetAddressPostOffice; import fi.vrk.xroad.catalog.persistence.entity.WebPage; -import fi.vrk.xroad.xroad_catalog_lister.ChangedValue; +import fi.vrk.xroad.catalog.lister.generated.ChangedValue; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.TestInstance; @@ -68,8 +68,9 @@ public void setup() { public Iterable getOrganizations(String businessCode) { return mockGetOrganizations(businessCode); } + @Override - public Optional getOrganization(String guid){ + public Optional getOrganization(String guid) { return mockGetOrganization(guid); } }; @@ -81,7 +82,8 @@ public Optional getOrganization(String guid){ @Test public void testGetOrganizations() { - Iterable organizations = service.getOrganizations("123456-9"); + Iterable organizations = service + .getOrganizations("123456-9"); assertEquals(1, Iterables.size(organizations)); assertEquals(1, organizations.iterator().next().getOrganizationNames().getOrganizationName().size()); assertEquals(1, organizations.iterator().next().getOrganizationDescriptions() @@ -98,12 +100,15 @@ public void testGetOrganizations() { assertEquals("a123456789", organizations.iterator().next().getGuid()); assertEquals("Published", organizations.iterator().next().getPublishingStatus()); assertEquals("Municipality", organizations.iterator().next().getOrganizationType()); - assertEquals("Vaasan kaupunki", organizations.iterator().next().getOrganizationNames().getOrganizationName().get(0).getValue()); + assertEquals("Vaasan kaupunki", + organizations.iterator().next().getOrganizationNames().getOrganizationName().get(0).getValue()); assertEquals("Vaasa on yli 67 000 asukkaan voimakkaasti kasvava kaupunki", - organizations.iterator().next().getOrganizationDescriptions().getOrganizationDescription().get(0).getValue()); + organizations.iterator().next().getOrganizationDescriptions().getOrganizationDescription().get(0) + .getValue()); assertEquals("vaasa@vaasa.fi", organizations.iterator().next().getEmails().getEmail().get(0).getValue()); assertEquals("62249111", organizations.iterator().next().getPhoneNumbers().getPhoneNumber().get(0).getNumber()); - assertEquals("https://www.vaasa.fi", organizations.iterator().next().getWebPages().getWebPage().get(0).getUrl()); + assertEquals("https://www.vaasa.fi", + organizations.iterator().next().getWebPages().getWebPage().get(0).getUrl()); assertEquals("Street", organizations.iterator().next().getAddresses().getAddress().get(0).getSubType()); assertEquals("64200", organizations.iterator().next().getAddresses().getAddress().get(0) .getStreetAddresses().getStreetAddress().get(0).getPostalCode()); @@ -113,7 +118,8 @@ public void testGetOrganizations() { @Test public void testGetChangedOrganizationValuesAfter2014() { - XMLGregorianCalendar changedAfter20141231 = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2014, 12, 31, 0, 0)); + XMLGregorianCalendar changedAfter20141231 = JaxbServiceUtil + .toXmlGregorianCalendar(LocalDateTime.of(2014, 12, 31, 0, 0)); XMLGregorianCalendar endDateTime = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2022, 12, 31, 0, 0)); Iterable changedValues = service.getChangedOrganizationValues("abc123456789", changedAfter20141231, endDateTime); @@ -122,7 +128,8 @@ public void testGetChangedOrganizationValuesAfter2014() { @Test public void testGetChangedOrganizationValuesAfter2015() { - XMLGregorianCalendar changedAfter20151231 = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2015, 12, 31, 0, 0)); + XMLGregorianCalendar changedAfter20151231 = JaxbServiceUtil + .toXmlGregorianCalendar(LocalDateTime.of(2015, 12, 31, 0, 0)); XMLGregorianCalendar endDateTime = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2022, 12, 31, 0, 0)); Iterable changedValues = service.getChangedOrganizationValues("abc123456789", changedAfter20151231, endDateTime); @@ -132,7 +139,8 @@ public void testGetChangedOrganizationValuesAfter2015() { @Test public void testGetChangedOrganizationValuesAfter2016() { - XMLGregorianCalendar changedAfter20160101 = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2016, 1, 1, 0, 0)); + XMLGregorianCalendar changedAfter20160101 = JaxbServiceUtil + .toXmlGregorianCalendar(LocalDateTime.of(2016, 1, 1, 0, 0)); XMLGregorianCalendar endDateTime = JaxbServiceUtil.toXmlGregorianCalendar(LocalDateTime.of(2022, 12, 31, 0, 0)); Iterable changedValues = service.getChangedOrganizationValues("abc123456789", changedAfter20160101, endDateTime); @@ -207,7 +215,8 @@ private Set createOrganizationDescriptions(Organization organizationDescription.setLanguage("FI"); organizationDescription.setType("Description"); organizationDescription.setValue("Vaasa on yli 67 000 asukkaan voimakkaasti kasvava kaupunki"); - organizationDescription.setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); + organizationDescription + .setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); organizationDescriptions.add(organizationDescription); return organizationDescriptions; } @@ -313,7 +322,8 @@ private Set createStreetAddressPostOffices(StreetAddres streetAddressPostOffice.setId(1L); streetAddressPostOffice.setLanguage("FI"); streetAddressPostOffice.setValue("NIVALA"); - streetAddressPostOffice.setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); + streetAddressPostOffice + .setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); streetAddressPostOffices.add(streetAddressPostOffice); return streetAddressPostOffices; } @@ -325,7 +335,8 @@ private Set createStreetAddressAdditionalInf streetAddressAdditionalInformation.setId(1L); streetAddressAdditionalInformation.setLanguage("FI"); streetAddressAdditionalInformation.setValue("Kaupungintalo/kaupunginjohtaja"); - streetAddressAdditionalInformation.setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); + streetAddressAdditionalInformation + .setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); streetAddressAdditionalInformationList.add(streetAddressAdditionalInformation); return streetAddressAdditionalInformationList; } @@ -336,9 +347,11 @@ private Set createStreetAddressMunicipalities(StreetA streetAddressMunicipality.setStreetAddress(s); streetAddressMunicipality.setId(1L); streetAddressMunicipality.setCode("545"); - streetAddressMunicipality.setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); + streetAddressMunicipality + .setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); - streetAddressMunicipality.setStreetAddressMunicipalityNames(createStreetAddressMunicipalityNames(streetAddressMunicipality)); + streetAddressMunicipality + .setStreetAddressMunicipalityNames(createStreetAddressMunicipalityNames(streetAddressMunicipality)); streetAddressMunicipalities.add(streetAddressMunicipality); return streetAddressMunicipalities; @@ -351,7 +364,8 @@ private Set createStreetAddressMunicipalityNames( streetAddressMunicipalityName.setId(1L); streetAddressMunicipalityName.setLanguage("FI"); streetAddressMunicipalityName.setValue("Nivala"); - streetAddressMunicipalityName.setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); + streetAddressMunicipalityName + .setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); streetAddressMunicipalityNames.add(streetAddressMunicipalityName); return streetAddressMunicipalityNames; } @@ -362,12 +376,14 @@ private Set createPostOfficeBoxAddresses(Address a) { postOfficeBoxAddress.setId(1L); postOfficeBoxAddress.setAddress(a); postOfficeBoxAddress.setPostalCode("64200"); - postOfficeBoxAddress.setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); + postOfficeBoxAddress + .setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); postOfficeBoxAddress.setPostOffices(createPostOffices(postOfficeBoxAddress)); postOfficeBoxAddress.setPostOfficesBoxes(createPostOfficeBoxes(postOfficeBoxAddress)); postOfficeBoxAddress.setAdditionalInformation(createAdditionalInformation(postOfficeBoxAddress)); - postOfficeBoxAddress.setPostOfficeBoxAddressMunicipalities(createPostOfficeBoxAddressMunicipalities(postOfficeBoxAddress)); + postOfficeBoxAddress + .setPostOfficeBoxAddressMunicipalities(createPostOfficeBoxAddressMunicipalities(postOfficeBoxAddress)); postOfficeBoxAddresses.add(postOfficeBoxAddress); return postOfficeBoxAddresses; @@ -404,7 +420,8 @@ private Set createAdditionalInformati addressAdditionalInformation.setPostOfficeBoxAddress(p); addressAdditionalInformation.setLanguage("FI"); addressAdditionalInformation.setValue("Something"); - addressAdditionalInformation.setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); + addressAdditionalInformation + .setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); addressAdditionalInformationList.add(addressAdditionalInformation); return addressAdditionalInformationList; } @@ -415,7 +432,8 @@ private Set createPostOfficeBoxAddressMunicipa postOfficeBoxAddressMunicipality.setPostOfficeBoxAddress(p); postOfficeBoxAddressMunicipality.setId(1L); postOfficeBoxAddressMunicipality.setCode("545"); - postOfficeBoxAddressMunicipality.setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); + postOfficeBoxAddressMunicipality + .setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); postOfficeBoxAddressMunicipality.setPostOfficeBoxAddressMunicipalityNames( createPostOfficeBoxAddressMunicipalityNames(postOfficeBoxAddressMunicipality)); @@ -424,14 +442,16 @@ private Set createPostOfficeBoxAddressMunicipa return postOfficeBoxAddressMunicipalities; } - private Set createPostOfficeBoxAddressMunicipalityNames(PostOfficeBoxAddressMunicipality p) { + private Set createPostOfficeBoxAddressMunicipalityNames( + PostOfficeBoxAddressMunicipality p) { Set postOfficeBoxAddressMunicipalityNames = new HashSet<>(); PostOfficeBoxAddressMunicipalityName postOfficeBoxAddressMunicipalityName = new PostOfficeBoxAddressMunicipalityName(); postOfficeBoxAddressMunicipalityName.setPostOfficeBoxAddressMunicipality(p); postOfficeBoxAddressMunicipalityName.setId(1L); postOfficeBoxAddressMunicipalityName.setLanguage("FI"); postOfficeBoxAddressMunicipalityName.setValue("Nivala"); - postOfficeBoxAddressMunicipalityName.setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); + postOfficeBoxAddressMunicipalityName + .setStatusInfo(TestUtil.createStatusInfo(DATETIME_2015, DATETIME_2015, DATETIME_2015, null)); postOfficeBoxAddressMunicipalityNames.add(postOfficeBoxAddressMunicipalityName); return postOfficeBoxAddressMunicipalityNames; } diff --git a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/OrganizationControllerTests.java b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/OrganizationControllerTests.java index b29ab3e4..9bd7073d 100644 --- a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/OrganizationControllerTests.java +++ b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/OrganizationControllerTests.java @@ -59,17 +59,17 @@ import static org.mockito.BDDMockito.given; @SpringBootTest(classes = ListerApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -@TestPropertySource(properties = {"xroad-catalog.shared-params-file=src/test/resources/shared-params.xml"}) -@ActiveProfiles({"default","fi"}) +@TestPropertySource(properties = { "xroad-catalog.shared-params-file=src/test/resources/shared-params.xml" }) +@ActiveProfiles({ "default", "fi" }) public class OrganizationControllerTests { - private static final String organizationBusinessCode = "0123456-9"; - private static final String organizationGuid = "abcdef123456"; - private static final String organizationType = "Municipality"; - private static final String organizationPublishingStatus = "Published"; - private static final String companyBusinessId = "1710128-9"; - private static final String companyForm = "OYJ"; - private static final String companyName = "Gofore Oyj"; + private static final String ORG_BUSINESS_CODE = "0123456-9"; + private static final String ORG_GUID = "abcdef123456"; + private static final String ORG_TYPE = "Municipality"; + private static final String ORG_PUBLISH_STATUS = "Published"; + private static final String COMPANY_BUSINESS_ID = "1710128-9"; + private static final String COMPANY_FORM = "OYJ"; + private static final String COMPANY_NAME = "Gofore Oyj"; @Autowired TestRestTemplate restTemplate; @@ -86,7 +86,8 @@ public void testGetOrganization() throws JSONException { testGetOrganizationWithCompanyData(); // Get Organization not found - ResponseEntity response = restTemplate.getForEntity("/api/getOrganization/0-12345", String.class); + ResponseEntity response = restTemplate.getForEntity("/api/getOrganization/0-12345", + String.class); assertEquals(404, response.getStatusCodeValue()); assertNull(response.getBody()); } @@ -94,9 +95,10 @@ public void testGetOrganization() throws JSONException { @Test public void testGetOrganizationChanges() throws JSONException { // Get OrganizationChanges for CompanyData older values - mockOrganizationWithCompanyData(companyBusinessId); + mockOrganizationWithCompanyData(COMPANY_BUSINESS_ID); ResponseEntity response = restTemplate - .getForEntity("/api/getOrganizationChanges/" + companyBusinessId +"?startDate=2010-01-01&endDate=2022-01-01", String.class); + .getForEntity("/api/getOrganizationChanges/" + COMPANY_BUSINESS_ID + + "?startDate=2010-01-01&endDate=2022-01-01", String.class); assertEquals(200, response.getStatusCodeValue()); JSONObject json = new JSONObject(response.getBody()); JSONArray changedValues = json.optJSONArray("changedValueList"); @@ -104,9 +106,10 @@ public void testGetOrganizationChanges() throws JSONException { assertEquals(12, changedValues.length()); // Get OrganizationChanges for OrganizationData older values - mockOrganizationWithOrganizationData(organizationBusinessCode); + mockOrganizationWithOrganizationData(ORG_BUSINESS_CODE); response = restTemplate - .getForEntity("/api/getOrganizationChanges/" + organizationBusinessCode + "?startDate=2010-01-01&endDate=2022-01-01", String.class); + .getForEntity("/api/getOrganizationChanges/" + ORG_BUSINESS_CODE + + "?startDate=2010-01-01&endDate=2022-01-01", String.class); assertEquals(200, response.getStatusCodeValue()); json = new JSONObject(response.getBody()); changedValues = json.optJSONArray("changedValueList"); @@ -115,7 +118,8 @@ public void testGetOrganizationChanges() throws JSONException { // Get OrganizationChanges for CompanyData newer values response = restTemplate - .getForEntity("/api/getOrganizationChanges/" + companyBusinessId +"?startDate=2021-01-01&endDate=2022-01-01", String.class); + .getForEntity("/api/getOrganizationChanges/" + COMPANY_BUSINESS_ID + + "?startDate=2021-01-01&endDate=2022-01-01", String.class); assertEquals(200, response.getStatusCodeValue()); json = new JSONObject(response.getBody()); changedValues = json.optJSONArray("changedValueList"); @@ -124,7 +128,8 @@ public void testGetOrganizationChanges() throws JSONException { // Get OrganizationChanges for OrganizationData newer values response = restTemplate - .getForEntity("/api/getOrganizationChanges/" + organizationBusinessCode + "?startDate=2021-01-01&endDate=2022-01-01", String.class); + .getForEntity("/api/getOrganizationChanges/" + ORG_BUSINESS_CODE + + "?startDate=2021-01-01&endDate=2022-01-01", String.class); assertEquals(200, response.getStatusCodeValue()); json = new JSONObject(response.getBody()); changedValues = json.optJSONArray("changedValueList"); @@ -133,36 +138,41 @@ public void testGetOrganizationChanges() throws JSONException { // Get OrganizationChanges when date parameter in wrong format response = restTemplate - .getForEntity("/api/getOrganizationChanges/" + organizationBusinessCode + "?startDate=01-01-2022&endDate=2022-06-01", String.class); + .getForEntity("/api/getOrganizationChanges/" + ORG_BUSINESS_CODE + + "?startDate=01-01-2022&endDate=2022-06-01", String.class); assertEquals(400, response.getStatusCodeValue()); // Get OrganizationChanges for CompanyData not found response = restTemplate - .getForEntity("/api/getOrganizationChanges/" + companyBusinessId + "?startDate=2022-01-01&endDate=2022-06-01", String.class); + .getForEntity("/api/getOrganizationChanges/" + COMPANY_BUSINESS_ID + + "?startDate=2022-01-01&endDate=2022-06-01", String.class); assertEquals(200, response.getStatusCodeValue()); assertEquals("{\"changed\":false,\"changedValueList\":[]}", response.getBody()); // Get OrganizationChanges for OrganizationData not found response = restTemplate - .getForEntity("/api/getOrganizationChanges/" + organizationBusinessCode + "?startDate=2022-01-01&endDate=2022-06-01", String.class); + .getForEntity("/api/getOrganizationChanges/" + ORG_BUSINESS_CODE + + "?startDate=2022-01-01&endDate=2022-06-01", String.class); assertEquals(200, response.getStatusCodeValue()); assertEquals("{\"changed\":false,\"changedValueList\":[]}", response.getBody()); // Get OrganizationChanges when business code is invalid response = restTemplate - .getForEntity("/api/getOrganizationChanges/" + organizationBusinessCode + "?startDate=2022-01-01&endDate=2022-06-01", String.class); + .getForEntity("/api/getOrganizationChanges/" + ORG_BUSINESS_CODE + + "?startDate=2022-01-01&endDate=2022-06-01", String.class); assertEquals(200, response.getStatusCodeValue()); assertEquals("{\"changed\":false,\"changedValueList\":[]}", response.getBody()); // Get OrganizationChanges when dates are null - response = restTemplate.getForEntity("/api/getOrganizationChanges/" + organizationBusinessCode, String.class); + response = restTemplate.getForEntity("/api/getOrganizationChanges/" + ORG_BUSINESS_CODE, String.class); assertEquals(200, response.getStatusCodeValue()); assertEquals("{\"changed\":false,\"changedValueList\":[]}", response.getBody()); } private void testGetOrganizationWithOrganizationData() throws JSONException { - mockOrganizationWithOrganizationData(organizationBusinessCode); - ResponseEntity response = restTemplate.getForEntity("/api/getOrganization/" + organizationBusinessCode, String.class); + mockOrganizationWithOrganizationData(ORG_BUSINESS_CODE); + ResponseEntity response = restTemplate.getForEntity("/api/getOrganization/" + ORG_BUSINESS_CODE, + String.class); assertNotNull(response.getBody()); assertEquals(200, response.getStatusCodeValue()); JSONObject json = new JSONObject(response.getBody()); @@ -170,10 +180,10 @@ private void testGetOrganizationWithOrganizationData() throws JSONException { JSONObject companyData = json.optJSONObject("companyData"); assertNull(companyData); assertEquals(14, organizationData.length()); - assertEquals(organizationBusinessCode, organizationData.optString("businessCode")); - assertEquals(organizationGuid, organizationData.optString("guid")); - assertEquals(organizationType, organizationData.optString("organizationType")); - assertEquals(organizationPublishingStatus, organizationData.optString("publishingStatus")); + assertEquals(ORG_BUSINESS_CODE, organizationData.optString("businessCode")); + assertEquals(ORG_GUID, organizationData.optString("guid")); + assertEquals(ORG_TYPE, organizationData.optString("organizationType")); + assertEquals(ORG_PUBLISH_STATUS, organizationData.optString("publishingStatus")); assertNotNull(organizationData.opt("changed")); assertNotNull(organizationData.opt("created")); assertNotNull(organizationData.opt("fetched")); @@ -187,8 +197,9 @@ private void testGetOrganizationWithOrganizationData() throws JSONException { } private void testGetOrganizationWithCompanyData() throws JSONException { - mockOrganizationWithCompanyData(companyBusinessId); - ResponseEntity response = restTemplate.getForEntity("/api/getOrganization/" + companyBusinessId, String.class); + mockOrganizationWithCompanyData(COMPANY_BUSINESS_ID); + ResponseEntity response = restTemplate.getForEntity("/api/getOrganization/" + COMPANY_BUSINESS_ID, + String.class); assertNotNull(response.getBody()); assertEquals(200, response.getStatusCodeValue()); JSONObject json = new JSONObject(response.getBody()); @@ -201,10 +212,10 @@ private void testGetOrganizationWithCompanyData() throws JSONException { assertNotNull(companyData.opt("fetched")); assertNotNull(companyData.opt("removed")); assertNotNull(companyData.opt("registrationDate")); - assertEquals(companyBusinessId, companyData.optString("businessCode")); - assertEquals(companyForm, companyData.optString("companyForm")); + assertEquals(COMPANY_BUSINESS_ID, companyData.optString("businessCode")); + assertEquals(COMPANY_FORM, companyData.optString("companyForm")); assertEquals("", companyData.optString("detailsUri")); - assertEquals(companyName, companyData.optString("name")); + assertEquals(COMPANY_NAME, companyData.optString("name")); assertEquals(1, companyData.optJSONArray("businessAddresses").length()); assertEquals(1, companyData.optJSONArray("businessAuxiliaryNames").length()); assertEquals(1, companyData.optJSONArray("businessIdChanges").length()); @@ -224,25 +235,30 @@ private void mockOrganizationWithOrganizationData(String businessCode) { LocalDateTime fetched = LocalDateTime.of(2020, 1, 10, 10, 10, 10); Organization organization = Organization.builder() .businessCode(businessCode) - .organizationType(organizationType) - .guid(organizationGuid) - .publishingStatus(organizationPublishingStatus) + .organizationType(ORG_TYPE) + .guid(ORG_GUID) + .publishingStatus(ORG_PUBLISH_STATUS) .organizationNames(new HashSet<>(Arrays.asList(OrganizationName.builder() .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) .organizationDescriptions(new HashSet<>(Arrays.asList(OrganizationDescription.builder() .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) .addresses(new HashSet<>(Arrays.asList(Address.builder() .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) - .emails(new HashSet<>(Arrays.asList(Email.builder().statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) + .emails(new HashSet<>(Arrays.asList(Email.builder() + .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) .phoneNumbers(new HashSet<>(Arrays.asList(PhoneNumber.builder() .statusInfo(new StatusInfo(created, changed, fetched, null)) .isFinnishServiceNumber(false).build()))) - .webPages(new HashSet<>(Arrays.asList(WebPage.builder().statusInfo(new StatusInfo(created, changed.plusYears(1), fetched, null)).build()))) + .webPages(new HashSet<>(Arrays.asList(WebPage.builder() + .statusInfo(new StatusInfo(created, changed.plusYears(1), fetched, + null)) + .build()))) .statusInfo(new StatusInfo(created, changed, fetched, null)) .build(); Set organizations = new HashSet<>(Arrays.asList(organization)); given(organizationRepository.findAllByBusinessCode(businessCode)).willReturn(organizations); - given(organizationRepository.findAnyByOrganizationGuid(organizationGuid)).willReturn(Optional.ofNullable(organization)); + given(organizationRepository.findAnyByOrganizationGuid(ORG_GUID)) + .willReturn(Optional.ofNullable(organization)); } private void mockOrganizationWithCompanyData(String businessId) { @@ -251,21 +267,34 @@ private void mockOrganizationWithCompanyData(String businessId) { LocalDateTime fetched = LocalDateTime.of(2020, 1, 10, 10, 10, 10); Company company = Company.builder() .businessId(businessId) - .companyForm(companyForm) + .companyForm(COMPANY_FORM) .detailsUri("") - .name(companyName) + .name(COMPANY_NAME) .statusInfo(new StatusInfo(created, changed, fetched, null)) - .companyForms(new HashSet<>(Arrays.asList(CompanyForm.builder().statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) - .businessAddresses(new HashSet<>(Arrays.asList(BusinessAddress.builder().statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) - .businessAuxiliaryNames(new HashSet<>(Arrays.asList(BusinessAuxiliaryName.builder().statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) - .businessIdChanges(new HashSet<>(Arrays.asList(BusinessIdChange.builder().statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) - .businessLines(new HashSet<>(Arrays.asList(BusinessLine.builder().statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) - .businessNames(new HashSet<>(Arrays.asList(BusinessName.builder().statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) - .contactDetails(new HashSet<>(Arrays.asList(ContactDetail.builder().statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) - .liquidations(new HashSet<>(Arrays.asList(Liquidation.builder().statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) - .languages(new HashSet<>(Arrays.asList(Language.builder().statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) - .registeredOffices(new HashSet<>(Arrays.asList(RegisteredOffice.builder().statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) - .registeredEntries(new HashSet<>(Arrays.asList(RegisteredEntry.builder().statusInfo(new StatusInfo(created, changed.plusYears(1), fetched, null)).build()))) + .companyForms(new HashSet<>(Arrays.asList(CompanyForm.builder() + .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) + .businessAddresses(new HashSet<>(Arrays.asList(BusinessAddress.builder() + .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) + .businessAuxiliaryNames(new HashSet<>(Arrays.asList(BusinessAuxiliaryName.builder() + .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) + .businessIdChanges(new HashSet<>(Arrays.asList(BusinessIdChange.builder() + .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) + .businessLines(new HashSet<>(Arrays.asList(BusinessLine.builder() + .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) + .businessNames(new HashSet<>(Arrays.asList(BusinessName.builder() + .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) + .contactDetails(new HashSet<>(Arrays.asList(ContactDetail.builder() + .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) + .liquidations(new HashSet<>(Arrays.asList(Liquidation.builder() + .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) + .languages(new HashSet<>(Arrays.asList(Language.builder() + .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) + .registeredOffices(new HashSet<>(Arrays.asList(RegisteredOffice.builder() + .statusInfo(new StatusInfo(created, changed, fetched, null)).build()))) + .registeredEntries(new HashSet<>(Arrays.asList(RegisteredEntry.builder() + .statusInfo(new StatusInfo(created, changed.plusYears(1), fetched, + null)) + .build()))) .build(); Set companies = new HashSet<>(Arrays.asList(company)); given(companyRepository.findAllByBusinessId(businessId)).willReturn(companies); diff --git a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/OrganizationHeartbeatControllerTests.java b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/OrganizationHeartbeatControllerTests.java index d3560fc0..6b1d3ea6 100644 --- a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/OrganizationHeartbeatControllerTests.java +++ b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/OrganizationHeartbeatControllerTests.java @@ -34,8 +34,8 @@ import static org.mockito.BDDMockito.given; @SpringBootTest(classes = ListerApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -@TestPropertySource(properties = {"xroad-catalog.app-name=X-Road Catalog Lister","xroad-catalog.app-version=1.0.3"}) -@ActiveProfiles({"default","fi"}) +@TestPropertySource(properties = { "xroad-catalog.app-name=X-Road Catalog Lister", "xroad-catalog.app-version=1.0.3" }) +@ActiveProfiles({ "default", "fi" }) public class OrganizationHeartbeatControllerTests { @Autowired @@ -50,8 +50,8 @@ public class OrganizationHeartbeatControllerTests { @Test public void testGetOrganizationHeartbeat() throws JSONException { LastOrganizationCollectionData lastCollectionData = LastOrganizationCollectionData.builder() - .organizationsLastFetched(LocalDateTime.of(2021, 6,1,1,1, 1)) - .companiesLastFetched(LocalDateTime.of(2021, 3,1,1,1, 1)).build(); + .organizationsLastFetched(LocalDateTime.of(2021, 6, 1, 1, 1, 1)) + .companiesLastFetched(LocalDateTime.of(2021, 3, 1, 1, 1, 1)).build(); given(catalogService.checkDatabaseConnection()).willReturn(Boolean.TRUE); given(organizationService.getLastOrganizationCollectionData()).willReturn(lastCollectionData); ResponseEntity response = restTemplate.getForEntity("/api/organizationHeartbeat", String.class); @@ -61,7 +61,8 @@ public void testGetOrganizationHeartbeat() throws JSONException { assertTrue(json.getBoolean("appWorking")); assertTrue(json.getBoolean("dbWorking")); assertEquals("X-Road Catalog Lister", json.getString("appName")); - assertEquals("2021-06-01T01:01:01", json.getJSONObject("lastCollectionData").optString("organizationsLastFetched")); + assertEquals("2021-06-01T01:01:01", + json.getJSONObject("lastCollectionData").optString("organizationsLastFetched")); assertEquals("2021-03-01T01:01:01", json.getJSONObject("lastCollectionData").optString("companiesLastFetched")); assertEquals("1.0.3", json.getString("appVersion")); } @@ -70,8 +71,7 @@ public void testGetOrganizationHeartbeat() throws JSONException { public void testGetHeartbeatDbDown() throws JSONException { given(catalogService.checkDatabaseConnection()).willReturn(Boolean.FALSE); - ResponseEntity response = - restTemplate.getForEntity("/api/organizationHeartbeat", String.class); + ResponseEntity response = restTemplate.getForEntity("/api/organizationHeartbeat", String.class); assertNotNull(response.getBody()); assertEquals(200, response.getStatusCodeValue()); @@ -83,4 +83,3 @@ public void testGetHeartbeatDbDown() throws JSONException { } } - diff --git a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/ServiceControllerTests.java b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/ServiceControllerTests.java index b92aeec7..36ac2488 100644 --- a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/ServiceControllerTests.java +++ b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/ServiceControllerTests.java @@ -53,19 +53,19 @@ import static org.mockito.BDDMockito.given; @SpringBootTest(classes = ListerApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -@TestPropertySource(properties = {"xroad-catalog.shared-params-file=src/test/resources/shared-params.xml"}) -@ActiveProfiles({"default","fi"}) +@TestPropertySource(properties = { "xroad-catalog.shared-params-file=src/test/resources/shared-params.xml" }) +@ActiveProfiles({ "default", "fi" }) public class ServiceControllerTests { - private static final String xRoadInstance = "DEV"; - private static final String anotherInstance = "ICE"; - private static final String memberClass = "GOV"; - private static final String anotherMemberClass = "COM"; - private static final String memberCode = "1234"; - private static final String anotherMemberCode = "12345"; - private static final String firstSubsystem = "TestSubsystem"; - private static final String secondSubsystem = "AnotherTestSubsystem"; - private static final String errorMessage = "Service not found"; + private static final String XROAD_INSTANCE = "DEV"; + private static final String OTHER_INSTANCE = "ICE"; + private static final String MEMBER_CLASS = "GOV"; + private static final String OTHER_MEMBER_CLASS = "COM"; + private static final String MEMBER_CODE = "1234"; + private static final String ANOTHER_MEMBER_CODE = "12345"; + private static final String FIRST_SUBSYSTEM = "TestSubsystem"; + private static final String SECOND_SUBSYSTEM = "AnotherTestSubsystem"; + private static final String ERROR_MESSAGE = "Service not found"; @Autowired TestRestTemplate restTemplate; @@ -87,8 +87,8 @@ public void testListErrorsForSubsystem() throws JSONException { String startDate = "2014-01-01"; String endDate = "2022-01-01"; mockFindErrorLogForSubsystem(startDate, endDate); - String url = "/api/listErrors/" + xRoadInstance + "/" + memberClass + "/" - + memberCode +"/" + firstSubsystem + "?startDate=" + startDate + "&endDate=" + endDate; + String url = "/api/listErrors/" + XROAD_INSTANCE + "/" + MEMBER_CLASS + "/" + + MEMBER_CODE + "/" + FIRST_SUBSYSTEM + "?startDate=" + startDate + "&endDate=" + endDate; ResponseEntity response = restTemplate.getForEntity(url, String.class); assertNotNull(response.getBody()); assertEquals(200, response.getStatusCodeValue()); @@ -98,11 +98,11 @@ public void testListErrorsForSubsystem() throws JSONException { assertEquals(1, errorList.length()); for (int i = 0; i < errorList.length(); i++) { - assertEquals(errorMessage, errorList.optJSONObject(i).optString("message")); - assertEquals(xRoadInstance, errorList.optJSONObject(i).optString("xroadInstance")); - assertEquals(memberClass, errorList.optJSONObject(i).optString("memberClass")); - assertEquals(memberCode, errorList.optJSONObject(i).optString("memberCode")); - assertEquals(firstSubsystem, errorList.optJSONObject(i).optString("subsystemCode")); + assertEquals(ERROR_MESSAGE, errorList.optJSONObject(i).optString("message")); + assertEquals(XROAD_INSTANCE, errorList.optJSONObject(i).optString("xroadInstance")); + assertEquals(MEMBER_CLASS, errorList.optJSONObject(i).optString("memberClass")); + assertEquals(MEMBER_CODE, errorList.optJSONObject(i).optString("memberCode")); + assertEquals(FIRST_SUBSYSTEM, errorList.optJSONObject(i).optString("subsystemCode")); } } @@ -111,8 +111,9 @@ public void testListErrorsForSubsystemWithPagination() throws JSONException { String startDate = "2014-01-01"; String endDate = "2022-01-01"; mockFindErrorLogForSubsystem(startDate, endDate); - String url = "/api/listErrors/" + xRoadInstance + "/" + memberClass + "/" - + memberCode +"/" + firstSubsystem + "?startDate=" + startDate + "&endDate=" + endDate + "&page=0&limit=100"; + String url = "/api/listErrors/" + XROAD_INSTANCE + "/" + MEMBER_CLASS + "/" + + MEMBER_CODE + "/" + FIRST_SUBSYSTEM + "?startDate=" + startDate + "&endDate=" + endDate + + "&page=0&limit=100"; ResponseEntity response = restTemplate.getForEntity(url, String.class); assertNotNull(response.getBody()); assertEquals(200, response.getStatusCodeValue()); @@ -122,11 +123,11 @@ public void testListErrorsForSubsystemWithPagination() throws JSONException { assertEquals(1, errorList.length()); for (int i = 0; i < errorList.length(); i++) { - assertEquals(errorMessage, errorList.optJSONObject(i).optString("message")); - assertEquals(xRoadInstance, errorList.optJSONObject(i).optString("xroadInstance")); - assertEquals(memberClass, errorList.optJSONObject(i).optString("memberClass")); - assertEquals(memberCode, errorList.optJSONObject(i).optString("memberCode")); - assertEquals(firstSubsystem, errorList.optJSONObject(i).optString("subsystemCode")); + assertEquals(ERROR_MESSAGE, errorList.optJSONObject(i).optString("message")); + assertEquals(XROAD_INSTANCE, errorList.optJSONObject(i).optString("xroadInstance")); + assertEquals(MEMBER_CLASS, errorList.optJSONObject(i).optString("memberClass")); + assertEquals(MEMBER_CODE, errorList.optJSONObject(i).optString("memberCode")); + assertEquals(FIRST_SUBSYSTEM, errorList.optJSONObject(i).optString("subsystemCode")); } } @@ -140,7 +141,8 @@ public void testListErrors() throws JSONException { mockFindErrorLogForAll(startDate, endDate); // testListErrorsForMemberCode - String url = "/api/listErrors/" + xRoadInstance + "/" + memberClass + "/" + memberCode + "?startDate=" + startDate + "&endDate=" + endDate; + String url = "/api/listErrors/" + XROAD_INSTANCE + "/" + MEMBER_CLASS + "/" + MEMBER_CODE + "?startDate=" + + startDate + "&endDate=" + endDate; ResponseEntity response = restTemplate.getForEntity(url, String.class); assertEquals(200, response.getStatusCodeValue()); JSONObject json = new JSONObject(response.getBody()); @@ -148,7 +150,8 @@ public void testListErrors() throws JSONException { assertEquals(2, errorList.length()); // testListErrorsForMemberCodeWithPagination - url = "/api/listErrors/" + xRoadInstance + "/" + memberClass + "/" + memberCode + "?startDate=" + startDate + "&endDate=" + endDate + "&page=0&limit=100"; + url = "/api/listErrors/" + XROAD_INSTANCE + "/" + MEMBER_CLASS + "/" + MEMBER_CODE + "?startDate=" + startDate + + "&endDate=" + endDate + "&page=0&limit=100"; response = restTemplate.getForEntity(url, String.class); assertEquals(200, response.getStatusCodeValue()); json = new JSONObject(response.getBody()); @@ -156,14 +159,16 @@ public void testListErrors() throws JSONException { assertEquals(2, errorList.length()); // testListErrorsForMemberClass - url = "/api/listErrors/" + xRoadInstance + "/" + memberClass + "?startDate=" + startDate + "&endDate=" + endDate; + url = "/api/listErrors/" + XROAD_INSTANCE + "/" + MEMBER_CLASS + "?startDate=" + startDate + "&endDate=" + + endDate; response = restTemplate.getForEntity(url, String.class); json = new JSONObject(response.getBody()); errorList = json.getJSONArray("errorLogList"); assertEquals(3, errorList.length()); // testListErrorsForMemberClassWithPagination - url = "/api/listErrors/" + xRoadInstance + "/" + memberClass + "?startDate=" + startDate + "&endDate=" + endDate + "&page=0&limit=100"; + url = "/api/listErrors/" + XROAD_INSTANCE + "/" + MEMBER_CLASS + "?startDate=" + startDate + "&endDate=" + + endDate + "&page=0&limit=100"; response = restTemplate.getForEntity(url, String.class); assertEquals(200, response.getStatusCodeValue()); json = new JSONObject(response.getBody()); @@ -171,7 +176,7 @@ public void testListErrors() throws JSONException { assertEquals(3, errorList.length()); // testListErrorsForInstance - url = "/api/listErrors/" + xRoadInstance + "?startDate=" + startDate + "&endDate=" + endDate; + url = "/api/listErrors/" + XROAD_INSTANCE + "?startDate=" + startDate + "&endDate=" + endDate; response = restTemplate.getForEntity(url, String.class); assertEquals(200, response.getStatusCodeValue()); json = new JSONObject(response.getBody()); @@ -179,7 +184,8 @@ public void testListErrors() throws JSONException { assertEquals(4, errorList.length()); // testListErrorsForInstanceWithPagination - url = "/api/listErrors/" + xRoadInstance + "?startDate=" + startDate + "&endDate=" + endDate + "&page=0&limit=100"; + url = "/api/listErrors/" + XROAD_INSTANCE + "?startDate=" + startDate + "&endDate=" + endDate + + "&page=0&limit=100"; response = restTemplate.getForEntity(url, String.class); assertEquals(200, response.getStatusCodeValue()); json = new JSONObject(response.getBody()); @@ -238,13 +244,13 @@ public void testGetDistinctServiceStatistics() throws JSONException { } // testGetDistinctServiceStatisticsInvalidDateFormatException - response = - restTemplate.getForEntity("/api/getDistinctServiceStatistics?startDate=01-01-2014&endDate=2022-01-01", String.class); + response = restTemplate.getForEntity( + "/api/getDistinctServiceStatistics?startDate=01-01-2014&endDate=2022-01-01", String.class); assertEquals(400, response.getStatusCodeValue()); // testGetDistinctServiceStatisticsNotFoundException - response = - restTemplate.getForEntity("/api/getDistinctServiceStatistics?startDate=2030-01-01&endDate=2030-06-01", String.class); + response = restTemplate.getForEntity( + "/api/getDistinctServiceStatistics?startDate=2030-01-01&endDate=2030-06-01", String.class); assertEquals(200, response.getStatusCodeValue()); assertEquals("{\"distinctServiceStatisticsList\":[]}", response.getBody()); } @@ -411,10 +417,13 @@ public void testListSecurityServers() throws JSONException { assertEquals(1, securityServerDataList.length()); for (int i = 0; i < securityServerDataList.length(); i++) { - assertEquals("{\"memberCode\":\"1234\",\"name\":\"ACME\",\"memberClass\":\"GOV\",\"subsystemCode\":null}", securityServerDataList.optJSONObject(i).optString("owner")); + assertEquals("{\"memberCode\":\"1234\",\"name\":\"ACME\",\"memberClass\":\"GOV\",\"subsystemCode\":null}", + securityServerDataList.optJSONObject(i).optString("owner")); assertEquals("SS1", securityServerDataList.optJSONObject(i).optString("serverCode")); assertEquals("10.18.150.48", securityServerDataList.optJSONObject(i).optString("address")); - assertEquals("[{\"memberCode\":\"1234\",\"name\":\"ACME\",\"memberClass\":\"GOV\",\"subsystemCode\":\"MANAGEMENT\"}," + + assertEquals( + "[{\"memberCode\":\"1234\",\"name\":\"ACME\",\"memberClass\":\"GOV\",\"subsystemCode\":\"MANAGEMENT\"}," + + "{\"memberCode\":\"1234\",\"name\":\"ACME\",\"memberClass\":\"GOV\",\"subsystemCode\":\"TEST\"}]", securityServerDataList.optJSONObject(i).optString("clients")); } @@ -458,7 +467,8 @@ public void testListDescriptors() throws JSONException { @Test public void testGetEndpoints() throws JSONException { mockServicesWithEndpointsByMemberServiceAndSubsystem(); - String url = "/api/getEndpoints/" + xRoadInstance + "/" + memberClass + "/" + memberCode + "/" + firstSubsystem + "/aService"; + String url = "/api/getEndpoints/" + XROAD_INSTANCE + "/" + MEMBER_CLASS + "/" + MEMBER_CODE + "/" + + FIRST_SUBSYSTEM + "/aService"; ResponseEntity response = restTemplate.getForEntity(url, String.class); assertEquals(200, response.getStatusCodeValue()); ServiceEndpointsResponse endpointsResponse = new ServiceEndpointsResponse(); @@ -474,27 +484,34 @@ public void testGetEndpoints() throws JSONException { endpointsResponse.setEndpointList(endpointList); JSONObject json = new JSONObject(response.getBody()); assertEquals(1, json.length()); - assertEquals(xRoadInstance, json.optJSONArray("listOfServices").optJSONObject(0).optString(endpointsResponse.getXRoadInstance())); - assertEquals(memberClass, json.optJSONArray("listOfServices").optJSONObject(0).optString(endpointsResponse.getMemberClass())); - assertEquals(memberCode, json.optJSONArray("listOfServices").optJSONObject(0).optString(endpointsResponse.getMemberCode())); - assertEquals(firstSubsystem, json.optJSONArray("listOfServices").optJSONObject(0).optString(endpointsResponse.getSubsystemCode())); - assertEquals("aService", json.optJSONArray("listOfServices").optJSONObject(0).optString(endpointsResponse.getServiceCode())); - assertEquals("v1", json.optJSONArray("listOfServices").optJSONObject(0).optString(endpointsResponse.getServiceVersion())); + assertEquals(XROAD_INSTANCE, + json.optJSONArray("listOfServices").optJSONObject(0).optString(endpointsResponse.getXRoadInstance())); + assertEquals(MEMBER_CLASS, + json.optJSONArray("listOfServices").optJSONObject(0).optString(endpointsResponse.getMemberClass())); + assertEquals(MEMBER_CODE, + json.optJSONArray("listOfServices").optJSONObject(0).optString(endpointsResponse.getMemberCode())); + assertEquals(FIRST_SUBSYSTEM, + json.optJSONArray("listOfServices").optJSONObject(0).optString(endpointsResponse.getSubsystemCode())); + assertEquals("aService", + json.optJSONArray("listOfServices").optJSONObject(0).optString(endpointsResponse.getServiceCode())); + assertEquals("v1", + json.optJSONArray("listOfServices").optJSONObject(0).optString(endpointsResponse.getServiceVersion())); assertEquals(1, json.optJSONArray("listOfServices").optJSONObject(0).optJSONArray("endpointList").length()); } @Test public void testGetRest() throws JSONException { mockServicesWithRestByMemberServiceAndSubsystem(); - String url = "/api/getRest/" + xRoadInstance + "/" + memberClass + "/" + memberCode + "/" + firstSubsystem + "/aService"; + String url = "/api/getRest/" + XROAD_INSTANCE + "/" + MEMBER_CLASS + "/" + MEMBER_CODE + "/" + FIRST_SUBSYSTEM + + "/aService"; ResponseEntity response = restTemplate.getForEntity(url, String.class); assertEquals(200, response.getStatusCodeValue()); JSONObject json = new JSONObject(response.getBody()); assertEquals(1, json.length()); - assertEquals(xRoadInstance, json.optJSONArray("listOfServices").optJSONObject(0).optString("xroadInstance")); - assertEquals(memberClass, json.optJSONArray("listOfServices").optJSONObject(0).optString("memberClass")); - assertEquals(memberCode, json.optJSONArray("listOfServices").optJSONObject(0).optString("memberCode")); - assertEquals(firstSubsystem, json.optJSONArray("listOfServices").optJSONObject(0).optString("subsystemCode")); + assertEquals(XROAD_INSTANCE, json.optJSONArray("listOfServices").optJSONObject(0).optString("xroadInstance")); + assertEquals(MEMBER_CLASS, json.optJSONArray("listOfServices").optJSONObject(0).optString("memberClass")); + assertEquals(MEMBER_CODE, json.optJSONArray("listOfServices").optJSONObject(0).optString("memberCode")); + assertEquals(FIRST_SUBSYSTEM, json.optJSONArray("listOfServices").optJSONObject(0).optString("subsystemCode")); assertEquals("aService", json.optJSONArray("listOfServices").optJSONObject(0).optString("serviceCode")); assertEquals("v1", json.optJSONArray("listOfServices").optJSONObject(0).optString("serviceVersion")); assertEquals(1, json.optJSONArray("listOfServices").optJSONObject(0).optJSONArray("endpointList").length()); @@ -511,151 +528,151 @@ private void mockErrorLogWithNoContent(String startDate, String endDate) { private void mockFindErrorLogForSubsystem(String startDate, String endDate) { List errorLogList = new ArrayList<>(); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(memberClass) - .memberCode(memberCode) - .subsystemCode(firstSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(MEMBER_CLASS) + .memberCode(MEMBER_CODE) + .subsystemCode(FIRST_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); Page errors = new PageImpl<>(errorLogList, PageRequest.of(0, 100), 20); given(errorLogRepository.findAnyByAllParameters(ServiceUtil.convertStringToLocalDateTime(startDate), ServiceUtil.convertStringToLocalDateTime(endDate), - xRoadInstance, - memberClass, - memberCode, - firstSubsystem, + XROAD_INSTANCE, + MEMBER_CLASS, + MEMBER_CODE, + FIRST_SUBSYSTEM, PageRequest.of(0, 100))).willReturn(errors); } private void mockFindErrorLogForMemberCode(String startDate, String endDate) { List errorLogList = new ArrayList<>(); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(memberClass) - .memberCode(memberCode) - .subsystemCode(firstSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(MEMBER_CLASS) + .memberCode(MEMBER_CODE) + .subsystemCode(FIRST_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(memberClass) - .memberCode(memberCode) - .subsystemCode(secondSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(MEMBER_CLASS) + .memberCode(MEMBER_CODE) + .subsystemCode(SECOND_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); Page errors = new PageImpl<>(errorLogList, PageRequest.of(0, 100), 20); given(errorLogRepository.findAnyByMemberCode(ServiceUtil.convertStringToLocalDateTime(startDate), ServiceUtil.convertStringToLocalDateTime(endDate), - xRoadInstance, - memberClass, - memberCode, + XROAD_INSTANCE, + MEMBER_CLASS, + MEMBER_CODE, PageRequest.of(0, 100))).willReturn(errors); } private void mockFindErrorLogForMemberClass(String startDate, String endDate) { List errorLogList = new ArrayList<>(); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(memberClass) - .memberCode(memberCode) - .subsystemCode(firstSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(MEMBER_CLASS) + .memberCode(MEMBER_CODE) + .subsystemCode(FIRST_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(memberClass) - .memberCode(memberCode) - .subsystemCode(secondSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(MEMBER_CLASS) + .memberCode(MEMBER_CODE) + .subsystemCode(SECOND_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(memberClass) - .memberCode(anotherMemberCode) - .subsystemCode(secondSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(MEMBER_CLASS) + .memberCode(ANOTHER_MEMBER_CODE) + .subsystemCode(SECOND_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); Page errors = new PageImpl<>(errorLogList, PageRequest.of(0, 100), 20); given(errorLogRepository.findAnyByMemberClass(ServiceUtil.convertStringToLocalDateTime(startDate), ServiceUtil.convertStringToLocalDateTime(endDate), - xRoadInstance, - memberClass, + XROAD_INSTANCE, + MEMBER_CLASS, PageRequest.of(0, 100))).willReturn(errors); } private void mockFindErrorLogForInstance(String startDate, String endDate) { List errorLogList = new ArrayList<>(); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(memberClass) - .memberCode(memberCode) - .subsystemCode(firstSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(MEMBER_CLASS) + .memberCode(MEMBER_CODE) + .subsystemCode(FIRST_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(memberClass) - .memberCode(memberCode) - .subsystemCode(secondSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(MEMBER_CLASS) + .memberCode(MEMBER_CODE) + .subsystemCode(SECOND_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(memberClass) - .memberCode(anotherMemberCode) - .subsystemCode(secondSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(MEMBER_CLASS) + .memberCode(ANOTHER_MEMBER_CODE) + .subsystemCode(SECOND_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(anotherMemberClass) - .memberCode(anotherMemberCode) - .subsystemCode(secondSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(OTHER_MEMBER_CLASS) + .memberCode(ANOTHER_MEMBER_CODE) + .subsystemCode(SECOND_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); Page errors = new PageImpl<>(errorLogList, PageRequest.of(0, 100), 20); given(errorLogRepository.findAnyByInstance(ServiceUtil.convertStringToLocalDateTime(startDate), ServiceUtil.convertStringToLocalDateTime(endDate), - xRoadInstance, + XROAD_INSTANCE, PageRequest.of(0, 100))).willReturn(errors); } private void mockFindErrorLogForAll(String startDate, String endDate) { List errorLogList = new ArrayList<>(); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(memberClass) - .memberCode(memberCode) - .subsystemCode(firstSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(MEMBER_CLASS) + .memberCode(MEMBER_CODE) + .subsystemCode(FIRST_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(memberClass) - .memberCode(memberCode) - .subsystemCode(secondSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(MEMBER_CLASS) + .memberCode(MEMBER_CODE) + .subsystemCode(SECOND_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(memberClass) - .memberCode(anotherMemberCode) - .subsystemCode(secondSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(MEMBER_CLASS) + .memberCode(ANOTHER_MEMBER_CODE) + .subsystemCode(SECOND_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); errorLogList.add(ErrorLog.builder() - .xRoadInstance(xRoadInstance) - .memberClass(anotherMemberClass) - .memberCode(anotherMemberCode) - .subsystemCode(secondSubsystem) - .message(errorMessage) + .xRoadInstance(XROAD_INSTANCE) + .memberClass(OTHER_MEMBER_CLASS) + .memberCode(ANOTHER_MEMBER_CODE) + .subsystemCode(SECOND_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); errorLogList.add(ErrorLog.builder() - .xRoadInstance(anotherInstance) - .memberClass(anotherMemberClass) - .memberCode(anotherMemberCode) - .subsystemCode(secondSubsystem) - .message(errorMessage) + .xRoadInstance(OTHER_INSTANCE) + .memberClass(OTHER_MEMBER_CLASS) + .memberCode(ANOTHER_MEMBER_CODE) + .subsystemCode(SECOND_SUBSYSTEM) + .message(ERROR_MESSAGE) .build()); Page errors = new PageImpl<>(errorLogList, PageRequest.of(0, 100), 20); given(errorLogRepository.findAnyByCreated(ServiceUtil.convertStringToLocalDateTime(startDate), @@ -668,8 +685,8 @@ private void mockServices() { LocalDateTime created = LocalDateTime.of(2015, 1, 1, 1, 1); LocalDateTime changed = LocalDateTime.of(2015, 1, 1, 1, 1); LocalDateTime fetched = LocalDateTime.of(2015, 1, 1, 1, 1); - Member member = new Member(xRoadInstance, memberClass, memberCode, "memberX"); - Subsystem subsystem = new Subsystem(member, firstSubsystem); + Member member = new Member(XROAD_INSTANCE, MEMBER_CLASS, MEMBER_CODE, "memberX"); + Subsystem subsystem = new Subsystem(member, FIRST_SUBSYSTEM); Service firstService = new Service(subsystem, "aService", "v1"); firstService.setStatusInfo(new StatusInfo(created, changed, fetched, null)); Service secondService = new Service(subsystem, "anotherService", "v1"); @@ -681,8 +698,8 @@ private void mockServices() { private void mockServicesWithEndpointsByMemberServiceAndSubsystem() { List services = new ArrayList<>(); - Member member = new Member(xRoadInstance, memberClass, memberCode, "memberX"); - Subsystem subsystem = new Subsystem(member, firstSubsystem); + Member member = new Member(XROAD_INSTANCE, MEMBER_CLASS, MEMBER_CODE, "memberX"); + Subsystem subsystem = new Subsystem(member, FIRST_SUBSYSTEM); Service firstService = new Service(subsystem, "aService", "v1"); firstService.setEndpoint(new Endpoint(firstService, "GET", "/getServices")); firstService.setEndpoint(new Endpoint(firstService, "POST", "/setServices")); @@ -691,17 +708,17 @@ private void mockServicesWithEndpointsByMemberServiceAndSubsystem() { secondService.setEndpoint(new Endpoint(secondService, "POST", "/setServices")); services.add(firstService); services.add(secondService); - given(serviceRepository.findServicesByMemberServiceAndSubsystem(xRoadInstance, - memberClass, - memberCode, + given(serviceRepository.findServicesByMemberServiceAndSubsystem(XROAD_INSTANCE, + MEMBER_CLASS, + MEMBER_CODE, "aService", - firstSubsystem)).willReturn(services); + FIRST_SUBSYSTEM)).willReturn(services); } private void mockServicesWithRestByMemberServiceAndSubsystem() { List services = new ArrayList<>(); - Member member = new Member(xRoadInstance, memberClass, memberCode, "memberX"); - Subsystem subsystem = new Subsystem(member, firstSubsystem); + Member member = new Member(XROAD_INSTANCE, MEMBER_CLASS, MEMBER_CODE, "memberX"); + Subsystem subsystem = new Subsystem(member, FIRST_SUBSYSTEM); Service firstService = new Service(subsystem, "aService", "v1"); Service secondService = new Service(subsystem, "anotherService", "v1"); Rest rest1 = new Rest(firstService, "data123", "abc12345"); @@ -712,11 +729,11 @@ private void mockServicesWithRestByMemberServiceAndSubsystem() { firstService.setEndpoint(new Endpoint(firstService, "POST", "/setServices")); services.add(firstService); services.add(secondService); - given(serviceRepository.findServicesByMemberServiceAndSubsystem(xRoadInstance, - memberClass, - memberCode, + given(serviceRepository.findServicesByMemberServiceAndSubsystem(XROAD_INSTANCE, + MEMBER_CLASS, + MEMBER_CODE, "aService", - firstSubsystem)).willReturn(services); + FIRST_SUBSYSTEM)).willReturn(services); given(restRepository.findAnyByService(firstService)).willReturn(Arrays.asList(rest1)); } @@ -725,15 +742,15 @@ private void mockMembers() { LocalDateTime created = LocalDateTime.of(2015, 1, 1, 1, 1); LocalDateTime changed = LocalDateTime.of(2015, 1, 1, 1, 1); LocalDateTime fetched = LocalDateTime.of(2015, 1, 1, 1, 1); - Member memberX = new Member(xRoadInstance, memberClass, memberCode, "memberX"); - Member memberY = new Member(xRoadInstance, anotherMemberClass, memberCode, "memberY"); - Member memberZ = new Member(xRoadInstance, memberClass, anotherMemberCode, "memberZ"); + Member memberX = new Member(XROAD_INSTANCE, MEMBER_CLASS, MEMBER_CODE, "memberX"); + Member memberY = new Member(XROAD_INSTANCE, OTHER_MEMBER_CLASS, MEMBER_CODE, "memberY"); + Member memberZ = new Member(XROAD_INSTANCE, MEMBER_CLASS, ANOTHER_MEMBER_CODE, "memberZ"); memberX.setStatusInfo(new StatusInfo(created, changed, fetched, null)); memberY.setStatusInfo(new StatusInfo(created.plusYears(1), changed, fetched, null)); memberZ.setStatusInfo(new StatusInfo(created.plusYears(2), changed, fetched, null)); - memberX.setSubsystems(new HashSet<>(Arrays.asList(new Subsystem(memberX, firstSubsystem)))); - memberY.setSubsystems(new HashSet<>(Arrays.asList(new Subsystem(memberY, firstSubsystem)))); - memberZ.setSubsystems(new HashSet<>(Arrays.asList(new Subsystem(memberZ, firstSubsystem)))); + memberX.setSubsystems(new HashSet<>(Arrays.asList(new Subsystem(memberX, FIRST_SUBSYSTEM)))); + memberY.setSubsystems(new HashSet<>(Arrays.asList(new Subsystem(memberY, FIRST_SUBSYSTEM)))); + memberZ.setSubsystems(new HashSet<>(Arrays.asList(new Subsystem(memberZ, FIRST_SUBSYSTEM)))); members.add(memberX); members.add(memberY); members.add(memberZ); diff --git a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/TestUtil.java b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/TestUtil.java index 37e8c071..3ee6a14f 100644 --- a/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/TestUtil.java +++ b/xroad-catalog-lister/src/test/java/fi/vrk/xroad/catalog/lister/TestUtil.java @@ -17,12 +17,15 @@ import java.time.LocalDateTime; @Component -public class TestUtil { +public final class TestUtil { + + private TestUtil() { + } public static StatusInfo createStatusInfo(LocalDateTime created, - LocalDateTime changed, - LocalDateTime fetched, - LocalDateTime removed) { + LocalDateTime changed, + LocalDateTime fetched, + LocalDateTime removed) { StatusInfo statusInfo = new StatusInfo(); statusInfo.setCreated(created); statusInfo.setChanged(changed); diff --git a/xroad-catalog-persistence/build.gradle b/xroad-catalog-persistence/build.gradle index 59fc645c..77423842 100644 --- a/xroad-catalog-persistence/build.gradle +++ b/xroad-catalog-persistence/build.gradle @@ -4,11 +4,12 @@ plugins { id 'eclipse' id 'idea' id 'jacoco' + id 'catalogservice.java-checks' } group 'fi.vrk.xroad.catalog.persistence' -sourceCompatibility = 11 -targetCompatibility = 11 +sourceCompatibility = 21 +targetCompatibility = 21 repositories { mavenCentral() @@ -59,5 +60,3 @@ jacocoTestReport { xml.required = true } } - - diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/CatalogService.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/CatalogService.java index 29b08188..6b4d8a90 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/CatalogService.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/CatalogService.java @@ -17,7 +17,15 @@ import fi.vrk.xroad.catalog.persistence.dto.MemberDataList; import fi.vrk.xroad.catalog.persistence.dto.ServiceStatistics; import fi.vrk.xroad.catalog.persistence.dto.XRoadData; -import fi.vrk.xroad.catalog.persistence.entity.*; +import fi.vrk.xroad.catalog.persistence.entity.ErrorLog; +import fi.vrk.xroad.catalog.persistence.entity.Member; +import fi.vrk.xroad.catalog.persistence.entity.OpenApi; +import fi.vrk.xroad.catalog.persistence.entity.Rest; +import fi.vrk.xroad.catalog.persistence.entity.Service; +import fi.vrk.xroad.catalog.persistence.entity.ServiceId; +import fi.vrk.xroad.catalog.persistence.entity.SubsystemId; +import fi.vrk.xroad.catalog.persistence.entity.Wsdl; + import org.springframework.data.domain.Page; import java.time.LocalDateTime; import java.util.Collection; @@ -26,9 +34,12 @@ /** * CRUD methods for catalog objects. no business logic (e.g. hash calculation), * just persistence-related logic. - * Catalog entities (member, subsystem, service, wsdl) have time stamps created, updated and deleted. - * They are used so that "updated" is changed always when entity is updated in any way, including - * creation and deletion. This is important since getActiveMembers(Date updatedSince) only checks + * Catalog entities (member, subsystem, service, wsdl) have time stamps created, + * updated and deleted. + * They are used so that "updated" is changed always when entity is updated in + * any way, including + * creation and deletion. This is important since getActiveMembers(Date + * updatedSince) only checks * updated-field and ignores created & deleted. */ public interface CatalogService { @@ -37,6 +48,7 @@ public interface CatalogService { * Gets all non-removed members, regardless of when they were changed. * Fetches all data from graph member->subsystem->service. * Does NOT fetch wsdl. + * * @return Iterable of Member entities */ Iterable getActiveMembers(); @@ -44,39 +56,47 @@ public interface CatalogService { /** * Same as {@link #getActiveMembers()} except that returns also * removed items + * * @return Iterable of Member entities */ Iterable getAllMembers(); /** - * Gets all non-removed members that have been changed (created) after given time. + * Gets all non-removed members that have been changed (created) after given + * time. * Change is determined by field "changed". * Fetches all data from graph member->subsystem->service->wsdl. + * * @param startDateTime Only interested in member after this - * @param endDateTime Only interested in member before this + * @param endDateTime Only interested in member before this * @return Iterable of Member entities */ Iterable getActiveMembers(LocalDateTime startDateTime, LocalDateTime endDateTime); /** - * Same as {@link #getActiveMembers(LocalDateTime, LocalDateTime)} except that returns also removed items + * Same as {@link #getActiveMembers(LocalDateTime, LocalDateTime)} except that + * returns also removed items + * * @param startDateTime Only interested in member after this - * @param endDateTime Only interested in member before this + * @param endDateTime Only interested in member before this * @return Iterable of Member entities */ Iterable getAllMembers(LocalDateTime startDateTime, LocalDateTime endDateTime); /** * Returns full Member object + * * @param xRoadInstance name of the instance - * @param memberClass member class - * @param memberCode member code + * @param memberClass member class + * @param memberCode member code * @return Member entity */ Member getMember(String xRoadInstance, String memberClass, String memberCode); /** - * Returns the full Wsdl object. Only returns active ones, removed are not found. + * Returns the full Wsdl object. Only returns active ones, removed are not + * found. + * * @param externalId id of a Wsdl * @return Wsdl, if any, null if not found * @throws RuntimeException if multiple matches found. @@ -84,7 +104,9 @@ public interface CatalogService { Wsdl getWsdl(String externalId); /** - * Returns the full OpenApi object. Only returns active ones, removed are not found. + * Returns the full OpenApi object. Only returns active ones, removed are not + * found. + * * @param externalId id of an OpenAPI * @return OpenApi, if any, null if not found * @throws RuntimeException if multiple matches found. @@ -92,186 +114,227 @@ public interface CatalogService { OpenApi getOpenApi(String externalId); /** - * Returns the full Rest object. Only returns active ones, removed are not found. - * @param Service a service object + * Returns the full Rest object. Only returns active ones, removed are not + * found. + * + * @param service a service object * @return Rest, if any, null if not found * @throws RuntimeException if multiple matches found. */ Rest getRest(Service service); /** - * Returns the full Service object. Only returns active ones, removed are not found. - * @param xRoadInstance X-Road instance identifier - * @param memberClass X-Road member class - * @param memberCode X-Road member code - * @param serviceCode X-Road service code - * @param subsystemCode X-Road subsystem code + * Returns the full Service object. Only returns active ones, removed are not + * found. + * + * @param xRoadInstance X-Road instance identifier + * @param memberClass X-Road member class + * @param memberCode X-Road member code + * @param serviceCode X-Road service code + * @param subsystemCode X-Road subsystem code * @param serviceVersion X-Road service version * @return Service, if any, null if not found * @throws RuntimeException if multiple matches found. */ Service getService(String xRoadInstance, - String memberClass, - String memberCode, - String serviceCode, - String subsystemCode, - String serviceVersion); + String memberClass, + String memberCode, + String serviceCode, + String subsystemCode, + String serviceVersion); /** - * Returns List of full Service objects. Only returns active ones, removed are not found. + * Returns List of full Service objects. Only returns active ones, removed are + * not found. + * * @param xRoadInstance X-Road instance identifier - * @param memberClass X-Road member class - * @param memberCode X-Road member code - * @param serviceCode X-Road service code + * @param memberClass X-Road member class + * @param memberCode X-Road member code + * @param serviceCode X-Road service code * @param subsystemCode X-Road subsystem code * @return List of Service objects, empty list if not found */ List getServices(String xRoadInstance, - String memberClass, - String memberCode, - String subsystemCode, - String serviceCode); + String memberClass, + String memberCode, + String subsystemCode, + String serviceCode); /** * Returns a list of error logs with pagination - * @param xRoadData X-Road instance identifier, member class, member code and subsystem code - * @param page page number of pageable result of error logs - * @param limit number of results per page + * + * @param xRoadData X-Road instance identifier, member class, member code and + * subsystem code + * @param page page number of pageable result of error logs + * @param limit number of results per page * @param startDate creation date from - * @param endDate creation date to + * @param endDate creation date to * @return Page of ErrorLog, null if not found */ Page getErrors(XRoadData xRoadData, - int page, - int limit, - LocalDateTime startDate, - LocalDateTime endDate); + int page, + int limit, + LocalDateTime startDate, + LocalDateTime endDate); /** * Returns a list of service statistics + * * @param startDateTime creation date from - * @param endDateTime creation date to + * @param endDateTime creation date to * @return List of ServiceStatistics, null if not found */ List getServiceStatistics(LocalDateTime startDateTime, LocalDateTime endDateTime); /** * Returns a list of distinct service statistics + * * @return List of DistinctServiceStatistics, null if not found */ - List getDistinctServiceStatistics(LocalDateTime startDateTime, LocalDateTime endDateTime); + List getDistinctServiceStatistics(LocalDateTime startDateTime, + LocalDateTime endDateTime); /** * Returns a list of memberDataLists + * * @param startDateTime creation date from - * @param endDateTime creation date to + * @param endDateTime creation date to * @return List of memberDataLists, null if not found */ List getMemberData(LocalDateTime startDateTime, LocalDateTime endDateTime); /** * Returns the full ErrorLog object. + * * @param startDateTime creation date from - * @param endDateTime creation date to + * @param endDateTime creation date to * @return ErrorLog, if any, null if not found * @throws RuntimeException if multiple matches found. */ Iterable getErrorLog(LocalDateTime startDateTime, LocalDateTime endDateTime); /** - * Stores given members and subsystems. This should be the full dataset of both items - * - items not included in the parameters are marked as removed, if the existed previously. + * Stores given members and subsystems. This should be the full dataset of both + * items + * - items not included in the parameters are marked as removed, if the existed + * previously. * - * "Full service": updates all status timestamps (created/changed/fetched/removed) automatically, + * "Full service": updates all status timestamps + * (created/changed/fetched/removed) automatically, * and knows whether to update existing items or create new ones. * - * Does not touch the child items (service, wsdl). If creating new subsystems, the + * Does not touch the child items (service, wsdl). If creating new subsystems, + * the * service collection will be empty. * - * @param members all Members that currently exist. If some members are missing from + * @param members all Members that currently exist. If some members are missing + * from * the collection, they are (marked) removed. Member should have - * member.subsystems collection populated, and each subsystem should + * member.subsystems collection populated, and each subsystem + * should * have subsystem.member populated as well. */ void saveAllMembersAndSubsystems(Collection members); /** - * Stores services for given subsystem. Does not modify the associated Subsystem or + * Stores services for given subsystem. Does not modify the associated Subsystem + * or * the wsdl. - * @param subsystem identifier info for subsystem. Also needs to have subsystem.member + * + * @param subsystem identifier info for subsystem. Also needs to have + * subsystem.member * populated properly. - * @param service services + * @param service services */ void saveServices(SubsystemId subsystem, Collection service); /** - * Saves given wsdl data. The wsdl can either be a new one, or an update to an existing one. - * Updates "changed" field based on whether data is different compared to last time. + * Saves given wsdl data. The wsdl can either be a new one, or an update to an + * existing one. + * Updates "changed" field based on whether data is different compared to last + * time. + * * @param subsystemId identifier of the subsystem - * @param serviceId identifier of the service - * @param wsdl the actual wsdl + * @param serviceId identifier of the service + * @param wsdl the actual wsdl */ void saveWsdl(SubsystemId subsystemId, ServiceId serviceId, String wsdl); /** - * Saves given openApi data. The openApi can either be a new one, or an update to an existing one. - * Updates "changed" field based on whether data is different compared to last time. + * Saves given openApi data. The openApi can either be a new one, or an update + * to an existing one. + * Updates "changed" field based on whether data is different compared to last + * time. + * * @param subsystemId identifier of the subsystem - * @param serviceId identifier of the service - * @param openApi the actual openApi + * @param serviceId identifier of the service + * @param openApi the actual openApi */ void saveOpenApi(SubsystemId subsystemId, ServiceId serviceId, String openApi); /** - * Saves given rest data. The rest can either be a new one, or an update to an existing one. - * Updates "changed" field based on whether data is different compared to last time. + * Saves given rest data. The rest can either be a new one, or an update to an + * existing one. + * Updates "changed" field based on whether data is different compared to last + * time. + * * @param subsystemId identifier of the subsystem - * @param serviceId identifier of the service - * @param rest the actual rest + * @param serviceId identifier of the service + * @param rest the actual rest */ void saveRest(SubsystemId subsystemId, ServiceId serviceId, String rest); /** - * Saves given rest data. The rest can either be a new one, or an update to an existing one. - * Updates "changed" field based on whether data is different compared to last time. + * Saves given rest data. The rest can either be a new one, or an update to an + * existing one. + * Updates "changed" field based on whether data is different compared to last + * time. + * * @param subsystemId identifier of the subsystem - * @param serviceId identifier of the service - * @param method method info - * @param path path info + * @param serviceId identifier of the service + * @param method method info + * @param path path info */ void saveEndpoint(SubsystemId subsystemId, ServiceId serviceId, String method, String path); /** * Marks all entries in the Endpoints table as removed - * so that when new endpoints are being fetched, those will be marked as non-removed - * and when some endpoints are missing in the future, the ones still present in the table + * so that when new endpoints are being fetched, those will be marked as + * non-removed + * and when some endpoints are missing in the future, the ones still present in + * the table * will remain as removed + * * @param subsystemId identifier of the subsystem - * @param serviceId identifier of the service + * @param serviceId identifier of the service */ void prepareEndpoints(SubsystemId subsystemId, ServiceId serviceId); /** * Checks if database is alive + * * @return databaseConnection */ Boolean checkDatabaseConnection(); /** * Retrieves latest collection data + * * @return LastCollectionData */ LastCollectionData getLastCollectionData(); /** * Saves given errorLog data. + * * @param errorLog the actual errorLog - @return error log + * @return error log */ ErrorLog saveErrorLog(ErrorLog errorLog); /** * Deletes old log entries + * * @param daysBefore older than daysBefore */ void deleteOldErrorLogEntries(Integer daysBefore); diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/CatalogServiceImpl.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/CatalogServiceImpl.java index 0f965f21..4378251f 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/CatalogServiceImpl.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/CatalogServiceImpl.java @@ -20,9 +20,26 @@ import fi.vrk.xroad.catalog.persistence.dto.ServiceStatistics; import fi.vrk.xroad.catalog.persistence.dto.SubsystemData; import fi.vrk.xroad.catalog.persistence.dto.XRoadData; -import fi.vrk.xroad.catalog.persistence.entity.*; +import fi.vrk.xroad.catalog.persistence.entity.Endpoint; +import fi.vrk.xroad.catalog.persistence.entity.ErrorLog; +import fi.vrk.xroad.catalog.persistence.entity.Member; +import fi.vrk.xroad.catalog.persistence.entity.MemberId; +import fi.vrk.xroad.catalog.persistence.entity.OpenApi; +import fi.vrk.xroad.catalog.persistence.entity.Rest; +import fi.vrk.xroad.catalog.persistence.entity.Service; +import fi.vrk.xroad.catalog.persistence.entity.ServiceId; +import fi.vrk.xroad.catalog.persistence.entity.StatusInfo; import fi.vrk.xroad.catalog.persistence.entity.Subsystem; -import fi.vrk.xroad.catalog.persistence.repository.*; +import fi.vrk.xroad.catalog.persistence.entity.SubsystemId; +import fi.vrk.xroad.catalog.persistence.entity.Wsdl; +import fi.vrk.xroad.catalog.persistence.repository.EndpointRepository; +import fi.vrk.xroad.catalog.persistence.repository.ErrorLogRepository; +import fi.vrk.xroad.catalog.persistence.repository.MemberRepository; +import fi.vrk.xroad.catalog.persistence.repository.OpenApiRepository; +import fi.vrk.xroad.catalog.persistence.repository.RestRepository; +import fi.vrk.xroad.catalog.persistence.repository.ServiceRepository; +import fi.vrk.xroad.catalog.persistence.repository.SubsystemRepository; +import fi.vrk.xroad.catalog.persistence.repository.WsdlRepository; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -31,10 +48,14 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import java.time.LocalDateTime; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.atomic.AtomicReference; -import java.util.stream.Collectors; import java.util.stream.StreamSupport; /** @@ -129,7 +150,8 @@ public OpenApi getOpenApi(String externalId) { public Rest getRest(Service service) { List matches = restRepository.findAnyByService(service); if (matches.size() > 1) { - throw new IllegalStateException(MULTIPLE_MATCHES_FOUND_TO + service.getServiceCode() + " serviceCode: " + matches); + throw new IllegalStateException( + MULTIPLE_MATCHES_FOUND_TO + service.getServiceCode() + " serviceCode: " + matches); } else if (matches.size() == 1) { return matches.iterator().next(); } else { @@ -139,11 +161,11 @@ public Rest getRest(Service service) { @Override public Service getService(String xRoadInstance, - String memberClass, - String memberCode, - String serviceCode, - String subsystemCode, - String serviceVersion) { + String memberClass, + String memberCode, + String serviceCode, + String subsystemCode, + String serviceVersion) { if (serviceVersion == null) { return serviceRepository.findAllByMemberServiceAndSubsystemVersionNull(xRoadInstance, memberClass, memberCode, serviceCode, subsystemCode); @@ -154,10 +176,10 @@ public Service getService(String xRoadInstance, @Override public List getServices(String xRoadInstance, - String memberClass, - String memberCode, - String subsystemCode, - String serviceCode) { + String memberClass, + String memberCode, + String subsystemCode, + String serviceCode) { return serviceRepository.findServicesByMemberServiceAndSubsystem(xRoadInstance, memberClass, memberCode, @@ -179,8 +201,8 @@ public List getServiceStatistics(LocalDateTime startDateTime, } private ServiceStatistics createServiceStatistics(List services, - LocalDateTime dateInPast, - LocalDateTime endDateTime) { + LocalDateTime dateInPast, + LocalDateTime endDateTime) { AtomicLong numberOfSoapServices = new AtomicLong(); AtomicLong numberOfRestServices = new AtomicLong(); AtomicLong numberOfOpenApiServices = new AtomicLong(); @@ -190,11 +212,9 @@ private ServiceStatistics createServiceStatistics(List services, if (creationDate.isBefore(endDateTime)) { if (service.hasOpenApi()) { numberOfOpenApiServices.getAndIncrement(); - } - else if (service.hasWsdl()) { + } else if (service.hasWsdl()) { numberOfSoapServices.getAndIncrement(); - } - else { + } else { numberOfRestServices.getAndIncrement(); } } @@ -209,10 +229,10 @@ else if (service.hasWsdl()) { @Override public Page getErrors(XRoadData xRoadData, - int page, - int limit, - LocalDateTime startDateTime, - LocalDateTime endDateTime) { + int page, + int limit, + LocalDateTime startDateTime, + LocalDateTime endDateTime) { Page errorLogList; String xRoadInstance = xRoadData.getXRoadInstance(); String memberClass = xRoadData.getMemberClass(); @@ -262,18 +282,19 @@ public Page getErrors(XRoadData xRoadData, @Override public List getDistinctServiceStatistics(LocalDateTime startDateTime, - LocalDateTime endDateTime) { + LocalDateTime endDateTime) { List serviceStatisticsList = new ArrayList<>(); List services = serviceRepository.findAllActive(); LocalDateTime dateInPast = startDateTime; while (isDateBetweenDates(dateInPast, startDateTime, endDateTime)) { + // TODO: Why are we using AtomicLong here? AtomicLong totalDistinctServices = new AtomicLong(); List servicesBetweenDates = services.stream() .filter(p -> p.getStatusInfo().getCreated().isBefore(endDateTime)) - .collect(Collectors.toList()); + .toList(); if (!servicesBetweenDates.isEmpty()) { - totalDistinctServices.set(servicesBetweenDates.stream().map(Service::getServiceCode).collect(Collectors.toList()) - .stream().distinct().collect(Collectors.toList()).size()); + totalDistinctServices + .set(servicesBetweenDates.stream().map(Service::getServiceCode).distinct().count()); DistinctServiceStatistics serviceStatistics = DistinctServiceStatistics.builder() .created(dateInPast) @@ -354,12 +375,12 @@ public void saveAllMembersAndSubsystems(Collection members) { StreamSupport.stream(memberRepository.findAll().spliterator(), false) .forEach(member -> unprocessedOldMembers.put(member.createKey(), member)); - for (Member member: members) { + for (Member member : members) { Member oldMember = unprocessedOldMembers.get(member.createKey()); if (oldMember == null) { // brand new item member.getStatusInfo().setTimestampsForNew(now); - for (Subsystem subsystem: member.getAllSubsystems()) { + for (Subsystem subsystem : member.getAllSubsystems()) { subsystem.getStatusInfo().setTimestampsForNew(now); subsystem.setMember(member); } @@ -371,7 +392,8 @@ public void saveAllMembersAndSubsystems(Collection members) { } unprocessedOldMembers.remove(member.createKey()); } - // now unprocessedOldMembers should all be removed (either already removed, or will be now) + // now unprocessedOldMembers should all be removed (either already removed, or + // will be now) removeUnprocessedOldMembers(now, unprocessedOldMembers); } @@ -392,7 +414,7 @@ public void saveServices(SubsystemId subsystemId, Collection services) Map unprocessedOldServices = new HashMap<>(); oldSubsystem.getAllServices().stream().forEach(s -> unprocessedOldServices.put(s.createKey(), s)); - for (Service service: services) { + for (Service service : services) { Service oldService = unprocessedOldServices.get(service.createKey()); if (oldService == null) { // brand new item, add it @@ -405,8 +427,9 @@ public void saveServices(SubsystemId subsystemId, Collection services) unprocessedOldServices.remove(service.createKey()); } - // now unprocessedOldServices should all be removed (either already removed, or will be now) - for (Service oldToRemove: unprocessedOldServices.values()) { + // now unprocessedOldServices should all be removed (either already removed, or + // will be now) + for (Service oldToRemove : unprocessedOldServices.values()) { StatusInfo status = oldToRemove.getStatusInfo(); if (!status.isRemoved()) { status.setTimestampsForRemoved(now); @@ -542,7 +565,7 @@ public void saveEndpoint(SubsystemId subsystemId, ServiceId serviceId, String me } @Override - public void prepareEndpoints(SubsystemId subsystemId, ServiceId serviceId){ + public void prepareEndpoints(SubsystemId subsystemId, ServiceId serviceId) { Assert.notNull(subsystemId, SUBSYSTEM_ID_REQUIRED); Assert.notNull(serviceId, SERVICE_ID_REQUIRED); Service oldService = getExistingService(subsystemId, serviceId); @@ -586,10 +609,10 @@ private void handleOldMember(LocalDateTime now, Member member, Member oldMember) oldMember.updateWithDataFrom(member, now); // process subsystems for the old member Map unprocessedOldSubsystems = new HashMap<>(); - for (Subsystem subsystem: oldMember.getAllSubsystems()) { + for (Subsystem subsystem : oldMember.getAllSubsystems()) { unprocessedOldSubsystems.put(subsystem.createKey(), subsystem); } - for (Subsystem subsystem: member.getAllSubsystems()) { + for (Subsystem subsystem : member.getAllSubsystems()) { Subsystem oldSubsystem = unprocessedOldSubsystems.get(subsystem.createKey()); if (oldSubsystem == null) { // brand new item, add it @@ -603,7 +626,7 @@ private void handleOldMember(LocalDateTime now, Member member, Member oldMember) } // remaining old subsystems - that were not included in member.subsystems - // are removed (if not already) - for (Subsystem oldToRemove: unprocessedOldSubsystems.values()) { + for (Subsystem oldToRemove : unprocessedOldSubsystems.values()) { StatusInfo status = oldToRemove.getStatusInfo(); if (!status.isRemoved()) { status.setTimestampsForRemoved(now); @@ -612,12 +635,12 @@ private void handleOldMember(LocalDateTime now, Member member, Member oldMember) } private void removeUnprocessedOldMembers(LocalDateTime now, Map unprocessedOldMembers) { - for (Member oldToRemove: unprocessedOldMembers.values()) { + for (Member oldToRemove : unprocessedOldMembers.values()) { StatusInfo status = oldToRemove.getStatusInfo(); if (!status.isRemoved()) { status.setTimestampsForRemoved(now); } - for (Subsystem subsystem: oldToRemove.getAllSubsystems()) { + for (Subsystem subsystem : oldToRemove.getAllSubsystems()) { if (!subsystem.getStatusInfo().isRemoved()) { subsystem.getStatusInfo().setTimestampsForRemoved(now); } @@ -626,14 +649,14 @@ private void removeUnprocessedOldMembers(LocalDateTime now, Map getCompanies(String businessId); /** - * Saves given company data. The company can either be a new one, or an update to an existing one. - * Updates "changed" field based on whether data is different compared to last time. + * Saves given company data. The company can either be a new one, or an update + * to an existing one. + * Updates "changed" field based on whether data is different compared to last + * time. + * * @return saved company * @param company the actual company */ @@ -37,66 +52,77 @@ public interface CompanyService { /** * Saves given BusinessName data. + * * @param businessName the BusinessName */ void saveBusinessName(BusinessName businessName); /** * Saves given BusinessAuxiliaryName data. + * * @param businessAuxiliaryName the BusinessAuxiliaryName */ void saveBusinessAuxiliaryName(BusinessAuxiliaryName businessAuxiliaryName); /** * Saves given BusinessAddress data. + * * @param businessAddress the BusinessAddress */ void saveBusinessAddress(BusinessAddress businessAddress); /** * Saves given BusinessIdChange data. + * * @param businessIdChange the BusinessIdChange */ void saveBusinessIdChange(BusinessIdChange businessIdChange); /** * Saves given BusinessLine data. + * * @param businessLine the BusinessLine */ void saveBusinessLine(BusinessLine businessLine); /** * Saves given CompanyForm data. + * * @param companyForm the CompanyForm */ void saveCompanyForm(CompanyForm companyForm); /** * Saves given ContactDetail data. + * * @param contactDetail the ContactDetail */ void saveContactDetail(ContactDetail contactDetail); /** * Saves given Language data. + * * @param language the Language */ void saveLanguage(Language language); /** * Saves given Liquidation data. + * * @param liquidation the Liquidation */ void saveLiquidation(Liquidation liquidation); /** * Saves given RegisteredEntry data. + * * @param registeredEntry the RegisteredEntry */ void saveRegisteredEntry(RegisteredEntry registeredEntry); /** * Saves given RegisteredOffice data. + * * @param registeredOffice the RegisteredOffice */ void saveRegisteredOffice(RegisteredOffice registeredOffice); diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/CompanyServiceImpl.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/CompanyServiceImpl.java index 925c3f03..5096f9fd 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/CompanyServiceImpl.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/CompanyServiceImpl.java @@ -12,14 +12,37 @@ */ package fi.vrk.xroad.catalog.persistence; -import fi.vrk.xroad.catalog.persistence.entity.*; -import fi.vrk.xroad.catalog.persistence.repository.*; +import fi.vrk.xroad.catalog.persistence.entity.BusinessAddress; +import fi.vrk.xroad.catalog.persistence.entity.BusinessAuxiliaryName; +import fi.vrk.xroad.catalog.persistence.entity.BusinessIdChange; +import fi.vrk.xroad.catalog.persistence.entity.BusinessLine; +import fi.vrk.xroad.catalog.persistence.entity.BusinessName; +import fi.vrk.xroad.catalog.persistence.entity.Company; +import fi.vrk.xroad.catalog.persistence.entity.CompanyForm; +import fi.vrk.xroad.catalog.persistence.entity.ContactDetail; +import fi.vrk.xroad.catalog.persistence.entity.Language; +import fi.vrk.xroad.catalog.persistence.entity.Liquidation; +import fi.vrk.xroad.catalog.persistence.entity.RegisteredEntry; +import fi.vrk.xroad.catalog.persistence.entity.RegisteredOffice; +import fi.vrk.xroad.catalog.persistence.entity.StatusInfo; +import fi.vrk.xroad.catalog.persistence.repository.BusinessAddressRepository; +import fi.vrk.xroad.catalog.persistence.repository.BusinessAuxiliaryNameRepository; +import fi.vrk.xroad.catalog.persistence.repository.BusinessIdChangeRepository; +import fi.vrk.xroad.catalog.persistence.repository.BusinessLineRepository; +import fi.vrk.xroad.catalog.persistence.repository.BusinessNameRepository; +import fi.vrk.xroad.catalog.persistence.repository.CompanyFormRepository; +import fi.vrk.xroad.catalog.persistence.repository.CompanyRepository; +import fi.vrk.xroad.catalog.persistence.repository.ContactDetailRepository; +import fi.vrk.xroad.catalog.persistence.repository.LanguageRepository; +import fi.vrk.xroad.catalog.persistence.repository.LiquidationRepository; +import fi.vrk.xroad.catalog.persistence.repository.RegisteredEntryRepository; +import fi.vrk.xroad.catalog.persistence.repository.RegisteredOfficeRepository; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; -import java.util.*; +import java.util.Optional; /** * Implementation for companyservice CRUD @@ -72,7 +95,8 @@ public Iterable getCompanies(String businessId) { @Override public Company saveCompany(Company company) { - Optional foundCompany = companyRepository.findAny(company.getBusinessId(), company.getCompanyForm(), company.getName()); + Optional foundCompany = companyRepository.findAny(company.getBusinessId(), company.getCompanyForm(), + company.getName()); if (foundCompany.isPresent()) { Company oldCompany = foundCompany.get(); StatusInfo statusInfo = oldCompany.getStatusInfo(); @@ -160,7 +184,8 @@ private BusinessName updateBusinessNameData(BusinessName businessName) { businessName.setStatusInfo(statusInfo); businessName.setId(oldBusinessName.getId()); } else { - businessName.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + businessName + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return businessName; } @@ -182,7 +207,8 @@ private BusinessAuxiliaryName updateBusinessAuxiliaryNameData(BusinessAuxiliaryN businessAuxiliaryName.setStatusInfo(statusInfo); businessAuxiliaryName.setId(oldBusinessAuxiliaryName.getId()); } else { - businessAuxiliaryName.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + businessAuxiliaryName + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return businessAuxiliaryName; } @@ -204,7 +230,8 @@ private BusinessAddress updateBusinessAddressData(BusinessAddress businessAddres businessAddress.setStatusInfo(statusInfo); businessAddress.setId(oldBusinessAddress.getId()); } else { - businessAddress.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + businessAddress + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return businessAddress; } @@ -227,7 +254,8 @@ private BusinessIdChange updateBusinessIdChangeData(BusinessIdChange businessIdC businessIdChange.setStatusInfo(statusInfo); businessIdChange.setId(oldBusinessIdChange.getId()); } else { - businessIdChange.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + businessIdChange + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return businessIdChange; } @@ -249,7 +277,8 @@ private BusinessLine updateBusinessLineData(BusinessLine businessLine) { businessLine.setStatusInfo(statusInfo); businessLine.setId(oldBusinessLine.getId()); } else { - businessLine.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + businessLine + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return businessLine; } @@ -271,7 +300,8 @@ private CompanyForm updateCompanyFormData(CompanyForm companyForm) { companyForm.setStatusInfo(statusInfo); companyForm.setId(oldCompanyForm.getId()); } else { - companyForm.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + companyForm + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return companyForm; } @@ -293,7 +323,8 @@ private ContactDetail updateContactDetailData(ContactDetail contactDetail) { contactDetail.setStatusInfo(statusInfo); contactDetail.setId(oldContactDetail.getId()); } else { - contactDetail.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + contactDetail + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return contactDetail; } @@ -336,7 +367,8 @@ private Liquidation updateLiquidationData(Liquidation liquidation) { liquidation.setStatusInfo(statusInfo); liquidation.setId(oldLiquidation.getId()); } else { - liquidation.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + liquidation + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return liquidation; } @@ -359,7 +391,8 @@ private RegisteredEntry updateRegisteredEntryData(RegisteredEntry registeredEntr registeredEntry.setStatusInfo(statusInfo); registeredEntry.setId(oldRegisteredEntry.getId()); } else { - registeredEntry.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + registeredEntry + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return registeredEntry; } @@ -381,7 +414,8 @@ private RegisteredOffice updateRegisteredOfficeData(RegisteredOffice registeredO registeredOffice.setStatusInfo(statusInfo); registeredOffice.setId(oldRegisteredOffice.getId()); } else { - registeredOffice.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + registeredOffice + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return registeredOffice; } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/OrganizationService.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/OrganizationService.java index 70cf6b0f..58907144 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/OrganizationService.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/OrganizationService.java @@ -12,13 +12,32 @@ */ package fi.vrk.xroad.catalog.persistence; -import fi.vrk.xroad.catalog.persistence.dto.LastCollectionData; import fi.vrk.xroad.catalog.persistence.dto.LastOrganizationCollectionData; -import fi.vrk.xroad.catalog.persistence.entity.*; +import fi.vrk.xroad.catalog.persistence.entity.Address; +import fi.vrk.xroad.catalog.persistence.entity.Email; +import fi.vrk.xroad.catalog.persistence.entity.Organization; +import fi.vrk.xroad.catalog.persistence.entity.OrganizationDescription; +import fi.vrk.xroad.catalog.persistence.entity.OrganizationName; +import fi.vrk.xroad.catalog.persistence.entity.PhoneNumber; +import fi.vrk.xroad.catalog.persistence.entity.PostOffice; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBox; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddress; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressAdditionalInformation; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipality; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipalityName; +import fi.vrk.xroad.catalog.persistence.entity.Street; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddress; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressAdditionalInformation; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipality; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipalityName; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressPostOffice; +import fi.vrk.xroad.catalog.persistence.entity.WebPage; + import java.util.Optional; /** - * CRUD methods for organization related objects. no business logic (e.g. hash calculation), + * CRUD methods for organization related objects. no business logic (e.g. hash + * calculation), * just persistence-related logic. * Organization entities have time stamps created, updated and deleted. */ @@ -26,26 +45,32 @@ public interface OrganizationService { /** * Retrieves latest collection data + * * @return LastCollectionData */ LastOrganizationCollectionData getLastOrganizationCollectionData(); /** - * @param businessCode Only interested in organizations with this businessCode value + * @param businessCode Only interested in organizations with this businessCode + * value * @return Iterable of Organization entities */ Iterable getOrganizations(String businessCode); /** * Returns the full Organization object. + * * @param guid guid of an organization * @return Organization, if any */ Optional getOrganization(String guid); /** - * Saves given organization data. The organization can either be a new one, or an update to an existing one. - * Updates "changed" field based on whether data is different compared to last time. + * Saves given organization data. The organization can either be a new one, or + * an update to an existing one. + * Updates "changed" field based on whether data is different compared to last + * time. + * * @return saved organization * @param organization the actual organization */ @@ -53,36 +78,42 @@ public interface OrganizationService { /** * Saves given organizationName data. + * * @param organizationName the organizationName */ void saveOrganizationName(OrganizationName organizationName); /** * Saves given organizationDescription data. + * * @param organizationDescription the organizationDescription */ void saveOrganizationDescription(OrganizationDescription organizationDescription); /** * Saves given email data. + * * @param email the actual email */ void saveEmail(Email email); /** * Saves given phoneNumber data. + * * @param phoneNumber the actual phoneNumber */ void savePhoneNumber(PhoneNumber phoneNumber); /** * Saves given webPage data. + * * @param webPage the actual webPage */ void saveWebPage(WebPage webPage); /** * Saves given address data. + * * @return saved Address * @param address the actual address */ @@ -90,6 +121,7 @@ public interface OrganizationService { /** * Saves given StreetAddress data. + * * @return saved StreetAddress * @param streetAddress the actual StreetAddress */ @@ -97,6 +129,7 @@ public interface OrganizationService { /** * Saves given PostOfficeBoxAddress data. + * * @return saved PostOfficeBoxAddress * @param postOfficeBoxAddress the actual PostOfficeBoxAddress */ @@ -104,6 +137,7 @@ public interface OrganizationService { /** * Saves given StreetAddressMunicipality data. + * * @return saved StreetAddressMunicipality * @param streetAddressMunicipality the actual StreetAddressMunicipality */ @@ -111,45 +145,56 @@ public interface OrganizationService { /** * Saves given PostOfficeBoxAddressMunicipality data. + * * @return saved PostOfficeBoxAddressMunicipality - * @param postOfficeBoxAddressMunicipality the actual PostOfficeBoxAddressMunicipality + * @param postOfficeBoxAddressMunicipality the actual + * PostOfficeBoxAddressMunicipality */ - PostOfficeBoxAddressMunicipality savePostOfficeBoxAddressMunicipality(PostOfficeBoxAddressMunicipality postOfficeBoxAddressMunicipality); - + PostOfficeBoxAddressMunicipality savePostOfficeBoxAddressMunicipality( + PostOfficeBoxAddressMunicipality postOfficeBoxAddressMunicipality); /** * Saves given StreetAddressMunicipalityName data. + * * @return saved StreetAddressMunicipalityName * @param streetAddressMunicipalityName the actual StreetAddressMunicipalityName */ - StreetAddressMunicipalityName saveStreetAddressMunicipalityName(StreetAddressMunicipalityName streetAddressMunicipalityName); + StreetAddressMunicipalityName saveStreetAddressMunicipalityName( + StreetAddressMunicipalityName streetAddressMunicipalityName); /** * Saves given PostOfficeBoxAddressMunicipalityName data. + * * @return saved PostOfficeBoxAddressMunicipalityName - * @param postOfficeBoxAddressMunicipalityName the actual PostOfficeBoxAddressMunicipalityName + * @param postOfficeBoxAddressMunicipalityName the actual + * PostOfficeBoxAddressMunicipalityName */ PostOfficeBoxAddressMunicipalityName savePostOfficeBoxAddressMunicipalityName( PostOfficeBoxAddressMunicipalityName postOfficeBoxAddressMunicipalityName); /** * Saves given StreetAddressAdditionalInformation data. + * * @return saved StreetAddressAdditionalInformation - * @param streetAddressAdditionalInformation the actual StreetAddressAdditionalInformation + * @param streetAddressAdditionalInformation the actual + * StreetAddressAdditionalInformation */ StreetAddressAdditionalInformation saveStreetAddressAdditionalInformation( StreetAddressAdditionalInformation streetAddressAdditionalInformation); /** * Saves given PostOfficeBoxAddressAdditionalInformation data. + * * @return saved PostOfficeBoxAddressAdditionalInformation - * @param postOfficeBoxAddressAdditionalInformation the actual PostOfficeBoxAddressAdditionalInformation + * @param postOfficeBoxAddressAdditionalInformation the actual + * PostOfficeBoxAddressAdditionalInformation */ PostOfficeBoxAddressAdditionalInformation savePostOfficeBoxAddressAdditionalInformation( PostOfficeBoxAddressAdditionalInformation postOfficeBoxAddressAdditionalInformation); /** * Saves given StreetAddressPostOffice data. + * * @return saved StreetAddressPostOffice * @param streetAddressPostOffice the actual StreetAddressPostOffice */ @@ -157,6 +202,7 @@ PostOfficeBoxAddressAdditionalInformation savePostOfficeBoxAddressAdditionalInfo /** * Saves given PostOffice data. + * * @return saved PostOffice * @param postOffice the actual PostOffice */ @@ -164,6 +210,7 @@ PostOfficeBoxAddressAdditionalInformation savePostOfficeBoxAddressAdditionalInfo /** * Saves given PostOfficeBox data. + * * @return saved PostOfficeBox * @param postOfficeBox the actual PostOfficeBox */ @@ -171,6 +218,7 @@ PostOfficeBoxAddressAdditionalInformation savePostOfficeBoxAddressAdditionalInfo /** * Saves given Street data. + * * @return saved Street * @param street the actual Street */ diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/OrganizationServiceImpl.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/OrganizationServiceImpl.java index 3a83d19c..a4e3b4f7 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/OrganizationServiceImpl.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/OrganizationServiceImpl.java @@ -12,16 +12,53 @@ */ package fi.vrk.xroad.catalog.persistence; -import fi.vrk.xroad.catalog.persistence.dto.LastCollectionData; import fi.vrk.xroad.catalog.persistence.dto.LastOrganizationCollectionData; -import fi.vrk.xroad.catalog.persistence.entity.*; -import fi.vrk.xroad.catalog.persistence.repository.*; +import fi.vrk.xroad.catalog.persistence.entity.Address; +import fi.vrk.xroad.catalog.persistence.entity.Email; +import fi.vrk.xroad.catalog.persistence.entity.Organization; +import fi.vrk.xroad.catalog.persistence.entity.OrganizationDescription; +import fi.vrk.xroad.catalog.persistence.entity.OrganizationName; +import fi.vrk.xroad.catalog.persistence.entity.PhoneNumber; +import fi.vrk.xroad.catalog.persistence.entity.PostOffice; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBox; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddress; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressAdditionalInformation; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipality; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipalityName; +import fi.vrk.xroad.catalog.persistence.entity.StatusInfo; +import fi.vrk.xroad.catalog.persistence.entity.Street; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddress; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressAdditionalInformation; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipality; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipalityName; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressPostOffice; +import fi.vrk.xroad.catalog.persistence.entity.WebPage; +import fi.vrk.xroad.catalog.persistence.repository.AddressRepository; +import fi.vrk.xroad.catalog.persistence.repository.CompanyRepository; +import fi.vrk.xroad.catalog.persistence.repository.EmailRepository; +import fi.vrk.xroad.catalog.persistence.repository.OrganizationDescriptionRepository; +import fi.vrk.xroad.catalog.persistence.repository.OrganizationNameRepository; +import fi.vrk.xroad.catalog.persistence.repository.OrganizationRepository; +import fi.vrk.xroad.catalog.persistence.repository.PhoneNumberRepository; +import fi.vrk.xroad.catalog.persistence.repository.PostOfficeBoxAddressAdditionalInformationRepository; +import fi.vrk.xroad.catalog.persistence.repository.PostOfficeBoxAddressMunicipalityNameRepository; +import fi.vrk.xroad.catalog.persistence.repository.PostOfficeBoxAddressMunicipalityRepository; +import fi.vrk.xroad.catalog.persistence.repository.PostOfficeBoxAddressRepository; +import fi.vrk.xroad.catalog.persistence.repository.PostOfficeBoxRepository; +import fi.vrk.xroad.catalog.persistence.repository.PostOfficeRepository; +import fi.vrk.xroad.catalog.persistence.repository.StreetAddressAdditionalInformationRepository; +import fi.vrk.xroad.catalog.persistence.repository.StreetAddressMunicipalityNameRepository; +import fi.vrk.xroad.catalog.persistence.repository.StreetAddressMunicipalityRepository; +import fi.vrk.xroad.catalog.persistence.repository.StreetAddressPostOfficeRepository; +import fi.vrk.xroad.catalog.persistence.repository.StreetAddressRepository; +import fi.vrk.xroad.catalog.persistence.repository.StreetRepository; +import fi.vrk.xroad.catalog.persistence.repository.WebPageRepository; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; -import java.util.*; +import java.util.Optional; /** * Implementation for organizationservice CRUD @@ -111,7 +148,8 @@ public Optional getOrganization(String guid) { @Override @Transactional public Organization saveOrganization(Organization organization) { - Optional foundOrganization = organizationRepository.findAnyByOrganizationGuid(organization.getGuid()); + Optional foundOrganization = organizationRepository + .findAnyByOrganizationGuid(organization.getGuid()); if (foundOrganization.isPresent()) { Organization oldOrganization = foundOrganization.get(); StatusInfo statusInfo = oldOrganization.getStatusInfo(); @@ -122,7 +160,8 @@ public Organization saveOrganization(Organization organization) { organization.setStatusInfo(statusInfo); organization.setId(oldOrganization.getId()); } else { - organization.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + organization + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return organizationRepository.save(organization); } @@ -168,20 +207,23 @@ public PostOfficeBoxAddress savePostOfficeBoxAddress(PostOfficeBoxAddress postOf } @Override - public StreetAddressMunicipality saveStreetAddressMunicipality(StreetAddressMunicipality streetAddressMunicipality) { + public StreetAddressMunicipality saveStreetAddressMunicipality( + StreetAddressMunicipality streetAddressMunicipality) { return streetAddressMunicipalityRepository.save(updateStreetAddressMunicipalityData(streetAddressMunicipality)); } @Override public StreetAddressMunicipalityName saveStreetAddressMunicipalityName( StreetAddressMunicipalityName streetAddressMunicipalityName) { - return streetAddressMunicipalityNameRepository.save(updateStreetAddressMunicipalityNameData(streetAddressMunicipalityName)); + return streetAddressMunicipalityNameRepository + .save(updateStreetAddressMunicipalityNameData(streetAddressMunicipalityName)); } @Override public StreetAddressAdditionalInformation saveStreetAddressAdditionalInformation( StreetAddressAdditionalInformation streetAddressAdditionalInformation) { - return streetAddressAdditionalInformationRepository.save(updateStreetAddressAdditionalInformationData(streetAddressAdditionalInformation)); + return streetAddressAdditionalInformationRepository + .save(updateStreetAddressAdditionalInformationData(streetAddressAdditionalInformation)); } @Override @@ -195,14 +237,17 @@ public Street saveStreet(Street street) { } @Override - public PostOfficeBoxAddressMunicipality savePostOfficeBoxAddressMunicipality(PostOfficeBoxAddressMunicipality postOfficeBoxAddressMunicipality) { - return postOfficeBoxAddressMunicipalityRepository.save(updatePostOfficeBoxAddressMunicipalityData(postOfficeBoxAddressMunicipality)); + public PostOfficeBoxAddressMunicipality savePostOfficeBoxAddressMunicipality( + PostOfficeBoxAddressMunicipality postOfficeBoxAddressMunicipality) { + return postOfficeBoxAddressMunicipalityRepository + .save(updatePostOfficeBoxAddressMunicipalityData(postOfficeBoxAddressMunicipality)); } @Override public PostOfficeBoxAddressMunicipalityName savePostOfficeBoxAddressMunicipalityName( PostOfficeBoxAddressMunicipalityName postOfficeBoxAddressMunicipalityName) { - return postOfficeBoxAddressMunicipalityNameRepository.save(updatePostOfficeBoxAddressMunicipalityNameData(postOfficeBoxAddressMunicipalityName)); + return postOfficeBoxAddressMunicipalityNameRepository + .save(updatePostOfficeBoxAddressMunicipalityNameData(postOfficeBoxAddressMunicipalityName)); } @Override @@ -224,7 +269,8 @@ public PostOfficeBox savePostOfficeBox(PostOfficeBox postOfficeBox) { private OrganizationName updateOrganizationNameData(OrganizationName organizationName) { Optional foundOrganizationName = organizationNameRepository - .findAny(organizationName.getOrganization().getId(), organizationName.getLanguage(), organizationName.getType()); + .findAny(organizationName.getOrganization().getId(), organizationName.getLanguage(), + organizationName.getType()); if (foundOrganizationName.isPresent()) { OrganizationName oldOrganizationName = foundOrganizationName.get(); StatusInfo statusInfo = oldOrganizationName.getStatusInfo(); @@ -235,14 +281,16 @@ private OrganizationName updateOrganizationNameData(OrganizationName organizatio organizationName.setStatusInfo(statusInfo); organizationName.setId(oldOrganizationName.getId()); } else { - organizationName.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + organizationName + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return organizationName; } private OrganizationDescription updateOrganizationDescriptionData(OrganizationDescription organizationDescription) { Optional foundOrganizationDescription = organizationDescriptionRepository - .findAny(organizationDescription.getOrganization().getId(), organizationDescription.getLanguage(), organizationDescription.getType()); + .findAny(organizationDescription.getOrganization().getId(), organizationDescription.getLanguage(), + organizationDescription.getType()); if (foundOrganizationDescription.isPresent()) { OrganizationDescription oldOrganizationDescription = foundOrganizationDescription.get(); StatusInfo statusInfo = oldOrganizationDescription.getStatusInfo(); @@ -253,7 +301,8 @@ private OrganizationDescription updateOrganizationDescriptionData(OrganizationDe organizationDescription.setStatusInfo(statusInfo); organizationDescription.setId(oldOrganizationDescription.getId()); } else { - organizationDescription.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + organizationDescription + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return organizationDescription; } @@ -289,13 +338,15 @@ private PhoneNumber updatePhoneNumberData(PhoneNumber phoneNumber) { phoneNumber.setStatusInfo(statusInfo); phoneNumber.setId(oldPhoneNumber.getId()); } else { - phoneNumber.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + phoneNumber + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return phoneNumber; } private WebPage updateWebPageData(WebPage webPage) { - Optional foundWebPage = webpageRepository.findAny(webPage.getOrganization().getId(), webPage.getLanguage(), webPage.getUrl()); + Optional foundWebPage = webpageRepository.findAny(webPage.getOrganization().getId(), + webPage.getLanguage(), webPage.getUrl()); if (foundWebPage.isPresent()) { WebPage oldWebPage = foundWebPage.get(); StatusInfo statusInfo = oldWebPage.getStatusInfo(); @@ -312,7 +363,8 @@ private WebPage updateWebPageData(WebPage webPage) { } private Address updateAddressData(Address address) { - Optional
foundAddress = addressRepository.findAny(address.getOrganization().getId(), address.getType(), address.getSubType()); + Optional
foundAddress = addressRepository.findAny(address.getOrganization().getId(), address.getType(), + address.getSubType()); if (foundAddress.isPresent()) { Address oldAddress = foundAddress.get(); StatusInfo statusInfo = oldAddress.getStatusInfo(); @@ -329,7 +381,8 @@ private Address updateAddressData(Address address) { } private StreetAddress updateStreetAddressData(StreetAddress streetAddress) { - Optional foundStreetAddress = Optional.ofNullable(streetAddressRepository.findByAddressId(streetAddress.getAddress().getId())); + Optional foundStreetAddress = Optional + .ofNullable(streetAddressRepository.findByAddressId(streetAddress.getAddress().getId())); if (foundStreetAddress.isPresent()) { StreetAddress oldStreetAddress = foundStreetAddress.get(); StatusInfo statusInfo = oldStreetAddress.getStatusInfo(); @@ -340,14 +393,17 @@ private StreetAddress updateStreetAddressData(StreetAddress streetAddress) { streetAddress.setStatusInfo(statusInfo); streetAddress.setId(oldStreetAddress.getId()); } else { - streetAddress.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + streetAddress + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return streetAddress; } - private StreetAddressMunicipality updateStreetAddressMunicipalityData(StreetAddressMunicipality streetAddressMunicipality) { - Optional foundStreetAddressMunicipality = - Optional.ofNullable(streetAddressMunicipalityRepository.findByStreetAddressId(streetAddressMunicipality.getStreetAddress().getId())); + private StreetAddressMunicipality updateStreetAddressMunicipalityData( + StreetAddressMunicipality streetAddressMunicipality) { + Optional foundStreetAddressMunicipality = Optional + .ofNullable(streetAddressMunicipalityRepository + .findByStreetAddressId(streetAddressMunicipality.getStreetAddress().getId())); if (foundStreetAddressMunicipality.isPresent()) { StreetAddressMunicipality oldStreetAddressMunicipality = foundStreetAddressMunicipality.get(); StatusInfo statusInfo = oldStreetAddressMunicipality.getStatusInfo(); @@ -358,7 +414,8 @@ private StreetAddressMunicipality updateStreetAddressMunicipalityData(StreetAddr streetAddressMunicipality.setStatusInfo(statusInfo); streetAddressMunicipality.setId(oldStreetAddressMunicipality.getId()); } else { - streetAddressMunicipality.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + streetAddressMunicipality + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return streetAddressMunicipality; } @@ -366,7 +423,8 @@ private StreetAddressMunicipality updateStreetAddressMunicipalityData(StreetAddr private StreetAddressMunicipalityName updateStreetAddressMunicipalityNameData( StreetAddressMunicipalityName streetAddressMunicipalityName) { Optional foundStreetAddressMunicipalityName = streetAddressMunicipalityNameRepository - .findAny(streetAddressMunicipalityName.getStreetAddressMunicipality().getId(), streetAddressMunicipalityName.getLanguage()); + .findAny(streetAddressMunicipalityName.getStreetAddressMunicipality().getId(), + streetAddressMunicipalityName.getLanguage()); if (foundStreetAddressMunicipalityName.isPresent()) { StreetAddressMunicipalityName oldStreetAddressMunicipalityName = foundStreetAddressMunicipalityName.get(); StatusInfo statusInfo = oldStreetAddressMunicipalityName.getStatusInfo(); @@ -377,7 +435,8 @@ private StreetAddressMunicipalityName updateStreetAddressMunicipalityNameData( streetAddressMunicipalityName.setStatusInfo(statusInfo); streetAddressMunicipalityName.setId(oldStreetAddressMunicipalityName.getId()); } else { - streetAddressMunicipalityName.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + streetAddressMunicipalityName + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return streetAddressMunicipalityName; } @@ -395,7 +454,8 @@ private PostOfficeBoxAddress updatePostOfficeBoxAddressData(PostOfficeBoxAddress postOfficeBoxAddress.setStatusInfo(statusInfo); postOfficeBoxAddress.setId(oldPostOfficeBoxAddress.getId()); } else { - postOfficeBoxAddress.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + postOfficeBoxAddress + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return postOfficeBoxAddress; } @@ -403,9 +463,11 @@ private PostOfficeBoxAddress updatePostOfficeBoxAddressData(PostOfficeBoxAddress private StreetAddressAdditionalInformation updateStreetAddressAdditionalInformationData( StreetAddressAdditionalInformation streetAddressAdditionalInformation) { Optional foundStreetAddressAdditionalInformation = streetAddressAdditionalInformationRepository - .findAny(streetAddressAdditionalInformation.getStreetAddress().getId(), streetAddressAdditionalInformation.getLanguage()); + .findAny(streetAddressAdditionalInformation.getStreetAddress().getId(), + streetAddressAdditionalInformation.getLanguage()); if (foundStreetAddressAdditionalInformation.isPresent()) { - StreetAddressAdditionalInformation oldStreetAddressAdditionalInformation = foundStreetAddressAdditionalInformation.get(); + StreetAddressAdditionalInformation oldStreetAddressAdditionalInformation = foundStreetAddressAdditionalInformation + .get(); StatusInfo statusInfo = oldStreetAddressAdditionalInformation.getStatusInfo(); statusInfo.setFetched(LocalDateTime.now()); if (!oldStreetAddressAdditionalInformation.equals(streetAddressAdditionalInformation)) { @@ -414,7 +476,8 @@ private StreetAddressAdditionalInformation updateStreetAddressAdditionalInformat streetAddressAdditionalInformation.setStatusInfo(statusInfo); streetAddressAdditionalInformation.setId(oldStreetAddressAdditionalInformation.getId()); } else { - streetAddressAdditionalInformation.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + streetAddressAdditionalInformation + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return streetAddressAdditionalInformation; } @@ -433,7 +496,8 @@ private StreetAddressPostOffice updateStreetAddressPostOfficeData( streetAddressPostOffice.setStatusInfo(statusInfo); streetAddressPostOffice.setId(oldStreetAddressPostOffice.getId()); } else { - streetAddressPostOffice.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + streetAddressPostOffice + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return streetAddressPostOffice; } @@ -469,7 +533,8 @@ private PostOffice updatePostOfficeData(PostOffice postOffice) { postOffice.setStatusInfo(statusInfo); postOffice.setId(oldPostOffice.getId()); } else { - postOffice.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + postOffice + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return postOffice; } @@ -487,20 +552,22 @@ private PostOfficeBox updatePostOfficeBoxData(PostOfficeBox postOfficeBox) { postOfficeBox.setStatusInfo(statusInfo); postOfficeBox.setId(oldPostOfficeBox.getId()); } else { - postOfficeBox.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + postOfficeBox + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return postOfficeBox; } + @SuppressWarnings("checkstyle:lineLength") private PostOfficeBoxAddressAdditionalInformation updatePostOfficeBoxAddressAdditionalInformationData( PostOfficeBoxAddressAdditionalInformation postOfficeBoxAddressAdditionalInformation) { - Optional foundPostOfficeBoxAddressAdditionalInformation - = postOfficeBoxAddressAdditionalInformationRepository.findAny( - postOfficeBoxAddressAdditionalInformation.getPostOfficeBoxAddress().getId(), - postOfficeBoxAddressAdditionalInformation.getLanguage()); + Optional foundPostOfficeBoxAddressAdditionalInformation = postOfficeBoxAddressAdditionalInformationRepository + .findAny( + postOfficeBoxAddressAdditionalInformation.getPostOfficeBoxAddress().getId(), + postOfficeBoxAddressAdditionalInformation.getLanguage()); if (foundPostOfficeBoxAddressAdditionalInformation.isPresent()) { - PostOfficeBoxAddressAdditionalInformation oldPostOfficeBoxAddressAdditionalInformation - = foundPostOfficeBoxAddressAdditionalInformation.get(); + PostOfficeBoxAddressAdditionalInformation oldPostOfficeBoxAddressAdditionalInformation = foundPostOfficeBoxAddressAdditionalInformation + .get(); StatusInfo statusInfo = oldPostOfficeBoxAddressAdditionalInformation.getStatusInfo(); statusInfo.setFetched(LocalDateTime.now()); if (!oldPostOfficeBoxAddressAdditionalInformation.equals(postOfficeBoxAddressAdditionalInformation)) { @@ -509,18 +576,21 @@ private PostOfficeBoxAddressAdditionalInformation updatePostOfficeBoxAddressAddi postOfficeBoxAddressAdditionalInformation.setStatusInfo(statusInfo); postOfficeBoxAddressAdditionalInformation.setId(oldPostOfficeBoxAddressAdditionalInformation.getId()); } else { - postOfficeBoxAddressAdditionalInformation.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + postOfficeBoxAddressAdditionalInformation + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return postOfficeBoxAddressAdditionalInformation; } private PostOfficeBoxAddressMunicipality updatePostOfficeBoxAddressMunicipalityData( PostOfficeBoxAddressMunicipality postOfficeBoxAddressMunicipality) { - Optional foundPostOfficeBoxAddressMunicipality = - Optional.ofNullable(postOfficeBoxAddressMunicipalityRepository - .findByPostOfficeBoxAddressId(postOfficeBoxAddressMunicipality.getPostOfficeBoxAddress().getId())); + Optional foundPostOfficeBoxAddressMunicipality = Optional + .ofNullable(postOfficeBoxAddressMunicipalityRepository + .findByPostOfficeBoxAddressId( + postOfficeBoxAddressMunicipality.getPostOfficeBoxAddress().getId())); if (foundPostOfficeBoxAddressMunicipality.isPresent()) { - PostOfficeBoxAddressMunicipality oldPostOfficeBoxAddressMunicipality = foundPostOfficeBoxAddressMunicipality.get(); + PostOfficeBoxAddressMunicipality oldPostOfficeBoxAddressMunicipality = foundPostOfficeBoxAddressMunicipality + .get(); StatusInfo statusInfo = oldPostOfficeBoxAddressMunicipality.getStatusInfo(); statusInfo.setFetched(LocalDateTime.now()); if (!oldPostOfficeBoxAddressMunicipality.equals(postOfficeBoxAddressMunicipality)) { @@ -529,20 +599,22 @@ private PostOfficeBoxAddressMunicipality updatePostOfficeBoxAddressMunicipalityD postOfficeBoxAddressMunicipality.setStatusInfo(statusInfo); postOfficeBoxAddressMunicipality.setId(oldPostOfficeBoxAddressMunicipality.getId()); } else { - postOfficeBoxAddressMunicipality.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + postOfficeBoxAddressMunicipality + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return postOfficeBoxAddressMunicipality; } + @SuppressWarnings("checkstyle:lineLength") private PostOfficeBoxAddressMunicipalityName updatePostOfficeBoxAddressMunicipalityNameData( PostOfficeBoxAddressMunicipalityName postOfficeBoxAddressMunicipalityName) { - Optional foundPostOfficeBoxAddressMunicipalityName - = postOfficeBoxAddressMunicipalityNameRepository.findAny( - postOfficeBoxAddressMunicipalityName.getPostOfficeBoxAddressMunicipality().getId(), - postOfficeBoxAddressMunicipalityName.getLanguage()); + Optional foundPostOfficeBoxAddressMunicipalityName = postOfficeBoxAddressMunicipalityNameRepository + .findAny( + postOfficeBoxAddressMunicipalityName.getPostOfficeBoxAddressMunicipality().getId(), + postOfficeBoxAddressMunicipalityName.getLanguage()); if (foundPostOfficeBoxAddressMunicipalityName.isPresent()) { - PostOfficeBoxAddressMunicipalityName oldPostOfficeBoxAddressMunicipalityName - = foundPostOfficeBoxAddressMunicipalityName.get(); + PostOfficeBoxAddressMunicipalityName oldPostOfficeBoxAddressMunicipalityName = foundPostOfficeBoxAddressMunicipalityName + .get(); StatusInfo statusInfo = oldPostOfficeBoxAddressMunicipalityName.getStatusInfo(); statusInfo.setFetched(LocalDateTime.now()); if (!oldPostOfficeBoxAddressMunicipalityName.equals(postOfficeBoxAddressMunicipalityName)) { @@ -551,7 +623,8 @@ private PostOfficeBoxAddressMunicipalityName updatePostOfficeBoxAddressMunicipal postOfficeBoxAddressMunicipalityName.setStatusInfo(statusInfo); postOfficeBoxAddressMunicipalityName.setId(oldPostOfficeBoxAddressMunicipalityName.getId()); } else { - postOfficeBoxAddressMunicipalityName.setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); + postOfficeBoxAddressMunicipalityName + .setStatusInfo(new StatusInfo(LocalDateTime.now(), LocalDateTime.now(), LocalDateTime.now(), null)); } return postOfficeBoxAddressMunicipalityName; } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/dto/HeartbeatResponse.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/dto/HeartbeatResponse.java index 7019daa9..15b73e94 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/dto/HeartbeatResponse.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/dto/HeartbeatResponse.java @@ -12,11 +12,14 @@ */ package fi.vrk.xroad.catalog.persistence.dto; -import lombok.*; - import java.io.Serializable; import java.time.LocalDateTime; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + @Builder @NoArgsConstructor @AllArgsConstructor diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/dto/ServiceStatistics.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/dto/ServiceStatistics.java index 5aad68d8..bc50d414 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/dto/ServiceStatistics.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/dto/ServiceStatistics.java @@ -42,6 +42,7 @@ public class ServiceStatistics implements Serializable { @Override public String toString() { return "{\"created\":" + created + ",\"numberOfSoapServices\":\"" + numberOfSoapServices - + "\",\"numberOfRestServices\":\"" + numberOfRestServices + "\",\"numberOfOpenApiServices\":\"" + numberOfOpenApiServices + "}"; + + "\",\"numberOfRestServices\":\"" + numberOfRestServices + "\",\"numberOfOpenApiServices\":\"" + + numberOfOpenApiServices + "}"; } } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Address.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Address.java index ffaedac8..518a8b2d 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Address.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Address.java @@ -12,18 +12,38 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.util.HashSet; import java.util.Set; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.OneToMany; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"organization","streetAddresses","postOfficeBoxAddresses"}) -@EqualsAndHashCode(exclude = {"id", "organization", "streetAddresses","postOfficeBoxAddresses","statusInfo"}) +@ToString(exclude = { "organization", "streetAddresses", "postOfficeBoxAddresses" }) +@EqualsAndHashCode(exclude = { "id", "organization", "streetAddresses", "postOfficeBoxAddresses", "statusInfo" }) @Builder public class Address { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessAddress.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessAddress.java index 68d04e09..859a80aa 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessAddress.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessAddress.java @@ -12,17 +12,34 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"company"}) -@EqualsAndHashCode(exclude = {"id", "company","statusInfo"}) +@ToString(exclude = { "company" }) +@EqualsAndHashCode(exclude = { "id", "company", "statusInfo" }) @Builder public class BusinessAddress { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessAuxiliaryName.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessAuxiliaryName.java index 936b41b2..38427da6 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessAuxiliaryName.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessAuxiliaryName.java @@ -12,17 +12,34 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"company"}) -@EqualsAndHashCode(exclude = {"id", "company","statusInfo"}) +@ToString(exclude = { "company" }) +@EqualsAndHashCode(exclude = { "id", "company", "statusInfo" }) @Builder public class BusinessAuxiliaryName { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessIdChange.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessIdChange.java index 90b0cbaa..5405d1a5 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessIdChange.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessIdChange.java @@ -12,16 +12,31 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"company"}) -@EqualsAndHashCode(exclude = {"id", "company","statusInfo"}) +@ToString(exclude = { "company" }) +@EqualsAndHashCode(exclude = { "id", "company", "statusInfo" }) @Builder public class BusinessIdChange { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessLine.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessLine.java index 7aad9843..5cafdc9f 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessLine.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessLine.java @@ -12,17 +12,34 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"company"}) -@EqualsAndHashCode(exclude = {"id", "company","statusInfo"}) +@ToString(exclude = { "company" }) +@EqualsAndHashCode(exclude = { "id", "company", "statusInfo" }) @Builder public class BusinessLine { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessName.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessName.java index 9485d85a..9e6ba254 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessName.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/BusinessName.java @@ -12,17 +12,34 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"company"}) -@EqualsAndHashCode(exclude = {"id", "company","statusInfo"}) +@ToString(exclude = { "company" }) +@EqualsAndHashCode(exclude = { "id", "company", "statusInfo" }) @Builder public class BusinessName { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Company.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Company.java index 25842733..ba601b0f 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Company.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Company.java @@ -12,12 +12,32 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; import java.util.HashSet; import java.util.Set; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @@ -35,7 +55,7 @@ "registeredOffices", "contactDetails", "registeredEntries", - "businessIdChanges"}) + "businessIdChanges" }) @EqualsAndHashCode(exclude = { "id", "statusInfo", @@ -49,12 +69,11 @@ "registeredOffices", "contactDetails", "registeredEntries", - "businessIdChanges"}) -@NamedQueries({@NamedQuery(name = "Company.findAllByBusinessId", query = Company.FIND_ALL_BY_BUSINESS_ID)}) + "businessIdChanges" }) +@NamedQueries({ @NamedQuery(name = "Company.findAllByBusinessId", query = Company.FIND_ALL_BY_BUSINESS_ID) }) public class Company { - static final String FIND_ALL_BY_BUSINESS_ID = - "SELECT DISTINCT com FROM Company com WHERE com.businessId = :businessId"; + static final String FIND_ALL_BY_BUSINESS_ID = "SELECT DISTINCT com FROM Company com WHERE com.businessId = :businessId"; @Id @Column(nullable = false) diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/CompanyForm.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/CompanyForm.java index 40119153..be296b72 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/CompanyForm.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/CompanyForm.java @@ -12,17 +12,34 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"company"}) -@EqualsAndHashCode(exclude = {"id", "company","statusInfo"}) +@ToString(exclude = { "company" }) +@EqualsAndHashCode(exclude = { "id", "company", "statusInfo" }) @Builder public class CompanyForm { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/ContactDetail.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/ContactDetail.java index 26dc1b89..a710b886 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/ContactDetail.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/ContactDetail.java @@ -12,17 +12,34 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"company"}) -@EqualsAndHashCode(exclude = {"id", "company","statusInfo"}) +@ToString(exclude = { "company" }) +@EqualsAndHashCode(exclude = { "id", "company", "statusInfo" }) @Builder public class ContactDetail { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Email.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Email.java index bbaf649d..de5057cc 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Email.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Email.java @@ -12,16 +12,31 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"organization"}) -@EqualsAndHashCode(exclude = {"id", "organization","statusInfo"}) +@ToString(exclude = { "organization" }) +@EqualsAndHashCode(exclude = { "id", "organization", "statusInfo" }) @Builder public class Email { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Endpoint.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Endpoint.java index 486b98d7..48f2e6fc 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Endpoint.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Endpoint.java @@ -15,15 +15,15 @@ import lombok.Getter; import lombok.Setter; import lombok.ToString; -import javax.persistence.Column; -import javax.persistence.Embedded; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.SequenceGenerator; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; import java.time.LocalDateTime; @Entity diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/ErrorLog.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/ErrorLog.java index a88077dc..2ae0f229 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/ErrorLog.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/ErrorLog.java @@ -12,17 +12,30 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor @ToString -@EqualsAndHashCode(exclude = {"id"}) +@EqualsAndHashCode(exclude = { "id" }) @Builder public class ErrorLog { @Id diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Language.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Language.java index d787ed9e..a622629b 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Language.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Language.java @@ -12,17 +12,34 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"company"}) -@EqualsAndHashCode(exclude = {"id", "company","statusInfo"}) +@ToString(exclude = { "company" }) +@EqualsAndHashCode(exclude = { "id", "company", "statusInfo" }) @Builder public class Language { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Liquidation.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Liquidation.java index c180aaf0..af5f4d33 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Liquidation.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Liquidation.java @@ -12,17 +12,34 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"company"}) -@EqualsAndHashCode(exclude = {"id", "company","statusInfo"}) +@ToString(exclude = { "company" }) +@EqualsAndHashCode(exclude = { "id", "company", "statusInfo" }) @Builder public class Liquidation { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Member.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Member.java index 2e4a83f9..826eed58 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Member.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Member.java @@ -13,9 +13,28 @@ package fi.vrk.xroad.catalog.persistence.entity; import com.google.common.collect.ComparisonChain; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedAttributeNode; +import jakarta.persistence.NamedEntityGraph; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedSubgraph; +import jakarta.persistence.OneToMany; +import jakarta.persistence.SequenceGenerator; +import lombok.AccessLevel; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; import java.util.Collections; import java.util.HashSet; @@ -30,93 +49,76 @@ @Setter @ToString(exclude = "subsystems") // Entity graph defining the full tree member-subsystem-service-wsdl. -@NamedEntityGraph( - name = "member.full-tree.graph", - attributeNodes = { - @NamedAttributeNode(value = "subsystems", subgraph = "subsystem.services.graph") - }, - subgraphs = { - @NamedSubgraph( - name = "subsystem.services.graph", - attributeNodes = @NamedAttributeNode(value = "services", subgraph = "service.wsdl.graph")), - @NamedSubgraph( - name = "service.wsdl.graph", - attributeNodes = @NamedAttributeNode(value = "wsdls")), - } -) +@SuppressWarnings("checkstyle:linelength") +@NamedEntityGraph(name = "member.full-tree.graph", attributeNodes = { + @NamedAttributeNode(value = "subsystems", subgraph = "subsystem.services.graph") +}, subgraphs = { + @NamedSubgraph(name = "subsystem.services.graph", attributeNodes = @NamedAttributeNode(value = "services", subgraph = "service.wsdl.graph")), + @NamedSubgraph(name = "service.wsdl.graph", attributeNodes = @NamedAttributeNode(value = "wsdls")), +}) @NamedQueries({ // query fetches all members that have been changed, or have child entities // (subsystems, services, wsdls) that have been changed since given date - @NamedQuery(name = "Member.findAllChangedSince", - query = Member.FIND_ALL_CHANGED_QUERY), - @NamedQuery(name = "Member.findActiveChangedSince", - query = Member.FIND_ACTIVE_CHANGED_QUERY), - @NamedQuery(name = "Member.findAllChangedBetween", - query = Member.FIND_ALL_CHANGED_BETWEEN_QUERY), - @NamedQuery(name = "Member.findActiveChangedBetween", - query = Member.FIND_ACTIVE_CHANGED_BETWEEN_QUERY), + @NamedQuery(name = "Member.findAllChangedSince", query = Member.FIND_ALL_CHANGED_QUERY), + @NamedQuery(name = "Member.findActiveChangedSince", query = Member.FIND_ACTIVE_CHANGED_QUERY), + @NamedQuery(name = "Member.findAllChangedBetween", query = Member.FIND_ALL_CHANGED_BETWEEN_QUERY), + @NamedQuery(name = "Member.findActiveChangedBetween", query = Member.FIND_ACTIVE_CHANGED_BETWEEN_QUERY), }) // identity is based on xroad identity (instance, member code...) -@EqualsAndHashCode(exclude = {"id", "subsystems", "statusInfo"}) +@EqualsAndHashCode(exclude = { "id", "subsystems", "statusInfo" }) public class Member { - private final static String OR_EXISTS = "OR EXISTS ( "; - - private static final String FIND_CHANGED_QUERY_PART_1 = - "SELECT DISTINCT mem " + - "FROM Member mem " + - "LEFT JOIN FETCH mem.subsystems fetchedSubs " + - "LEFT JOIN FETCH fetchedSubs.services fetchedSers " + - "LEFT JOIN FETCH fetchedSers.wsdls fetchedWsdls " + - "WHERE "; - private static final String FIND_CHANGED_QUERY_PART_2 = - "mem.statusInfo.changed > :since " + - OR_EXISTS + - "SELECT sub " + - "FROM Subsystem sub " + - "WHERE sub.member = mem " + - "AND sub.statusInfo.changed > :since)" + - OR_EXISTS + - "SELECT service " + - "FROM Service service " + - "WHERE service.subsystem.member = mem " + - "AND service.statusInfo.changed > :since)" + - OR_EXISTS + - "SELECT wsdl " + - "FROM Wsdl wsdl " + - "WHERE wsdl.service.subsystem.member = mem " + - "AND wsdl.statusInfo.changed > :since) "; - private static final String FIND_CHANGED_QUERY_PART_3 = - "mem.statusInfo.changed >= :startDate AND mem.statusInfo.changed <= :endDate " + - OR_EXISTS + - "SELECT sub " + - "FROM Subsystem sub " + - "WHERE sub.member = mem " + - "AND sub.statusInfo.changed >= :startDate AND sub.statusInfo.changed <= :endDate)" + - OR_EXISTS + - "SELECT service " + - "FROM Service service " + - "WHERE service.subsystem.member = mem " + - "AND service.statusInfo.changed >= :startDate AND service.statusInfo.changed <= :endDate)" + - OR_EXISTS + - "SELECT wsdl " + - "FROM Wsdl wsdl " + - "WHERE wsdl.service.subsystem.member = mem " + - "AND wsdl.statusInfo.changed >= :startDate AND wsdl.statusInfo.changed <= :endDate) "; - static final String FIND_ALL_CHANGED_QUERY = - FIND_CHANGED_QUERY_PART_1 + FIND_CHANGED_QUERY_PART_2; - static final String FIND_ALL_CHANGED_BETWEEN_QUERY = - FIND_CHANGED_QUERY_PART_1 + FIND_CHANGED_QUERY_PART_3; - static final String FIND_ACTIVE_CHANGED_QUERY = - FIND_CHANGED_QUERY_PART_1 + - "mem.statusInfo.removed IS NULL AND (" + - FIND_CHANGED_QUERY_PART_2 + - ")"; - static final String FIND_ACTIVE_CHANGED_BETWEEN_QUERY = - FIND_CHANGED_QUERY_PART_1 + - "mem.statusInfo.removed IS NULL AND (" + - FIND_CHANGED_QUERY_PART_3 + - ")"; + private static final String OR_EXISTS = "OR EXISTS ( "; + + private static final String FIND_CHANGED_QUERY_PART_1 = "SELECT DISTINCT mem " + + "FROM Member mem " + + "LEFT JOIN FETCH mem.subsystems fetchedSubs " + + "LEFT JOIN FETCH fetchedSubs.services fetchedSers " + + "LEFT JOIN FETCH fetchedSers.wsdls fetchedWsdls " + + "WHERE "; + private static final String FIND_CHANGED_QUERY_PART_2 = "mem.statusInfo.changed > :since " + + OR_EXISTS + + "SELECT sub " + + "FROM Subsystem sub " + + "WHERE sub.member = mem " + + "AND sub.statusInfo.changed > :since)" + + OR_EXISTS + + "SELECT service " + + "FROM Service service " + + "WHERE service.subsystem.member = mem " + + "AND service.statusInfo.changed > :since)" + + OR_EXISTS + + "SELECT wsdl " + + "FROM Wsdl wsdl " + + "WHERE wsdl.service.subsystem.member = mem " + + "AND wsdl.statusInfo.changed > :since) "; + private static final String FIND_CHANGED_QUERY_PART_3 = "mem.statusInfo.changed >= :startDate AND mem.statusInfo.changed <= :endDate " + + OR_EXISTS + + "SELECT sub " + + "FROM Subsystem sub " + + "WHERE sub.member = mem " + + "AND sub.statusInfo.changed >= :startDate AND sub.statusInfo.changed <= :endDate)" + + OR_EXISTS + + "SELECT service " + + "FROM Service service " + + "WHERE service.subsystem.member = mem " + + "AND service.statusInfo.changed >= :startDate AND service.statusInfo.changed <= :endDate)" + + OR_EXISTS + + "SELECT wsdl " + + "FROM Wsdl wsdl " + + "WHERE wsdl.service.subsystem.member = mem " + + "AND wsdl.statusInfo.changed >= :startDate AND wsdl.statusInfo.changed <= :endDate) "; + static final String FIND_ALL_CHANGED_QUERY = FIND_CHANGED_QUERY_PART_1 + FIND_CHANGED_QUERY_PART_2; + static final String FIND_ALL_CHANGED_BETWEEN_QUERY = FIND_CHANGED_QUERY_PART_1 + + FIND_CHANGED_QUERY_PART_3; + static final String FIND_ACTIVE_CHANGED_QUERY = FIND_CHANGED_QUERY_PART_1 + + "mem.statusInfo.removed IS NULL AND (" + + FIND_CHANGED_QUERY_PART_2 + + ")"; + static final String FIND_ACTIVE_CHANGED_BETWEEN_QUERY = FIND_CHANGED_QUERY_PART_1 + + "mem.statusInfo.removed IS NULL AND (" + + FIND_CHANGED_QUERY_PART_3 + + ")"; @Id @Column(nullable = false) @@ -146,9 +148,9 @@ public Member() { * */ public Member(String xRoadInstance, - String memberClass, - String memberCode, - String name) { + String memberClass, + String memberCode, + String name) { this.xRoadInstance = xRoadInstance; this.memberClass = memberClass; this.memberCode = memberCode; @@ -156,7 +158,6 @@ public Member(String xRoadInstance, statusInfo.setTimestampsForNew(LocalDateTime.now()); } - /** * @return comparable & equals-able natural key */ @@ -179,7 +180,8 @@ public void updateWithDataFrom(Member transientMember, LocalDateTime timestamp) } /** - * Compares objects with just the "direct payload" - not ids, references entities or timestamps + * Compares objects with just the "direct payload" - not ids, references + * entities or timestamps * * @param another Member to compare * @return true, iff identical @@ -200,7 +202,8 @@ private boolean isDataIdentical(Member another) { */ public Set getActiveSubsystems() { return Collections.unmodifiableSet(subsystems.stream() - .filter(subsystem -> !subsystem.getStatusInfo().isRemoved()) + .filter(subsystem -> !subsystem.getStatusInfo() + .isRemoved()) .collect(Collectors.toSet())); } @@ -214,5 +217,3 @@ public Set getAllSubsystems() { } } - - diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/OpenApi.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/OpenApi.java index bdc6d06b..e3ce6efd 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/OpenApi.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/OpenApi.java @@ -15,10 +15,21 @@ import lombok.Getter; import lombok.Setter; import lombok.ToString; -import javax.persistence.*; import java.time.LocalDateTime; import java.util.UUID; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @@ -32,7 +43,8 @@ public class OpenApi { @ManyToOne @JoinColumn(name = "SERVICE_ID") private Service service; - // this is not lazy loaded since hibernate would need build-time bytecode enhancement + // this is not lazy loaded since hibernate would need build-time bytecode + // enhancement // this could be optimized e.g. by not mapping this data to JPA entity, and // fetching it directly with a native query @Basic(fetch = FetchType.LAZY) diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Organization.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Organization.java index 1827bc8d..0c0146ff 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Organization.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Organization.java @@ -12,11 +12,31 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.util.HashSet; import java.util.Set; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.NamedQueries; +import jakarta.persistence.NamedQuery; +import jakarta.persistence.OneToMany; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @@ -29,7 +49,7 @@ "emails", "phoneNumbers", "webPages", - "addresses"}) + "addresses" }) @EqualsAndHashCode(exclude = { "id", "statusInfo", @@ -38,12 +58,12 @@ "emails", "phoneNumbers", "webPages", - "addresses"}) -@NamedQueries({@NamedQuery(name = "Organization.findAllByBusinessCode", query = Organization.FIND_ALL_BY_BUSINESS_CODE)}) + "addresses" }) +@NamedQueries({ + @NamedQuery(name = "Organization.findAllByBusinessCode", query = Organization.FIND_ALL_BY_BUSINESS_CODE) }) public class Organization { - static final String FIND_ALL_BY_BUSINESS_CODE = - "SELECT DISTINCT org FROM Organization org WHERE org.businessCode = :businessCode"; + static final String FIND_ALL_BY_BUSINESS_CODE = "SELECT DISTINCT org FROM Organization org WHERE org.businessCode = :businessCode"; @Id @Column(nullable = false) diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/OrganizationDescription.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/OrganizationDescription.java index 8c08f7eb..3ebe22e1 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/OrganizationDescription.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/OrganizationDescription.java @@ -12,16 +12,31 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"organization"}) -@EqualsAndHashCode(exclude = {"id", "organization","statusInfo"}) +@ToString(exclude = { "organization" }) +@EqualsAndHashCode(exclude = { "id", "organization", "statusInfo" }) @Builder public class OrganizationDescription { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/OrganizationName.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/OrganizationName.java index ad81f4f1..63d70e5c 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/OrganizationName.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/OrganizationName.java @@ -12,16 +12,31 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"organization"}) -@EqualsAndHashCode(exclude = {"id", "organization","statusInfo"}) +@ToString(exclude = { "organization" }) +@EqualsAndHashCode(exclude = { "id", "organization", "statusInfo" }) @Builder public class OrganizationName { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PhoneNumber.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PhoneNumber.java index 66a5172a..2774cbee 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PhoneNumber.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PhoneNumber.java @@ -12,16 +12,31 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"organization"}) -@EqualsAndHashCode(exclude = {"id", "organization","statusInfo"}) +@ToString(exclude = { "organization" }) +@EqualsAndHashCode(exclude = { "id", "organization", "statusInfo" }) @Builder public class PhoneNumber { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOffice.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOffice.java index 27f7f758..2a26bd53 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOffice.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOffice.java @@ -12,16 +12,31 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"postOfficeBoxAddress"}) -@EqualsAndHashCode(exclude = {"id","postOfficeBoxAddress","statusInfo"}) +@ToString(exclude = { "postOfficeBoxAddress" }) +@EqualsAndHashCode(exclude = { "id", "postOfficeBoxAddress", "statusInfo" }) @Builder public class PostOffice { @Id diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBox.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBox.java index 05ed136c..2b551f7c 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBox.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBox.java @@ -12,16 +12,31 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"postOfficeBoxAddress"}) -@EqualsAndHashCode(exclude = {"id","postOfficeBoxAddress","statusInfo"}) +@ToString(exclude = { "postOfficeBoxAddress" }) +@EqualsAndHashCode(exclude = { "id", "postOfficeBoxAddress", "statusInfo" }) @Builder public class PostOfficeBox { @Id diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddress.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddress.java index 22181103..88354544 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddress.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddress.java @@ -12,18 +12,40 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.util.HashSet; import java.util.Set; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.OneToMany; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"address","postOfficeBoxAddressMunicipalities","additionalInformation","postOffices","postOfficesBoxes"}) -@EqualsAndHashCode(exclude = {"id","address","postOfficeBoxAddressMunicipalities","additionalInformation","postOffices","postOfficesBoxes","statusInfo"}) +@ToString(exclude = { "address", "postOfficeBoxAddressMunicipalities", "additionalInformation", "postOffices", + "postOfficesBoxes" }) +@EqualsAndHashCode(exclude = { "id", "address", "postOfficeBoxAddressMunicipalities", "additionalInformation", + "postOffices", "postOfficesBoxes", "statusInfo" }) @Builder public class PostOfficeBoxAddress { @Id diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddressAdditionalInformation.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddressAdditionalInformation.java index 072fd3d8..53bc62f8 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddressAdditionalInformation.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddressAdditionalInformation.java @@ -12,21 +12,37 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"postOfficeBoxAddress"}) -@EqualsAndHashCode(exclude = {"id","postOfficeBoxAddress","statusInfo"}) +@ToString(exclude = { "postOfficeBoxAddress" }) +@EqualsAndHashCode(exclude = { "id", "postOfficeBoxAddress", "statusInfo" }) @Builder public class PostOfficeBoxAddressAdditionalInformation { @Id @Column(nullable = false) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "POST_OFFICE_BOX_ADDRESS_ADDITIONAL_INFORMATION_GEN") + @SuppressWarnings("checkstyle:lineLength") @SequenceGenerator(name = "POST_OFFICE_BOX_ADDRESS_ADDITIONAL_INFORMATION_GEN", sequenceName = "POST_OFFICE_BOX_ADDRESS_ADDITIONAL_INFORMATION_ID_SEQ", allocationSize = 1) private long id; @Column(nullable = false) diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddressMunicipality.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddressMunicipality.java index 41e3f8a2..3ba329bd 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddressMunicipality.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddressMunicipality.java @@ -12,23 +12,44 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.util.HashSet; import java.util.Set; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.OneToMany; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"postOfficeBoxAddress","postOfficeBoxAddressMunicipalityNames"}) -@EqualsAndHashCode(exclude = {"id","postOfficeBoxAddress","postOfficeBoxAddressMunicipalityNames","statusInfo"}) +@ToString(exclude = { "postOfficeBoxAddress", "postOfficeBoxAddressMunicipalityNames" }) +@EqualsAndHashCode(exclude = { "id", "postOfficeBoxAddress", "postOfficeBoxAddressMunicipalityNames", "statusInfo" }) @Builder public class PostOfficeBoxAddressMunicipality { @Id @Column(nullable = false) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "POST_OFFICE_BOX_ADDRESS_MUNICIPALITY_GEN") + @SuppressWarnings("checkstyle:lineLength") @SequenceGenerator(name = "POST_OFFICE_BOX_ADDRESS_MUNICIPALITY_GEN", sequenceName = "POST_OFFICE_BOX_ADDRESS_MUNICIPALITY_ID_SEQ", allocationSize = 1) private long id; @Column(nullable = false) @@ -47,4 +68,4 @@ public class PostOfficeBoxAddressMunicipality { public Set getAllMunicipalityNames() { return postOfficeBoxAddressMunicipalityNames; } -} \ No newline at end of file +} diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddressMunicipalityName.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddressMunicipalityName.java index cd081a11..a209978a 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddressMunicipalityName.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/PostOfficeBoxAddressMunicipalityName.java @@ -12,21 +12,37 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"postOfficeBoxAddressMunicipality"}) -@EqualsAndHashCode(exclude = {"id","postOfficeBoxAddressMunicipality","statusInfo"}) +@ToString(exclude = { "postOfficeBoxAddressMunicipality" }) +@EqualsAndHashCode(exclude = { "id", "postOfficeBoxAddressMunicipality", "statusInfo" }) @Builder public class PostOfficeBoxAddressMunicipalityName { @Id @Column(nullable = false) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "POST_OFFICE_BOX_ADDRESS_MUNICIPALITY_NAME_GEN") + @SuppressWarnings("checkstyle:linelength") @SequenceGenerator(name = "POST_OFFICE_BOX_ADDRESS_MUNICIPALITY_NAME_GEN", sequenceName = "POST_OFFICE_BOX_ADDRESS_MUNICIPALITY_NAME_ID_SEQ", allocationSize = 1) private long id; @Column(nullable = false) diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/RegisteredEntry.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/RegisteredEntry.java index ddb4309c..6da3cd4d 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/RegisteredEntry.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/RegisteredEntry.java @@ -12,17 +12,34 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"company"}) -@EqualsAndHashCode(exclude = {"id", "company","statusInfo"}) +@ToString(exclude = { "company" }) +@EqualsAndHashCode(exclude = { "id", "company", "statusInfo" }) @Builder public class RegisteredEntry { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/RegisteredOffice.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/RegisteredOffice.java index a0f8bee6..5ab4ee26 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/RegisteredOffice.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/RegisteredOffice.java @@ -12,17 +12,34 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"company"}) -@EqualsAndHashCode(exclude = {"id", "company","statusInfo"}) +@ToString(exclude = { "company" }) +@EqualsAndHashCode(exclude = { "id", "company", "statusInfo" }) @Builder public class RegisteredOffice { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Rest.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Rest.java index 21e8d545..113e8d01 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Rest.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Rest.java @@ -16,17 +16,17 @@ import lombok.Setter; import lombok.ToString; -import javax.persistence.Basic; -import javax.persistence.Column; -import javax.persistence.Embedded; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.ManyToOne; -import javax.persistence.SequenceGenerator; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; import java.time.LocalDateTime; import java.util.UUID; @@ -44,8 +44,9 @@ public class Rest { @ManyToOne @JoinColumn(name = "SERVICE_ID") private Service service; - - // this is not lazy loaded since hibernate would need build-time bytecode enhancement + + // this is not lazy loaded since hibernate would need build-time bytecode + // enhancement // this could be optimized e.g. by not mapping this data to JPA entity, and // fetching it directly with a native query @Basic(fetch = FetchType.LAZY) diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Service.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Service.java index 1611c9cd..74ebb58d 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Service.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Service.java @@ -16,15 +16,27 @@ import lombok.Getter; import lombok.Setter; import lombok.ToString; -import javax.persistence.*; import java.time.LocalDateTime; import java.util.HashSet; import java.util.Set; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.OneToMany; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter -@ToString(exclude = {"subsystem","wsdls","openApis", "rests", "endpoints"}) +@ToString(exclude = { "subsystem", "wsdls", "openApis", "rests", "endpoints" }) public class Service { @Id @Column(nullable = false) @@ -43,19 +55,24 @@ public class Service { // due to OneToOne not working with lazy loading: // http://stackoverflow.com/questions/1444227/making-a-onetoone-relation-lazy // https://developer.jboss.org/wiki/SomeExplanationsOnLazyLoadingone-to-one - @Getter(AccessLevel.NONE) // do not create default getter/setter, we provide a wrapper that hides the collection + @Getter(AccessLevel.NONE) // do not create default getter/setter, we provide a wrapper that hides the + // collection @OneToMany(mappedBy = "service", cascade = CascadeType.ALL, fetch = FetchType.EAGER) private Set wsdls = new HashSet<>(); - @Getter(AccessLevel.NONE) // do not create default getter/setter, we provide a wrapper that hides the collection + @Getter(AccessLevel.NONE) // do not create default getter/setter, we provide a wrapper that hides the + // collection @OneToMany(mappedBy = "service", cascade = CascadeType.ALL, fetch = FetchType.EAGER) private Set openApis = new HashSet<>(); - @Getter(AccessLevel.NONE) // do not create default getter/setter, we provide a wrapper that hides the collection + @Getter(AccessLevel.NONE) // do not create default getter/setter, we provide a wrapper that hides the + // collection @OneToMany(mappedBy = "service", cascade = CascadeType.ALL, fetch = FetchType.EAGER) private Set rests = new HashSet<>(); - @Getter(AccessLevel.NONE) // do not create default getter/setter, we provide a wrapper that hides the collection + @Getter(AccessLevel.NONE) // do not create default getter/setter, we provide a wrapper that hides the + // collection @OneToMany(mappedBy = "service", cascade = CascadeType.ALL, fetch = FetchType.EAGER) private Set endpoints = new HashSet<>(); + public Service() { // Empty constructor } @@ -74,11 +91,18 @@ public void setWsdl(Wsdl wsdl) { wsdls.clear(); wsdls.add(wsdl); } - public Wsdl getWsdl() { return wsdls.isEmpty() ? null : wsdls.iterator().next(); } - public boolean hasWsdl() { return !wsdls.isEmpty(); } + public Wsdl getWsdl() { + return wsdls.isEmpty() ? null : wsdls.iterator().next(); + } + + public boolean hasWsdl() { + return !wsdls.isEmpty(); + } - public boolean hasOpenApi() { return !openApis.isEmpty(); } + public boolean hasOpenApi() { + return !openApis.isEmpty(); + } public void setOpenApi(OpenApi openApi) { if (openApis == null) { @@ -87,9 +111,14 @@ public void setOpenApi(OpenApi openApi) { openApis.clear(); openApis.add(openApi); } - public Rest getRest() { return rests.isEmpty() ? null : rests.iterator().next(); } - public boolean hasRest() { return !rests.isEmpty(); } + public Rest getRest() { + return rests.isEmpty() ? null : rests.iterator().next(); + } + + public boolean hasRest() { + return !rests.isEmpty(); + } public void setRest(Rest rest) { if (rests == null) { @@ -98,7 +127,10 @@ public void setRest(Rest rest) { rests.clear(); rests.add(rest); } - public OpenApi getOpenApi() { return openApis.isEmpty() ? null : openApis.iterator().next(); } + + public OpenApi getOpenApi() { + return openApis.isEmpty() ? null : openApis.iterator().next(); + } public void setEndpoint(Endpoint endpoint) { if (endpoints == null) { @@ -107,11 +139,18 @@ public void setEndpoint(Endpoint endpoint) { endpoints.clear(); endpoints.add(endpoint); } - public Endpoint getEndpoint() { return endpoints.isEmpty() ? null : endpoints.iterator().next(); } - public Set getAllEndpoints() { return endpoints; } + public Endpoint getEndpoint() { + return endpoints.isEmpty() ? null : endpoints.iterator().next(); + } - public boolean hasEndpoint() { return !endpoints.isEmpty(); } + public Set getAllEndpoints() { + return endpoints; + } + + public boolean hasEndpoint() { + return !endpoints.isEmpty(); + } public ServiceId createKey() { return new ServiceId(serviceCode, serviceVersion); diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StatusInfo.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StatusInfo.java index eb2bc5f6..2ea6adf0 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StatusInfo.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StatusInfo.java @@ -14,8 +14,8 @@ import lombok.Getter; import lombok.Setter; -import javax.persistence.Column; -import javax.persistence.Embeddable; +import jakarta.persistence.Column; +import jakarta.persistence.Embeddable; import java.time.LocalDateTime; @Embeddable diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Street.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Street.java index c127e676..db6312d0 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Street.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Street.java @@ -12,16 +12,31 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"streetAddress"}) -@EqualsAndHashCode(exclude = {"id","streetAddress","statusInfo"}) +@ToString(exclude = { "streetAddress" }) +@EqualsAndHashCode(exclude = { "id", "streetAddress", "statusInfo" }) @Builder public class Street { @Id diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddress.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddress.java index 5bd209b1..6fc55bfa 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddress.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddress.java @@ -12,18 +12,39 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.util.HashSet; import java.util.Set; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.OneToMany; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"address","streets","postOffices","municipalities","additionalInformation"}) -@EqualsAndHashCode(exclude = {"id","address","streets","postOffices","municipalities","additionalInformation","statusInfo"}) +@ToString(exclude = { "address", "streets", "postOffices", "municipalities", "additionalInformation" }) +@EqualsAndHashCode(exclude = { "id", "address", "streets", "postOffices", "municipalities", "additionalInformation", + "statusInfo" }) @Builder public class StreetAddress { @Id diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressAdditionalInformation.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressAdditionalInformation.java index 471ae94a..7c1ef941 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressAdditionalInformation.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressAdditionalInformation.java @@ -12,21 +12,37 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"streetAddress"}) -@EqualsAndHashCode(exclude = {"id","streetAddress","statusInfo"}) +@ToString(exclude = { "streetAddress" }) +@EqualsAndHashCode(exclude = { "id", "streetAddress", "statusInfo" }) @Builder public class StreetAddressAdditionalInformation { @Id @Column(nullable = false) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "STREET_ADDRESS_ADDITIONAL_INFORMATION_GEN") + @SuppressWarnings("checkstyle:lineLength") @SequenceGenerator(name = "STREET_ADDRESS_ADDITIONAL_INFORMATION_GEN", sequenceName = "STREET_ADDRESS_ADDITIONAL_INFORMATION_ID_SEQ", allocationSize = 1) private long id; @Column(nullable = false) diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressMunicipality.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressMunicipality.java index ceca5fe1..1d31fbb9 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressMunicipality.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressMunicipality.java @@ -12,18 +12,38 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AccessLevel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; + import java.util.HashSet; import java.util.Set; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.OneToMany; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"streetAddress","streetAddressMunicipalityNames"}) -@EqualsAndHashCode(exclude = {"id","streetAddress","streetAddressMunicipalityNames","statusInfo"}) +@ToString(exclude = { "streetAddress", "streetAddressMunicipalityNames" }) +@EqualsAndHashCode(exclude = { "id", "streetAddress", "streetAddressMunicipalityNames", "statusInfo" }) @Builder public class StreetAddressMunicipality { @Id diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressMunicipalityName.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressMunicipalityName.java index 1de46beb..6213c49a 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressMunicipalityName.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressMunicipalityName.java @@ -12,21 +12,37 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"streetAddressMunicipality"}) -@EqualsAndHashCode(exclude = {"id","streetAddressMunicipality","statusInfo"}) +@ToString(exclude = { "streetAddressMunicipality" }) +@EqualsAndHashCode(exclude = { "id", "streetAddressMunicipality", "statusInfo" }) @Builder public class StreetAddressMunicipalityName { @Id @Column(nullable = false) @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "STREET_ADDRESS_MUNICIPALITY_NAME_GEN") + @SuppressWarnings("checkstyle:lineLength") @SequenceGenerator(name = "STREET_ADDRESS_MUNICIPALITY_NAME_GEN", sequenceName = "STREET_ADDRESS_MUNICIPALITY_NAME_ID_SEQ", allocationSize = 1) private long id; @Column(nullable = false) diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressPostOffice.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressPostOffice.java index 3b388739..0e26f162 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressPostOffice.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/StreetAddressPostOffice.java @@ -12,16 +12,31 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"streetAddress"}) -@EqualsAndHashCode(exclude = {"id","streetAddress","statusInfo"}) +@ToString(exclude = { "streetAddress" }) +@EqualsAndHashCode(exclude = { "id", "streetAddress", "statusInfo" }) @Builder public class StreetAddressPostOffice { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Subsystem.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Subsystem.java index 648e26ec..73f5f3e0 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Subsystem.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Subsystem.java @@ -12,19 +12,36 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import lombok.AccessLevel; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + import java.time.LocalDateTime; import java.util.Collections; import java.util.HashSet; import java.util.Set; import java.util.stream.Collectors; +import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.OneToMany; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter -@ToString(exclude = {"services"}) -@EqualsAndHashCode(exclude = {"id", "services", "statusInfo"}) +@ToString(exclude = { "services" }) +@EqualsAndHashCode(exclude = { "id", "services", "statusInfo" }) public class Subsystem { @Id diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/WebPage.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/WebPage.java index 49a39e54..2c8267ab 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/WebPage.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/WebPage.java @@ -12,16 +12,31 @@ */ package fi.vrk.xroad.catalog.persistence.entity; -import lombok.*; -import javax.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor -@ToString(exclude = {"organization"}) -@EqualsAndHashCode(exclude = {"id", "organization","statusInfo"}) +@ToString(exclude = { "organization" }) +@EqualsAndHashCode(exclude = { "id", "organization", "statusInfo" }) @Builder public class WebPage { diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Wsdl.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Wsdl.java index f927d8de..8b4e7cfc 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Wsdl.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/entity/Wsdl.java @@ -15,10 +15,21 @@ import lombok.Getter; import lombok.Setter; import lombok.ToString; -import javax.persistence.*; import java.time.LocalDateTime; import java.util.UUID; +import jakarta.persistence.Basic; +import jakarta.persistence.Column; +import jakarta.persistence.Embedded; +import jakarta.persistence.Entity; +import jakarta.persistence.FetchType; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.SequenceGenerator; + @Entity @Getter @Setter @@ -32,7 +43,8 @@ public class Wsdl { @ManyToOne @JoinColumn(name = "SERVICE_ID") private Service service; - // this is not lazy loaded since hibernate would need build-time bytecode enhancement + // this is not lazy loaded since hibernate would need build-time bytecode + // enhancement // this could be optimized e.g. by not mapping this data to JPA entity, and // fetching it directly with a native query @Basic(fetch = FetchType.LAZY) diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/AddressRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/AddressRepository.java index cc56ba4b..0e94a79e 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/AddressRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/AddressRepository.java @@ -25,10 +25,10 @@ public interface AddressRepository extends CrudRepository { Optional> findAnyByOrganizationId(Long organizationId); @Query("SELECT a FROM Address a WHERE a.organization.id = :organizationId " - +"AND a.type = :type " + + "AND a.type = :type " + "AND a.subType = :subType") Optional
findAny(@Param("organizationId") Long organizationId, - @Param("type") String type, - @Param("subType") String subType); + @Param("type") String type, + @Param("subType") String subType); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessAddressRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessAddressRepository.java index fb08b86e..89da9fad 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessAddressRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessAddressRepository.java @@ -25,13 +25,13 @@ public interface BusinessAddressRepository extends CrudRepository> findAnyByCompanyId(Long companyId); @Query("SELECT b FROM BusinessAddress b WHERE b.company.id = :companyId " - +"AND b.language = :language " - +"AND b.type = :type " - +"AND b.source = :source " + + "AND b.language = :language " + + "AND b.type = :type " + + "AND b.source = :source " + "AND b.version = :version") Optional findAny(@Param("companyId") Long companyId, - @Param("language") String language, - @Param("type") Long type, - @Param("source") Long source, - @Param("version") Long version); + @Param("language") String language, + @Param("type") Long type, + @Param("source") Long source, + @Param("version") Long version); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessAuxiliaryNameRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessAuxiliaryNameRepository.java index f1d2ee4e..06c68e81 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessAuxiliaryNameRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessAuxiliaryNameRepository.java @@ -25,13 +25,13 @@ public interface BusinessAuxiliaryNameRepository extends CrudRepository> findAnyByCompanyId(Long companyId); @Query("SELECT b FROM BusinessAuxiliaryName b WHERE b.company.id = :companyId " - +"AND b.language = :language " - +"AND b.source = :source " - +"AND b.ordering = :ordering " + + "AND b.language = :language " + + "AND b.source = :source " + + "AND b.ordering = :ordering " + "AND b.version = :version") Optional findAny(@Param("companyId") Long companyId, - @Param("language") String language, - @Param("source") Long source, - @Param("ordering") Long ordering, - @Param("version") Long version); + @Param("language") String language, + @Param("source") Long source, + @Param("ordering") Long ordering, + @Param("version") Long version); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessIdChangeRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessIdChangeRepository.java index d5ff1508..f40319c2 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessIdChangeRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessIdChangeRepository.java @@ -25,15 +25,15 @@ public interface BusinessIdChangeRepository extends CrudRepository> findAnyByCompanyId(Long companyId); @Query("SELECT b FROM BusinessIdChange b WHERE b.company.id = :companyId " - +"AND b.language = :language " - +"AND b.source = :source " - +"AND b.change = :change " - +"AND b.oldBusinessId = :oldBusinessId " + + "AND b.language = :language " + + "AND b.source = :source " + + "AND b.change = :change " + + "AND b.oldBusinessId = :oldBusinessId " + "AND b.newBusinessId = :newBusinessId") Optional findAny(@Param("companyId") Long companyId, - @Param("language") String language, - @Param("source") Long source, - @Param("change") String change, - @Param("oldBusinessId") String oldBusinessId, - @Param("newBusinessId") String newBusinessId); + @Param("language") String language, + @Param("source") Long source, + @Param("change") String change, + @Param("oldBusinessId") String oldBusinessId, + @Param("newBusinessId") String newBusinessId); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessLineRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessLineRepository.java index 70430e18..e4258ccb 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessLineRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessLineRepository.java @@ -25,14 +25,14 @@ public interface BusinessLineRepository extends CrudRepository> findAnyByCompanyId(Long companyId); @Query("SELECT b FROM BusinessLine b WHERE b.company.id = :companyId " - +"AND b.language = :language " - +"AND b.source = :source " - +"AND b.ordering = :ordering " + + "AND b.language = :language " + + "AND b.source = :source " + + "AND b.ordering = :ordering " + "AND b.version = :version") Optional findAny(@Param("companyId") Long companyId, - @Param("language") String language, - @Param("source") Long source, - @Param("ordering") Long ordering, - @Param("version") Long version); + @Param("language") String language, + @Param("source") Long source, + @Param("ordering") Long ordering, + @Param("version") Long version); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessNameRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessNameRepository.java index 09421613..fb349cdb 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessNameRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/BusinessNameRepository.java @@ -11,6 +11,7 @@ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ package fi.vrk.xroad.catalog.persistence.repository; + import fi.vrk.xroad.catalog.persistence.entity.BusinessName; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.CrudRepository; @@ -24,13 +25,13 @@ public interface BusinessNameRepository extends CrudRepository> findAnyByCompanyId(Long companyId); @Query("SELECT b FROM BusinessName b WHERE b.company.id = :companyId " - +"AND b.language = :language " - +"AND b.source = :source " - +"AND b.ordering = :ordering " + + "AND b.language = :language " + + "AND b.source = :source " + + "AND b.ordering = :ordering " + "AND b.version = :version") Optional findAny(@Param("companyId") Long companyId, - @Param("language") String language, - @Param("source") Long source, - @Param("ordering") Long ordering, - @Param("version") Long version); + @Param("language") String language, + @Param("source") Long source, + @Param("ordering") Long ordering, + @Param("version") Long version); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/CompanyFormRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/CompanyFormRepository.java index a68d8063..307b1c76 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/CompanyFormRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/CompanyFormRepository.java @@ -24,13 +24,13 @@ public interface CompanyFormRepository extends CrudRepository Optional> findAnyByCompanyId(Long companyId); @Query("SELECT c FROM CompanyForm c WHERE c.company.id = :companyId " - +"AND c.language = :language " - +"AND c.source = :source " - +"AND c.type = :type " + + "AND c.language = :language " + + "AND c.source = :source " + + "AND c.type = :type " + "AND c.version = :version") Optional findAny(@Param("companyId") Long companyId, - @Param("language") String language, - @Param("source") Long source, - @Param("type") Long type, - @Param("version") Long version); + @Param("language") String language, + @Param("source") Long source, + @Param("type") Long type, + @Param("version") Long version); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/CompanyRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/CompanyRepository.java index 7bf41274..85002f5d 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/CompanyRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/CompanyRepository.java @@ -27,11 +27,11 @@ public interface CompanyRepository extends CrudRepository { Set findAllByBusinessId(@Param("businessId") String businessId); @Query("SELECT c FROM Company c WHERE c.businessId = :businessId " - +"AND c.companyForm = :companyForm " + + "AND c.companyForm = :companyForm " + "AND c.name = :name") Optional findAny(@Param("businessId") String businessId, - @Param("companyForm") String companyForm, - @Param("name") String name); + @Param("companyForm") String companyForm, + @Param("name") String name); @Query(value = "SELECT MAX(fetched) FROM company", nativeQuery = true) LocalDateTime findLatestFetched(); diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/ContactDetailRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/ContactDetailRepository.java index 52c2dd91..451bfe97 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/ContactDetailRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/ContactDetailRepository.java @@ -25,14 +25,14 @@ public interface ContactDetailRepository extends CrudRepository> findAnyByCompanyId(Long companyId); @Query("SELECT c FROM ContactDetail c WHERE c.company.id = :companyId " - +"AND c.language = :language " - +"AND c.source = :source " - +"AND c.type = :type " + + "AND c.language = :language " + + "AND c.source = :source " + + "AND c.type = :type " + "AND c.version = :version") Optional findAny(@Param("companyId") Long companyId, - @Param("language") String language, - @Param("source") Long source, - @Param("type") String type, - @Param("version") Long version); + @Param("language") String language, + @Param("source") Long source, + @Param("type") String type, + @Param("version") Long version); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/EmailRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/EmailRepository.java index 42f1d55d..7cfaff8d 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/EmailRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/EmailRepository.java @@ -25,11 +25,11 @@ public interface EmailRepository extends CrudRepository { Optional> findAnyByOrganizationId(Long organizationId); @Query("SELECT e FROM Email e WHERE e.organization.id = :organizationId " - +"AND e.language = :language " - +"AND e.value = :value " + + "AND e.language = :language " + + "AND e.value = :value " + "AND e.description = :description") Optional findAny(@Param("organizationId") Long organizationId, - @Param("language") String language, - @Param("value") String value, - @Param("description") String description); + @Param("language") String language, + @Param("value") String value, + @Param("description") String description); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/EndpointRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/EndpointRepository.java index c699eb1c..c0ceabba 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/EndpointRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/EndpointRepository.java @@ -31,6 +31,7 @@ public interface EndpointRepository extends CrudRepository { LocalDateTime findLatestFetched(); @Query("SELECT e FROM Endpoint e WHERE e.service = :service " - +"AND e.method = :method AND e.path = :path ") - Endpoint findAnyByServicePathAndMethod(@Param("service") Service service, @Param("method") String method, @Param("path") String path); + + "AND e.method = :method AND e.path = :path ") + Endpoint findAnyByServicePathAndMethod(@Param("service") Service service, @Param("method") String method, + @Param("path") String path); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/LanguageRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/LanguageRepository.java index 33ecbbb4..5ba4e48d 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/LanguageRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/LanguageRepository.java @@ -25,11 +25,11 @@ public interface LanguageRepository extends CrudRepository { Optional> findAnyByCompanyId(Long companyId); @Query("SELECT l FROM Language l WHERE l.company.id = :companyId " - +"AND l.language = :language " - +"AND l.source = :source " + + "AND l.language = :language " + + "AND l.source = :source " + "AND l.version = :version") Optional findAny(@Param("companyId") Long companyId, - @Param("language") String language, - @Param("source") Long source, - @Param("version") Long version); + @Param("language") String language, + @Param("source") Long source, + @Param("version") Long version); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/LiquidationRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/LiquidationRepository.java index b034abe7..d4ab5204 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/LiquidationRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/LiquidationRepository.java @@ -25,13 +25,13 @@ public interface LiquidationRepository extends CrudRepository Optional> findAnyByCompanyId(Long companyId); @Query("SELECT l FROM Liquidation l WHERE l.company.id = :companyId " - +"AND l.language = :language " - +"AND l.source = :source " - +"AND l.type = :type " + + "AND l.language = :language " + + "AND l.source = :source " + + "AND l.type = :type " + "AND l.version = :version") Optional findAny(@Param("companyId") Long companyId, - @Param("language") String language, - @Param("source") Long source, - @Param("type") Long type, - @Param("version") Long version); + @Param("language") String language, + @Param("source") Long source, + @Param("type") Long type, + @Param("version") Long version); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/OrganizationDescriptionRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/OrganizationDescriptionRepository.java index f9749a6b..d27597c6 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/OrganizationDescriptionRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/OrganizationDescriptionRepository.java @@ -25,9 +25,9 @@ public interface OrganizationDescriptionRepository extends CrudRepository> findAnyByOrganizationId(Long organizationId); @Query("SELECT o FROM OrganizationDescription o WHERE o.organization.id = :organizationId " - +"AND o.language = :language " + + "AND o.language = :language " + "AND o.type = :type") Optional findAny(@Param("organizationId") Long organizationId, - @Param("language") String language, - @Param("type") String type); + @Param("language") String language, + @Param("type") String type); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/OrganizationNameRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/OrganizationNameRepository.java index ea16433e..8aa96372 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/OrganizationNameRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/OrganizationNameRepository.java @@ -25,9 +25,9 @@ public interface OrganizationNameRepository extends CrudRepository> findAnyByOrganizationId(Long organizationId); @Query("SELECT o FROM OrganizationName o WHERE o.organization.id = :organizationId " - +"AND o.language = :language " + + "AND o.language = :language " + "AND o.type = :type") Optional findAny(@Param("organizationId") Long organizationId, - @Param("language") String language, - @Param("type") String type); + @Param("language") String language, + @Param("type") String type); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/PhoneNumberRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/PhoneNumberRepository.java index 9a55d08a..24dda67e 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/PhoneNumberRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/PhoneNumberRepository.java @@ -24,12 +24,12 @@ public interface PhoneNumberRepository extends CrudRepository Optional> findAnyByOrganizationId(Long organizationId); - @Query("SELECT p FROM PhoneNumber p WHERE p.organization.id = :organizationId " + - "AND p.number = :number " + - "AND p.additionalInformation = :additionalInformation " + - "AND p.language = :language") + @Query("SELECT p FROM PhoneNumber p WHERE p.organization.id = :organizationId " + + "AND p.number = :number " + + "AND p.additionalInformation = :additionalInformation " + + "AND p.language = :language") Optional findAny(@Param("organizationId") Long organizationId, - @Param("number") String number, - @Param("additionalInformation") String additionalInformation, - @Param("language") String language); + @Param("number") String number, + @Param("additionalInformation") String additionalInformation, + @Param("language") String language); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/PostOfficeBoxAddressAdditionalInformationRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/PostOfficeBoxAddressAdditionalInformationRepository.java index 78df5615..52df70cc 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/PostOfficeBoxAddressAdditionalInformationRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/PostOfficeBoxAddressAdditionalInformationRepository.java @@ -20,13 +20,16 @@ import java.util.List; import java.util.Optional; -public interface PostOfficeBoxAddressAdditionalInformationRepository extends CrudRepository { +public interface PostOfficeBoxAddressAdditionalInformationRepository + extends CrudRepository { - Optional> findAnyByPostOfficeBoxAddressId(Long postOfficeBoxAddressId); + Optional> findAnyByPostOfficeBoxAddressId( + Long postOfficeBoxAddressId); @Query("SELECT p FROM PostOfficeBoxAddressAdditionalInformation p WHERE p.postOfficeBoxAddress.id = :postOfficeBoxAddressId " + "AND p.language = :language") - Optional findAny(@Param("postOfficeBoxAddressId") Long postOfficeBoxAddressId, - @Param("language") String language); + Optional findAny( + @Param("postOfficeBoxAddressId") Long postOfficeBoxAddressId, + @Param("language") String language); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/PostOfficeBoxAddressMunicipalityNameRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/PostOfficeBoxAddressMunicipalityNameRepository.java index 88fa9b88..49e6ff6a 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/PostOfficeBoxAddressMunicipalityNameRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/PostOfficeBoxAddressMunicipalityNameRepository.java @@ -20,13 +20,17 @@ import java.util.List; import java.util.Optional; -public interface PostOfficeBoxAddressMunicipalityNameRepository extends CrudRepository { +public interface PostOfficeBoxAddressMunicipalityNameRepository + extends CrudRepository { - Optional> findAnyByPostOfficeBoxAddressMunicipalityId(Long postOfficeBoxAddressMunicipalityId); + Optional> findAnyByPostOfficeBoxAddressMunicipalityId( + Long postOfficeBoxAddressMunicipalityId); + @SuppressWarnings("checkstyle:lineLength") @Query("SELECT p FROM PostOfficeBoxAddressMunicipalityName p WHERE p.postOfficeBoxAddressMunicipality.id = :postOfficeBoxAddressMunicipalityId " + "AND p.language = :language") - Optional findAny(@Param("postOfficeBoxAddressMunicipalityId") Long postOfficeBoxAddressMunicipalityId, - @Param("language") String language); + Optional findAny( + @Param("postOfficeBoxAddressMunicipalityId") Long postOfficeBoxAddressMunicipalityId, + @Param("language") String language); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/RegisteredEntryRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/RegisteredEntryRepository.java index 5f1e564b..634a0c36 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/RegisteredEntryRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/RegisteredEntryRepository.java @@ -25,15 +25,15 @@ public interface RegisteredEntryRepository extends CrudRepository> findAnyByCompanyId(Long companyId); @Query("SELECT r FROM RegisteredEntry r WHERE r.company.id = :companyId " - +"AND r.language = :language " - +"AND r.authority = :authority " - +"AND r.register = :register " - +"AND r.status = :status " + + "AND r.language = :language " + + "AND r.authority = :authority " + + "AND r.register = :register " + + "AND r.status = :status " + "AND r.description = :description") Optional findAny(@Param("companyId") Long companyId, - @Param("language") String language, - @Param("authority") Long authority, - @Param("register") Long register, - @Param("status") Long status, - @Param("description") String description); + @Param("language") String language, + @Param("authority") Long authority, + @Param("register") Long register, + @Param("status") Long status, + @Param("description") String description); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/RegisteredOfficeRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/RegisteredOfficeRepository.java index 529106d1..49df4b01 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/RegisteredOfficeRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/RegisteredOfficeRepository.java @@ -25,14 +25,14 @@ public interface RegisteredOfficeRepository extends CrudRepository> findAnyByCompanyId(Long companyId); @Query("SELECT r FROM RegisteredOffice r WHERE r.company.id = :companyId " - +"AND r.language = :language " - +"AND r.ordering = :ordering " - +"AND r.version = :version " + + "AND r.language = :language " + + "AND r.ordering = :ordering " + + "AND r.version = :version " + "AND r.source = :source") Optional findAny(@Param("companyId") Long companyId, - @Param("language") String language, - @Param("ordering") Long ordering, - @Param("version") Long version, - @Param("source") Long source); + @Param("language") String language, + @Param("ordering") Long ordering, + @Param("version") Long version, + @Param("source") Long source); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/ServiceRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/ServiceRepository.java index 0a1b9833..41f37578 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/ServiceRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/ServiceRepository.java @@ -20,7 +20,6 @@ import java.time.LocalDateTime; import java.util.List; - public interface ServiceRepository extends CrudRepository { /** * Only returns non-removed services @@ -34,11 +33,11 @@ public interface ServiceRepository extends CrudRepository { + "AND s.subsystem.member.xRoadInstance = :xRoadInstance " + "AND s.statusInfo.removed IS NULL") Service findActiveByNaturalKey(@Param("xRoadInstance") String xRoadInstance, - @Param("memberClass") String memberClass, - @Param("memberCode") String memberCode, - @Param("subsystemCode") String subsystemCode, - @Param("serviceCode") String serviceCode, - @Param("serviceVersion") String serviceVersion); + @Param("memberClass") String memberClass, + @Param("memberCode") String memberCode, + @Param("subsystemCode") String subsystemCode, + @Param("serviceCode") String serviceCode, + @Param("serviceVersion") String serviceVersion); /** * Only returns non-removed services @@ -58,72 +57,72 @@ Service findActiveByNaturalKey(@Param("xRoadInstance") String xRoadInstance, + "AND s.subsystem.member.xRoadInstance = :xRoadInstance " + "AND s.statusInfo.removed IS NULL") Service findActiveNullVersionByNaturalKey(@Param("xRoadInstance") String xRoadInstance, - @Param("memberClass") String memberClass, - @Param("memberCode") String memberCode, - @Param("subsystemCode") String subsystemCode, - @Param("serviceCode") String serviceCode); + @Param("memberClass") String memberClass, + @Param("memberCode") String memberCode, + @Param("subsystemCode") String subsystemCode, + @Param("serviceCode") String serviceCode); @Query("SELECT s FROM Service s WHERE s.serviceCode = :serviceCode " - +"AND s.subsystem.subsystemCode = :subsystemCode " + + "AND s.subsystem.subsystemCode = :subsystemCode " + "AND s.subsystem.member.memberCode = :memberCode " + "AND s.subsystem.member.memberClass = :memberClass " + "AND s.subsystem.member.xRoadInstance = :xRoadInstance " - +"AND s.serviceVersion = :serviceVersion " + + "AND s.serviceVersion = :serviceVersion " + "AND s.statusInfo.removed IS NULL") Service findActiveByMemberServiceAndSubsystemAndVersion(@Param("xRoadInstance") String xRoadInstance, - @Param("memberClass") String memberClass, - @Param("memberCode") String memberCode, - @Param("serviceCode") String serviceCode, - @Param("subsystemCode") String subsystemCode, - @Param("serviceVersion") String serviceVersion); + @Param("memberClass") String memberClass, + @Param("memberCode") String memberCode, + @Param("serviceCode") String serviceCode, + @Param("subsystemCode") String subsystemCode, + @Param("serviceVersion") String serviceVersion); @Query("SELECT s FROM Service s WHERE s.serviceCode = :serviceCode " - +"AND s.subsystem.subsystemCode = :subsystemCode " + + "AND s.subsystem.subsystemCode = :subsystemCode " + "AND s.subsystem.member.memberCode = :memberCode " + "AND s.subsystem.member.memberClass = :memberClass " + "AND s.subsystem.member.xRoadInstance = :xRoadInstance " + "AND s.statusInfo.removed IS NULL") Service findActiveByMemberServiceAndSubsystem(@Param("xRoadInstance") String xRoadInstance, - @Param("memberClass") String memberClass, - @Param("memberCode") String memberCode, - @Param("serviceCode") String serviceCode, - @Param("subsystemCode") String subsystemCode); + @Param("memberClass") String memberClass, + @Param("memberCode") String memberCode, + @Param("serviceCode") String serviceCode, + @Param("subsystemCode") String subsystemCode); @Query("SELECT s FROM Service s WHERE s.serviceCode = :serviceCode " - +"AND s.subsystem.subsystemCode = :subsystemCode " + + "AND s.subsystem.subsystemCode = :subsystemCode " + "AND s.subsystem.member.memberCode = :memberCode " + "AND s.subsystem.member.memberClass = :memberClass " + "AND s.subsystem.member.xRoadInstance = :xRoadInstance " + "AND s.serviceVersion IS NULL") Service findAllByMemberServiceAndSubsystemVersionNull(@Param("xRoadInstance") String xRoadInstance, - @Param("memberClass") String memberClass, - @Param("memberCode") String memberCode, - @Param("serviceCode") String serviceCode, - @Param("subsystemCode") String subsystemCode); + @Param("memberClass") String memberClass, + @Param("memberCode") String memberCode, + @Param("serviceCode") String serviceCode, + @Param("subsystemCode") String subsystemCode); @Query("SELECT s FROM Service s WHERE s.serviceCode = :serviceCode " - +"AND s.subsystem.subsystemCode = :subsystemCode " + + "AND s.subsystem.subsystemCode = :subsystemCode " + "AND s.subsystem.member.memberCode = :memberCode " + "AND s.subsystem.member.memberClass = :memberClass " + "AND s.subsystem.member.xRoadInstance = :xRoadInstance ") List findServicesByMemberServiceAndSubsystem(@Param("xRoadInstance") String xRoadInstance, - @Param("memberClass") String memberClass, - @Param("memberCode") String memberCode, - @Param("serviceCode") String serviceCode, - @Param("subsystemCode") String subsystemCode); + @Param("memberClass") String memberClass, + @Param("memberCode") String memberCode, + @Param("serviceCode") String serviceCode, + @Param("subsystemCode") String subsystemCode); @Query("SELECT s FROM Service s WHERE s.serviceCode = :serviceCode " - +"AND s.subsystem.subsystemCode = :subsystemCode " + + "AND s.subsystem.subsystemCode = :subsystemCode " + "AND s.subsystem.member.memberCode = :memberCode " + "AND s.subsystem.member.memberClass = :memberClass " + "AND s.subsystem.member.xRoadInstance = :xRoadInstance " - +"AND s.serviceVersion = :serviceVersion") + + "AND s.serviceVersion = :serviceVersion") Service findAllByMemberServiceAndSubsystemAndVersion(@Param("xRoadInstance") String xRoadInstance, - @Param("memberClass") String memberClass, - @Param("memberCode") String memberCode, - @Param("serviceCode") String serviceCode, - @Param("subsystemCode") String subsystemCode, - @Param("serviceVersion") String serviceVersion); + @Param("memberClass") String memberClass, + @Param("memberCode") String memberCode, + @Param("serviceCode") String serviceCode, + @Param("subsystemCode") String subsystemCode, + @Param("serviceVersion") String serviceVersion); @Query(value = "SELECT MAX(fetched) FROM service", nativeQuery = true) LocalDateTime findLatestFetched(); diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/StreetAddressAdditionalInformationRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/StreetAddressAdditionalInformationRepository.java index 54509274..32dee14a 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/StreetAddressAdditionalInformationRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/StreetAddressAdditionalInformationRepository.java @@ -20,11 +20,13 @@ import java.util.List; import java.util.Optional; -public interface StreetAddressAdditionalInformationRepository extends CrudRepository { +public interface StreetAddressAdditionalInformationRepository + extends CrudRepository { Optional> findAnyByStreetAddressId(Long streetAddressId); @Query("SELECT s FROM StreetAddressAdditionalInformation s WHERE s.streetAddress.id = :streetAddressId AND s.language = :language") - Optional findAny(@Param("streetAddressId") Long streetAddressId, @Param("language") String language); + Optional findAny(@Param("streetAddressId") Long streetAddressId, + @Param("language") String language); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/StreetAddressMunicipalityNameRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/StreetAddressMunicipalityNameRepository.java index 07ee6685..e669451a 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/StreetAddressMunicipalityNameRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/StreetAddressMunicipalityNameRepository.java @@ -22,9 +22,12 @@ public interface StreetAddressMunicipalityNameRepository extends CrudRepository { - Optional> findAnyByStreetAddressMunicipalityId(Long streetAddressMunicipalityId); + Optional> findAnyByStreetAddressMunicipalityId( + Long streetAddressMunicipalityId); + @SuppressWarnings("checkstyle:linelength") @Query("SELECT s FROM StreetAddressMunicipalityName s WHERE s.streetAddressMunicipality.id = :streetAddressMunicipalityId AND s.language = :language") - Optional findAny(@Param("streetAddressMunicipalityId") Long streetAddressMunicipalityId, @Param("language") String language); + Optional findAny( + @Param("streetAddressMunicipalityId") Long streetAddressMunicipalityId, @Param("language") String language); } diff --git a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/WebPageRepository.java b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/WebPageRepository.java index 27560e8b..746935eb 100644 --- a/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/WebPageRepository.java +++ b/xroad-catalog-persistence/src/main/java/fi/vrk/xroad/catalog/persistence/repository/WebPageRepository.java @@ -25,9 +25,9 @@ public interface WebPageRepository extends CrudRepository { Optional> findAnyByOrganizationId(Long organizationId); @Query("SELECT w FROM WebPage w WHERE w.organization.id = :organizationId " - +"AND w.language = :language " + + "AND w.language = :language " + "AND w.url = :url") Optional findAny(@Param("organizationId") Long organizationId, - @Param("language") String language, - @Param("url") String url); + @Param("language") String language, + @Param("url") String url); } diff --git a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/BusinessIdChangeDataDTOTest.java b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/BusinessIdChangeDataDTOTest.java index aca0dd11..d353f520 100644 --- a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/BusinessIdChangeDataDTOTest.java +++ b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/BusinessIdChangeDataDTOTest.java @@ -49,10 +49,13 @@ public void testBusinessIdChangeDataDTO() { businessIdChangeData1.setChanged(changed); businessIdChangeData1.setFetched(fetched); businessIdChangeData1.setRemoved(null); - BusinessIdChangeData businessIdChangeData2 = new BusinessIdChangeData(source, description, reason, changeDate, change, oldBusinessId, + BusinessIdChangeData businessIdChangeData2 = new BusinessIdChangeData(source, description, reason, changeDate, + change, oldBusinessId, newBusinessId, language, created, changed, fetched, null); - BusinessIdChangeData businessIdChangeData3 = BusinessIdChangeData.builder().source(source).description(description).reason(reason) - .changeDate(changeDate).change(change).oldBusinessId(oldBusinessId).newBusinessId(newBusinessId).language(language) + BusinessIdChangeData businessIdChangeData3 = BusinessIdChangeData.builder().source(source) + .description(description).reason(reason) + .changeDate(changeDate).change(change).oldBusinessId(oldBusinessId).newBusinessId(newBusinessId) + .language(language) .created(created).changed(changed).fetched(fetched).removed(null).build(); assertEquals(businessIdChangeData1, businessIdChangeData2); assertEquals(businessIdChangeData1, businessIdChangeData3); @@ -81,5 +84,3 @@ public void testBusinessIdChangeDataDTO() { } } - - diff --git a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/CatalogServiceTest.java b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/CatalogServiceTest.java index 2f3a87e0..a8040faf 100644 --- a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/CatalogServiceTest.java +++ b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/CatalogServiceTest.java @@ -17,11 +17,28 @@ import fi.vrk.xroad.catalog.persistence.dto.MemberDataList; import fi.vrk.xroad.catalog.persistence.dto.ServiceStatistics; import fi.vrk.xroad.catalog.persistence.dto.XRoadData; -import fi.vrk.xroad.catalog.persistence.entity.*; +import fi.vrk.xroad.catalog.persistence.entity.Endpoint; +import fi.vrk.xroad.catalog.persistence.entity.ErrorLog; +import fi.vrk.xroad.catalog.persistence.entity.Member; +import fi.vrk.xroad.catalog.persistence.entity.OpenApi; +import fi.vrk.xroad.catalog.persistence.entity.Rest; +import fi.vrk.xroad.catalog.persistence.entity.Service; +import fi.vrk.xroad.catalog.persistence.entity.ServiceId; +import fi.vrk.xroad.catalog.persistence.entity.Subsystem; +import fi.vrk.xroad.catalog.persistence.entity.SubsystemId; +import fi.vrk.xroad.catalog.persistence.entity.Wsdl; +import fi.vrk.xroad.catalog.persistence.repository.EndpointRepository; +import fi.vrk.xroad.catalog.persistence.repository.ErrorLogRepository; +import fi.vrk.xroad.catalog.persistence.repository.MemberRepository; +import fi.vrk.xroad.catalog.persistence.repository.OpenApiRepository; +import fi.vrk.xroad.catalog.persistence.repository.RestRepository; +import fi.vrk.xroad.catalog.persistence.repository.ServiceRepository; +import fi.vrk.xroad.catalog.persistence.repository.SubsystemRepository; +import fi.vrk.xroad.catalog.persistence.repository.WsdlRepository; + import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import fi.vrk.xroad.catalog.persistence.repository.*; import lombok.extern.slf4j.Slf4j; import org.json.JSONException; import org.junit.jupiter.api.Test; @@ -33,7 +50,12 @@ import java.time.Duration; import java.time.LocalDateTime; import java.time.Month; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Set; import java.util.stream.Collectors; import java.util.stream.StreamSupport; @@ -167,8 +189,10 @@ public void testGetErrorLog() { @Test public void testGetErrorsForSubsystem() { - XRoadData xRoadData = XRoadData.builder().xRoadInstance("DEV").memberClass("GOV").memberCode("1234").subsystemCode("TestSubsystem").build(); - Page errorLogEntries = catalogService.getErrors(xRoadData, 0, 100, LocalDateTime.parse("2020-01-01T00:00:00"), LocalDateTime.now()); + XRoadData xRoadData = XRoadData.builder().xRoadInstance("DEV").memberClass("GOV").memberCode("1234") + .subsystemCode("TestSubsystem").build(); + Page errorLogEntries = catalogService.getErrors(xRoadData, 0, 100, + LocalDateTime.parse("2020-01-01T00:00:00"), LocalDateTime.now()); assertNotNull(errorLogEntries); assertEquals(1, errorLogEntries.getNumberOfElements()); assertEquals(1, errorLogEntries.getTotalPages()); @@ -176,8 +200,10 @@ public void testGetErrorsForSubsystem() { @Test public void testGetErrorsForMemberCode() { - XRoadData xRoadData = XRoadData.builder().xRoadInstance("DEV").memberClass("GOV").memberCode("1234").subsystemCode(null).build(); - Page errorLogEntries = catalogService.getErrors(xRoadData, 0, 100, LocalDateTime.parse("2020-01-01T00:00:00"), LocalDateTime.now()); + XRoadData xRoadData = XRoadData.builder().xRoadInstance("DEV").memberClass("GOV").memberCode("1234") + .subsystemCode(null).build(); + Page errorLogEntries = catalogService.getErrors(xRoadData, 0, 100, + LocalDateTime.parse("2020-01-01T00:00:00"), LocalDateTime.now()); assertNotNull(errorLogEntries); assertEquals(2, errorLogEntries.getNumberOfElements()); assertEquals(1, errorLogEntries.getTotalPages()); @@ -185,8 +211,10 @@ public void testGetErrorsForMemberCode() { @Test public void testGetErrorsForMemberClass() { - XRoadData xRoadData = XRoadData.builder().xRoadInstance("DEV").memberClass("GOV").memberCode(null).subsystemCode(null).build(); - Page errorLogEntries = catalogService.getErrors(xRoadData, 0, 100, LocalDateTime.parse("2020-01-01T00:00:00"), LocalDateTime.now()); + XRoadData xRoadData = XRoadData.builder().xRoadInstance("DEV").memberClass("GOV").memberCode(null) + .subsystemCode(null).build(); + Page errorLogEntries = catalogService.getErrors(xRoadData, 0, 100, + LocalDateTime.parse("2020-01-01T00:00:00"), LocalDateTime.now()); assertNotNull(errorLogEntries); assertEquals(3, errorLogEntries.getNumberOfElements()); assertEquals(1, errorLogEntries.getTotalPages()); @@ -194,8 +222,10 @@ public void testGetErrorsForMemberClass() { @Test public void testGetErrorsForInstance() { - XRoadData xRoadData = XRoadData.builder().xRoadInstance("DEV").memberClass(null).memberCode(null).subsystemCode(null).build(); - Page errorLogEntries = catalogService.getErrors(xRoadData, 0, 100, LocalDateTime.parse("2020-01-01T00:00:00"), LocalDateTime.now()); + XRoadData xRoadData = XRoadData.builder().xRoadInstance("DEV").memberClass(null).memberCode(null) + .subsystemCode(null).build(); + Page errorLogEntries = catalogService.getErrors(xRoadData, 0, 100, + LocalDateTime.parse("2020-01-01T00:00:00"), LocalDateTime.now()); assertNotNull(errorLogEntries); assertEquals(4, errorLogEntries.getNumberOfElements()); assertEquals(1, errorLogEntries.getTotalPages()); @@ -203,8 +233,10 @@ public void testGetErrorsForInstance() { @Test public void testGetErrorsAll() { - XRoadData xRoadData = XRoadData.builder().xRoadInstance(null).memberClass(null).memberCode(null).subsystemCode(null).build(); - Page errorLogEntries = catalogService.getErrors(xRoadData, 0, 100, LocalDateTime.parse("2020-01-01T00:00:00"), LocalDateTime.now()); + XRoadData xRoadData = XRoadData.builder().xRoadInstance(null).memberClass(null).memberCode(null) + .subsystemCode(null).build(); + Page errorLogEntries = catalogService.getErrors(xRoadData, 0, 100, + LocalDateTime.parse("2020-01-01T00:00:00"), LocalDateTime.now()); assertNotNull(errorLogEntries); assertEquals(7, errorLogEntries.getNumberOfElements()); assertEquals(1, errorLogEntries.getTotalPages()); @@ -230,7 +262,7 @@ public void testEntityTreesFetchedCorrectly() throws InterruptedException { private void assertEntityTreeFetchedCorrectly(Iterable members) { log.info("members loaded, detaching"); - for (Member m: members) { + for (Member m : members) { testUtil.entityManagerDetach(m); } log.info("all members detached"); @@ -271,7 +303,6 @@ public void testInsertNewMemberAndSubsystems() { 1, TEST_DATA_SUBSYSTEMS + 2, 2); } - @Test public void testInsertMultipleMembersAndSubsystems() { assertMemberAndSubsystemCounts(TEST_DATA_MEMBERS, @@ -292,8 +323,6 @@ public void testInsertMultipleMembersAndSubsystems() { createdMembers, TEST_DATA_SUBSYSTEMS + createdSubsystems, createdSubsystems); } - - private void assertMemberAndSubsystemCounts(int members, int activeMembers, int subsystems, int activeSubsystems) { assertEquals(members, Iterables.size(catalogService.getAllMembers())); assertEquals(activeMembers, Iterables.size(catalogService.getActiveMembers())); @@ -343,7 +372,8 @@ public void testGetMember() { @Test public void testGetActiveMembersSince() { - // all non-deleted members that contain parts that were modified since 1.1.2007 (3-7) + // all non-deleted members that contain parts that were modified since 1.1.2007 + // (3-7) Iterable members = catalogService.getActiveMembers( testUtil.createDate(1, 1, 2017), testUtil.createDate(1, 1, 2022)); @@ -458,13 +488,13 @@ public void testSaveAddedNewServiceVersions() { Service checkedService6nullVersion = (Service) testUtil.getEntity(checkedSub.getAllServices(), nullVersionId) .get(); - //assertFalse(checkedService6.getStatusInfo().isRemoved()); - //testUtil.assertFetchedIsOnlyDifferent(originalService6.getStatusInfo(), checkedService6.getStatusInfo()); + // assertFalse(checkedService6.getStatusInfo().isRemoved()); + // testUtil.assertFetchedIsOnlyDifferent(originalService6.getStatusInfo(), + // checkedService6.getStatusInfo()); assertNewService(checkedService6newVersion); assertNewService(checkedService6nullVersion); } - @Test public void testSaveAddedServices() { // test data: @@ -1021,7 +1051,8 @@ public void testGetServiceStatistics() throws JSONException { public void testGetDistinctServiceStatistics() throws JSONException { LocalDateTime startDateTime = LocalDateTime.of(2014, 1, 1, 0, 0); LocalDateTime endDateTime = LocalDateTime.of(2022, 1, 1, 0, 0); - List distinctServiceStatistics = catalogService.getDistinctServiceStatistics(startDateTime, endDateTime); + List distinctServiceStatistics = catalogService + .getDistinctServiceStatistics(startDateTime, endDateTime); assertEquals(2923, distinctServiceStatistics.size()); } @@ -1048,10 +1079,12 @@ public void testSaveServices() { originalSubsystemId.getMemberCode(), originalSubsystemId.getSubsystemCode()); List foundServices = subsystem.getAllServices().stream() - .filter(service -> service.getServiceCode().equalsIgnoreCase("newService1")).collect(Collectors.toList()); + .filter(service -> service.getServiceCode().equalsIgnoreCase("newService1")) + .collect(Collectors.toList()); assertTrue(foundServices.size() > 0); foundServices = subsystem.getAllServices().stream() - .filter(service -> service.getServiceCode().equalsIgnoreCase("newService2")).collect(Collectors.toList()); + .filter(service -> service.getServiceCode().equalsIgnoreCase("newService2")) + .collect(Collectors.toList()); assertTrue(foundServices.size() > 0); } @@ -1169,8 +1202,9 @@ public void testDeleteOldErrorLogEntries() { LocalDateTime created = foundErrorLog.getCreated(); Duration duration = Duration.between(LocalDateTime.now(), created); long daysBefore = duration.toDays() < 0 ? duration.toDays() * (-1) : duration.toDays(); - catalogService.deleteOldErrorLogEntries((int)daysBefore); - Set foundErrorLogs = errorLogRepository.findAny(LocalDateTime.now().minusDays((int) daysBefore + 1), LocalDateTime.now()); + catalogService.deleteOldErrorLogEntries((int) daysBefore); + Set foundErrorLogs = errorLogRepository.findAny(LocalDateTime.now().minusDays((int) daysBefore + 1), + LocalDateTime.now()); assertEquals(0, foundErrorLogs.size()); } diff --git a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/CompanyServiceTest.java b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/CompanyServiceTest.java index f567ae37..fc4906c7 100644 --- a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/CompanyServiceTest.java +++ b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/CompanyServiceTest.java @@ -12,8 +12,21 @@ */ package fi.vrk.xroad.catalog.persistence; -import fi.vrk.xroad.catalog.persistence.entity.*; import com.google.common.collect.Iterables; + +import fi.vrk.xroad.catalog.persistence.entity.BusinessAddress; +import fi.vrk.xroad.catalog.persistence.entity.BusinessAuxiliaryName; +import fi.vrk.xroad.catalog.persistence.entity.BusinessIdChange; +import fi.vrk.xroad.catalog.persistence.entity.BusinessLine; +import fi.vrk.xroad.catalog.persistence.entity.BusinessName; +import fi.vrk.xroad.catalog.persistence.entity.Company; +import fi.vrk.xroad.catalog.persistence.entity.CompanyForm; +import fi.vrk.xroad.catalog.persistence.entity.ContactDetail; +import fi.vrk.xroad.catalog.persistence.entity.Language; +import fi.vrk.xroad.catalog.persistence.entity.Liquidation; +import fi.vrk.xroad.catalog.persistence.entity.RegisteredEntry; +import fi.vrk.xroad.catalog.persistence.entity.RegisteredOffice; + import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -50,17 +63,24 @@ public void testGetCompanies() { assertEquals("1710128-9", companies.iterator().next().getBusinessId()); assertEquals("OYJ", companies.iterator().next().getCompanyForm()); assertEquals("Gofore Oyj", companies.iterator().next().getName()); - assertEquals("Kalevantie 2", companies.iterator().next().getAllBusinessAddresses().iterator().next().getStreet()); - assertEquals("Solinor", companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next().getName()); - assertEquals("1796717-0", companies.iterator().next().getAllBusinessIdChanges().iterator().next().getOldBusinessId()); - assertEquals("Dataprogrammering", companies.iterator().next().getAllBusinessLines().iterator().next().getName()); + assertEquals("Kalevantie 2", + companies.iterator().next().getAllBusinessAddresses().iterator().next().getStreet()); + assertEquals("Solinor", + companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next().getName()); + assertEquals("1796717-0", companies.iterator().next().getAllBusinessIdChanges().iterator().next() + .getOldBusinessId()); + assertEquals("Dataprogrammering", + companies.iterator().next().getAllBusinessLines().iterator().next().getName()); assertEquals("FI", companies.iterator().next().getAllBusinessNames().iterator().next().getLanguage()); - assertEquals("Public limited company", companies.iterator().next().getAllCompanyForms().iterator().next().getName()); + assertEquals("Public limited company", + companies.iterator().next().getAllCompanyForms().iterator().next().getName()); assertEquals("EN", companies.iterator().next().getAllContactDetails().iterator().next().getLanguage()); assertEquals("Finska", companies.iterator().next().getAllLanguages().iterator().next().getName()); assertEquals("FI", companies.iterator().next().getAllLiquidations().iterator().next().getLanguage()); - assertEquals("Unregistered", companies.iterator().next().getAllRegisteredEntries().iterator().next().getDescription()); - assertEquals("FI", companies.iterator().next().getAllRegisteredOffices().iterator().next().getLanguage()); + assertEquals("Unregistered", companies.iterator().next().getAllRegisteredEntries().iterator().next() + .getDescription()); + assertEquals("FI", + companies.iterator().next().getAllRegisteredOffices().iterator().next().getLanguage()); } @Test @@ -69,7 +89,7 @@ public void testSaveCompany() { .companyForm("OYJ") .businessId("123456789-1") .detailsUri("123") - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .name("A company").build(); Company savedCompany = companyService.saveCompany(company); assertNotNull(savedCompany); @@ -87,7 +107,7 @@ public void testSaveCompanyWhenAlreadyExists() { .companyForm("OYJ") .businessId("1710128-9") .detailsUri("123") - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .name("Gofore Oyj").build(); Company savedCompany = companyService.saveCompany(company); assertNotNull(savedCompany); @@ -105,7 +125,7 @@ public void testSaveBusinessName() { assertEquals(1, Iterables.size(companies)); BusinessName businessName = BusinessName.builder() .name("").language("FI").ordering(0).source(0).version(0) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .endDate(null).company(companies.iterator().next()).build(); companyService.saveBusinessName(businessName); Iterable foundCompanies = companyService.getCompanies("1710128-9"); @@ -117,9 +137,11 @@ public void testSaveBusinessName() { assertEquals(0, companies.iterator().next().getAllBusinessNames().iterator().next().getSource()); assertEquals(0, companies.iterator().next().getAllBusinessNames().iterator().next().getVersion()); assertEquals(LocalDate.of(2020, 4, 30), - companies.iterator().next().getAllBusinessNames().iterator().next().getRegistrationDate().toLocalDate()); + companies.iterator().next().getAllBusinessNames().iterator().next() + .getRegistrationDate().toLocalDate()); assertNull(companies.iterator().next().getAllBusinessNames().iterator().next().getEndDate()); - TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllBusinessNames().iterator().next().getStatusInfo()); + TestUtil.verifySavedStatusInfo( + companies.iterator().next().getAllBusinessNames().iterator().next().getStatusInfo()); } @Test @@ -128,46 +150,60 @@ public void testSaveBusinessAuxiliaryName() { assertEquals(1, Iterables.size(companies)); BusinessAuxiliaryName businessAuxiliaryName = BusinessAuxiliaryName.builder() .name("Solinor").language("").ordering(5).source(1).version(1) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .endDate(null).company(companies.iterator().next()).build(); companyService.saveBusinessAuxiliaryName(businessAuxiliaryName); Iterable foundCompanies = companyService.getCompanies("1710128-9"); assertEquals(1, Iterables.size(foundCompanies)); assertEquals(1, companies.iterator().next().getAllBusinessAuxiliaryNames().size()); - assertEquals("", companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next().getLanguage()); - assertEquals("Solinor", companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next().getName()); - assertEquals(5, companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next().getOrdering()); - assertEquals(1, companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next().getSource()); - assertEquals(1, companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next().getVersion()); + assertEquals("", companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next() + .getLanguage()); + assertEquals("Solinor", + companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next().getName()); + assertEquals(5, companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next() + .getOrdering()); + assertEquals(1, companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next() + .getSource()); + assertEquals(1, companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next() + .getVersion()); assertEquals(LocalDate.of(2020, 4, 30), - companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next().getRegistrationDate().toLocalDate()); + companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next() + .getRegistrationDate().toLocalDate()); assertNull(companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next().getEndDate()); - TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next().getStatusInfo()); + TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllBusinessAuxiliaryNames().iterator() + .next().getStatusInfo()); } @Test public void testSaveBusinessAddress() { Iterable companies = companyService.getCompanies("1710128-9"); assertEquals(1, Iterables.size(companies)); - BusinessAddress businessAddress = BusinessAddress.builder().careOf("").city("Tampere").country("Finland") + BusinessAddress businessAddress = BusinessAddress.builder().careOf("").city("Tampere") + .country("Finland") .language("FI").postCode("30123").source(0).street("Katu 1").type(2).version(1) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .endDate(null).company(companies.iterator().next()).build(); companyService.saveBusinessAddress(businessAddress); Iterable foundCompanies = companyService.getCompanies("1710128-9"); assertEquals(1, Iterables.size(foundCompanies)); assertEquals(1, companies.iterator().next().getAllBusinessAddresses().size()); - assertEquals("FI", companies.iterator().next().getAllBusinessAddresses().iterator().next().getLanguage()); + assertEquals("FI", + companies.iterator().next().getAllBusinessAddresses().iterator().next().getLanguage()); assertEquals("", companies.iterator().next().getAllBusinessAddresses().iterator().next().getCareOf()); - assertEquals("Tampere", companies.iterator().next().getAllBusinessAddresses().iterator().next().getCity()); - assertEquals("Finland", companies.iterator().next().getAllBusinessAddresses().iterator().next().getCountry()); - assertEquals("30123", companies.iterator().next().getAllBusinessAddresses().iterator().next().getPostCode()); - assertEquals("Katu 1", companies.iterator().next().getAllBusinessAddresses().iterator().next().getStreet()); + assertEquals("Tampere", + companies.iterator().next().getAllBusinessAddresses().iterator().next().getCity()); + assertEquals("Finland", + companies.iterator().next().getAllBusinessAddresses().iterator().next().getCountry()); + assertEquals("30123", + companies.iterator().next().getAllBusinessAddresses().iterator().next().getPostCode()); + assertEquals("Katu 1", + companies.iterator().next().getAllBusinessAddresses().iterator().next().getStreet()); assertEquals(0, companies.iterator().next().getAllBusinessAddresses().iterator().next().getSource()); assertEquals(2, companies.iterator().next().getAllBusinessAddresses().iterator().next().getType()); assertEquals(1, companies.iterator().next().getAllBusinessAddresses().iterator().next().getVersion()); assertEquals(LocalDate.of(2020, 4, 30), - companies.iterator().next().getAllBusinessAddresses().iterator().next().getRegistrationDate().toLocalDate()); + companies.iterator().next().getAllBusinessAddresses().iterator().next() + .getRegistrationDate().toLocalDate()); assertNull(companies.iterator().next().getAllBusinessAddresses().iterator().next().getEndDate()); } @@ -177,7 +213,8 @@ public void testSaveBusinessIdChange() { assertEquals(1, Iterables.size(companies)); BusinessIdChange businessIdChange = BusinessIdChange.builder() .language("").change("44").description("Change description").reason("Change reason") - .source(2).oldBusinessId("1796717-0").newBusinessId("1710128-9").changeDate("2020-01-25") + .source(2).oldBusinessId("1796717-0").newBusinessId("1710128-9") + .changeDate("2020-01-25") .company(companies.iterator().next()).build(); companyService.saveBusinessIdChange(businessIdChange); Iterable foundCompanies = companyService.getCompanies("1710128-9"); @@ -185,13 +222,19 @@ public void testSaveBusinessIdChange() { assertEquals(1, companies.iterator().next().getAllBusinessIdChanges().size()); assertEquals("", companies.iterator().next().getAllBusinessIdChanges().iterator().next().getLanguage()); assertEquals("44", companies.iterator().next().getAllBusinessIdChanges().iterator().next().getChange()); - assertEquals("Change description", companies.iterator().next().getAllBusinessIdChanges().iterator().next().getDescription()); - assertEquals("Change reason", companies.iterator().next().getAllBusinessIdChanges().iterator().next().getReason()); + assertEquals("Change description", companies.iterator().next().getAllBusinessIdChanges().iterator() + .next().getDescription()); + assertEquals("Change reason", + companies.iterator().next().getAllBusinessIdChanges().iterator().next().getReason()); assertEquals(2, companies.iterator().next().getAllBusinessIdChanges().iterator().next().getSource()); - assertEquals("1796717-0", companies.iterator().next().getAllBusinessIdChanges().iterator().next().getOldBusinessId()); - assertEquals("1710128-9", companies.iterator().next().getAllBusinessIdChanges().iterator().next().getNewBusinessId()); - assertEquals("2020-01-25", companies.iterator().next().getAllBusinessIdChanges().iterator().next().getChangeDate()); - TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllBusinessAuxiliaryNames().iterator().next().getStatusInfo()); + assertEquals("1796717-0", companies.iterator().next().getAllBusinessIdChanges().iterator().next() + .getOldBusinessId()); + assertEquals("1710128-9", companies.iterator().next().getAllBusinessIdChanges().iterator().next() + .getNewBusinessId()); + assertEquals("2020-01-25", companies.iterator().next().getAllBusinessIdChanges().iterator().next() + .getChangeDate()); + TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllBusinessAuxiliaryNames().iterator() + .next().getStatusInfo()); } @Test @@ -200,21 +243,24 @@ public void testSaveBusinessLine() { assertEquals(1, Iterables.size(companies)); BusinessLine businessLine = BusinessLine.builder() .name("Dataprogrammering").language("SE").ordering(0).source(2).version(1) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .endDate(null).company(companies.iterator().next()).build(); companyService.saveBusinessLine(businessLine); Iterable foundCompanies = companyService.getCompanies("1710128-9"); assertEquals(1, Iterables.size(foundCompanies)); assertEquals(1, companies.iterator().next().getAllBusinessLines().size()); assertEquals("SE", companies.iterator().next().getAllBusinessLines().iterator().next().getLanguage()); - assertEquals("Dataprogrammering", companies.iterator().next().getAllBusinessLines().iterator().next().getName()); + assertEquals("Dataprogrammering", + companies.iterator().next().getAllBusinessLines().iterator().next().getName()); assertEquals(0, companies.iterator().next().getAllBusinessLines().iterator().next().getOrdering()); assertEquals(2, companies.iterator().next().getAllBusinessLines().iterator().next().getSource()); assertEquals(1, companies.iterator().next().getAllBusinessLines().iterator().next().getVersion()); assertEquals(LocalDate.of(2020, 4, 30), - companies.iterator().next().getAllBusinessLines().iterator().next().getRegistrationDate().toLocalDate()); + companies.iterator().next().getAllBusinessLines().iterator().next() + .getRegistrationDate().toLocalDate()); assertNull(companies.iterator().next().getAllBusinessLines().iterator().next().getEndDate()); - TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllBusinessLines().iterator().next().getStatusInfo()); + TestUtil.verifySavedStatusInfo( + companies.iterator().next().getAllBusinessLines().iterator().next().getStatusInfo()); } @Test @@ -223,21 +269,24 @@ public void testSaveCompanyForm() { assertEquals(1, Iterables.size(companies)); CompanyForm companyForm = CompanyForm.builder() .name("Public limited company").language("EN").source(1).version(1).type(0) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .endDate(null).company(companies.iterator().next()).build(); companyService.saveCompanyForm(companyForm); Iterable foundCompanies = companyService.getCompanies("1710128-9"); assertEquals(1, Iterables.size(foundCompanies)); assertEquals(1, companies.iterator().next().getAllCompanyForms().size()); assertEquals("EN", companies.iterator().next().getAllCompanyForms().iterator().next().getLanguage()); - assertEquals("Public limited company", companies.iterator().next().getAllCompanyForms().iterator().next().getName()); + assertEquals("Public limited company", + companies.iterator().next().getAllCompanyForms().iterator().next().getName()); assertEquals(1, companies.iterator().next().getAllCompanyForms().iterator().next().getSource()); assertEquals(1, companies.iterator().next().getAllCompanyForms().iterator().next().getVersion()); assertEquals(0, companies.iterator().next().getAllCompanyForms().iterator().next().getType()); assertEquals(LocalDate.of(2020, 4, 30), - companies.iterator().next().getAllCompanyForms().iterator().next().getRegistrationDate().toLocalDate()); + companies.iterator().next().getAllCompanyForms().iterator().next().getRegistrationDate() + .toLocalDate()); assertNull(companies.iterator().next().getAllCompanyForms().iterator().next().getEndDate()); - TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllCompanyForms().iterator().next().getStatusInfo()); + TestUtil.verifySavedStatusInfo( + companies.iterator().next().getAllCompanyForms().iterator().next().getStatusInfo()); } @Test @@ -246,7 +295,7 @@ public void testSaveContactDetail() { assertEquals(1, Iterables.size(companies)); ContactDetail contactDetail = ContactDetail.builder() .value("VALUE").language("EN").source(0).version(1).type("0") - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .endDate(null).company(companies.iterator().next()).build(); companyService.saveContactDetail(contactDetail); Iterable foundCompanies = companyService.getCompanies("1710128-9"); @@ -258,9 +307,11 @@ public void testSaveContactDetail() { assertEquals(1, companies.iterator().next().getAllContactDetails().iterator().next().getVersion()); assertEquals("0", companies.iterator().next().getAllContactDetails().iterator().next().getType()); assertEquals(LocalDate.of(2020, 4, 30), - companies.iterator().next().getAllContactDetails().iterator().next().getRegistrationDate().toLocalDate()); + companies.iterator().next().getAllContactDetails().iterator().next() + .getRegistrationDate().toLocalDate()); assertNull(companies.iterator().next().getAllContactDetails().iterator().next().getEndDate()); - TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllContactDetails().iterator().next().getStatusInfo()); + TestUtil.verifySavedStatusInfo( + companies.iterator().next().getAllContactDetails().iterator().next().getStatusInfo()); } @Test @@ -269,7 +320,7 @@ public void testSaveLanguage() { assertEquals(1, Iterables.size(companies)); Language language = Language.builder() .name("Finska").language("SE").source(0).version(1) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .endDate(null).company(companies.iterator().next()).build(); companyService.saveLanguage(language); Iterable foundCompanies = companyService.getCompanies("1710128-9"); @@ -280,9 +331,11 @@ public void testSaveLanguage() { assertEquals(0, companies.iterator().next().getAllLanguages().iterator().next().getSource()); assertEquals(1, companies.iterator().next().getAllLanguages().iterator().next().getVersion()); assertEquals(LocalDate.of(2020, 4, 30), - companies.iterator().next().getAllLanguages().iterator().next().getRegistrationDate().toLocalDate()); + companies.iterator().next().getAllLanguages().iterator().next().getRegistrationDate() + .toLocalDate()); assertNull(companies.iterator().next().getAllLanguages().iterator().next().getEndDate()); - TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllLanguages().iterator().next().getStatusInfo()); + TestUtil.verifySavedStatusInfo( + companies.iterator().next().getAllLanguages().iterator().next().getStatusInfo()); } @Test @@ -291,21 +344,24 @@ public void testSaveLiquidation() { assertEquals(1, Iterables.size(companies)); Liquidation liquidation = Liquidation.builder() .name("Liquidation").language("FI").source(0).version(0).type(1) - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .endDate(null).company(companies.iterator().next()).build(); companyService.saveLiquidation(liquidation); Iterable foundCompanies = companyService.getCompanies("1710128-9"); assertEquals(1, Iterables.size(foundCompanies)); assertEquals(1, companies.iterator().next().getAllLiquidations().size()); assertEquals("FI", companies.iterator().next().getAllLiquidations().iterator().next().getLanguage()); - assertEquals("Liquidation", companies.iterator().next().getAllLiquidations().iterator().next().getName()); + assertEquals("Liquidation", + companies.iterator().next().getAllLiquidations().iterator().next().getName()); assertEquals(0, companies.iterator().next().getAllLiquidations().iterator().next().getSource()); assertEquals(1, companies.iterator().next().getAllLiquidations().iterator().next().getType()); assertEquals(0, companies.iterator().next().getAllLiquidations().iterator().next().getVersion()); assertEquals(LocalDate.of(2020, 4, 30), - companies.iterator().next().getAllLiquidations().iterator().next().getRegistrationDate().toLocalDate()); + companies.iterator().next().getAllLiquidations().iterator().next().getRegistrationDate() + .toLocalDate()); assertNull(companies.iterator().next().getAllLiquidations().iterator().next().getEndDate()); - TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllLiquidations().iterator().next().getStatusInfo()); + TestUtil.verifySavedStatusInfo( + companies.iterator().next().getAllLiquidations().iterator().next().getStatusInfo()); } @Test @@ -314,21 +370,25 @@ public void testSaveRegisteredEntry() { assertEquals(1, Iterables.size(companies)); RegisteredEntry registeredEntry = RegisteredEntry.builder() .status(2).authority(2).register(1).description("Unregistered") - .language("EN").registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .language("EN").registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .endDate(null).company(companies.iterator().next()).build(); companyService.saveRegisteredEntry(registeredEntry); Iterable foundCompanies = companyService.getCompanies("1710128-9"); assertEquals(1, Iterables.size(foundCompanies)); assertEquals(1, companies.iterator().next().getAllRegisteredEntries().size()); - assertEquals("EN", companies.iterator().next().getAllRegisteredEntries().iterator().next().getLanguage()); - assertEquals("Unregistered", companies.iterator().next().getAllRegisteredEntries().iterator().next().getDescription()); + assertEquals("EN", + companies.iterator().next().getAllRegisteredEntries().iterator().next().getLanguage()); + assertEquals("Unregistered", companies.iterator().next().getAllRegisteredEntries().iterator().next() + .getDescription()); assertEquals(2, companies.iterator().next().getAllRegisteredEntries().iterator().next().getStatus()); assertEquals(2, companies.iterator().next().getAllRegisteredEntries().iterator().next().getAuthority()); assertEquals(1, companies.iterator().next().getAllRegisteredEntries().iterator().next().getRegister()); assertEquals(LocalDate.of(2020, 4, 30), - companies.iterator().next().getAllRegisteredEntries().iterator().next().getRegistrationDate().toLocalDate()); + companies.iterator().next().getAllRegisteredEntries().iterator().next() + .getRegistrationDate().toLocalDate()); assertNull(companies.iterator().next().getAllRegisteredEntries().iterator().next().getEndDate()); - TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllRegisteredEntries().iterator().next().getStatusInfo()); + TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllRegisteredEntries().iterator().next() + .getStatusInfo()); } @Test @@ -337,20 +397,24 @@ public void testSaveRegisteredOffice() { assertEquals(1, Iterables.size(companies)); RegisteredOffice registeredOffice = RegisteredOffice.builder().source(0).ordering(0) .name("Registered Office").version(0).language("FI") - .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0 ,0)) + .registrationDate(LocalDateTime.of(2020, 4, 30, 0, 0, 0)) .endDate(null).company(companies.iterator().next()).build(); companyService.saveRegisteredOffice(registeredOffice); Iterable foundCompanies = companyService.getCompanies("1710128-9"); assertEquals(1, Iterables.size(foundCompanies)); assertEquals(1, companies.iterator().next().getAllRegisteredOffices().size()); - assertEquals("FI", companies.iterator().next().getAllRegisteredOffices().iterator().next().getLanguage()); - assertEquals("Registered Office", companies.iterator().next().getAllRegisteredOffices().iterator().next().getName()); + assertEquals("FI", + companies.iterator().next().getAllRegisteredOffices().iterator().next().getLanguage()); + assertEquals("Registered Office", + companies.iterator().next().getAllRegisteredOffices().iterator().next().getName()); assertEquals(0, companies.iterator().next().getAllRegisteredOffices().iterator().next().getSource()); assertEquals(0, companies.iterator().next().getAllRegisteredOffices().iterator().next().getOrdering()); assertEquals(0, companies.iterator().next().getAllRegisteredOffices().iterator().next().getVersion()); assertEquals(LocalDate.of(2020, 4, 30), - companies.iterator().next().getAllRegisteredOffices().iterator().next().getRegistrationDate().toLocalDate()); + companies.iterator().next().getAllRegisteredOffices().iterator().next() + .getRegistrationDate().toLocalDate()); assertNull(companies.iterator().next().getAllRegisteredOffices().iterator().next().getEndDate()); - TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllRegisteredOffices().iterator().next().getStatusInfo()); + TestUtil.verifySavedStatusInfo(companies.iterator().next().getAllRegisteredOffices().iterator().next() + .getStatusInfo()); } } diff --git a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/ContactDetailRepositoryTest.java b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/ContactDetailRepositoryTest.java index 64a45449..5d82f457 100644 --- a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/ContactDetailRepositoryTest.java +++ b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/ContactDetailRepositoryTest.java @@ -46,7 +46,4 @@ public void testFindAnyByCompanyId() { assertNull(contactDetails.get().get(0).getEndDate()); } - - } - diff --git a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/OrganizationServiceTest.java b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/OrganizationServiceTest.java index 9484beba..e3a2c4c5 100644 --- a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/OrganizationServiceTest.java +++ b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/OrganizationServiceTest.java @@ -13,18 +13,37 @@ package fi.vrk.xroad.catalog.persistence; import fi.vrk.xroad.catalog.persistence.dto.LastOrganizationCollectionData; -import fi.vrk.xroad.catalog.persistence.entity.*; +import fi.vrk.xroad.catalog.persistence.entity.Address; +import fi.vrk.xroad.catalog.persistence.entity.Email; +import fi.vrk.xroad.catalog.persistence.entity.Organization; +import fi.vrk.xroad.catalog.persistence.entity.OrganizationDescription; +import fi.vrk.xroad.catalog.persistence.entity.OrganizationName; +import fi.vrk.xroad.catalog.persistence.entity.PhoneNumber; +import fi.vrk.xroad.catalog.persistence.entity.PostOffice; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBox; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddress; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressAdditionalInformation; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipality; +import fi.vrk.xroad.catalog.persistence.entity.PostOfficeBoxAddressMunicipalityName; +import fi.vrk.xroad.catalog.persistence.entity.Street; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddress; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressAdditionalInformation; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipality; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressMunicipalityName; +import fi.vrk.xroad.catalog.persistence.entity.StreetAddressPostOffice; +import fi.vrk.xroad.catalog.persistence.entity.WebPage; + import com.google.common.collect.Iterables; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; -import java.util.*; - import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; +import java.util.Optional; + @SpringBootTest @Transactional public class OrganizationServiceTest { @@ -34,7 +53,8 @@ public class OrganizationServiceTest { @Test public void testGetLastCollectionData() { - LastOrganizationCollectionData lastCollectionData = organizationService.getLastOrganizationCollectionData(); + LastOrganizationCollectionData lastCollectionData = organizationService + .getLastOrganizationCollectionData(); assertEquals(2016, lastCollectionData.getOrganizationsLastFetched().getYear()); assertEquals(2020, lastCollectionData.getCompaniesLastFetched().getYear()); } @@ -53,29 +73,42 @@ public void testGetOrganizations() { assertEquals("abcdef123456", organizations.iterator().next().getGuid()); assertEquals("Published", organizations.iterator().next().getPublishingStatus()); assertEquals("Municipality", organizations.iterator().next().getOrganizationType()); - assertEquals("Vaasan kaupunki", organizations.iterator().next().getAllOrganizationNames().iterator().next().getValue()); + assertEquals("Vaasan kaupunki", + organizations.iterator().next().getAllOrganizationNames().iterator().next().getValue()); assertEquals("Vaasa on yli 67 000 asukkaan voimakkaasti kasvava kaupunki", - organizations.iterator().next().getAllOrganizationDescriptions().iterator().next().getValue()); - assertEquals("vaasa@vaasa.fi", organizations.iterator().next().getAllEmails().iterator().next().getValue()); - assertEquals("62249111", organizations.iterator().next().getAllPhoneNumbers().iterator().next().getNumber()); - assertEquals("https://www.vaasa.fi/", organizations.iterator().next().getAllWebPages().iterator().next().getUrl()); - assertEquals("Street", organizations.iterator().next().getAllAddresses().iterator().next().getSubType()); + organizations.iterator().next().getAllOrganizationDescriptions().iterator().next() + .getValue()); + assertEquals("vaasa@vaasa.fi", + organizations.iterator().next().getAllEmails().iterator().next().getValue()); + assertEquals("62249111", + organizations.iterator().next().getAllPhoneNumbers().iterator().next().getNumber()); + assertEquals("https://www.vaasa.fi/", + organizations.iterator().next().getAllWebPages().iterator().next().getUrl()); + assertEquals("Street", + organizations.iterator().next().getAllAddresses().iterator().next().getSubType()); assertEquals("64200", organizations.iterator().next().getAllAddresses().iterator().next() .getAllStreetAddresses().iterator().next().getPostalCode()); assertEquals("Motellikuja", organizations.iterator().next().getAllAddresses().iterator().next() - .getAllStreetAddresses().iterator().next().getAllStreets().iterator().next().getValue()); + .getAllStreetAddresses().iterator().next().getAllStreets().iterator().next() + .getValue()); assertEquals("64200", organizations.iterator().next().getAllAddresses().iterator().next() .getAllPostOfficeBoxAddresses().iterator().next().getPostalCode()); assertEquals("NIVALA", organizations.iterator().next().getAllAddresses().iterator().next() - .getAllPostOfficeBoxAddresses().iterator().next().getAllPostOffices().iterator().next().getValue()); + .getAllPostOfficeBoxAddresses().iterator().next().getAllPostOffices().iterator().next() + .getValue()); assertEquals("NIVALA", organizations.iterator().next().getAllAddresses().iterator().next() - .getAllPostOfficeBoxAddresses().iterator().next().getAllPostOfficeBoxes().iterator().next().getValue()); - assertEquals("Kaupungintalo/kaupunginjohtaja", organizations.iterator().next().getAllAddresses().iterator().next() - .getAllPostOfficeBoxAddresses().iterator().next().getAllAdditionalInformation().iterator().next().getValue()); + .getAllPostOfficeBoxAddresses().iterator().next().getAllPostOfficeBoxes().iterator() + .next().getValue()); + assertEquals("Kaupungintalo/kaupunginjohtaja", + organizations.iterator().next().getAllAddresses().iterator().next() + .getAllPostOfficeBoxAddresses().iterator().next() + .getAllAdditionalInformation().iterator().next().getValue()); assertEquals("545", organizations.iterator().next().getAllAddresses().iterator().next() - .getAllPostOfficeBoxAddresses().iterator().next().getAllMunicipalities().iterator().next().getCode()); + .getAllPostOfficeBoxAddresses().iterator().next().getAllMunicipalities().iterator() + .next().getCode()); assertEquals("Nivala", organizations.iterator().next().getAllAddresses().iterator().next() - .getAllPostOfficeBoxAddresses().iterator().next().getAllMunicipalities().iterator().next() + .getAllPostOfficeBoxAddresses().iterator().next().getAllMunicipalities().iterator() + .next() .getAllMunicipalityNames().iterator().next().getValue()); } @@ -93,7 +126,8 @@ public void testGetOrganization() { assertEquals("abcdef123456", organization.get().getGuid()); assertEquals("Published", organization.get().getPublishingStatus()); assertEquals("Municipality", organization.get().getOrganizationType()); - assertEquals("Vaasan kaupunki", organization.get().getAllOrganizationNames().iterator().next().getValue()); + assertEquals("Vaasan kaupunki", + organization.get().getAllOrganizationNames().iterator().next().getValue()); assertEquals("Vaasa on yli 67 000 asukkaan voimakkaasti kasvava kaupunki", organization.get().getAllOrganizationDescriptions().iterator().next().getValue()); assertEquals("vaasa@vaasa.fi", organization.get().getAllEmails().iterator().next().getValue()); @@ -103,19 +137,25 @@ public void testGetOrganization() { assertEquals("64200", organization.get().getAllAddresses().iterator().next() .getAllStreetAddresses().iterator().next().getPostalCode()); assertEquals("Motellikuja", organization.get().getAllAddresses().iterator().next() - .getAllStreetAddresses().iterator().next().getAllStreets().iterator().next().getValue()); + .getAllStreetAddresses().iterator().next().getAllStreets().iterator().next() + .getValue()); assertEquals("64200", organization.get().getAllAddresses().iterator().next() .getAllPostOfficeBoxAddresses().iterator().next().getPostalCode()); assertEquals("NIVALA", organization.get().getAllAddresses().iterator().next() - .getAllPostOfficeBoxAddresses().iterator().next().getAllPostOffices().iterator().next().getValue()); + .getAllPostOfficeBoxAddresses().iterator().next().getAllPostOffices().iterator().next() + .getValue()); assertEquals("NIVALA", organization.get().getAllAddresses().iterator().next() - .getAllPostOfficeBoxAddresses().iterator().next().getAllPostOfficeBoxes().iterator().next().getValue()); + .getAllPostOfficeBoxAddresses().iterator().next().getAllPostOfficeBoxes().iterator() + .next().getValue()); assertEquals("Kaupungintalo/kaupunginjohtaja", organization.get().getAllAddresses().iterator().next() - .getAllPostOfficeBoxAddresses().iterator().next().getAllAdditionalInformation().iterator().next().getValue()); + .getAllPostOfficeBoxAddresses().iterator().next().getAllAdditionalInformation() + .iterator().next().getValue()); assertEquals("545", organization.get().getAllAddresses().iterator().next() - .getAllPostOfficeBoxAddresses().iterator().next().getAllMunicipalities().iterator().next().getCode()); + .getAllPostOfficeBoxAddresses().iterator().next().getAllMunicipalities().iterator() + .next().getCode()); assertEquals("Nivala", organization.get().getAllAddresses().iterator().next() - .getAllPostOfficeBoxAddresses().iterator().next().getAllMunicipalities().iterator().next() + .getAllPostOfficeBoxAddresses().iterator().next().getAllMunicipalities().iterator() + .next() .getAllMunicipalityNames().iterator().next().getValue()); } @@ -159,7 +199,8 @@ public void testSaveOrganizationName() { assertEquals(1, foundOrganization.get().getAllOrganizationNames().size()); assertEquals("fi", foundOrganization.get().getAllOrganizationNames().iterator().next().getLanguage()); assertEquals("Vaasa", foundOrganization.get().getAllOrganizationNames().iterator().next().getValue()); - TestUtil.verifySavedStatusInfo(foundOrganization.get().getAllOrganizationNames().iterator().next().getStatusInfo()); + TestUtil.verifySavedStatusInfo( + foundOrganization.get().getAllOrganizationNames().iterator().next().getStatusInfo()); } @Test @@ -168,13 +209,17 @@ public void testSaveOrganizationDescription() { assertEquals(true, organization.isPresent()); assertEquals(1, organization.get().getAllOrganizationNames().size()); OrganizationDescription organizationDescription = OrganizationDescription.builder() - .language("fi").type("Description").value("Vaasa").organization(organization.get()).build(); + .language("fi").type("Description").value("Vaasa").organization(organization.get()) + .build(); organizationService.saveOrganizationDescription(organizationDescription); Optional foundOrganization = organizationService.getOrganization("abcdef123456"); assertEquals(1, foundOrganization.get().getAllOrganizationDescriptions().size()); - assertEquals("fi", foundOrganization.get().getAllOrganizationDescriptions().iterator().next().getLanguage()); - assertEquals("Vaasa", foundOrganization.get().getAllOrganizationDescriptions().iterator().next().getValue()); - TestUtil.verifySavedStatusInfo(foundOrganization.get().getAllOrganizationDescriptions().iterator().next().getStatusInfo()); + assertEquals("fi", foundOrganization.get().getAllOrganizationDescriptions().iterator().next() + .getLanguage()); + assertEquals("Vaasa", + foundOrganization.get().getAllOrganizationDescriptions().iterator().next().getValue()); + TestUtil.verifySavedStatusInfo(foundOrganization.get().getAllOrganizationDescriptions().iterator() + .next().getStatusInfo()); } @Test @@ -183,13 +228,15 @@ public void testSaveEmail() { assertEquals(true, organization.isPresent()); assertEquals(1, organization.get().getAllOrganizationNames().size()); Email email = Email.builder() - .language("fi").description("Asiakaspalvelu").value("vaasa@vaasa.fi").organization(organization.get()).build(); + .language("fi").description("Asiakaspalvelu").value("vaasa@vaasa.fi") + .organization(organization.get()).build(); organizationService.saveEmail(email); Optional foundOrganization = organizationService.getOrganization("abcdef123456"); assertEquals(1, foundOrganization.get().getAllEmails().size()); assertEquals("fi", foundOrganization.get().getAllEmails().iterator().next().getLanguage()); assertEquals("vaasa@vaasa.fi", foundOrganization.get().getAllEmails().iterator().next().getValue()); - TestUtil.verifySavedStatusInfo(foundOrganization.get().getAllEmails().iterator().next().getStatusInfo()); + TestUtil.verifySavedStatusInfo( + foundOrganization.get().getAllEmails().iterator().next().getStatusInfo()); } @Test @@ -210,8 +257,10 @@ public void testSavePhoneNumber() { Optional foundOrganization = organizationService.getOrganization("abcdef123456"); assertEquals(1, foundOrganization.get().getAllPhoneNumbers().size()); assertEquals("62249111", foundOrganization.get().getAllPhoneNumbers().iterator().next().getNumber()); - assertEquals(false, foundOrganization.get().getAllPhoneNumbers().iterator().next().getIsFinnishServiceNumber()); - TestUtil.verifySavedStatusInfo(foundOrganization.get().getAllPhoneNumbers().iterator().next().getStatusInfo()); + assertEquals(false, foundOrganization.get().getAllPhoneNumbers().iterator().next() + .getIsFinnishServiceNumber()); + TestUtil.verifySavedStatusInfo( + foundOrganization.get().getAllPhoneNumbers().iterator().next().getStatusInfo()); } @Test @@ -220,14 +269,17 @@ public void testSaveWebPage() { assertEquals(true, organization.isPresent()); assertEquals(1, organization.get().getAllOrganizationNames().size()); WebPage webPage = WebPage.builder() - .language("fi").url("https://www.vaasa.fi/").value("Vaasa").organization(organization.get()).build(); + .language("fi").url("https://www.vaasa.fi/").value("Vaasa") + .organization(organization.get()).build(); organizationService.saveWebPage(webPage); Optional foundOrganization = organizationService.getOrganization("abcdef123456"); assertEquals(1, foundOrganization.get().getAllWebPages().size()); assertEquals("fi", foundOrganization.get().getAllWebPages().iterator().next().getLanguage()); - assertEquals("https://www.vaasa.fi/", foundOrganization.get().getAllWebPages().iterator().next().getUrl()); + assertEquals("https://www.vaasa.fi/", + foundOrganization.get().getAllWebPages().iterator().next().getUrl()); assertEquals("Vaasa", foundOrganization.get().getAllWebPages().iterator().next().getValue()); - TestUtil.verifySavedStatusInfo(foundOrganization.get().getAllWebPages().iterator().next().getStatusInfo()); + TestUtil.verifySavedStatusInfo( + foundOrganization.get().getAllWebPages().iterator().next().getStatusInfo()); } @Test @@ -236,7 +288,8 @@ public void testSaveAddress() { assertEquals(true, organization.isPresent()); assertEquals(1, organization.get().getAllOrganizationNames().size()); Address address = Address.builder() - .country("UK").organization(organization.get()).type("Postal").subType("Street").build(); + .country("UK").organization(organization.get()).type("Postal").subType("Street") + .build(); Address savedAddress = organizationService.saveAddress(address); assertNotNull(savedAddress); assertEquals("UK", savedAddress.getCountry()); @@ -252,7 +305,8 @@ public void testSaveStreetAddress() { assertEquals(1, organization.get().getAllAddresses().size()); StreetAddress streetAddress = StreetAddress.builder() .postalCode("12345").longitude("23").latitude("59").coordinateState("Ok") - .streetNumber("100").address(organization.get().getAllAddresses().iterator().next()).build(); + .streetNumber("100").address(organization.get().getAllAddresses().iterator().next()) + .build(); StreetAddress savedStreetAddress = organizationService.saveStreetAddress(streetAddress); assertNotNull(savedStreetAddress); assertEquals("12345", savedStreetAddress.getPostalCode()); @@ -269,7 +323,8 @@ public void testSaveStreet() { assertEquals(1, organization.get().getAllAddresses().size()); assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllStreetAddresses().size()); Street street = Street.builder() - .streetAddress(organization.get().getAllAddresses().iterator().next().getAllStreetAddresses().iterator().next()) + .streetAddress(organization.get().getAllAddresses().iterator().next() + .getAllStreetAddresses().iterator().next()) .language("fi").value("Motellikuja").build(); Street savedStreet = organizationService.saveStreet(street); assertNotNull(savedStreet); @@ -285,9 +340,11 @@ public void testSaveStreetAddressPostOffice() { assertEquals(1, organization.get().getAllAddresses().size()); assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllStreetAddresses().size()); StreetAddressPostOffice streetAddressPostOffice = StreetAddressPostOffice.builder() - .streetAddress(organization.get().getAllAddresses().iterator().next().getAllStreetAddresses().iterator().next()) + .streetAddress(organization.get().getAllAddresses().iterator().next() + .getAllStreetAddresses().iterator().next()) .language("fi").value("NIVALA").build(); - StreetAddressPostOffice savedStreetAddressPostOffice = organizationService.saveStreetAddressPostOffice(streetAddressPostOffice); + StreetAddressPostOffice savedStreetAddressPostOffice = organizationService + .saveStreetAddressPostOffice(streetAddressPostOffice); assertNotNull(savedStreetAddressPostOffice); assertEquals("fi", savedStreetAddressPostOffice.getLanguage()); assertEquals("NIVALA", savedStreetAddressPostOffice.getValue()); @@ -300,11 +357,13 @@ public void testSaveStreetAddressAdditionalInformation() { assertEquals(true, organization.isPresent()); assertEquals(1, organization.get().getAllAddresses().size()); assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllStreetAddresses().size()); - StreetAddressAdditionalInformation addressAdditionalInformation = StreetAddressAdditionalInformation.builder() - .streetAddress(organization.get().getAllAddresses().iterator().next().getAllStreetAddresses().iterator().next()) + StreetAddressAdditionalInformation addressAdditionalInformation = StreetAddressAdditionalInformation + .builder() + .streetAddress(organization.get().getAllAddresses().iterator().next() + .getAllStreetAddresses().iterator().next()) .language("fi").value("Kaupungintalo/kaupunginjohtaja").build(); - StreetAddressAdditionalInformation savedStreetAddressAdditionalInformation = - organizationService.saveStreetAddressAdditionalInformation(addressAdditionalInformation); + StreetAddressAdditionalInformation savedStreetAddressAdditionalInformation = organizationService + .saveStreetAddressAdditionalInformation(addressAdditionalInformation); assertNotNull(savedStreetAddressAdditionalInformation); assertEquals("fi", savedStreetAddressAdditionalInformation.getLanguage()); assertEquals("Kaupungintalo/kaupunginjohtaja", savedStreetAddressAdditionalInformation.getValue()); @@ -318,9 +377,11 @@ public void testSaveStreetAddressMunicipality() { assertEquals(1, organization.get().getAllAddresses().size()); assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllStreetAddresses().size()); StreetAddressMunicipality streetAddressMunicipality = StreetAddressMunicipality.builder() - .streetAddress(organization.get().getAllAddresses().iterator().next().getAllStreetAddresses().iterator().next()) + .streetAddress(organization.get().getAllAddresses().iterator().next() + .getAllStreetAddresses().iterator().next()) .code("999").build(); - StreetAddressMunicipality savedStreetAddressMunicipality = organizationService.saveStreetAddressMunicipality(streetAddressMunicipality); + StreetAddressMunicipality savedStreetAddressMunicipality = organizationService + .saveStreetAddressMunicipality(streetAddressMunicipality); assertNotNull(savedStreetAddressMunicipality); assertEquals("999", savedStreetAddressMunicipality.getCode()); TestUtil.verifySavedStatusInfo(savedStreetAddressMunicipality.getStatusInfo()); @@ -333,11 +394,12 @@ public void testSaveStreetAddressMunicipalityName() { assertEquals(1, organization.get().getAllAddresses().size()); assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllStreetAddresses().size()); StreetAddressMunicipalityName streetAddressMunicipalityName = StreetAddressMunicipalityName.builder() - .streetAddressMunicipality(organization.get().getAllAddresses().iterator().next().getAllStreetAddresses() + .streetAddressMunicipality(organization.get().getAllAddresses().iterator().next() + .getAllStreetAddresses() .iterator().next().getAllMunicipalities().iterator().next()) .language("fi").value("Nivala").build(); - StreetAddressMunicipalityName savedStreetAddressMunicipalityName = - organizationService.saveStreetAddressMunicipalityName(streetAddressMunicipalityName); + StreetAddressMunicipalityName savedStreetAddressMunicipalityName = organizationService + .saveStreetAddressMunicipalityName(streetAddressMunicipalityName); assertNotNull(savedStreetAddressMunicipalityName); assertEquals("fi", savedStreetAddressMunicipalityName.getLanguage()); assertEquals("Nivala", savedStreetAddressMunicipalityName.getValue()); @@ -350,8 +412,10 @@ public void testSavePostOfficeBoxAddress() { assertEquals(true, organization.isPresent()); assertEquals(1, organization.get().getAllAddresses().size()); PostOfficeBoxAddress postOfficeBoxAddress = PostOfficeBoxAddress.builder() - .postalCode("9876").address(organization.get().getAllAddresses().iterator().next()).build(); - PostOfficeBoxAddress savedPostOfficeBoxAddress = organizationService.savePostOfficeBoxAddress(postOfficeBoxAddress); + .postalCode("9876").address(organization.get().getAllAddresses().iterator().next()) + .build(); + PostOfficeBoxAddress savedPostOfficeBoxAddress = organizationService + .savePostOfficeBoxAddress(postOfficeBoxAddress); assertNotNull(savedPostOfficeBoxAddress); assertEquals("9876", savedPostOfficeBoxAddress.getPostalCode()); TestUtil.verifySavedStatusInfo(savedPostOfficeBoxAddress.getStatusInfo()); @@ -362,9 +426,11 @@ public void testSavePostOffice() { Optional organization = organizationService.getOrganization("abcdef123456"); assertEquals(true, organization.isPresent()); assertEquals(1, organization.get().getAllAddresses().size()); - assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllPostOfficeBoxAddresses().size()); + assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllPostOfficeBoxAddresses() + .size()); PostOffice postOffice = PostOffice.builder() - .postOfficeBoxAddress(organization.get().getAllAddresses().iterator().next().getAllPostOfficeBoxAddresses().iterator().next()) + .postOfficeBoxAddress(organization.get().getAllAddresses().iterator().next() + .getAllPostOfficeBoxAddresses().iterator().next()) .language("FI").value("Posti").build(); PostOffice savedPostOffice = organizationService.savePostOffice(postOffice); assertNotNull(savedPostOffice); @@ -378,9 +444,11 @@ public void testSavePostOfficeBox() { Optional organization = organizationService.getOrganization("abcdef123456"); assertEquals(true, organization.isPresent()); assertEquals(1, organization.get().getAllAddresses().size()); - assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllPostOfficeBoxAddresses().size()); + assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllPostOfficeBoxAddresses() + .size()); PostOfficeBox postOfficeBox = PostOfficeBox.builder() - .postOfficeBoxAddress(organization.get().getAllAddresses().iterator().next().getAllPostOfficeBoxAddresses().iterator().next()) + .postOfficeBoxAddress(organization.get().getAllAddresses().iterator().next() + .getAllPostOfficeBoxAddresses().iterator().next()) .language("FI").value("NIVALA").build(); PostOfficeBox savedPostOfficeBox = organizationService.savePostOfficeBox(postOfficeBox); assertNotNull(savedPostOfficeBox); @@ -394,12 +462,15 @@ public void testSavePostOfficeBoxAddressAdditionalInformation() { Optional organization = organizationService.getOrganization("abcdef123456"); assertEquals(true, organization.isPresent()); assertEquals(1, organization.get().getAllAddresses().size()); - assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllPostOfficeBoxAddresses().size()); - PostOfficeBoxAddressAdditionalInformation addressAdditionalInformation = PostOfficeBoxAddressAdditionalInformation.builder() - .postOfficeBoxAddress(organization.get().getAllAddresses().iterator().next().getAllPostOfficeBoxAddresses().iterator().next()) + assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllPostOfficeBoxAddresses() + .size()); + PostOfficeBoxAddressAdditionalInformation addressAdditionalInformation = PostOfficeBoxAddressAdditionalInformation + .builder() + .postOfficeBoxAddress(organization.get().getAllAddresses().iterator().next() + .getAllPostOfficeBoxAddresses().iterator().next()) .language("fi").value("Kaupungintalo/kaupunginjohtaja").build(); - PostOfficeBoxAddressAdditionalInformation savedAdditionalInformation = - organizationService.savePostOfficeBoxAddressAdditionalInformation(addressAdditionalInformation); + PostOfficeBoxAddressAdditionalInformation savedAdditionalInformation = organizationService + .savePostOfficeBoxAddressAdditionalInformation(addressAdditionalInformation); assertNotNull(savedAdditionalInformation); assertEquals("fi", savedAdditionalInformation.getLanguage()); assertEquals("Kaupungintalo/kaupunginjohtaja", savedAdditionalInformation.getValue()); @@ -412,11 +483,13 @@ public void testSavePostOfficeBoxAddressMunicipality() { assertEquals(true, organization.isPresent()); assertEquals(1, organization.get().getAllAddresses().size()); assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllStreetAddresses().size()); - PostOfficeBoxAddressMunicipality postOfficeBoxAddressMunicipality = PostOfficeBoxAddressMunicipality.builder() - .postOfficeBoxAddress(organization.get().getAllAddresses().iterator().next().getAllPostOfficeBoxAddresses().iterator().next()) + PostOfficeBoxAddressMunicipality postOfficeBoxAddressMunicipality = PostOfficeBoxAddressMunicipality + .builder() + .postOfficeBoxAddress(organization.get().getAllAddresses().iterator().next() + .getAllPostOfficeBoxAddresses().iterator().next()) .code("222").build(); - PostOfficeBoxAddressMunicipality savedPostOfficeBoxAddressMunicipality = - organizationService.savePostOfficeBoxAddressMunicipality(postOfficeBoxAddressMunicipality); + PostOfficeBoxAddressMunicipality savedPostOfficeBoxAddressMunicipality = organizationService + .savePostOfficeBoxAddressMunicipality(postOfficeBoxAddressMunicipality); assertNotNull(savedPostOfficeBoxAddressMunicipality); assertEquals("222", savedPostOfficeBoxAddressMunicipality.getCode()); TestUtil.verifySavedStatusInfo(savedPostOfficeBoxAddressMunicipality.getStatusInfo()); @@ -427,13 +500,16 @@ public void testSavePostOfficeBoxMunicipalityName() { Optional organization = organizationService.getOrganization("abcdef123456"); assertEquals(true, organization.isPresent()); assertEquals(1, organization.get().getAllAddresses().size()); - assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllPostOfficeBoxAddresses().size()); - PostOfficeBoxAddressMunicipalityName postOfficeBoxAddressMunicipalityName = PostOfficeBoxAddressMunicipalityName.builder() - .postOfficeBoxAddressMunicipality(organization.get().getAllAddresses().iterator().next().getAllPostOfficeBoxAddresses() + assertEquals(1, organization.get().getAllAddresses().iterator().next().getAllPostOfficeBoxAddresses() + .size()); + PostOfficeBoxAddressMunicipalityName postOfficeBoxAddressMunicipalityName = PostOfficeBoxAddressMunicipalityName + .builder() + .postOfficeBoxAddressMunicipality(organization.get().getAllAddresses().iterator().next() + .getAllPostOfficeBoxAddresses() .iterator().next().getAllMunicipalities().iterator().next()) .language("fi").value("Nivala").build(); - PostOfficeBoxAddressMunicipalityName savedPostOfficeBoxMunicipalityName = - organizationService.savePostOfficeBoxAddressMunicipalityName(postOfficeBoxAddressMunicipalityName); + PostOfficeBoxAddressMunicipalityName savedPostOfficeBoxMunicipalityName = organizationService + .savePostOfficeBoxAddressMunicipalityName(postOfficeBoxAddressMunicipalityName); assertNotNull(savedPostOfficeBoxMunicipalityName); assertEquals("fi", savedPostOfficeBoxMunicipalityName.getLanguage()); assertEquals("Nivala", savedPostOfficeBoxMunicipalityName.getValue()); diff --git a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/RegisteredEntryRepositoryTest.java b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/RegisteredEntryRepositoryTest.java index d5b395f4..5e0c6e84 100644 --- a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/RegisteredEntryRepositoryTest.java +++ b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/RegisteredEntryRepositoryTest.java @@ -23,7 +23,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertNull; @SpringBootTest public class RegisteredEntryRepositoryTest { @@ -46,7 +45,4 @@ public void testFindAnyByCompanyId() { assertEquals(LocalDate.of(2001, 6, 24), registeredEntries.get().get(0).getEndDate().toLocalDate()); } - - } - diff --git a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/ServiceRepositoryTest.java b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/ServiceRepositoryTest.java index 14707201..eb4b7798 100644 --- a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/ServiceRepositoryTest.java +++ b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/ServiceRepositoryTest.java @@ -37,7 +37,8 @@ public class ServiceRepositoryTest { public void testFindByNaturalKey() { // member(7) -> ss (8) -> service(6) = ok [dummy-service_7-1-2/v1] // member(7) -> ss (8) -> service(8) = removed [removed-service_7-1-3/v1] - // member(7) -> ss (8) -> service(10) = ok, null service code [service-with-null-version/null] + // member(7) -> ss (8) -> service(10) = ok, null service code + // [service-with-null-version/null] // member(7) -> ss (8) -> service(???) = non-existent Service service = serviceRepository.findActiveByNaturalKey("dev-cs", "PUB", "15", "subsystem_7-1", "dummy-service_7-1-2", "v1"); @@ -56,12 +57,12 @@ public void testFindByNaturalKey() { @Test public void testFindActiveByMemberServiceAndSubsystemAndVersion() { Service service = serviceRepository.findActiveByMemberServiceAndSubsystemAndVersion("dev-cs", - "PUB", "15","dummy-service_7-1-5", + "PUB", "15", "dummy-service_7-1-5", "subsystem_7-1", "v1"); assertNotNull(service); service = serviceRepository.findActiveByMemberServiceAndSubsystemAndVersion("dev-cs", - "PUB","14151329","removed-service_7-1-3", + "PUB", "14151329", "removed-service_7-1-3", "subsystem_7-1", "v1"); assertNull(service); } @@ -95,12 +96,12 @@ public void testFindAllByMemberServiceAndSubsystemVersionNull() { @Test public void testFindAllByMemberServiceAndSubsystemAndVersion() { Service service = serviceRepository.findAllByMemberServiceAndSubsystemAndVersion("dev-cs", - "PUB", "15","dummy-service_7-1-5", + "PUB", "15", "dummy-service_7-1-5", "subsystem_7-1", "v1"); assertNotNull(service); service = serviceRepository.findAllByMemberServiceAndSubsystemAndVersion("dev-cs", - "PUB","14151329","removed-service_7-1-3", + "PUB", "14151329", "removed-service_7-1-3", "subsystem_7-1", "v1"); assertNull(service); } diff --git a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/SubsystemTest.java b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/SubsystemTest.java index 6a282191..19d9129d 100644 --- a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/SubsystemTest.java +++ b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/SubsystemTest.java @@ -35,7 +35,7 @@ public class SubsystemTest { public void testGetActiveServices() { // 5+6+10 are active, 8+9 are removed Subsystem sub = subsystemRepository.findById(8L).get(); - assertEquals(Arrays.asList(5L,6L, 10L, 12L, 13L), + assertEquals(Arrays.asList(5L, 6L, 10L, 12L, 13L), new ArrayList(testUtil.getIds(sub.getActiveServices()))); } @@ -43,7 +43,7 @@ public void testGetActiveServices() { public void testGetAllServices() { // 5+6+10 are active, 8+9 are removed Subsystem sub = subsystemRepository.findById(8L).get(); - assertEquals(Arrays.asList(5L,6L,8L,9L,10L, 11L, 12L, 13L, 14L), + assertEquals(Arrays.asList(5L, 6L, 8L, 9L, 10L, 11L, 12L, 13L, 14L), new ArrayList(testUtil.getIds(sub.getAllServices()))); } diff --git a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/TestUtil.java b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/TestUtil.java index 8f1a032c..089957d3 100644 --- a/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/TestUtil.java +++ b/xroad-catalog-persistence/src/test/java/fi/vrk/xroad/catalog/persistence/TestUtil.java @@ -12,14 +12,22 @@ */ package fi.vrk.xroad.catalog.persistence; -import fi.vrk.xroad.catalog.persistence.entity.*; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; + +import fi.vrk.xroad.catalog.persistence.entity.Member; +import fi.vrk.xroad.catalog.persistence.entity.Service; +import fi.vrk.xroad.catalog.persistence.entity.StatusInfo; +import fi.vrk.xroad.catalog.persistence.entity.Subsystem; +import fi.vrk.xroad.catalog.persistence.entity.Wsdl; +import jakarta.persistence.EntityManager; +import jakarta.persistence.EntityManagerFactory; import java.time.LocalDateTime; -import java.util.*; +import java.util.HashSet; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; import java.util.stream.StreamSupport; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -50,7 +58,7 @@ public Optional getEntity(Iterable entities, Long l) { public Set getIds(Iterable entities) { Set set = new HashSet(); - for (Object entity: entities) { + for (Object entity : entities) { Long id = getIdentifier(entity); set.add(id); } @@ -154,8 +162,8 @@ public void entityManagerClear() { } public void assertEqualities(StatusInfo original, StatusInfo checked, - boolean sameCreated, boolean sameChanged, - boolean sameRemoved, boolean sameFetched) { + boolean sameCreated, boolean sameChanged, + boolean sameRemoved, boolean sameFetched) { assertEquals(sameCreated, Objects.equals(original.getCreated(), checked.getCreated())); assertEquals(sameChanged, Objects.equals(original.getChanged(), checked.getChanged()));