diff --git a/citygml4j-quality-ade/build.gradle b/citygml4j-quality-ade/build.gradle new file mode 100644 index 0000000000000000000000000000000000000000..48a55daa5c0ea5c7ff4954da1318231958d4287b --- /dev/null +++ b/citygml4j-quality-ade/build.gradle @@ -0,0 +1,35 @@ +plugins { + id 'java-library' +} + +group 'de.hft.stuttgart' +version '0.1.4' + +java { + toolchain { + languageVersion = JavaLanguageVersion.of(11) + } + compileJava { + options.release = 8 + } + sourceSets { + main.java.srcDir 'src-gen/main/java' + } +} + +repositories { + mavenCentral() +} + +dependencies { + api 'org.citygml4j:citygml4j:2.11.4' +} + +dependencies { + testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1' +} + +test { + useJUnitPlatform() +} \ No newline at end of file diff --git a/citygml4j-quality-ade/gradle/wrapper/gradle-wrapper.properties b/citygml4j-quality-ade/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000000000000000000000000000000000000..e750102e09269a4ac558e10a6612998e5ca4c0f2 --- /dev/null +++ b/citygml4j-quality-ade/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/citygml4j-quality-ade/gradlew b/citygml4j-quality-ade/gradlew new file mode 100644 index 0000000000000000000000000000000000000000..c53aefaa5fc898b78c7265ea99a3bdc09349a7d0 --- /dev/null +++ b/citygml4j-quality-ade/gradlew @@ -0,0 +1,234 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" +APP_BASE_NAME=${0##*/} + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# 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/citygml4j-quality-ade/gradlew.bat b/citygml4j-quality-ade/gradlew.bat new file mode 100644 index 0000000000000000000000000000000000000000..107acd32c4e687021ef32db511e8a206129b88ec --- /dev/null +++ b/citygml4j-quality-ade/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/citygml4j-quality-ade/pom.xml b/citygml4j-quality-ade/pom.xml deleted file mode 100644 index 4c65c090ee5cdc7c243476c2c97a1108c03674f7..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <groupId>de.hft.stuttgart</groupId> - <artifactId>citygml4j-quality-ade</artifactId> - <version>0.1.3</version> - - <properties> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - <maven.compiler.source>1.8</maven.compiler.source> - <maven.compiler.target>1.8</maven.compiler.target> - </properties> - - <dependencies> - <!-- https://mvnrepository.com/artifact/org.citygml4j/citygml4j --> - <dependency> - <groupId>org.citygml4j</groupId> - <artifactId>citygml4j</artifactId> - <version>2.10.2</version> - </dependency> - <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api --> - <dependency> - <groupId>org.junit.jupiter</groupId> - <artifactId>junit-jupiter-api</artifactId> - <version>5.7.0</version> - <scope>test</scope> - </dependency> - </dependencies> -</project> \ No newline at end of file diff --git a/citygml4j-quality-ade/resources/ade-xjc/README.txt b/citygml4j-quality-ade/resources/ade-xjc/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..a7a034e3f801924abe2a1d8c7e954793db424b0e --- /dev/null +++ b/citygml4j-quality-ade/resources/ade-xjc/README.txt @@ -0,0 +1,10 @@ +How to use +========== + +1. Download the ade-xjc tool from here: https://github.com/citygml4j/ade-xjc/releases + +2. Unzip the contents of the ade-xjc download package to your local disk. + +3. Copy the contents of this folder to a new subfolder within the directory where you unzipped the +ade-xjc tool. Afterwards, run the "run_ade-xjc" start script to create citygml4j classes from the +the Quality ADE XML Schema file. \ No newline at end of file diff --git a/citygml4j-quality-ade/resources/ade-xjc/binding.xjb b/citygml4j-quality-ade/resources/ade-xjc/binding.xjb new file mode 100644 index 0000000000000000000000000000000000000000..3e6413d326412f1dfbbb452949052b28f19381f2 --- /dev/null +++ b/citygml4j-quality-ade/resources/ade-xjc/binding.xjb @@ -0,0 +1,208 @@ +<?xml version="1.0" encoding="UTF-8"?> +<jaxb:bindings version="2.1" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:namespace="http://jaxb2-commons.dev.java.net/namespace-prefix"> + + <jaxb:bindings schemaLocation="qualityAde.xsd" node="/xs:schema"> + <jaxb:schemaBindings> + <jaxb:package name="de.hft.stuttgart.quality.model.jaxb"/> + </jaxb:schemaBindings> + <jaxb:bindings> + <namespace:prefix name="qual"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='validationResult']"> + <jaxb:factoryMethod name="ValidationResultProperty"/> + </jaxb:bindings> + + <!-- use more readable names for error types --> + <jaxb:bindings node="xs:element[@name='GE_P_HOLE_OUTSIDE']"> + <jaxb:factoryMethod name="PolygonHoleOutside"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_HOLE_OUTSIDEType']"> + <jaxb:class name="PolygonHoleOutsideType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_HOLE_OUTSIDEPropertyType']"> + <jaxb:class name="PolygonHoleOutsidePropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_P_INNER_RINGS_NESTED']"> + <jaxb:factoryMethod name="PolygonInnerRingsNested"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_INNER_RINGS_NESTEDType']"> + <jaxb:class name="PolygonInnerRingsNestedType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_INNER_RINGS_NESTEDPropertyType']"> + <jaxb:class name="PolygonInnerRingsNestedPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_P_INTERIOR_DISCONNECTED']"> + <jaxb:factoryMethod name="PolygonInteriorDisconnected"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_INTERIOR_DISCONNECTEDType']"> + <jaxb:class name="PolygonInteriorDisconnectedType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_INTERIOR_DISCONNECTEDPropertyType']"> + <jaxb:class name="PolygonInteriorDisconnectedPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_P_INTERSECTING_RINGS']"> + <jaxb:factoryMethod name="PolygonIntersectingRings"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_INTERSECTING_RINGSType']"> + <jaxb:class name="PolygonIntersectingRingsType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_INTERSECTING_RINGSPropertyType']"> + <jaxb:class name="PolygonIntersectingRingsPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE']"> + <jaxb:factoryMethod name="PolygonNonPlanarDistancePlane"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEType']"> + <jaxb:class name="PolygonNonPlanarDistancePlaneType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEPropertyType']"> + <jaxb:class name="PolygonNonPlanarDistancePlanePropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION']"> + <jaxb:factoryMethod name="PolygonNonPlanarNormalsDeviation"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONType']"> + <jaxb:class name="PolygonNonPlanarNormalsDeviationType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONPropertyType']"> + <jaxb:class name="PolygonNonPlanarNormalsDeviationPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_P_ORIENTATION_RINGS_SAME']"> + <jaxb:factoryMethod name="PolygonOrientationRingsSame"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_ORIENTATION_RINGS_SAMEType']"> + <jaxb:class name="PolygonOrientationRingsSameType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_P_ORIENTATION_RINGS_SAMEPropertyType']"> + <jaxb:class name="PolygonOrientationRingsSamePropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_R_CONSECUTIVE_POINTS_SAME']"> + <jaxb:factoryMethod name="RingConsecutivePointsSame"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_R_CONSECUTIVE_POINTS_SAMEType']"> + <jaxb:class name="RingConsecutivePointsSameType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_R_CONSECUTIVE_POINTS_SAMEPropertyType']"> + <jaxb:class name="RingConsecutivePointsSamePropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_R_NOT_CLOSED']"> + <jaxb:factoryMethod name="RingNotClosed"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_R_NOT_CLOSEDType']"> + <jaxb:class name="RingNotClosedType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_R_NOT_CLOSEDPropertyType']"> + <jaxb:class name="RingNotClosedPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_R_SELF_INTERSECTION']"> + <jaxb:factoryMethod name="RingSelfIntersection"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_R_SELF_INTERSECTIONType']"> + <jaxb:class name="RingSelfIntersectionType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_R_SELF_INTERSECTIONPropertyType']"> + <jaxb:class name="RingSelfIntersectionPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_R_TOO_FEW_POINTS']"> + <jaxb:factoryMethod name="RingTooFewPoints"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_R_TOO_FEW_POINTSType']"> + <jaxb:class name="RingTooFewPointsType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_R_TOO_FEW_POINTSPropertyType']"> + <jaxb:class name="RingTooFewPointsPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_S_ALL_POLYGONS_WRONG_ORIENTATION']"> + <jaxb:factoryMethod name="SolidAllPolygonsWrongOrientation"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_ALL_POLYGONS_WRONG_ORIENTATIONType']"> + <jaxb:class name="SolidAllPolygonsWrongOrientationType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_ALL_POLYGONS_WRONG_ORIENTATIONPropertyType']"> + <jaxb:class name="SolidAllPolygonsWrongOrientationPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_S_MULTIPLE_CONNECTED_COMPONENTS']"> + <jaxb:factoryMethod name="SolidMultipleConnectedComponents"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_MULTIPLE_CONNECTED_COMPONENTSType']"> + <jaxb:class name="SolidMultipleConnectedComponentsType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_MULTIPLE_CONNECTED_COMPONENTSPropertyType']"> + <jaxb:class name="SolidMultipleConnectedComponentsPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_S_NON_MANIFOLD_EDGE']"> + <jaxb:factoryMethod name="SolidNonManifoldEdge"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_NON_MANIFOLD_EDGEType']"> + <jaxb:class name="SolidNonManifoldEdgeType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_NON_MANIFOLD_EDGEPropertyType']"> + <jaxb:class name="SolidNonManifoldEdgePropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_S_NON_MANIFOLD_VERTEX']"> + <jaxb:factoryMethod name="SolidNonManifoldVertex"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_NON_MANIFOLD_VERTEXType']"> + <jaxb:class name="SolidNonManifoldVertexType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_NON_MANIFOLD_VERTEXPropertyType']"> + <jaxb:class name="SolidNonManifoldVertexPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_S_NOT_CLOSED']"> + <jaxb:factoryMethod name="SolidNotClosed"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_NOT_CLOSEDType']"> + <jaxb:class name="SolidNotClosedType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_NOT_CLOSEDPropertyType']"> + <jaxb:class name="SolidNotClosedPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_S_POLYGON_WRONG_ORIENTATION']"> + <jaxb:factoryMethod name="SolidPolygonWrongOrientation"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_POLYGON_WRONG_ORIENTATIONType']"> + <jaxb:class name="SolidPolygonWrongOrientationType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_POLYGON_WRONG_ORIENTATIONPropertyType']"> + <jaxb:class name="SolidPolygonWrongOrientationPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_S_SELF_INTERSECTION']"> + <jaxb:factoryMethod name="SolidSelfIntersection"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_SELF_INTERSECTIONType']"> + <jaxb:class name="SolidSelfIntersectionType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_SELF_INTERSECTIONPropertyType']"> + <jaxb:class name="SolidSelfIntersectionPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='GE_S_TOO_FEW_POLYGONS']"> + <jaxb:factoryMethod name="SolidTooFewPolygons"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_TOO_FEW_POLYGONSType']"> + <jaxb:class name="SolidTooFewPolygonsType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='GE_S_TOO_FEW_POLYGONSPropertyType']"> + <jaxb:class name="SolidTooFewPolygonsPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='SEM_ATTRIBUTE_MISSING']"> + <jaxb:factoryMethod name="SemanticAttributeMissing"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='SEM_ATTRIBUTE_MISSINGType']"> + <jaxb:class name="SemanticAttributeMissingType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='SEM_ATTRIBUTE_MISSINGPropertyType']"> + <jaxb:class name="SemanticAttributeMissingPropertyType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:element[@name='SEM_ATTRIBUTE_WRONG_VALUE']"> + <jaxb:factoryMethod name="SemanticAttributeWrongValue"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='SEM_ATTRIBUTE_WRONG_VALUEType']"> + <jaxb:class name="SemanticAttributeWrongValueType"/> + </jaxb:bindings> + <jaxb:bindings node="xs:complexType[@name='SEM_ATTRIBUTE_WRONG_VALUEPropertyType']"> + <jaxb:class name="SemanticAttributeWrongValuePropertyType"/> + </jaxb:bindings> + </jaxb:bindings> + +</jaxb:bindings> \ No newline at end of file diff --git a/citygml4j-quality-ade/resources/ade-xjc/qualityAde.xsd b/citygml4j-quality-ade/resources/ade-xjc/qualityAde.xsd new file mode 100644 index 0000000000000000000000000000000000000000..6d09417d658c79a4eedd3c74c0049a692461562f --- /dev/null +++ b/citygml4j-quality-ade/resources/ade-xjc/qualityAde.xsd @@ -0,0 +1,671 @@ +<?xml version="1.0" encoding="UTF-8"?><schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:bldg="http://www.opengis.net/citygml/building/2.0" xmlns:core="http://www.opengis.net/citygml/2.0" xmlns:gml="http://www.opengis.net/gml" xmlns:qual="https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4" elementFormDefault="qualified" targetNamespace="https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4" version="0.1.4"> + <import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="../schemas/citygml/2.0.0/cityGMLBase.xsd"/> + <import namespace="http://www.opengis.net/citygml/building/2.0" schemaLocation="../schemas/citygml/2.0.0/building.xsd"/> + <import namespace="http://www.opengis.net/gml" schemaLocation="../schemas/gml/3.1.1/base/gml.xsd"/> + <!--XML Schema document created by ShapeChange - http://shapechange.net/--> + <element abstract="true" name="AbstractError" substitutionGroup="gml:_Object" type="qual:AbstractErrorType"/> + <complexType abstract="true" name="AbstractErrorType"> + <sequence/> + </complexType> + <complexType name="AbstractErrorPropertyType"> + <sequence> + <element ref="qual:AbstractError"/> + </sequence> + </complexType> + <element abstract="true" name="AbstractGeometryError" substitutionGroup="qual:AbstractError" type="qual:AbstractGeometryErrorType"/> + <complexType abstract="true" name="AbstractGeometryErrorType"> + <complexContent> + <extension base="qual:AbstractErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="AbstractGeometryErrorPropertyType"> + <sequence> + <element ref="qual:AbstractGeometryError"/> + </sequence> + </complexType> + <element abstract="true" name="AbstractPolygonError" substitutionGroup="qual:AbstractGeometryError" type="qual:AbstractPolygonErrorType"/> + <complexType abstract="true" name="AbstractPolygonErrorType"> + <complexContent> + <extension base="qual:AbstractGeometryErrorType"> + <sequence> + <element name="polygonId" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="AbstractPolygonErrorPropertyType"> + <sequence> + <element ref="qual:AbstractPolygonError"/> + </sequence> + </complexType> + <element abstract="true" name="AbstractRingError" substitutionGroup="qual:AbstractGeometryError" type="qual:AbstractRingErrorType"/> + <complexType abstract="true" name="AbstractRingErrorType"> + <complexContent> + <extension base="qual:AbstractGeometryErrorType"> + <sequence> + <element name="linearRingId" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="AbstractRingErrorPropertyType"> + <sequence> + <element ref="qual:AbstractRingError"/> + </sequence> + </complexType> + <element abstract="true" name="AbstractSemanticError" substitutionGroup="qual:AbstractError" type="qual:AbstractSemanticErrorType"/> + <complexType abstract="true" name="AbstractSemanticErrorType"> + <complexContent> + <extension base="qual:AbstractErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="AbstractSemanticErrorPropertyType"> + <sequence> + <element ref="qual:AbstractSemanticError"/> + </sequence> + </complexType> + <element abstract="true" name="AbstractSolidError" substitutionGroup="qual:AbstractGeometryError" type="qual:AbstractSolidErrorType"/> + <complexType abstract="true" name="AbstractSolidErrorType"> + <complexContent> + <extension base="qual:AbstractGeometryErrorType"> + <sequence> + <element name="geometryId" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="AbstractSolidErrorPropertyType"> + <sequence> + <element ref="qual:AbstractSolidError"/> + </sequence> + </complexType> + <element name="Checking" substitutionGroup="gml:_Object" type="qual:CheckingType"/> + <complexType name="CheckingType"> + <sequence> + <element name="featureType" type="qual:FeatureTypeType"/> + </sequence> + </complexType> + <complexType name="CheckingPropertyType"> + <sequence> + <element ref="qual:Checking"/> + </sequence> + </complexType> + <element name="ComponentList" substitutionGroup="gml:_Object" type="qual:ComponentListType"/> + <complexType name="ComponentListType"> + <sequence> + <element maxOccurs="unbounded" name="component" type="qual:PolygonIdListPropertyType"/> + </sequence> + </complexType> + <complexType name="ComponentListPropertyType"> + <sequence> + <element ref="qual:ComponentList"/> + </sequence> + </complexType> + <element name="Edge" substitutionGroup="gml:_Object" type="qual:EdgeType"/> + <complexType name="EdgeType"> + <sequence> + <element name="from" type="gml:DirectPositionType"/> + <element name="to" type="gml:DirectPositionType"/> + </sequence> + </complexType> + <complexType name="EdgePropertyType"> + <sequence> + <element ref="qual:Edge"/> + </sequence> + </complexType> + <element name="EdgeList" substitutionGroup="gml:_Object" type="qual:EdgeListType"/> + <complexType name="EdgeListType"> + <sequence> + <element maxOccurs="unbounded" name="edge" type="qual:EdgePropertyType"/> + </sequence> + </complexType> + <complexType name="EdgeListPropertyType"> + <sequence> + <element ref="qual:EdgeList"/> + </sequence> + </complexType> + <element name="Error" substitutionGroup="gml:_Object" type="qual:ErrorType"/> + <complexType name="ErrorType"> + <sequence> + <element name="name" type="qual:ErrorTypeType"/> + </sequence> + </complexType> + <complexType name="ErrorPropertyType"> + <sequence> + <element ref="qual:Error"/> + </sequence> + </complexType> + <element name="ErrorStatistics" substitutionGroup="gml:_Object" type="qual:ErrorStatisticsType"/> + <complexType name="ErrorStatisticsType"> + <sequence> + <element name="occurrences" type="integer"/> + <element maxOccurs="unbounded" minOccurs="0" name="error" type="qual:ErrorPropertyType"/> + </sequence> + </complexType> + <complexType name="ErrorStatisticsPropertyType"> + <sequence> + <element ref="qual:ErrorStatistics"/> + </sequence> + </complexType> + <simpleType name="ErrorTypeType"> + <restriction base="string"> + <enumeration value="GE_R_TOO_FEW_POINTS"/> + <enumeration value="GE_R_NOT_CLOSED"/> + <enumeration value="GE_R_CONSECUTIVE_POINTS_SAME"/> + <enumeration value="GE_R_SELF_INTERSECTION"/> + <enumeration value="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"/> + <enumeration value="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"/> + <enumeration value="GE_P_INTERIOR_DISCONNECTED"/> + <enumeration value="GE_P_INTERSECTING_RINGS"/> + <enumeration value="GE_P_HOLE_OUTSIDE"/> + <enumeration value="GE_P_ORIENTATION_RINGS_SAME"/> + <enumeration value="GE_P_INNER_RINGS_NESTED"/> + <enumeration value="GE_S_TOO_FEW_POLYGONS"/> + <enumeration value="GE_S_NOT_CLOSED"/> + <enumeration value="GE_S_NON_MANIFOLD_EDGE"/> + <enumeration value="GE_S_POLYGON_WRONG_ORIENTATION"/> + <enumeration value="GE_S_ALL_POLYGONS_WRONG_ORIENTATION"/> + <enumeration value="GE_S_NON_MANIFOLD_VERTEX"/> + <enumeration value="GE_S_SELF_INTERSECTION"/> + <enumeration value="GE_S_MULTIPLE_CONNECTED_COMPONENTS"/> + <enumeration value="SE_ATTRIBUTE_WRONG_VALUE"/> + <enumeration value="SE_ATTRIBUTE_MISSING"/> + </restriction> + </simpleType> + <element name="FeatureStatistics" substitutionGroup="gml:_Object" type="qual:FeatureStatisticsType"/> + <complexType name="FeatureStatisticsType"> + <sequence> + <element name="numChecked" type="integer"/> + <element name="numErrors" type="integer"/> + </sequence> + </complexType> + <complexType name="FeatureStatisticsPropertyType"> + <sequence> + <element ref="qual:FeatureStatistics"/> + </sequence> + </complexType> + <simpleType name="FeatureTypeType"> + <restriction base="string"> + <enumeration value="BUILDING"/> + <enumeration value="TRANSPORTATION"/> + <enumeration value="VEGETATION"/> + <enumeration value="BRIDGE"/> + <enumeration value="WATER"/> + <enumeration value="LAND"/> + </restriction> + </simpleType> + <element name="Filter" substitutionGroup="gml:_Object" type="qual:FilterType"/> + <complexType name="FilterType"> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="checking" type="qual:CheckingPropertyType"/> + </sequence> + </complexType> + <complexType name="FilterPropertyType"> + <sequence> + <element ref="qual:Filter"/> + </sequence> + </complexType> + <element name="GE_P_HOLE_OUTSIDE" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_HOLE_OUTSIDEType"/> + <complexType name="GE_P_HOLE_OUTSIDEType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence> + <element name="linearRingId" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_HOLE_OUTSIDEPropertyType"> + <sequence> + <element ref="qual:GE_P_HOLE_OUTSIDE"/> + </sequence> + </complexType> + <element name="GE_P_INNER_RINGS_NESTED" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_INNER_RINGS_NESTEDType"/> + <complexType name="GE_P_INNER_RINGS_NESTEDType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence> + <element name="linearRingId1" type="string"/> + <element name="linearRingId2" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_INNER_RINGS_NESTEDPropertyType"> + <sequence> + <element ref="qual:GE_P_INNER_RINGS_NESTED"/> + </sequence> + </complexType> + <element name="GE_P_INTERIOR_DISCONNECTED" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_INTERIOR_DISCONNECTEDType"/> + <complexType name="GE_P_INTERIOR_DISCONNECTEDType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_INTERIOR_DISCONNECTEDPropertyType"> + <sequence> + <element ref="qual:GE_P_INTERIOR_DISCONNECTED"/> + </sequence> + </complexType> + <element name="GE_P_INTERSECTING_RINGS" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_INTERSECTING_RINGSType"/> + <complexType name="GE_P_INTERSECTING_RINGSType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence> + <element name="linearRingId1" type="string"/> + <element name="linearRingId2" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_INTERSECTING_RINGSPropertyType"> + <sequence> + <element ref="qual:GE_P_INTERSECTING_RINGS"/> + </sequence> + </complexType> + <element name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEType"/> + <complexType name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence> + <element name="distance" type="gml:LengthType"/> + <element name="vertex" type="gml:DirectPositionType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEPropertyType"> + <sequence> + <element ref="qual:GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"/> + </sequence> + </complexType> + <element name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONType"/> + <complexType name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence> + <element name="deviation" type="gml:AngleType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONPropertyType"> + <sequence> + <element ref="qual:GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"/> + </sequence> + </complexType> + <element name="GE_P_ORIENTATION_RINGS_SAME" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_ORIENTATION_RINGS_SAMEType"/> + <complexType name="GE_P_ORIENTATION_RINGS_SAMEType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence> + <element name="linearRingId" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_ORIENTATION_RINGS_SAMEPropertyType"> + <sequence> + <element ref="qual:GE_P_ORIENTATION_RINGS_SAME"/> + </sequence> + </complexType> + <element name="GE_R_CONSECUTIVE_POINTS_SAME" substitutionGroup="qual:AbstractRingError" type="qual:GE_R_CONSECUTIVE_POINTS_SAMEType"/> + <complexType name="GE_R_CONSECUTIVE_POINTS_SAMEType"> + <complexContent> + <extension base="qual:AbstractRingErrorType"> + <sequence> + <element name="vertex1" type="gml:DirectPositionType"/> + <element name="vertex2" type="gml:DirectPositionType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_R_CONSECUTIVE_POINTS_SAMEPropertyType"> + <sequence> + <element ref="qual:GE_R_CONSECUTIVE_POINTS_SAME"/> + </sequence> + </complexType> + <element name="GE_R_NOT_CLOSED" substitutionGroup="qual:AbstractRingError" type="qual:GE_R_NOT_CLOSEDType"/> + <complexType name="GE_R_NOT_CLOSEDType"> + <complexContent> + <extension base="qual:AbstractRingErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="GE_R_NOT_CLOSEDPropertyType"> + <sequence> + <element ref="qual:GE_R_NOT_CLOSED"/> + </sequence> + </complexType> + <element name="GE_R_SELF_INTERSECTION" substitutionGroup="qual:AbstractRingError" type="qual:GE_R_SELF_INTERSECTIONType"/> + <complexType name="GE_R_SELF_INTERSECTIONType"> + <complexContent> + <extension base="qual:AbstractRingErrorType"> + <sequence> + <element name="type" type="string"/> + <element name="edge1" type="qual:EdgePropertyType"/> + <element name="edge2" type="qual:EdgePropertyType"/> + <element name="vertex" type="gml:DirectPositionType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_R_SELF_INTERSECTIONPropertyType"> + <sequence> + <element ref="qual:GE_R_SELF_INTERSECTION"/> + </sequence> + </complexType> + <element name="GE_R_TOO_FEW_POINTS" substitutionGroup="qual:AbstractRingError" type="qual:GE_R_TOO_FEW_POINTSType"/> + <complexType name="GE_R_TOO_FEW_POINTSType"> + <complexContent> + <extension base="qual:AbstractRingErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="GE_R_TOO_FEW_POINTSPropertyType"> + <sequence> + <element ref="qual:GE_R_TOO_FEW_POINTS"/> + </sequence> + </complexType> + <element name="GE_S_ALL_POLYGONS_WRONG_ORIENTATION" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_ALL_POLYGONS_WRONG_ORIENTATIONType"/> + <complexType name="GE_S_ALL_POLYGONS_WRONG_ORIENTATIONType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_ALL_POLYGONS_WRONG_ORIENTATIONPropertyType"> + <sequence> + <element ref="qual:GE_S_ALL_POLYGONS_WRONG_ORIENTATION"/> + </sequence> + </complexType> + <element name="GE_S_MULTIPLE_CONNECTED_COMPONENTS" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_MULTIPLE_CONNECTED_COMPONENTSType"/> + <complexType name="GE_S_MULTIPLE_CONNECTED_COMPONENTSType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence> + <element maxOccurs="unbounded" name="components" type="qual:ComponentListPropertyType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_MULTIPLE_CONNECTED_COMPONENTSPropertyType"> + <sequence> + <element ref="qual:GE_S_MULTIPLE_CONNECTED_COMPONENTS"/> + </sequence> + </complexType> + <element name="GE_S_NON_MANIFOLD_EDGE" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_NON_MANIFOLD_EDGEType"/> + <complexType name="GE_S_NON_MANIFOLD_EDGEType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence> + <element name="edges" type="qual:EdgeListPropertyType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_NON_MANIFOLD_EDGEPropertyType"> + <sequence> + <element ref="qual:GE_S_NON_MANIFOLD_EDGE"/> + </sequence> + </complexType> + <element name="GE_S_NON_MANIFOLD_VERTEX" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_NON_MANIFOLD_VERTEXType"/> + <complexType name="GE_S_NON_MANIFOLD_VERTEXType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence> + <element name="vertex" type="gml:DirectPositionType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_NON_MANIFOLD_VERTEXPropertyType"> + <sequence> + <element ref="qual:GE_S_NON_MANIFOLD_VERTEX"/> + </sequence> + </complexType> + <element name="GE_S_NOT_CLOSED" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_NOT_CLOSEDType"/> + <complexType name="GE_S_NOT_CLOSEDType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence> + <element name="edges" type="qual:EdgeListPropertyType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_NOT_CLOSEDPropertyType"> + <sequence> + <element ref="qual:GE_S_NOT_CLOSED"/> + </sequence> + </complexType> + <element name="GE_S_POLYGON_WRONG_ORIENTATION" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_POLYGON_WRONG_ORIENTATIONType"/> + <complexType name="GE_S_POLYGON_WRONG_ORIENTATIONType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence> + <element name="edges" type="qual:EdgeListPropertyType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_POLYGON_WRONG_ORIENTATIONPropertyType"> + <sequence> + <element ref="qual:GE_S_POLYGON_WRONG_ORIENTATION"/> + </sequence> + </complexType> + <element name="GE_S_SELF_INTERSECTION" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_SELF_INTERSECTIONType"/> + <complexType name="GE_S_SELF_INTERSECTIONType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence> + <element name="polygonId1" type="string"/> + <element name="polygonId2" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_SELF_INTERSECTIONPropertyType"> + <sequence> + <element ref="qual:GE_S_SELF_INTERSECTION"/> + </sequence> + </complexType> + <element name="GE_S_TOO_FEW_POLYGONS" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_TOO_FEW_POLYGONSType"/> + <complexType name="GE_S_TOO_FEW_POLYGONSType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_TOO_FEW_POLYGONSPropertyType"> + <sequence> + <element ref="qual:GE_S_TOO_FEW_POLYGONS"/> + </sequence> + </complexType> + <element name="GlobalParameters" substitutionGroup="gml:_Object" type="qual:GlobalParametersType"/> + <complexType name="GlobalParametersType"> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="parameter" type="qual:ParameterPropertyType"/> + </sequence> + </complexType> + <complexType name="GlobalParametersPropertyType"> + <sequence> + <element ref="qual:GlobalParameters"/> + </sequence> + </complexType> + <element name="Parameter" substitutionGroup="gml:_Object" type="qual:ParameterType"/> + <complexType name="ParameterType"> + <sequence> + <element name="name" type="string"/> + <element name="uom" type="string"/> + <element name="value" type="string"/> + </sequence> + </complexType> + <complexType name="ParameterPropertyType"> + <sequence> + <element ref="qual:Parameter"/> + </sequence> + </complexType> + <element name="PolygonIdList" substitutionGroup="gml:_Object" type="qual:PolygonIdListType"/> + <complexType name="PolygonIdListType"> + <sequence> + <element name="polygonId" type="string"/> + </sequence> + </complexType> + <complexType name="PolygonIdListPropertyType"> + <sequence> + <element ref="qual:PolygonIdList"/> + </sequence> + </complexType> + <element name="Requirement" substitutionGroup="gml:_Object" type="qual:RequirementType"/> + <complexType name="RequirementType"> + <sequence> + <element name="enabled" type="boolean"/> + <element name="requirementType" type="qual:RequirementTypeType"/> + <element maxOccurs="unbounded" minOccurs="0" name="parameter" type="qual:ParameterPropertyType"/> + </sequence> + </complexType> + <complexType name="RequirementPropertyType"> + <sequence> + <element ref="qual:Requirement"/> + </sequence> + </complexType> + <simpleType name="RequirementTypeType"> + <restriction base="string"> + <enumeration value="R_GE_R_TOO_FEW_POINTS"/> + <enumeration value="R_GE_R_NOT_CLOSED"/> + <enumeration value="R_GE_R_CONSECUTIVE_POINTS_SAME"/> + <enumeration value="R_GE_R_SELF_INTERSECTION"/> + <enumeration value="R_GE_P_NON_PLANAR"/> + <enumeration value="R_GE_P_INTERIOR_DISCONNECTED"/> + <enumeration value="R_GE_P_INTERSECTING_RINGS"/> + <enumeration value="R_GE_P_HOLE_OUTSIDE"/> + <enumeration value="R_GE_P_ORIENTATION_RINGS_SAME"/> + <enumeration value="R_GE_P_INNER_RINGS_NESTED"/> + <enumeration value="R_GE_S_TOO_FEW_POLYGONS"/> + <enumeration value="R_GE_S_NOT_CLOSED"/> + <enumeration value="R_GE_S_NON_MANIFOLD_EDGE"/> + <enumeration value="R_GE_S_POLYGON_WRONG_ORIENTATION"/> + <enumeration value="R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION"/> + <enumeration value="R_GE_S_NON_MANIFOLD_VERTEX"/> + <enumeration value="R_GE_S_SELF_INTERSECTION"/> + <enumeration value="R_GE_S_MULTIPLE_CONNECTED_COMPONENTS"/> + <enumeration value="R_SE_ATTRIBUTES_EXISTING"/> + <enumeration value="R_SE_ATTRIBUTES_CORRECT"/> + </restriction> + </simpleType> + <simpleType name="ResultTypeType"> + <restriction base="string"> + <enumeration value="OK"/> + <enumeration value="ERROR"/> + <enumeration value="NOT_CHECKED"/> + </restriction> + </simpleType> + <element name="SEM_ATTRIBUTE_MISSING" substitutionGroup="qual:AbstractSemanticError" type="qual:SEM_ATTRIBUTE_MISSINGType"/> + <complexType name="SEM_ATTRIBUTE_MISSINGType"> + <complexContent> + <extension base="qual:AbstractSemanticErrorType"> + <sequence> + <element name="childId" type="string"/> + <element name="attributeName" type="string"/> + <element name="generic" type="boolean"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="SEM_ATTRIBUTE_MISSINGPropertyType"> + <sequence> + <element ref="qual:SEM_ATTRIBUTE_MISSING"/> + </sequence> + </complexType> + <element name="SEM_ATTRIBUTE_WRONG_VALUE" substitutionGroup="qual:AbstractSemanticError" type="qual:SEM_ATTRIBUTE_WRONG_VALUEType"/> + <complexType name="SEM_ATTRIBUTE_WRONG_VALUEType"> + <complexContent> + <extension base="qual:AbstractSemanticErrorType"> + <sequence> + <element name="childId" type="string"/> + <element name="attributeName" type="string"/> + <element name="generic" type="boolean"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="SEM_ATTRIBUTE_WRONG_VALUEPropertyType"> + <sequence> + <element ref="qual:SEM_ATTRIBUTE_WRONG_VALUE"/> + </sequence> + </complexType> + <element name="Statistics" substitutionGroup="gml:_Object" type="qual:StatisticsType"/> + <complexType name="StatisticsType"> + <sequence> + <element name="numErrorBuildings" type="qual:FeatureStatisticsPropertyType"/> + <element name="numErrorVegetation" type="qual:FeatureStatisticsPropertyType"/> + <element name="numErrorLandObjects" type="qual:FeatureStatisticsPropertyType"/> + <element name="numErrorBridgeObjects" type="qual:FeatureStatisticsPropertyType"/> + <element name="numErrorWaterObjects" type="qual:FeatureStatisticsPropertyType"/> + <element name="numErrorTransportation" type="qual:FeatureStatisticsPropertyType"/> + <element name="errorStatistics" type="qual:ErrorStatisticsPropertyType"/> + </sequence> + </complexType> + <complexType name="StatisticsPropertyType"> + <sequence> + <element ref="qual:Statistics"/> + </sequence> + </complexType> + <element name="Validation" substitutionGroup="gml:_Feature" type="qual:ValidationType"/> + <complexType name="ValidationType"> + <complexContent> + <extension base="gml:AbstractFeatureType"> + <sequence> + <element name="validationDate" type="dateTime"/> + <element name="validationSoftware" type="string"/> + <element minOccurs="0" name="statistics" type="qual:StatisticsPropertyType"/> + <element name="validationPlan" type="qual:ValidationPlanPropertyType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="ValidationPropertyType"> + <sequence minOccurs="0"> + <element ref="qual:Validation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="ValidationPlan" substitutionGroup="gml:_Object" type="qual:ValidationPlanType"/> + <complexType name="ValidationPlanType"> + <sequence> + <element name="globalParameters" type="qual:GlobalParametersPropertyType"/> + <element name="filter" type="qual:FilterPropertyType"/> + <element name="requirement" type="qual:RequirementPropertyType"/> + </sequence> + </complexType> + <complexType name="ValidationPlanPropertyType"> + <sequence> + <element ref="qual:ValidationPlan"/> + </sequence> + </complexType> + <element name="ValidationResult" substitutionGroup="gml:_Object" type="qual:ValidationResultType"/> + <complexType name="ValidationResultType"> + <sequence> + <element name="validationPlanID" type="qual:ValidationPropertyType"/> + <element maxOccurs="unbounded" minOccurs="0" name="error" type="qual:AbstractErrorPropertyType"/> + <element name="resultType" type="qual:ResultTypeType"/> + </sequence> + </complexType> + <complexType name="ValidationResultPropertyType"> + <sequence> + <element ref="qual:ValidationResult"/> + </sequence> + </complexType> + <element name="validationResult" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="qual:ValidationResultPropertyType"/> +</schema> diff --git a/citygml4j-quality-ade/resources/ade-xjc/run_ade-xjc b/citygml4j-quality-ade/resources/ade-xjc/run_ade-xjc new file mode 100644 index 0000000000000000000000000000000000000000..a2d372deddf7a5222736052a399b0ed7e81a7a26 --- /dev/null +++ b/citygml4j-quality-ade/resources/ade-xjc/run_ade-xjc @@ -0,0 +1,14 @@ +#!/usr/bin/env sh + +####################################################### +## +## UN*X start script for converting the Quality ADE +## +####################################################### + +OUTPUT="src-gen" +BINDING="binding.xjb" +SCHEMA="qualityAde.xsd" +PLUGINS="-Xnamespace-prefix" + +exec ../ade-xjc $PLUGINS -clean -output $OUTPUT -binding $BINDING $SCHEMA \ No newline at end of file diff --git a/citygml4j-quality-ade/resources/ade-xjc/run_ade-xjc.bat b/citygml4j-quality-ade/resources/ade-xjc/run_ade-xjc.bat new file mode 100644 index 0000000000000000000000000000000000000000..4715c13802d7ca5095a424d1b7489a6ddbbc8582 --- /dev/null +++ b/citygml4j-quality-ade/resources/ade-xjc/run_ade-xjc.bat @@ -0,0 +1,13 @@ +@if "%DEBUG%" == "" @echo off +@rem ####################################################### +@rem +@rem Windows start script for converting the Quality ADE +@rem +@rem ####################################################### + +set OUTPUT="src-gen" +set BINDING="binding.xjb" +set SCHEMA="qualityADE.xsd" +set PLUGINS="-Xnamespace-prefix" + +call ..\ade-xjc.bat %PLUGINS% -clean -output %OUTPUT% -binding %BINDING% %SCHEMA% \ No newline at end of file diff --git a/citygml4j-quality-ade/settings.gradle b/citygml4j-quality-ade/settings.gradle new file mode 100644 index 0000000000000000000000000000000000000000..df7ff64bbeaef67cdbe025a2474736f74e1467d8 --- /dev/null +++ b/citygml4j-quality-ade/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'citygml4j-quality-ade' \ No newline at end of file diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractErrorPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractErrorPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..6c58f374b8f849b1f33915b00905eee8b11afe0b --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractErrorPropertyType.java @@ -0,0 +1,126 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für AbstractErrorPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="AbstractErrorPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractError"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AbstractErrorPropertyType", propOrder = { + "abstractError" +}) +public class AbstractErrorPropertyType { + + @XmlElementRef(name = "AbstractError", namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", type = JAXBElement.class) + protected JAXBElement<? extends AbstractErrorType> abstractError; + + /** + * Ruft den Wert der abstractError-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >} + * {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >} + * {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >} + * {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidAllPolygonsWrongOrientationType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNonManifoldVertexType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidMultipleConnectedComponentsType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidPolygonWrongOrientationType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidTooFewPolygonsType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNonManifoldEdgeType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidSelfIntersectionType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNotClosedType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractSolidErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractGeometryErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link SemanticAttributeMissingType }{@code >} + * {@link JAXBElement }{@code <}{@link SemanticAttributeWrongValueType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractSemanticErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractErrorType }{@code >} + * + */ + public JAXBElement<? extends AbstractErrorType> getAbstractError() { + return abstractError; + } + + /** + * Legt den Wert der abstractError-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >} + * {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >} + * {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >} + * {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidAllPolygonsWrongOrientationType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNonManifoldVertexType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidMultipleConnectedComponentsType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidPolygonWrongOrientationType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidTooFewPolygonsType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNonManifoldEdgeType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidSelfIntersectionType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNotClosedType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractSolidErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractGeometryErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link SemanticAttributeMissingType }{@code >} + * {@link JAXBElement }{@code <}{@link SemanticAttributeWrongValueType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractSemanticErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractErrorType }{@code >} + * + */ + public void setAbstractError(JAXBElement<? extends AbstractErrorType> value) { + this.abstractError = value; + } + + public boolean isSetAbstractError() { + return (this.abstractError!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractErrorType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractErrorType.java new file mode 100644 index 0000000000000000000000000000000000000000..a6273a8eebe998d7aa839288ff6333e1763d22dd --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractErrorType.java @@ -0,0 +1,44 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für AbstractErrorType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="AbstractErrorType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AbstractErrorType") +@XmlSeeAlso({ + AbstractGeometryErrorType.class, + AbstractSemanticErrorType.class +}) +public abstract class AbstractErrorType { + + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractGeometryErrorPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractGeometryErrorPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..1d3a97587862facde89e42b76cf70a8e0e940564 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractGeometryErrorPropertyType.java @@ -0,0 +1,118 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für AbstractGeometryErrorPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="AbstractGeometryErrorPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractGeometryError"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AbstractGeometryErrorPropertyType", propOrder = { + "abstractGeometryError" +}) +public class AbstractGeometryErrorPropertyType { + + @XmlElementRef(name = "AbstractGeometryError", namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", type = JAXBElement.class) + protected JAXBElement<? extends AbstractGeometryErrorType> abstractGeometryError; + + /** + * Ruft den Wert der abstractGeometryError-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >} + * {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >} + * {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >} + * {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidAllPolygonsWrongOrientationType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNonManifoldVertexType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidMultipleConnectedComponentsType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidPolygonWrongOrientationType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidTooFewPolygonsType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNonManifoldEdgeType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidSelfIntersectionType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNotClosedType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractSolidErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractGeometryErrorType }{@code >} + * + */ + public JAXBElement<? extends AbstractGeometryErrorType> getAbstractGeometryError() { + return abstractGeometryError; + } + + /** + * Legt den Wert der abstractGeometryError-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >} + * {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >} + * {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >} + * {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidAllPolygonsWrongOrientationType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNonManifoldVertexType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidMultipleConnectedComponentsType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidPolygonWrongOrientationType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidTooFewPolygonsType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNonManifoldEdgeType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidSelfIntersectionType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNotClosedType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractSolidErrorType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractGeometryErrorType }{@code >} + * + */ + public void setAbstractGeometryError(JAXBElement<? extends AbstractGeometryErrorType> value) { + this.abstractGeometryError = value; + } + + public boolean isSetAbstractGeometryError() { + return (this.abstractGeometryError!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractGeometryErrorType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractGeometryErrorType.java new file mode 100644 index 0000000000000000000000000000000000000000..ba1da5d3082de4dba9fc3ff7c7ef54e6b1c55997 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractGeometryErrorType.java @@ -0,0 +1,47 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für AbstractGeometryErrorType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="AbstractGeometryErrorType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractErrorType"> + * <sequence> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AbstractGeometryErrorType") +@XmlSeeAlso({ + AbstractPolygonErrorType.class, + AbstractRingErrorType.class, + AbstractSolidErrorType.class +}) +public abstract class AbstractGeometryErrorType + extends AbstractErrorType +{ + + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractPolygonErrorPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractPolygonErrorPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..9893088f190d4678c1caf28786e52b1206859356 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractPolygonErrorPropertyType.java @@ -0,0 +1,88 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für AbstractPolygonErrorPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="AbstractPolygonErrorPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractPolygonError"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AbstractPolygonErrorPropertyType", propOrder = { + "abstractPolygonError" +}) +public class AbstractPolygonErrorPropertyType { + + @XmlElementRef(name = "AbstractPolygonError", namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", type = JAXBElement.class) + protected JAXBElement<? extends AbstractPolygonErrorType> abstractPolygonError; + + /** + * Ruft den Wert der abstractPolygonError-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >} + * + */ + public JAXBElement<? extends AbstractPolygonErrorType> getAbstractPolygonError() { + return abstractPolygonError; + } + + /** + * Legt den Wert der abstractPolygonError-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >} + * {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >} + * + */ + public void setAbstractPolygonError(JAXBElement<? extends AbstractPolygonErrorType> value) { + this.abstractPolygonError = value; + } + + public boolean isSetAbstractPolygonError() { + return (this.abstractPolygonError!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractPolygonErrorType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractPolygonErrorType.java new file mode 100644 index 0000000000000000000000000000000000000000..a20ec85ee4957893ac7cc66da8ad93f2ee20a83a --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractPolygonErrorType.java @@ -0,0 +1,85 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für AbstractPolygonErrorType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="AbstractPolygonErrorType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractGeometryErrorType"> + * <sequence> + * <element name="polygonId" type="{http://www.w3.org/2001/XMLSchema}string"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AbstractPolygonErrorType", propOrder = { + "polygonId" +}) +@XmlSeeAlso({ + PolygonHoleOutsideType.class, + PolygonInnerRingsNestedType.class, + PolygonInteriorDisconnectedType.class, + PolygonIntersectingRingsType.class, + PolygonNonPlanarDistancePlaneType.class, + PolygonNonPlanarNormalsDeviationType.class, + PolygonOrientationRingsSameType.class +}) +public abstract class AbstractPolygonErrorType + extends AbstractGeometryErrorType +{ + + @XmlElement(required = true) + protected String polygonId; + + /** + * Ruft den Wert der polygonId-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getPolygonId() { + return polygonId; + } + + /** + * Legt den Wert der polygonId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setPolygonId(String value) { + this.polygonId = value; + } + + public boolean isSetPolygonId() { + return (this.polygonId!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractRingErrorPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractRingErrorPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..81b2464d652ae1d39523a2d1cc20503519ec19da --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractRingErrorPropertyType.java @@ -0,0 +1,82 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für AbstractRingErrorPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="AbstractRingErrorPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractRingError"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AbstractRingErrorPropertyType", propOrder = { + "abstractRingError" +}) +public class AbstractRingErrorPropertyType { + + @XmlElementRef(name = "AbstractRingError", namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", type = JAXBElement.class) + protected JAXBElement<? extends AbstractRingErrorType> abstractRingError; + + /** + * Ruft den Wert der abstractRingError-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >} + * {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >} + * {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >} + * {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >} + * + */ + public JAXBElement<? extends AbstractRingErrorType> getAbstractRingError() { + return abstractRingError; + } + + /** + * Legt den Wert der abstractRingError-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >} + * {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >} + * {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >} + * {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >} + * + */ + public void setAbstractRingError(JAXBElement<? extends AbstractRingErrorType> value) { + this.abstractRingError = value; + } + + public boolean isSetAbstractRingError() { + return (this.abstractRingError!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractRingErrorType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractRingErrorType.java new file mode 100644 index 0000000000000000000000000000000000000000..288e95688385ec07bacd2d65e0712497515b4ee3 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractRingErrorType.java @@ -0,0 +1,82 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für AbstractRingErrorType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="AbstractRingErrorType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractGeometryErrorType"> + * <sequence> + * <element name="linearRingId" type="{http://www.w3.org/2001/XMLSchema}string"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AbstractRingErrorType", propOrder = { + "linearRingId" +}) +@XmlSeeAlso({ + RingConsecutivePointsSameType.class, + RingNotClosedType.class, + RingSelfIntersectionType.class, + RingTooFewPointsType.class +}) +public abstract class AbstractRingErrorType + extends AbstractGeometryErrorType +{ + + @XmlElement(required = true) + protected String linearRingId; + + /** + * Ruft den Wert der linearRingId-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getLinearRingId() { + return linearRingId; + } + + /** + * Legt den Wert der linearRingId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setLinearRingId(String value) { + this.linearRingId = value; + } + + public boolean isSetLinearRingId() { + return (this.linearRingId!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractSemanticErrorPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractSemanticErrorPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..6382a118ef395b79443f52cdbd251e33f706e3f2 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractSemanticErrorPropertyType.java @@ -0,0 +1,78 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für AbstractSemanticErrorPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="AbstractSemanticErrorPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractSemanticError"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AbstractSemanticErrorPropertyType", propOrder = { + "abstractSemanticError" +}) +public class AbstractSemanticErrorPropertyType { + + @XmlElementRef(name = "AbstractSemanticError", namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", type = JAXBElement.class) + protected JAXBElement<? extends AbstractSemanticErrorType> abstractSemanticError; + + /** + * Ruft den Wert der abstractSemanticError-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link SemanticAttributeMissingType }{@code >} + * {@link JAXBElement }{@code <}{@link SemanticAttributeWrongValueType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractSemanticErrorType }{@code >} + * + */ + public JAXBElement<? extends AbstractSemanticErrorType> getAbstractSemanticError() { + return abstractSemanticError; + } + + /** + * Legt den Wert der abstractSemanticError-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link SemanticAttributeMissingType }{@code >} + * {@link JAXBElement }{@code <}{@link SemanticAttributeWrongValueType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractSemanticErrorType }{@code >} + * + */ + public void setAbstractSemanticError(JAXBElement<? extends AbstractSemanticErrorType> value) { + this.abstractSemanticError = value; + } + + public boolean isSetAbstractSemanticError() { + return (this.abstractSemanticError!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractSemanticErrorType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractSemanticErrorType.java new file mode 100644 index 0000000000000000000000000000000000000000..95b57f664a219351e298377b9d2aa9ece19c2aec --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractSemanticErrorType.java @@ -0,0 +1,46 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für AbstractSemanticErrorType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="AbstractSemanticErrorType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractErrorType"> + * <sequence> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AbstractSemanticErrorType") +@XmlSeeAlso({ + SemanticAttributeMissingType.class, + SemanticAttributeWrongValueType.class +}) +public abstract class AbstractSemanticErrorType + extends AbstractErrorType +{ + + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractSolidErrorPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractSolidErrorPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..fd5fb152fb7e2d9e3f7fe5d2dcaa559228bd34f3 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractSolidErrorPropertyType.java @@ -0,0 +1,90 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElementRef; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für AbstractSolidErrorPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="AbstractSolidErrorPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractSolidError"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AbstractSolidErrorPropertyType", propOrder = { + "abstractSolidError" +}) +public class AbstractSolidErrorPropertyType { + + @XmlElementRef(name = "AbstractSolidError", namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", type = JAXBElement.class) + protected JAXBElement<? extends AbstractSolidErrorType> abstractSolidError; + + /** + * Ruft den Wert der abstractSolidError-Eigenschaft ab. + * + * @return + * possible object is + * {@link JAXBElement }{@code <}{@link SolidAllPolygonsWrongOrientationType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNonManifoldVertexType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidMultipleConnectedComponentsType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidPolygonWrongOrientationType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidTooFewPolygonsType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNonManifoldEdgeType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidSelfIntersectionType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNotClosedType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractSolidErrorType }{@code >} + * + */ + public JAXBElement<? extends AbstractSolidErrorType> getAbstractSolidError() { + return abstractSolidError; + } + + /** + * Legt den Wert der abstractSolidError-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link JAXBElement }{@code <}{@link SolidAllPolygonsWrongOrientationType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNonManifoldVertexType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidMultipleConnectedComponentsType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidPolygonWrongOrientationType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidTooFewPolygonsType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNonManifoldEdgeType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidSelfIntersectionType }{@code >} + * {@link JAXBElement }{@code <}{@link SolidNotClosedType }{@code >} + * {@link JAXBElement }{@code <}{@link AbstractSolidErrorType }{@code >} + * + */ + public void setAbstractSolidError(JAXBElement<? extends AbstractSolidErrorType> value) { + this.abstractSolidError = value; + } + + public boolean isSetAbstractSolidError() { + return (this.abstractSolidError!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractSolidErrorType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractSolidErrorType.java new file mode 100644 index 0000000000000000000000000000000000000000..8dc01375e37e7a150f7d64b8ce157720752a01c6 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/AbstractSolidErrorType.java @@ -0,0 +1,86 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSeeAlso; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für AbstractSolidErrorType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="AbstractSolidErrorType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractGeometryErrorType"> + * <sequence> + * <element name="geometryId" type="{http://www.w3.org/2001/XMLSchema}string"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "AbstractSolidErrorType", propOrder = { + "geometryId" +}) +@XmlSeeAlso({ + SolidAllPolygonsWrongOrientationType.class, + SolidMultipleConnectedComponentsType.class, + SolidNonManifoldEdgeType.class, + SolidNonManifoldVertexType.class, + SolidNotClosedType.class, + SolidPolygonWrongOrientationType.class, + SolidSelfIntersectionType.class, + SolidTooFewPolygonsType.class +}) +public abstract class AbstractSolidErrorType + extends AbstractGeometryErrorType +{ + + @XmlElement(required = true) + protected String geometryId; + + /** + * Ruft den Wert der geometryId-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getGeometryId() { + return geometryId; + } + + /** + * Legt den Wert der geometryId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setGeometryId(String value) { + this.geometryId = value; + } + + public boolean isSetGeometryId() { + return (this.geometryId!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/CheckingPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/CheckingPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..ffdd5e6149a3aae68963a92db408c2219ecfc6e4 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/CheckingPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für CheckingPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="CheckingPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}Checking"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CheckingPropertyType", propOrder = { + "checking" +}) +public class CheckingPropertyType { + + @XmlElement(name = "Checking", required = true) + protected CheckingType checking; + + /** + * Ruft den Wert der checking-Eigenschaft ab. + * + * @return + * possible object is + * {@link CheckingType } + * + */ + public CheckingType getChecking() { + return checking; + } + + /** + * Legt den Wert der checking-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link CheckingType } + * + */ + public void setChecking(CheckingType value) { + this.checking = value; + } + + public boolean isSetChecking() { + return (this.checking!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/CheckingType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/CheckingType.java new file mode 100644 index 0000000000000000000000000000000000000000..3d17587cbb48196d5db31b85105733c1f000a875 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/CheckingType.java @@ -0,0 +1,75 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für CheckingType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="CheckingType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="featureType" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}FeatureTypeType"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "CheckingType", propOrder = { + "featureType" +}) +public class CheckingType { + + @XmlElement(required = true) + @XmlSchemaType(name = "string") + protected FeatureTypeType featureType; + + /** + * Ruft den Wert der featureType-Eigenschaft ab. + * + * @return + * possible object is + * {@link FeatureTypeType } + * + */ + public FeatureTypeType getFeatureType() { + return featureType; + } + + /** + * Legt den Wert der featureType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link FeatureTypeType } + * + */ + public void setFeatureType(FeatureTypeType value) { + this.featureType = value; + } + + public boolean isSetFeatureType() { + return (this.featureType!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ComponentListPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ComponentListPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..a08f672efa62a43f32dbaa8890b27e8747d802a0 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ComponentListPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ComponentListPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ComponentListPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}ComponentList"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ComponentListPropertyType", propOrder = { + "componentList" +}) +public class ComponentListPropertyType { + + @XmlElement(name = "ComponentList", required = true) + protected ComponentListType componentList; + + /** + * Ruft den Wert der componentList-Eigenschaft ab. + * + * @return + * possible object is + * {@link ComponentListType } + * + */ + public ComponentListType getComponentList() { + return componentList; + } + + /** + * Legt den Wert der componentList-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ComponentListType } + * + */ + public void setComponentList(ComponentListType value) { + this.componentList = value; + } + + public boolean isSetComponentList() { + return (this.componentList!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ComponentListType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ComponentListType.java new file mode 100644 index 0000000000000000000000000000000000000000..65317a27103fe7fb945a0ac781dcd4eef0b470df --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ComponentListType.java @@ -0,0 +1,84 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ComponentListType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ComponentListType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="component" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}PolygonIdListPropertyType" maxOccurs="unbounded"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ComponentListType", propOrder = { + "component" +}) +public class ComponentListType { + + @XmlElement(required = true) + protected List<PolygonIdListPropertyType> component; + + /** + * Gets the value of the component property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the component property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getComponent().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link PolygonIdListPropertyType } + * + * + */ + public List<PolygonIdListPropertyType> getComponent() { + if (component == null) { + component = new ArrayList<PolygonIdListPropertyType>(); + } + return this.component; + } + + public boolean isSetComponent() { + return ((this.component!= null)&&(!this.component.isEmpty())); + } + + public void unsetComponent() { + this.component = null; + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/EdgeListPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/EdgeListPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..457781c37e6a0a14cfdca2a4c0526f94e7ccedd8 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/EdgeListPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für EdgeListPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="EdgeListPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}EdgeList"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EdgeListPropertyType", propOrder = { + "edgeList" +}) +public class EdgeListPropertyType { + + @XmlElement(name = "EdgeList", required = true) + protected EdgeListType edgeList; + + /** + * Ruft den Wert der edgeList-Eigenschaft ab. + * + * @return + * possible object is + * {@link EdgeListType } + * + */ + public EdgeListType getEdgeList() { + return edgeList; + } + + /** + * Legt den Wert der edgeList-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link EdgeListType } + * + */ + public void setEdgeList(EdgeListType value) { + this.edgeList = value; + } + + public boolean isSetEdgeList() { + return (this.edgeList!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/EdgeListType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/EdgeListType.java new file mode 100644 index 0000000000000000000000000000000000000000..ce06b8ae4ba6fea3260f128a2e2bcce750bbe02d --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/EdgeListType.java @@ -0,0 +1,84 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für EdgeListType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="EdgeListType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="edge" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}EdgePropertyType" maxOccurs="unbounded"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EdgeListType", propOrder = { + "edge" +}) +public class EdgeListType { + + @XmlElement(required = true) + protected List<EdgePropertyType> edge; + + /** + * Gets the value of the edge property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the edge property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getEdge().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link EdgePropertyType } + * + * + */ + public List<EdgePropertyType> getEdge() { + if (edge == null) { + edge = new ArrayList<EdgePropertyType>(); + } + return this.edge; + } + + public boolean isSetEdge() { + return ((this.edge!= null)&&(!this.edge.isEmpty())); + } + + public void unsetEdge() { + this.edge = null; + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/EdgePropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/EdgePropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..b50124b0bc9e5922d1983ab60337d885875527db --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/EdgePropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für EdgePropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="EdgePropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}Edge"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EdgePropertyType", propOrder = { + "edge" +}) +public class EdgePropertyType { + + @XmlElement(name = "Edge", required = true) + protected EdgeType edge; + + /** + * Ruft den Wert der edge-Eigenschaft ab. + * + * @return + * possible object is + * {@link EdgeType } + * + */ + public EdgeType getEdge() { + return edge; + } + + /** + * Legt den Wert der edge-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link EdgeType } + * + */ + public void setEdge(EdgeType value) { + this.edge = value; + } + + public boolean isSetEdge() { + return (this.edge!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/EdgeType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/EdgeType.java new file mode 100644 index 0000000000000000000000000000000000000000..74404561b5344d6868a707fe35dcb27534edcf65 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/EdgeType.java @@ -0,0 +1,106 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import net.opengis.gml.DirectPositionType; + + +/** + * <p>Java-Klasse für EdgeType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="EdgeType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="from" type="{http://www.opengis.net/gml}DirectPositionType"/> + * <element name="to" type="{http://www.opengis.net/gml}DirectPositionType"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "EdgeType", propOrder = { + "from", + "to" +}) +public class EdgeType { + + @XmlElement(required = true) + protected DirectPositionType from; + @XmlElement(required = true) + protected DirectPositionType to; + + /** + * Ruft den Wert der from-Eigenschaft ab. + * + * @return + * possible object is + * {@link DirectPositionType } + * + */ + public DirectPositionType getFrom() { + return from; + } + + /** + * Legt den Wert der from-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DirectPositionType } + * + */ + public void setFrom(DirectPositionType value) { + this.from = value; + } + + public boolean isSetFrom() { + return (this.from!= null); + } + + /** + * Ruft den Wert der to-Eigenschaft ab. + * + * @return + * possible object is + * {@link DirectPositionType } + * + */ + public DirectPositionType getTo() { + return to; + } + + /** + * Legt den Wert der to-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DirectPositionType } + * + */ + public void setTo(DirectPositionType value) { + this.to = value; + } + + public boolean isSetTo() { + return (this.to!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..b13439d475b5a22d0e4a1fcbc5e11314fcb3ae22 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ErrorPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ErrorPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}Error"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ErrorPropertyType", propOrder = { + "error" +}) +public class ErrorPropertyType { + + @XmlElement(name = "Error", required = true) + protected ErrorType error; + + /** + * Ruft den Wert der error-Eigenschaft ab. + * + * @return + * possible object is + * {@link ErrorType } + * + */ + public ErrorType getError() { + return error; + } + + /** + * Legt den Wert der error-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ErrorType } + * + */ + public void setError(ErrorType value) { + this.error = value; + } + + public boolean isSetError() { + return (this.error!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorStatisticsPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorStatisticsPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..0ce62482f393d61e79e537d631fb54cd6eff2714 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorStatisticsPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ErrorStatisticsPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ErrorStatisticsPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}ErrorStatistics"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ErrorStatisticsPropertyType", propOrder = { + "errorStatistics" +}) +public class ErrorStatisticsPropertyType { + + @XmlElement(name = "ErrorStatistics", required = true) + protected ErrorStatisticsType errorStatistics; + + /** + * Ruft den Wert der errorStatistics-Eigenschaft ab. + * + * @return + * possible object is + * {@link ErrorStatisticsType } + * + */ + public ErrorStatisticsType getErrorStatistics() { + return errorStatistics; + } + + /** + * Legt den Wert der errorStatistics-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ErrorStatisticsType } + * + */ + public void setErrorStatistics(ErrorStatisticsType value) { + this.errorStatistics = value; + } + + public boolean isSetErrorStatistics() { + return (this.errorStatistics!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorStatisticsType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorStatisticsType.java new file mode 100644 index 0000000000000000000000000000000000000000..a1c2f9b9e772a751923f0973714d85e2b275f3df --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorStatisticsType.java @@ -0,0 +1,116 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ErrorStatisticsType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ErrorStatisticsType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="occurrences" type="{http://www.w3.org/2001/XMLSchema}integer"/> + * <element name="error" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}ErrorPropertyType" maxOccurs="unbounded" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ErrorStatisticsType", propOrder = { + "occurrences", + "error" +}) +public class ErrorStatisticsType { + + @XmlElement(required = true) + protected BigInteger occurrences; + protected List<ErrorPropertyType> error; + + /** + * Ruft den Wert der occurrences-Eigenschaft ab. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getOccurrences() { + return occurrences; + } + + /** + * Legt den Wert der occurrences-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setOccurrences(BigInteger value) { + this.occurrences = value; + } + + public boolean isSetOccurrences() { + return (this.occurrences!= null); + } + + /** + * Gets the value of the error property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the error property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getError().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link ErrorPropertyType } + * + * + */ + public List<ErrorPropertyType> getError() { + if (error == null) { + error = new ArrayList<ErrorPropertyType>(); + } + return this.error; + } + + public boolean isSetError() { + return ((this.error!= null)&&(!this.error.isEmpty())); + } + + public void unsetError() { + this.error = null; + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorType.java new file mode 100644 index 0000000000000000000000000000000000000000..2d7980ebf0f87bba01b67b687a0d12cc3e492d6d --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorType.java @@ -0,0 +1,75 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ErrorType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ErrorType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="name" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}ErrorTypeType"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ErrorType", propOrder = { + "name" +}) +public class ErrorType { + + @XmlElement(required = true) + @XmlSchemaType(name = "string") + protected ErrorTypeType name; + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link ErrorTypeType } + * + */ + public ErrorTypeType getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ErrorTypeType } + * + */ + public void setName(ErrorTypeType value) { + this.name = value; + } + + public boolean isSetName() { + return (this.name!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorTypeType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorTypeType.java new file mode 100644 index 0000000000000000000000000000000000000000..e79180a02bb8f7a5619e23baacf155b81d867977 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorTypeType.java @@ -0,0 +1,115 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ErrorTypeType. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * <p> + * <pre> + * <simpleType name="ErrorTypeType"> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * <enumeration value="GE_R_TOO_FEW_POINTS"/> + * <enumeration value="GE_R_NOT_CLOSED"/> + * <enumeration value="GE_R_CONSECUTIVE_POINTS_SAME"/> + * <enumeration value="GE_R_SELF_INTERSECTION"/> + * <enumeration value="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"/> + * <enumeration value="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"/> + * <enumeration value="GE_P_INTERIOR_DISCONNECTED"/> + * <enumeration value="GE_P_INTERSECTING_RINGS"/> + * <enumeration value="GE_P_HOLE_OUTSIDE"/> + * <enumeration value="GE_P_ORIENTATION_RINGS_SAME"/> + * <enumeration value="GE_P_INNER_RINGS_NESTED"/> + * <enumeration value="GE_S_TOO_FEW_POLYGONS"/> + * <enumeration value="GE_S_NOT_CLOSED"/> + * <enumeration value="GE_S_NON_MANIFOLD_EDGE"/> + * <enumeration value="GE_S_POLYGON_WRONG_ORIENTATION"/> + * <enumeration value="GE_S_ALL_POLYGONS_WRONG_ORIENTATION"/> + * <enumeration value="GE_S_NON_MANIFOLD_VERTEX"/> + * <enumeration value="GE_S_SELF_INTERSECTION"/> + * <enumeration value="GE_S_MULTIPLE_CONNECTED_COMPONENTS"/> + * <enumeration value="SE_ATTRIBUTE_WRONG_VALUE"/> + * <enumeration value="SE_ATTRIBUTE_MISSING"/> + * </restriction> + * </simpleType> + * </pre> + * + */ +@XmlType(name = "ErrorTypeType") +@XmlEnum +public enum ErrorTypeType { + + @XmlEnumValue("GE_R_TOO_FEW_POINTS") + GE___R___TOO___FEW___POINTS("GE_R_TOO_FEW_POINTS"), + @XmlEnumValue("GE_R_NOT_CLOSED") + GE___R___NOT___CLOSED("GE_R_NOT_CLOSED"), + @XmlEnumValue("GE_R_CONSECUTIVE_POINTS_SAME") + GE___R___CONSECUTIVE___POINTS___SAME("GE_R_CONSECUTIVE_POINTS_SAME"), + @XmlEnumValue("GE_R_SELF_INTERSECTION") + GE___R___SELF___INTERSECTION("GE_R_SELF_INTERSECTION"), + @XmlEnumValue("GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE") + GE___P___NON___PLANAR___POLYGON___DISTANCE___PLANE("GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"), + @XmlEnumValue("GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION") + GE___P___NON___PLANAR___POLYGON___NORMALS___DEVIATION("GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"), + @XmlEnumValue("GE_P_INTERIOR_DISCONNECTED") + GE___P___INTERIOR___DISCONNECTED("GE_P_INTERIOR_DISCONNECTED"), + @XmlEnumValue("GE_P_INTERSECTING_RINGS") + GE___P___INTERSECTING___RINGS("GE_P_INTERSECTING_RINGS"), + @XmlEnumValue("GE_P_HOLE_OUTSIDE") + GE___P___HOLE___OUTSIDE("GE_P_HOLE_OUTSIDE"), + @XmlEnumValue("GE_P_ORIENTATION_RINGS_SAME") + GE___P___ORIENTATION___RINGS___SAME("GE_P_ORIENTATION_RINGS_SAME"), + @XmlEnumValue("GE_P_INNER_RINGS_NESTED") + GE___P___INNER___RINGS___NESTED("GE_P_INNER_RINGS_NESTED"), + @XmlEnumValue("GE_S_TOO_FEW_POLYGONS") + GE___S___TOO___FEW___POLYGONS("GE_S_TOO_FEW_POLYGONS"), + @XmlEnumValue("GE_S_NOT_CLOSED") + GE___S___NOT___CLOSED("GE_S_NOT_CLOSED"), + @XmlEnumValue("GE_S_NON_MANIFOLD_EDGE") + GE___S___NON___MANIFOLD___EDGE("GE_S_NON_MANIFOLD_EDGE"), + @XmlEnumValue("GE_S_POLYGON_WRONG_ORIENTATION") + GE___S___POLYGON___WRONG___ORIENTATION("GE_S_POLYGON_WRONG_ORIENTATION"), + @XmlEnumValue("GE_S_ALL_POLYGONS_WRONG_ORIENTATION") + GE___S___ALL___POLYGONS___WRONG___ORIENTATION("GE_S_ALL_POLYGONS_WRONG_ORIENTATION"), + @XmlEnumValue("GE_S_NON_MANIFOLD_VERTEX") + GE___S___NON___MANIFOLD___VERTEX("GE_S_NON_MANIFOLD_VERTEX"), + @XmlEnumValue("GE_S_SELF_INTERSECTION") + GE___S___SELF___INTERSECTION("GE_S_SELF_INTERSECTION"), + @XmlEnumValue("GE_S_MULTIPLE_CONNECTED_COMPONENTS") + GE___S___MULTIPLE___CONNECTED___COMPONENTS("GE_S_MULTIPLE_CONNECTED_COMPONENTS"), + @XmlEnumValue("SE_ATTRIBUTE_WRONG_VALUE") + SE___ATTRIBUTE___WRONG___VALUE("SE_ATTRIBUTE_WRONG_VALUE"), + @XmlEnumValue("SE_ATTRIBUTE_MISSING") + SE___ATTRIBUTE___MISSING("SE_ATTRIBUTE_MISSING"); + private final String value; + + ErrorTypeType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static ErrorTypeType fromValue(String v) { + for (ErrorTypeType c: ErrorTypeType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FeatureStatisticsPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FeatureStatisticsPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..91db1aef727a49453c0e54074b765c6ffc814fe6 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FeatureStatisticsPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für FeatureStatisticsPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="FeatureStatisticsPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}FeatureStatistics"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FeatureStatisticsPropertyType", propOrder = { + "featureStatistics" +}) +public class FeatureStatisticsPropertyType { + + @XmlElement(name = "FeatureStatistics", required = true) + protected FeatureStatisticsType featureStatistics; + + /** + * Ruft den Wert der featureStatistics-Eigenschaft ab. + * + * @return + * possible object is + * {@link FeatureStatisticsType } + * + */ + public FeatureStatisticsType getFeatureStatistics() { + return featureStatistics; + } + + /** + * Legt den Wert der featureStatistics-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link FeatureStatisticsType } + * + */ + public void setFeatureStatistics(FeatureStatisticsType value) { + this.featureStatistics = value; + } + + public boolean isSetFeatureStatistics() { + return (this.featureStatistics!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FeatureStatisticsType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FeatureStatisticsType.java new file mode 100644 index 0000000000000000000000000000000000000000..df747ffb8d907ec64672cfa9c15264fb8b16c28f --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FeatureStatisticsType.java @@ -0,0 +1,106 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import java.math.BigInteger; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für FeatureStatisticsType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="FeatureStatisticsType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="numChecked" type="{http://www.w3.org/2001/XMLSchema}integer"/> + * <element name="numErrors" type="{http://www.w3.org/2001/XMLSchema}integer"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FeatureStatisticsType", propOrder = { + "numChecked", + "numErrors" +}) +public class FeatureStatisticsType { + + @XmlElement(required = true) + protected BigInteger numChecked; + @XmlElement(required = true) + protected BigInteger numErrors; + + /** + * Ruft den Wert der numChecked-Eigenschaft ab. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getNumChecked() { + return numChecked; + } + + /** + * Legt den Wert der numChecked-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setNumChecked(BigInteger value) { + this.numChecked = value; + } + + public boolean isSetNumChecked() { + return (this.numChecked!= null); + } + + /** + * Ruft den Wert der numErrors-Eigenschaft ab. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getNumErrors() { + return numErrors; + } + + /** + * Legt den Wert der numErrors-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setNumErrors(BigInteger value) { + this.numErrors = value; + } + + public boolean isSetNumErrors() { + return (this.numErrors!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FeatureTypeType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FeatureTypeType.java new file mode 100644 index 0000000000000000000000000000000000000000..487ccb7fdbc7d16229c662db94042d4bcfb01944 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FeatureTypeType.java @@ -0,0 +1,53 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für FeatureTypeType. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * <p> + * <pre> + * <simpleType name="FeatureTypeType"> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * <enumeration value="BUILDING"/> + * <enumeration value="TRANSPORTATION"/> + * <enumeration value="VEGETATION"/> + * <enumeration value="BRIDGE"/> + * <enumeration value="WATER"/> + * <enumeration value="LAND"/> + * </restriction> + * </simpleType> + * </pre> + * + */ +@XmlType(name = "FeatureTypeType") +@XmlEnum +public enum FeatureTypeType { + + BUILDING, + TRANSPORTATION, + VEGETATION, + BRIDGE, + WATER, + LAND; + + public String value() { + return name(); + } + + public static FeatureTypeType fromValue(String v) { + return valueOf(v); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FilterPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FilterPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..7e90307a0669ab6deecdf5f3d24962e60d6ffb50 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FilterPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für FilterPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="FilterPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}Filter"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FilterPropertyType", propOrder = { + "filter" +}) +public class FilterPropertyType { + + @XmlElement(name = "Filter", required = true) + protected FilterType filter; + + /** + * Ruft den Wert der filter-Eigenschaft ab. + * + * @return + * possible object is + * {@link FilterType } + * + */ + public FilterType getFilter() { + return filter; + } + + /** + * Legt den Wert der filter-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link FilterType } + * + */ + public void setFilter(FilterType value) { + this.filter = value; + } + + public boolean isSetFilter() { + return (this.filter!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FilterType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FilterType.java new file mode 100644 index 0000000000000000000000000000000000000000..76970a02c7fca25211beee408f2364ce63a5dd1a --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/FilterType.java @@ -0,0 +1,82 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für FilterType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="FilterType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="checking" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}CheckingPropertyType" maxOccurs="unbounded" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "FilterType", propOrder = { + "checking" +}) +public class FilterType { + + protected List<CheckingPropertyType> checking; + + /** + * Gets the value of the checking property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the checking property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getChecking().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link CheckingPropertyType } + * + * + */ + public List<CheckingPropertyType> getChecking() { + if (checking == null) { + checking = new ArrayList<CheckingPropertyType>(); + } + return this.checking; + } + + public boolean isSetChecking() { + return ((this.checking!= null)&&(!this.checking.isEmpty())); + } + + public void unsetChecking() { + this.checking = null; + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/GlobalParametersPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/GlobalParametersPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..6256fdced792719fafabdb532f9a7a0782e4cf94 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/GlobalParametersPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GlobalParametersPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GlobalParametersPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GlobalParameters"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GlobalParametersPropertyType", propOrder = { + "globalParameters" +}) +public class GlobalParametersPropertyType { + + @XmlElement(name = "GlobalParameters", required = true) + protected GlobalParametersType globalParameters; + + /** + * Ruft den Wert der globalParameters-Eigenschaft ab. + * + * @return + * possible object is + * {@link GlobalParametersType } + * + */ + public GlobalParametersType getGlobalParameters() { + return globalParameters; + } + + /** + * Legt den Wert der globalParameters-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link GlobalParametersType } + * + */ + public void setGlobalParameters(GlobalParametersType value) { + this.globalParameters = value; + } + + public boolean isSetGlobalParameters() { + return (this.globalParameters!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/GlobalParametersType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/GlobalParametersType.java new file mode 100644 index 0000000000000000000000000000000000000000..93b02434f7a0dd24f50013dd5b1d8a939d8e5e18 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/GlobalParametersType.java @@ -0,0 +1,82 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GlobalParametersType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GlobalParametersType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="parameter" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}ParameterPropertyType" maxOccurs="unbounded" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GlobalParametersType", propOrder = { + "parameter" +}) +public class GlobalParametersType { + + protected List<ParameterPropertyType> parameter; + + /** + * Gets the value of the parameter property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the parameter property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getParameter().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link ParameterPropertyType } + * + * + */ + public List<ParameterPropertyType> getParameter() { + if (parameter == null) { + parameter = new ArrayList<ParameterPropertyType>(); + } + return this.parameter; + } + + public boolean isSetParameter() { + return ((this.parameter!= null)&&(!this.parameter.isEmpty())); + } + + public void unsetParameter() { + this.parameter = null; + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ObjectFactory.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ObjectFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..8e2b647001b2fc5281dcaaa672209ca592f139e4 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ObjectFactory.java @@ -0,0 +1,1298 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the de.hft.stuttgart.quality.model.jaxb package. + * <p>An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _AbstractError_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "AbstractError"); + private final static QName _AbstractGeometryError_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "AbstractGeometryError"); + private final static QName _AbstractPolygonError_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "AbstractPolygonError"); + private final static QName _AbstractRingError_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "AbstractRingError"); + private final static QName _AbstractSemanticError_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "AbstractSemanticError"); + private final static QName _AbstractSolidError_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "AbstractSolidError"); + private final static QName _Checking_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "Checking"); + private final static QName _ComponentList_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "ComponentList"); + private final static QName _Edge_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "Edge"); + private final static QName _EdgeList_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "EdgeList"); + private final static QName _Error_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "Error"); + private final static QName _ErrorStatistics_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "ErrorStatistics"); + private final static QName _FeatureStatistics_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "FeatureStatistics"); + private final static QName _Filter_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "Filter"); + private final static QName _PolygonHoleOutside_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_P_HOLE_OUTSIDE"); + private final static QName _PolygonInnerRingsNested_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_P_INNER_RINGS_NESTED"); + private final static QName _PolygonInteriorDisconnected_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_P_INTERIOR_DISCONNECTED"); + private final static QName _PolygonIntersectingRings_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_P_INTERSECTING_RINGS"); + private final static QName _PolygonNonPlanarDistancePlane_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"); + private final static QName _PolygonNonPlanarNormalsDeviation_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"); + private final static QName _PolygonOrientationRingsSame_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_P_ORIENTATION_RINGS_SAME"); + private final static QName _RingConsecutivePointsSame_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_R_CONSECUTIVE_POINTS_SAME"); + private final static QName _RingNotClosed_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_R_NOT_CLOSED"); + private final static QName _RingSelfIntersection_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_R_SELF_INTERSECTION"); + private final static QName _RingTooFewPoints_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_R_TOO_FEW_POINTS"); + private final static QName _SolidAllPolygonsWrongOrientation_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_S_ALL_POLYGONS_WRONG_ORIENTATION"); + private final static QName _SolidMultipleConnectedComponents_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_S_MULTIPLE_CONNECTED_COMPONENTS"); + private final static QName _SolidNonManifoldEdge_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_S_NON_MANIFOLD_EDGE"); + private final static QName _SolidNonManifoldVertex_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_S_NON_MANIFOLD_VERTEX"); + private final static QName _SolidNotClosed_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_S_NOT_CLOSED"); + private final static QName _SolidPolygonWrongOrientation_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_S_POLYGON_WRONG_ORIENTATION"); + private final static QName _SolidSelfIntersection_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_S_SELF_INTERSECTION"); + private final static QName _SolidTooFewPolygons_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GE_S_TOO_FEW_POLYGONS"); + private final static QName _GlobalParameters_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "GlobalParameters"); + private final static QName _Parameter_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "Parameter"); + private final static QName _PolygonIdList_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "PolygonIdList"); + private final static QName _Requirement_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "Requirement"); + private final static QName _SemanticAttributeMissing_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "SEM_ATTRIBUTE_MISSING"); + private final static QName _SemanticAttributeWrongValue_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "SEM_ATTRIBUTE_WRONG_VALUE"); + private final static QName _Statistics_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "Statistics"); + private final static QName _Validation_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "Validation"); + private final static QName _ValidationPlan_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "ValidationPlan"); + private final static QName _ValidationResult_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "ValidationResult"); + private final static QName _ValidationResultProperty_QNAME = new QName("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", "validationResult"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: de.hft.stuttgart.quality.model.jaxb + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link CheckingType } + * + */ + public CheckingType createCheckingType() { + return new CheckingType(); + } + + /** + * Create an instance of {@link ComponentListType } + * + */ + public ComponentListType createComponentListType() { + return new ComponentListType(); + } + + /** + * Create an instance of {@link EdgeType } + * + */ + public EdgeType createEdgeType() { + return new EdgeType(); + } + + /** + * Create an instance of {@link EdgeListType } + * + */ + public EdgeListType createEdgeListType() { + return new EdgeListType(); + } + + /** + * Create an instance of {@link ErrorType } + * + */ + public ErrorType createErrorType() { + return new ErrorType(); + } + + /** + * Create an instance of {@link ErrorStatisticsType } + * + */ + public ErrorStatisticsType createErrorStatisticsType() { + return new ErrorStatisticsType(); + } + + /** + * Create an instance of {@link FeatureStatisticsType } + * + */ + public FeatureStatisticsType createFeatureStatisticsType() { + return new FeatureStatisticsType(); + } + + /** + * Create an instance of {@link FilterType } + * + */ + public FilterType createFilterType() { + return new FilterType(); + } + + /** + * Create an instance of {@link PolygonHoleOutsideType } + * + */ + public PolygonHoleOutsideType createPolygonHoleOutsideType() { + return new PolygonHoleOutsideType(); + } + + /** + * Create an instance of {@link PolygonInnerRingsNestedType } + * + */ + public PolygonInnerRingsNestedType createPolygonInnerRingsNestedType() { + return new PolygonInnerRingsNestedType(); + } + + /** + * Create an instance of {@link PolygonInteriorDisconnectedType } + * + */ + public PolygonInteriorDisconnectedType createPolygonInteriorDisconnectedType() { + return new PolygonInteriorDisconnectedType(); + } + + /** + * Create an instance of {@link PolygonIntersectingRingsType } + * + */ + public PolygonIntersectingRingsType createPolygonIntersectingRingsType() { + return new PolygonIntersectingRingsType(); + } + + /** + * Create an instance of {@link PolygonNonPlanarDistancePlaneType } + * + */ + public PolygonNonPlanarDistancePlaneType createPolygonNonPlanarDistancePlaneType() { + return new PolygonNonPlanarDistancePlaneType(); + } + + /** + * Create an instance of {@link PolygonNonPlanarNormalsDeviationType } + * + */ + public PolygonNonPlanarNormalsDeviationType createPolygonNonPlanarNormalsDeviationType() { + return new PolygonNonPlanarNormalsDeviationType(); + } + + /** + * Create an instance of {@link PolygonOrientationRingsSameType } + * + */ + public PolygonOrientationRingsSameType createPolygonOrientationRingsSameType() { + return new PolygonOrientationRingsSameType(); + } + + /** + * Create an instance of {@link RingConsecutivePointsSameType } + * + */ + public RingConsecutivePointsSameType createRingConsecutivePointsSameType() { + return new RingConsecutivePointsSameType(); + } + + /** + * Create an instance of {@link RingNotClosedType } + * + */ + public RingNotClosedType createRingNotClosedType() { + return new RingNotClosedType(); + } + + /** + * Create an instance of {@link RingSelfIntersectionType } + * + */ + public RingSelfIntersectionType createRingSelfIntersectionType() { + return new RingSelfIntersectionType(); + } + + /** + * Create an instance of {@link RingTooFewPointsType } + * + */ + public RingTooFewPointsType createRingTooFewPointsType() { + return new RingTooFewPointsType(); + } + + /** + * Create an instance of {@link SolidAllPolygonsWrongOrientationType } + * + */ + public SolidAllPolygonsWrongOrientationType createSolidAllPolygonsWrongOrientationType() { + return new SolidAllPolygonsWrongOrientationType(); + } + + /** + * Create an instance of {@link SolidMultipleConnectedComponentsType } + * + */ + public SolidMultipleConnectedComponentsType createSolidMultipleConnectedComponentsType() { + return new SolidMultipleConnectedComponentsType(); + } + + /** + * Create an instance of {@link SolidNonManifoldEdgeType } + * + */ + public SolidNonManifoldEdgeType createSolidNonManifoldEdgeType() { + return new SolidNonManifoldEdgeType(); + } + + /** + * Create an instance of {@link SolidNonManifoldVertexType } + * + */ + public SolidNonManifoldVertexType createSolidNonManifoldVertexType() { + return new SolidNonManifoldVertexType(); + } + + /** + * Create an instance of {@link SolidNotClosedType } + * + */ + public SolidNotClosedType createSolidNotClosedType() { + return new SolidNotClosedType(); + } + + /** + * Create an instance of {@link SolidPolygonWrongOrientationType } + * + */ + public SolidPolygonWrongOrientationType createSolidPolygonWrongOrientationType() { + return new SolidPolygonWrongOrientationType(); + } + + /** + * Create an instance of {@link SolidSelfIntersectionType } + * + */ + public SolidSelfIntersectionType createSolidSelfIntersectionType() { + return new SolidSelfIntersectionType(); + } + + /** + * Create an instance of {@link SolidTooFewPolygonsType } + * + */ + public SolidTooFewPolygonsType createSolidTooFewPolygonsType() { + return new SolidTooFewPolygonsType(); + } + + /** + * Create an instance of {@link GlobalParametersType } + * + */ + public GlobalParametersType createGlobalParametersType() { + return new GlobalParametersType(); + } + + /** + * Create an instance of {@link ParameterType } + * + */ + public ParameterType createParameterType() { + return new ParameterType(); + } + + /** + * Create an instance of {@link PolygonIdListType } + * + */ + public PolygonIdListType createPolygonIdListType() { + return new PolygonIdListType(); + } + + /** + * Create an instance of {@link RequirementType } + * + */ + public RequirementType createRequirementType() { + return new RequirementType(); + } + + /** + * Create an instance of {@link SemanticAttributeMissingType } + * + */ + public SemanticAttributeMissingType createSemanticAttributeMissingType() { + return new SemanticAttributeMissingType(); + } + + /** + * Create an instance of {@link SemanticAttributeWrongValueType } + * + */ + public SemanticAttributeWrongValueType createSemanticAttributeWrongValueType() { + return new SemanticAttributeWrongValueType(); + } + + /** + * Create an instance of {@link StatisticsType } + * + */ + public StatisticsType createStatisticsType() { + return new StatisticsType(); + } + + /** + * Create an instance of {@link ValidationType } + * + */ + public ValidationType createValidationType() { + return new ValidationType(); + } + + /** + * Create an instance of {@link ValidationPlanType } + * + */ + public ValidationPlanType createValidationPlanType() { + return new ValidationPlanType(); + } + + /** + * Create an instance of {@link ValidationResultType } + * + */ + public ValidationResultType createValidationResultType() { + return new ValidationResultType(); + } + + /** + * Create an instance of {@link ValidationResultPropertyType } + * + */ + public ValidationResultPropertyType createValidationResultPropertyType() { + return new ValidationResultPropertyType(); + } + + /** + * Create an instance of {@link AbstractErrorPropertyType } + * + */ + public AbstractErrorPropertyType createAbstractErrorPropertyType() { + return new AbstractErrorPropertyType(); + } + + /** + * Create an instance of {@link AbstractGeometryErrorPropertyType } + * + */ + public AbstractGeometryErrorPropertyType createAbstractGeometryErrorPropertyType() { + return new AbstractGeometryErrorPropertyType(); + } + + /** + * Create an instance of {@link AbstractPolygonErrorPropertyType } + * + */ + public AbstractPolygonErrorPropertyType createAbstractPolygonErrorPropertyType() { + return new AbstractPolygonErrorPropertyType(); + } + + /** + * Create an instance of {@link AbstractRingErrorPropertyType } + * + */ + public AbstractRingErrorPropertyType createAbstractRingErrorPropertyType() { + return new AbstractRingErrorPropertyType(); + } + + /** + * Create an instance of {@link AbstractSemanticErrorPropertyType } + * + */ + public AbstractSemanticErrorPropertyType createAbstractSemanticErrorPropertyType() { + return new AbstractSemanticErrorPropertyType(); + } + + /** + * Create an instance of {@link AbstractSolidErrorPropertyType } + * + */ + public AbstractSolidErrorPropertyType createAbstractSolidErrorPropertyType() { + return new AbstractSolidErrorPropertyType(); + } + + /** + * Create an instance of {@link CheckingPropertyType } + * + */ + public CheckingPropertyType createCheckingPropertyType() { + return new CheckingPropertyType(); + } + + /** + * Create an instance of {@link ComponentListPropertyType } + * + */ + public ComponentListPropertyType createComponentListPropertyType() { + return new ComponentListPropertyType(); + } + + /** + * Create an instance of {@link EdgePropertyType } + * + */ + public EdgePropertyType createEdgePropertyType() { + return new EdgePropertyType(); + } + + /** + * Create an instance of {@link EdgeListPropertyType } + * + */ + public EdgeListPropertyType createEdgeListPropertyType() { + return new EdgeListPropertyType(); + } + + /** + * Create an instance of {@link ErrorPropertyType } + * + */ + public ErrorPropertyType createErrorPropertyType() { + return new ErrorPropertyType(); + } + + /** + * Create an instance of {@link ErrorStatisticsPropertyType } + * + */ + public ErrorStatisticsPropertyType createErrorStatisticsPropertyType() { + return new ErrorStatisticsPropertyType(); + } + + /** + * Create an instance of {@link FeatureStatisticsPropertyType } + * + */ + public FeatureStatisticsPropertyType createFeatureStatisticsPropertyType() { + return new FeatureStatisticsPropertyType(); + } + + /** + * Create an instance of {@link FilterPropertyType } + * + */ + public FilterPropertyType createFilterPropertyType() { + return new FilterPropertyType(); + } + + /** + * Create an instance of {@link PolygonHoleOutsidePropertyType } + * + */ + public PolygonHoleOutsidePropertyType createPolygonHoleOutsidePropertyType() { + return new PolygonHoleOutsidePropertyType(); + } + + /** + * Create an instance of {@link PolygonInnerRingsNestedPropertyType } + * + */ + public PolygonInnerRingsNestedPropertyType createPolygonInnerRingsNestedPropertyType() { + return new PolygonInnerRingsNestedPropertyType(); + } + + /** + * Create an instance of {@link PolygonInteriorDisconnectedPropertyType } + * + */ + public PolygonInteriorDisconnectedPropertyType createPolygonInteriorDisconnectedPropertyType() { + return new PolygonInteriorDisconnectedPropertyType(); + } + + /** + * Create an instance of {@link PolygonIntersectingRingsPropertyType } + * + */ + public PolygonIntersectingRingsPropertyType createPolygonIntersectingRingsPropertyType() { + return new PolygonIntersectingRingsPropertyType(); + } + + /** + * Create an instance of {@link PolygonNonPlanarDistancePlanePropertyType } + * + */ + public PolygonNonPlanarDistancePlanePropertyType createPolygonNonPlanarDistancePlanePropertyType() { + return new PolygonNonPlanarDistancePlanePropertyType(); + } + + /** + * Create an instance of {@link PolygonNonPlanarNormalsDeviationPropertyType } + * + */ + public PolygonNonPlanarNormalsDeviationPropertyType createPolygonNonPlanarNormalsDeviationPropertyType() { + return new PolygonNonPlanarNormalsDeviationPropertyType(); + } + + /** + * Create an instance of {@link PolygonOrientationRingsSamePropertyType } + * + */ + public PolygonOrientationRingsSamePropertyType createPolygonOrientationRingsSamePropertyType() { + return new PolygonOrientationRingsSamePropertyType(); + } + + /** + * Create an instance of {@link RingConsecutivePointsSamePropertyType } + * + */ + public RingConsecutivePointsSamePropertyType createRingConsecutivePointsSamePropertyType() { + return new RingConsecutivePointsSamePropertyType(); + } + + /** + * Create an instance of {@link RingNotClosedPropertyType } + * + */ + public RingNotClosedPropertyType createRingNotClosedPropertyType() { + return new RingNotClosedPropertyType(); + } + + /** + * Create an instance of {@link RingSelfIntersectionPropertyType } + * + */ + public RingSelfIntersectionPropertyType createRingSelfIntersectionPropertyType() { + return new RingSelfIntersectionPropertyType(); + } + + /** + * Create an instance of {@link RingTooFewPointsPropertyType } + * + */ + public RingTooFewPointsPropertyType createRingTooFewPointsPropertyType() { + return new RingTooFewPointsPropertyType(); + } + + /** + * Create an instance of {@link SolidAllPolygonsWrongOrientationPropertyType } + * + */ + public SolidAllPolygonsWrongOrientationPropertyType createSolidAllPolygonsWrongOrientationPropertyType() { + return new SolidAllPolygonsWrongOrientationPropertyType(); + } + + /** + * Create an instance of {@link SolidMultipleConnectedComponentsPropertyType } + * + */ + public SolidMultipleConnectedComponentsPropertyType createSolidMultipleConnectedComponentsPropertyType() { + return new SolidMultipleConnectedComponentsPropertyType(); + } + + /** + * Create an instance of {@link SolidNonManifoldEdgePropertyType } + * + */ + public SolidNonManifoldEdgePropertyType createSolidNonManifoldEdgePropertyType() { + return new SolidNonManifoldEdgePropertyType(); + } + + /** + * Create an instance of {@link SolidNonManifoldVertexPropertyType } + * + */ + public SolidNonManifoldVertexPropertyType createSolidNonManifoldVertexPropertyType() { + return new SolidNonManifoldVertexPropertyType(); + } + + /** + * Create an instance of {@link SolidNotClosedPropertyType } + * + */ + public SolidNotClosedPropertyType createSolidNotClosedPropertyType() { + return new SolidNotClosedPropertyType(); + } + + /** + * Create an instance of {@link SolidPolygonWrongOrientationPropertyType } + * + */ + public SolidPolygonWrongOrientationPropertyType createSolidPolygonWrongOrientationPropertyType() { + return new SolidPolygonWrongOrientationPropertyType(); + } + + /** + * Create an instance of {@link SolidSelfIntersectionPropertyType } + * + */ + public SolidSelfIntersectionPropertyType createSolidSelfIntersectionPropertyType() { + return new SolidSelfIntersectionPropertyType(); + } + + /** + * Create an instance of {@link SolidTooFewPolygonsPropertyType } + * + */ + public SolidTooFewPolygonsPropertyType createSolidTooFewPolygonsPropertyType() { + return new SolidTooFewPolygonsPropertyType(); + } + + /** + * Create an instance of {@link GlobalParametersPropertyType } + * + */ + public GlobalParametersPropertyType createGlobalParametersPropertyType() { + return new GlobalParametersPropertyType(); + } + + /** + * Create an instance of {@link ParameterPropertyType } + * + */ + public ParameterPropertyType createParameterPropertyType() { + return new ParameterPropertyType(); + } + + /** + * Create an instance of {@link PolygonIdListPropertyType } + * + */ + public PolygonIdListPropertyType createPolygonIdListPropertyType() { + return new PolygonIdListPropertyType(); + } + + /** + * Create an instance of {@link RequirementPropertyType } + * + */ + public RequirementPropertyType createRequirementPropertyType() { + return new RequirementPropertyType(); + } + + /** + * Create an instance of {@link SemanticAttributeMissingPropertyType } + * + */ + public SemanticAttributeMissingPropertyType createSemanticAttributeMissingPropertyType() { + return new SemanticAttributeMissingPropertyType(); + } + + /** + * Create an instance of {@link SemanticAttributeWrongValuePropertyType } + * + */ + public SemanticAttributeWrongValuePropertyType createSemanticAttributeWrongValuePropertyType() { + return new SemanticAttributeWrongValuePropertyType(); + } + + /** + * Create an instance of {@link StatisticsPropertyType } + * + */ + public StatisticsPropertyType createStatisticsPropertyType() { + return new StatisticsPropertyType(); + } + + /** + * Create an instance of {@link ValidationPropertyType } + * + */ + public ValidationPropertyType createValidationPropertyType() { + return new ValidationPropertyType(); + } + + /** + * Create an instance of {@link ValidationPlanPropertyType } + * + */ + public ValidationPlanPropertyType createValidationPlanPropertyType() { + return new ValidationPlanPropertyType(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AbstractErrorType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AbstractErrorType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "AbstractError", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<AbstractErrorType> createAbstractError(AbstractErrorType value) { + return new JAXBElement<AbstractErrorType>(_AbstractError_QNAME, AbstractErrorType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AbstractGeometryErrorType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AbstractGeometryErrorType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "AbstractGeometryError", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractError") + public JAXBElement<AbstractGeometryErrorType> createAbstractGeometryError(AbstractGeometryErrorType value) { + return new JAXBElement<AbstractGeometryErrorType>(_AbstractGeometryError_QNAME, AbstractGeometryErrorType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AbstractPolygonErrorType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "AbstractPolygonError", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractGeometryError") + public JAXBElement<AbstractPolygonErrorType> createAbstractPolygonError(AbstractPolygonErrorType value) { + return new JAXBElement<AbstractPolygonErrorType>(_AbstractPolygonError_QNAME, AbstractPolygonErrorType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AbstractRingErrorType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "AbstractRingError", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractGeometryError") + public JAXBElement<AbstractRingErrorType> createAbstractRingError(AbstractRingErrorType value) { + return new JAXBElement<AbstractRingErrorType>(_AbstractRingError_QNAME, AbstractRingErrorType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AbstractSemanticErrorType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AbstractSemanticErrorType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "AbstractSemanticError", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractError") + public JAXBElement<AbstractSemanticErrorType> createAbstractSemanticError(AbstractSemanticErrorType value) { + return new JAXBElement<AbstractSemanticErrorType>(_AbstractSemanticError_QNAME, AbstractSemanticErrorType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link AbstractSolidErrorType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link AbstractSolidErrorType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "AbstractSolidError", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractGeometryError") + public JAXBElement<AbstractSolidErrorType> createAbstractSolidError(AbstractSolidErrorType value) { + return new JAXBElement<AbstractSolidErrorType>(_AbstractSolidError_QNAME, AbstractSolidErrorType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link CheckingType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link CheckingType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "Checking", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<CheckingType> createChecking(CheckingType value) { + return new JAXBElement<CheckingType>(_Checking_QNAME, CheckingType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ComponentListType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ComponentListType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "ComponentList", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<ComponentListType> createComponentList(ComponentListType value) { + return new JAXBElement<ComponentListType>(_ComponentList_QNAME, ComponentListType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EdgeType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EdgeType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "Edge", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<EdgeType> createEdge(EdgeType value) { + return new JAXBElement<EdgeType>(_Edge_QNAME, EdgeType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link EdgeListType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link EdgeListType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "EdgeList", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<EdgeListType> createEdgeList(EdgeListType value) { + return new JAXBElement<EdgeListType>(_EdgeList_QNAME, EdgeListType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ErrorType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ErrorType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "Error", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<ErrorType> createError(ErrorType value) { + return new JAXBElement<ErrorType>(_Error_QNAME, ErrorType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ErrorStatisticsType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ErrorStatisticsType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "ErrorStatistics", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<ErrorStatisticsType> createErrorStatistics(ErrorStatisticsType value) { + return new JAXBElement<ErrorStatisticsType>(_ErrorStatistics_QNAME, ErrorStatisticsType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link FeatureStatisticsType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link FeatureStatisticsType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "FeatureStatistics", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<FeatureStatisticsType> createFeatureStatistics(FeatureStatisticsType value) { + return new JAXBElement<FeatureStatisticsType>(_FeatureStatistics_QNAME, FeatureStatisticsType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link FilterType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link FilterType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "Filter", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<FilterType> createFilter(FilterType value) { + return new JAXBElement<FilterType>(_Filter_QNAME, FilterType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PolygonHoleOutsideType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_P_HOLE_OUTSIDE", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractPolygonError") + public JAXBElement<PolygonHoleOutsideType> createPolygonHoleOutside(PolygonHoleOutsideType value) { + return new JAXBElement<PolygonHoleOutsideType>(_PolygonHoleOutside_QNAME, PolygonHoleOutsideType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PolygonInnerRingsNestedType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_P_INNER_RINGS_NESTED", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractPolygonError") + public JAXBElement<PolygonInnerRingsNestedType> createPolygonInnerRingsNested(PolygonInnerRingsNestedType value) { + return new JAXBElement<PolygonInnerRingsNestedType>(_PolygonInnerRingsNested_QNAME, PolygonInnerRingsNestedType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PolygonInteriorDisconnectedType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_P_INTERIOR_DISCONNECTED", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractPolygonError") + public JAXBElement<PolygonInteriorDisconnectedType> createPolygonInteriorDisconnected(PolygonInteriorDisconnectedType value) { + return new JAXBElement<PolygonInteriorDisconnectedType>(_PolygonInteriorDisconnected_QNAME, PolygonInteriorDisconnectedType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PolygonIntersectingRingsType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_P_INTERSECTING_RINGS", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractPolygonError") + public JAXBElement<PolygonIntersectingRingsType> createPolygonIntersectingRings(PolygonIntersectingRingsType value) { + return new JAXBElement<PolygonIntersectingRingsType>(_PolygonIntersectingRings_QNAME, PolygonIntersectingRingsType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PolygonNonPlanarDistancePlaneType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractPolygonError") + public JAXBElement<PolygonNonPlanarDistancePlaneType> createPolygonNonPlanarDistancePlane(PolygonNonPlanarDistancePlaneType value) { + return new JAXBElement<PolygonNonPlanarDistancePlaneType>(_PolygonNonPlanarDistancePlane_QNAME, PolygonNonPlanarDistancePlaneType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PolygonNonPlanarNormalsDeviationType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractPolygonError") + public JAXBElement<PolygonNonPlanarNormalsDeviationType> createPolygonNonPlanarNormalsDeviation(PolygonNonPlanarNormalsDeviationType value) { + return new JAXBElement<PolygonNonPlanarNormalsDeviationType>(_PolygonNonPlanarNormalsDeviation_QNAME, PolygonNonPlanarNormalsDeviationType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PolygonOrientationRingsSameType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_P_ORIENTATION_RINGS_SAME", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractPolygonError") + public JAXBElement<PolygonOrientationRingsSameType> createPolygonOrientationRingsSame(PolygonOrientationRingsSameType value) { + return new JAXBElement<PolygonOrientationRingsSameType>(_PolygonOrientationRingsSame_QNAME, PolygonOrientationRingsSameType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RingConsecutivePointsSameType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_R_CONSECUTIVE_POINTS_SAME", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractRingError") + public JAXBElement<RingConsecutivePointsSameType> createRingConsecutivePointsSame(RingConsecutivePointsSameType value) { + return new JAXBElement<RingConsecutivePointsSameType>(_RingConsecutivePointsSame_QNAME, RingConsecutivePointsSameType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RingNotClosedType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_R_NOT_CLOSED", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractRingError") + public JAXBElement<RingNotClosedType> createRingNotClosed(RingNotClosedType value) { + return new JAXBElement<RingNotClosedType>(_RingNotClosed_QNAME, RingNotClosedType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RingSelfIntersectionType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_R_SELF_INTERSECTION", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractRingError") + public JAXBElement<RingSelfIntersectionType> createRingSelfIntersection(RingSelfIntersectionType value) { + return new JAXBElement<RingSelfIntersectionType>(_RingSelfIntersection_QNAME, RingSelfIntersectionType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RingTooFewPointsType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_R_TOO_FEW_POINTS", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractRingError") + public JAXBElement<RingTooFewPointsType> createRingTooFewPoints(RingTooFewPointsType value) { + return new JAXBElement<RingTooFewPointsType>(_RingTooFewPoints_QNAME, RingTooFewPointsType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SolidAllPolygonsWrongOrientationType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SolidAllPolygonsWrongOrientationType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_S_ALL_POLYGONS_WRONG_ORIENTATION", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractSolidError") + public JAXBElement<SolidAllPolygonsWrongOrientationType> createSolidAllPolygonsWrongOrientation(SolidAllPolygonsWrongOrientationType value) { + return new JAXBElement<SolidAllPolygonsWrongOrientationType>(_SolidAllPolygonsWrongOrientation_QNAME, SolidAllPolygonsWrongOrientationType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SolidMultipleConnectedComponentsType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SolidMultipleConnectedComponentsType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_S_MULTIPLE_CONNECTED_COMPONENTS", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractSolidError") + public JAXBElement<SolidMultipleConnectedComponentsType> createSolidMultipleConnectedComponents(SolidMultipleConnectedComponentsType value) { + return new JAXBElement<SolidMultipleConnectedComponentsType>(_SolidMultipleConnectedComponents_QNAME, SolidMultipleConnectedComponentsType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SolidNonManifoldEdgeType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SolidNonManifoldEdgeType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_S_NON_MANIFOLD_EDGE", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractSolidError") + public JAXBElement<SolidNonManifoldEdgeType> createSolidNonManifoldEdge(SolidNonManifoldEdgeType value) { + return new JAXBElement<SolidNonManifoldEdgeType>(_SolidNonManifoldEdge_QNAME, SolidNonManifoldEdgeType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SolidNonManifoldVertexType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SolidNonManifoldVertexType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_S_NON_MANIFOLD_VERTEX", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractSolidError") + public JAXBElement<SolidNonManifoldVertexType> createSolidNonManifoldVertex(SolidNonManifoldVertexType value) { + return new JAXBElement<SolidNonManifoldVertexType>(_SolidNonManifoldVertex_QNAME, SolidNonManifoldVertexType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SolidNotClosedType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SolidNotClosedType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_S_NOT_CLOSED", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractSolidError") + public JAXBElement<SolidNotClosedType> createSolidNotClosed(SolidNotClosedType value) { + return new JAXBElement<SolidNotClosedType>(_SolidNotClosed_QNAME, SolidNotClosedType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SolidPolygonWrongOrientationType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SolidPolygonWrongOrientationType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_S_POLYGON_WRONG_ORIENTATION", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractSolidError") + public JAXBElement<SolidPolygonWrongOrientationType> createSolidPolygonWrongOrientation(SolidPolygonWrongOrientationType value) { + return new JAXBElement<SolidPolygonWrongOrientationType>(_SolidPolygonWrongOrientation_QNAME, SolidPolygonWrongOrientationType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SolidSelfIntersectionType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SolidSelfIntersectionType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_S_SELF_INTERSECTION", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractSolidError") + public JAXBElement<SolidSelfIntersectionType> createSolidSelfIntersection(SolidSelfIntersectionType value) { + return new JAXBElement<SolidSelfIntersectionType>(_SolidSelfIntersection_QNAME, SolidSelfIntersectionType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SolidTooFewPolygonsType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SolidTooFewPolygonsType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GE_S_TOO_FEW_POLYGONS", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractSolidError") + public JAXBElement<SolidTooFewPolygonsType> createSolidTooFewPolygons(SolidTooFewPolygonsType value) { + return new JAXBElement<SolidTooFewPolygonsType>(_SolidTooFewPolygons_QNAME, SolidTooFewPolygonsType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link GlobalParametersType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link GlobalParametersType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "GlobalParameters", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<GlobalParametersType> createGlobalParameters(GlobalParametersType value) { + return new JAXBElement<GlobalParametersType>(_GlobalParameters_QNAME, GlobalParametersType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ParameterType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ParameterType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "Parameter", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<ParameterType> createParameter(ParameterType value) { + return new JAXBElement<ParameterType>(_Parameter_QNAME, ParameterType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link PolygonIdListType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link PolygonIdListType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "PolygonIdList", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<PolygonIdListType> createPolygonIdList(PolygonIdListType value) { + return new JAXBElement<PolygonIdListType>(_PolygonIdList_QNAME, PolygonIdListType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link RequirementType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link RequirementType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "Requirement", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<RequirementType> createRequirement(RequirementType value) { + return new JAXBElement<RequirementType>(_Requirement_QNAME, RequirementType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SemanticAttributeMissingType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SemanticAttributeMissingType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "SEM_ATTRIBUTE_MISSING", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractSemanticError") + public JAXBElement<SemanticAttributeMissingType> createSemanticAttributeMissing(SemanticAttributeMissingType value) { + return new JAXBElement<SemanticAttributeMissingType>(_SemanticAttributeMissing_QNAME, SemanticAttributeMissingType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link SemanticAttributeWrongValueType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link SemanticAttributeWrongValueType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "SEM_ATTRIBUTE_WRONG_VALUE", substitutionHeadNamespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", substitutionHeadName = "AbstractSemanticError") + public JAXBElement<SemanticAttributeWrongValueType> createSemanticAttributeWrongValue(SemanticAttributeWrongValueType value) { + return new JAXBElement<SemanticAttributeWrongValueType>(_SemanticAttributeWrongValue_QNAME, SemanticAttributeWrongValueType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link StatisticsType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link StatisticsType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "Statistics", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<StatisticsType> createStatistics(StatisticsType value) { + return new JAXBElement<StatisticsType>(_Statistics_QNAME, StatisticsType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ValidationType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ValidationType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "Validation", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Feature") + public JAXBElement<ValidationType> createValidation(ValidationType value) { + return new JAXBElement<ValidationType>(_Validation_QNAME, ValidationType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ValidationPlanType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ValidationPlanType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "ValidationPlan", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<ValidationPlanType> createValidationPlan(ValidationPlanType value) { + return new JAXBElement<ValidationPlanType>(_ValidationPlan_QNAME, ValidationPlanType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ValidationResultType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ValidationResultType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "ValidationResult", substitutionHeadNamespace = "http://www.opengis.net/gml", substitutionHeadName = "_Object") + public JAXBElement<ValidationResultType> createValidationResult(ValidationResultType value) { + return new JAXBElement<ValidationResultType>(_ValidationResult_QNAME, ValidationResultType.class, null, value); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link ValidationResultPropertyType }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link ValidationResultPropertyType }{@code >} + */ + @XmlElementDecl(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", name = "validationResult", substitutionHeadNamespace = "http://www.opengis.net/citygml/2.0", substitutionHeadName = "_GenericApplicationPropertyOfCityObject") + public JAXBElement<ValidationResultPropertyType> createValidationResultProperty(ValidationResultPropertyType value) { + return new JAXBElement<ValidationResultPropertyType>(_ValidationResultProperty_QNAME, ValidationResultPropertyType.class, null, value); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ParameterPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ParameterPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..9bd5232e90d6b371231a7adff0d748622c854733 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ParameterPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ParameterPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ParameterPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}Parameter"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ParameterPropertyType", propOrder = { + "parameter" +}) +public class ParameterPropertyType { + + @XmlElement(name = "Parameter", required = true) + protected ParameterType parameter; + + /** + * Ruft den Wert der parameter-Eigenschaft ab. + * + * @return + * possible object is + * {@link ParameterType } + * + */ + public ParameterType getParameter() { + return parameter; + } + + /** + * Legt den Wert der parameter-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ParameterType } + * + */ + public void setParameter(ParameterType value) { + this.parameter = value; + } + + public boolean isSetParameter() { + return (this.parameter!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ParameterType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ParameterType.java new file mode 100644 index 0000000000000000000000000000000000000000..c4d5afcbdbd7eecad81fba88a3a9cd93dabbac4d --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ParameterType.java @@ -0,0 +1,137 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ParameterType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ParameterType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="uom" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="value" type="{http://www.w3.org/2001/XMLSchema}string"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ParameterType", propOrder = { + "name", + "uom", + "value" +}) +public class ParameterType { + + @XmlElement(required = true) + protected String name; + @XmlElement(required = true) + protected String uom; + @XmlElement(required = true) + protected String value; + + /** + * Ruft den Wert der name-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getName() { + return name; + } + + /** + * Legt den Wert der name-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setName(String value) { + this.name = value; + } + + public boolean isSetName() { + return (this.name!= null); + } + + /** + * Ruft den Wert der uom-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getUom() { + return uom; + } + + /** + * Legt den Wert der uom-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setUom(String value) { + this.uom = value; + } + + public boolean isSetUom() { + return (this.uom!= null); + } + + /** + * Ruft den Wert der value-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Legt den Wert der value-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + public boolean isSetValue() { + return (this.value!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonHoleOutsidePropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonHoleOutsidePropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..86b29442e9acf203ce965da9e921df58aa510481 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonHoleOutsidePropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_P_HOLE_OUTSIDEPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_HOLE_OUTSIDEPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_P_HOLE_OUTSIDE"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_HOLE_OUTSIDEPropertyType", propOrder = { + "ge_P_HOLE_OUTSIDE" +}) +public class PolygonHoleOutsidePropertyType { + + @XmlElement(name = "GE_P_HOLE_OUTSIDE", required = true) + protected PolygonHoleOutsideType ge_P_HOLE_OUTSIDE; + + /** + * Ruft den Wert der ge_P_HOLE_OUTSIDE-Eigenschaft ab. + * + * @return + * possible object is + * {@link PolygonHoleOutsideType } + * + */ + public PolygonHoleOutsideType getGE_P_HOLE_OUTSIDE() { + return ge_P_HOLE_OUTSIDE; + } + + /** + * Legt den Wert der ge_P_HOLE_OUTSIDE-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PolygonHoleOutsideType } + * + */ + public void setGE_P_HOLE_OUTSIDE(PolygonHoleOutsideType value) { + this.ge_P_HOLE_OUTSIDE = value; + } + + public boolean isSetGE_P_HOLE_OUTSIDE() { + return (this.ge_P_HOLE_OUTSIDE!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonHoleOutsideType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonHoleOutsideType.java new file mode 100644 index 0000000000000000000000000000000000000000..0edbce4d49084e44d7d17a95dfb4eca41ad36885 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonHoleOutsideType.java @@ -0,0 +1,75 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_P_HOLE_OUTSIDEType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_HOLE_OUTSIDEType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractPolygonErrorType"> + * <sequence> + * <element name="linearRingId" type="{http://www.w3.org/2001/XMLSchema}string"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_HOLE_OUTSIDEType", propOrder = { + "linearRingId" +}) +public class PolygonHoleOutsideType + extends AbstractPolygonErrorType +{ + + @XmlElement(required = true) + protected String linearRingId; + + /** + * Ruft den Wert der linearRingId-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getLinearRingId() { + return linearRingId; + } + + /** + * Legt den Wert der linearRingId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setLinearRingId(String value) { + this.linearRingId = value; + } + + public boolean isSetLinearRingId() { + return (this.linearRingId!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonIdListPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonIdListPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..93f37986588af2f43938a4aa7a98d7cdfc8d138c --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonIdListPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für PolygonIdListPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="PolygonIdListPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}PolygonIdList"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PolygonIdListPropertyType", propOrder = { + "polygonIdList" +}) +public class PolygonIdListPropertyType { + + @XmlElement(name = "PolygonIdList", required = true) + protected PolygonIdListType polygonIdList; + + /** + * Ruft den Wert der polygonIdList-Eigenschaft ab. + * + * @return + * possible object is + * {@link PolygonIdListType } + * + */ + public PolygonIdListType getPolygonIdList() { + return polygonIdList; + } + + /** + * Legt den Wert der polygonIdList-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PolygonIdListType } + * + */ + public void setPolygonIdList(PolygonIdListType value) { + this.polygonIdList = value; + } + + public boolean isSetPolygonIdList() { + return (this.polygonIdList!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonIdListType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonIdListType.java new file mode 100644 index 0000000000000000000000000000000000000000..33ef8d53743114ef3a9a4671ebf29c58cd39d134 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonIdListType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für PolygonIdListType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="PolygonIdListType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="polygonId" type="{http://www.w3.org/2001/XMLSchema}string"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "PolygonIdListType", propOrder = { + "polygonId" +}) +public class PolygonIdListType { + + @XmlElement(required = true) + protected String polygonId; + + /** + * Ruft den Wert der polygonId-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getPolygonId() { + return polygonId; + } + + /** + * Legt den Wert der polygonId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setPolygonId(String value) { + this.polygonId = value; + } + + public boolean isSetPolygonId() { + return (this.polygonId!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonInnerRingsNestedPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonInnerRingsNestedPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..61cc0abca6fc8a5f333863b9f5464f5be1efabe9 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonInnerRingsNestedPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_P_INNER_RINGS_NESTEDPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_INNER_RINGS_NESTEDPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_P_INNER_RINGS_NESTED"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_INNER_RINGS_NESTEDPropertyType", propOrder = { + "ge_P_INNER_RINGS_NESTED" +}) +public class PolygonInnerRingsNestedPropertyType { + + @XmlElement(name = "GE_P_INNER_RINGS_NESTED", required = true) + protected PolygonInnerRingsNestedType ge_P_INNER_RINGS_NESTED; + + /** + * Ruft den Wert der ge_P_INNER_RINGS_NESTED-Eigenschaft ab. + * + * @return + * possible object is + * {@link PolygonInnerRingsNestedType } + * + */ + public PolygonInnerRingsNestedType getGE_P_INNER_RINGS_NESTED() { + return ge_P_INNER_RINGS_NESTED; + } + + /** + * Legt den Wert der ge_P_INNER_RINGS_NESTED-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PolygonInnerRingsNestedType } + * + */ + public void setGE_P_INNER_RINGS_NESTED(PolygonInnerRingsNestedType value) { + this.ge_P_INNER_RINGS_NESTED = value; + } + + public boolean isSetGE_P_INNER_RINGS_NESTED() { + return (this.ge_P_INNER_RINGS_NESTED!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonInnerRingsNestedType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonInnerRingsNestedType.java new file mode 100644 index 0000000000000000000000000000000000000000..f52e43576c1a1867634c10268b5c7b3530e8da0e --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonInnerRingsNestedType.java @@ -0,0 +1,107 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_P_INNER_RINGS_NESTEDType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_INNER_RINGS_NESTEDType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractPolygonErrorType"> + * <sequence> + * <element name="linearRingId1" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="linearRingId2" type="{http://www.w3.org/2001/XMLSchema}string"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_INNER_RINGS_NESTEDType", propOrder = { + "linearRingId1", + "linearRingId2" +}) +public class PolygonInnerRingsNestedType + extends AbstractPolygonErrorType +{ + + @XmlElement(required = true) + protected String linearRingId1; + @XmlElement(required = true) + protected String linearRingId2; + + /** + * Ruft den Wert der linearRingId1-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getLinearRingId1() { + return linearRingId1; + } + + /** + * Legt den Wert der linearRingId1-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setLinearRingId1(String value) { + this.linearRingId1 = value; + } + + public boolean isSetLinearRingId1() { + return (this.linearRingId1 != null); + } + + /** + * Ruft den Wert der linearRingId2-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getLinearRingId2() { + return linearRingId2; + } + + /** + * Legt den Wert der linearRingId2-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setLinearRingId2(String value) { + this.linearRingId2 = value; + } + + public boolean isSetLinearRingId2() { + return (this.linearRingId2 != null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonInteriorDisconnectedPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonInteriorDisconnectedPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..00e06d2315c8a4d04f0fa607d0d1d2b7c137366b --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonInteriorDisconnectedPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_P_INTERIOR_DISCONNECTEDPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_INTERIOR_DISCONNECTEDPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_P_INTERIOR_DISCONNECTED"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_INTERIOR_DISCONNECTEDPropertyType", propOrder = { + "ge_P_INTERIOR_DISCONNECTED" +}) +public class PolygonInteriorDisconnectedPropertyType { + + @XmlElement(name = "GE_P_INTERIOR_DISCONNECTED", required = true) + protected PolygonInteriorDisconnectedType ge_P_INTERIOR_DISCONNECTED; + + /** + * Ruft den Wert der ge_P_INTERIOR_DISCONNECTED-Eigenschaft ab. + * + * @return + * possible object is + * {@link PolygonInteriorDisconnectedType } + * + */ + public PolygonInteriorDisconnectedType getGE_P_INTERIOR_DISCONNECTED() { + return ge_P_INTERIOR_DISCONNECTED; + } + + /** + * Legt den Wert der ge_P_INTERIOR_DISCONNECTED-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PolygonInteriorDisconnectedType } + * + */ + public void setGE_P_INTERIOR_DISCONNECTED(PolygonInteriorDisconnectedType value) { + this.ge_P_INTERIOR_DISCONNECTED = value; + } + + public boolean isSetGE_P_INTERIOR_DISCONNECTED() { + return (this.ge_P_INTERIOR_DISCONNECTED!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonInteriorDisconnectedType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonInteriorDisconnectedType.java new file mode 100644 index 0000000000000000000000000000000000000000..20c501a29bad6e31f5e93081178bee8964d9fa4d --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonInteriorDisconnectedType.java @@ -0,0 +1,41 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_P_INTERIOR_DISCONNECTEDType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_INTERIOR_DISCONNECTEDType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractPolygonErrorType"> + * <sequence> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_INTERIOR_DISCONNECTEDType") +public class PolygonInteriorDisconnectedType + extends AbstractPolygonErrorType +{ + + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonIntersectingRingsPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonIntersectingRingsPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..785a469e6eb310dc0551e5a9e8215c0c454455c3 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonIntersectingRingsPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_P_INTERSECTING_RINGSPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_INTERSECTING_RINGSPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_P_INTERSECTING_RINGS"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_INTERSECTING_RINGSPropertyType", propOrder = { + "ge_P_INTERSECTING_RINGS" +}) +public class PolygonIntersectingRingsPropertyType { + + @XmlElement(name = "GE_P_INTERSECTING_RINGS", required = true) + protected PolygonIntersectingRingsType ge_P_INTERSECTING_RINGS; + + /** + * Ruft den Wert der ge_P_INTERSECTING_RINGS-Eigenschaft ab. + * + * @return + * possible object is + * {@link PolygonIntersectingRingsType } + * + */ + public PolygonIntersectingRingsType getGE_P_INTERSECTING_RINGS() { + return ge_P_INTERSECTING_RINGS; + } + + /** + * Legt den Wert der ge_P_INTERSECTING_RINGS-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PolygonIntersectingRingsType } + * + */ + public void setGE_P_INTERSECTING_RINGS(PolygonIntersectingRingsType value) { + this.ge_P_INTERSECTING_RINGS = value; + } + + public boolean isSetGE_P_INTERSECTING_RINGS() { + return (this.ge_P_INTERSECTING_RINGS!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonIntersectingRingsType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonIntersectingRingsType.java new file mode 100644 index 0000000000000000000000000000000000000000..4a09e5fb8bd956bfbc22b4fb6ca0b29b639500b8 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonIntersectingRingsType.java @@ -0,0 +1,107 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_P_INTERSECTING_RINGSType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_INTERSECTING_RINGSType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractPolygonErrorType"> + * <sequence> + * <element name="linearRingId1" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="linearRingId2" type="{http://www.w3.org/2001/XMLSchema}string"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_INTERSECTING_RINGSType", propOrder = { + "linearRingId1", + "linearRingId2" +}) +public class PolygonIntersectingRingsType + extends AbstractPolygonErrorType +{ + + @XmlElement(required = true) + protected String linearRingId1; + @XmlElement(required = true) + protected String linearRingId2; + + /** + * Ruft den Wert der linearRingId1-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getLinearRingId1() { + return linearRingId1; + } + + /** + * Legt den Wert der linearRingId1-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setLinearRingId1(String value) { + this.linearRingId1 = value; + } + + public boolean isSetLinearRingId1() { + return (this.linearRingId1 != null); + } + + /** + * Ruft den Wert der linearRingId2-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getLinearRingId2() { + return linearRingId2; + } + + /** + * Legt den Wert der linearRingId2-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setLinearRingId2(String value) { + this.linearRingId2 = value; + } + + public boolean isSetLinearRingId2() { + return (this.linearRingId2 != null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonNonPlanarDistancePlanePropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonNonPlanarDistancePlanePropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..975786058169a562155848fc54d6f1a4b69d73c5 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonNonPlanarDistancePlanePropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEPropertyType", propOrder = { + "ge_P_NON_PLANAR_POLYGON_DISTANCE_PLANE" +}) +public class PolygonNonPlanarDistancePlanePropertyType { + + @XmlElement(name = "GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE", required = true) + protected PolygonNonPlanarDistancePlaneType ge_P_NON_PLANAR_POLYGON_DISTANCE_PLANE; + + /** + * Ruft den Wert der ge_P_NON_PLANAR_POLYGON_DISTANCE_PLANE-Eigenschaft ab. + * + * @return + * possible object is + * {@link PolygonNonPlanarDistancePlaneType } + * + */ + public PolygonNonPlanarDistancePlaneType getGE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE() { + return ge_P_NON_PLANAR_POLYGON_DISTANCE_PLANE; + } + + /** + * Legt den Wert der ge_P_NON_PLANAR_POLYGON_DISTANCE_PLANE-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PolygonNonPlanarDistancePlaneType } + * + */ + public void setGE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE(PolygonNonPlanarDistancePlaneType value) { + this.ge_P_NON_PLANAR_POLYGON_DISTANCE_PLANE = value; + } + + public boolean isSetGE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE() { + return (this.ge_P_NON_PLANAR_POLYGON_DISTANCE_PLANE!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonNonPlanarDistancePlaneType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonNonPlanarDistancePlaneType.java new file mode 100644 index 0000000000000000000000000000000000000000..f7b40439b61810167fe0f2b98286d4b30b88ce27 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonNonPlanarDistancePlaneType.java @@ -0,0 +1,109 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import net.opengis.gml.DirectPositionType; +import net.opengis.gml.LengthType; + + +/** + * <p>Java-Klasse für GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractPolygonErrorType"> + * <sequence> + * <element name="distance" type="{http://www.opengis.net/gml}LengthType"/> + * <element name="vertex" type="{http://www.opengis.net/gml}DirectPositionType"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEType", propOrder = { + "distance", + "vertex" +}) +public class PolygonNonPlanarDistancePlaneType + extends AbstractPolygonErrorType +{ + + @XmlElement(required = true) + protected LengthType distance; + @XmlElement(required = true) + protected DirectPositionType vertex; + + /** + * Ruft den Wert der distance-Eigenschaft ab. + * + * @return + * possible object is + * {@link LengthType } + * + */ + public LengthType getDistance() { + return distance; + } + + /** + * Legt den Wert der distance-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link LengthType } + * + */ + public void setDistance(LengthType value) { + this.distance = value; + } + + public boolean isSetDistance() { + return (this.distance!= null); + } + + /** + * Ruft den Wert der vertex-Eigenschaft ab. + * + * @return + * possible object is + * {@link DirectPositionType } + * + */ + public DirectPositionType getVertex() { + return vertex; + } + + /** + * Legt den Wert der vertex-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DirectPositionType } + * + */ + public void setVertex(DirectPositionType value) { + this.vertex = value; + } + + public boolean isSetVertex() { + return (this.vertex!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonNonPlanarNormalsDeviationPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonNonPlanarNormalsDeviationPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..10de3d73e3754400b990c3ad9e7541f815ee715b --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonNonPlanarNormalsDeviationPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONPropertyType", propOrder = { + "ge_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION" +}) +public class PolygonNonPlanarNormalsDeviationPropertyType { + + @XmlElement(name = "GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION", required = true) + protected PolygonNonPlanarNormalsDeviationType ge_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION; + + /** + * Ruft den Wert der ge_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION-Eigenschaft ab. + * + * @return + * possible object is + * {@link PolygonNonPlanarNormalsDeviationType } + * + */ + public PolygonNonPlanarNormalsDeviationType getGE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION() { + return ge_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION; + } + + /** + * Legt den Wert der ge_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PolygonNonPlanarNormalsDeviationType } + * + */ + public void setGE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION(PolygonNonPlanarNormalsDeviationType value) { + this.ge_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION = value; + } + + public boolean isSetGE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION() { + return (this.ge_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonNonPlanarNormalsDeviationType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonNonPlanarNormalsDeviationType.java new file mode 100644 index 0000000000000000000000000000000000000000..08fe605e8d4777643be3b6660c5ee03776cf7198 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonNonPlanarNormalsDeviationType.java @@ -0,0 +1,76 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import net.opengis.gml.AngleType; + + +/** + * <p>Java-Klasse für GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractPolygonErrorType"> + * <sequence> + * <element name="deviation" type="{http://www.opengis.net/gml}AngleType"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONType", propOrder = { + "deviation" +}) +public class PolygonNonPlanarNormalsDeviationType + extends AbstractPolygonErrorType +{ + + @XmlElement(required = true) + protected AngleType deviation; + + /** + * Ruft den Wert der deviation-Eigenschaft ab. + * + * @return + * possible object is + * {@link AngleType } + * + */ + public AngleType getDeviation() { + return deviation; + } + + /** + * Legt den Wert der deviation-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link AngleType } + * + */ + public void setDeviation(AngleType value) { + this.deviation = value; + } + + public boolean isSetDeviation() { + return (this.deviation!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonOrientationRingsSamePropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonOrientationRingsSamePropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..79909eef3a29da9afa2246d23c3cf95fb6df02aa --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonOrientationRingsSamePropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_P_ORIENTATION_RINGS_SAMEPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_ORIENTATION_RINGS_SAMEPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_P_ORIENTATION_RINGS_SAME"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_ORIENTATION_RINGS_SAMEPropertyType", propOrder = { + "ge_P_ORIENTATION_RINGS_SAME" +}) +public class PolygonOrientationRingsSamePropertyType { + + @XmlElement(name = "GE_P_ORIENTATION_RINGS_SAME", required = true) + protected PolygonOrientationRingsSameType ge_P_ORIENTATION_RINGS_SAME; + + /** + * Ruft den Wert der ge_P_ORIENTATION_RINGS_SAME-Eigenschaft ab. + * + * @return + * possible object is + * {@link PolygonOrientationRingsSameType } + * + */ + public PolygonOrientationRingsSameType getGE_P_ORIENTATION_RINGS_SAME() { + return ge_P_ORIENTATION_RINGS_SAME; + } + + /** + * Legt den Wert der ge_P_ORIENTATION_RINGS_SAME-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link PolygonOrientationRingsSameType } + * + */ + public void setGE_P_ORIENTATION_RINGS_SAME(PolygonOrientationRingsSameType value) { + this.ge_P_ORIENTATION_RINGS_SAME = value; + } + + public boolean isSetGE_P_ORIENTATION_RINGS_SAME() { + return (this.ge_P_ORIENTATION_RINGS_SAME!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonOrientationRingsSameType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonOrientationRingsSameType.java new file mode 100644 index 0000000000000000000000000000000000000000..996cec3e2b27159a522bab2c06b4f6aef26d0e8b --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonOrientationRingsSameType.java @@ -0,0 +1,75 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_P_ORIENTATION_RINGS_SAMEType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_P_ORIENTATION_RINGS_SAMEType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractPolygonErrorType"> + * <sequence> + * <element name="linearRingId" type="{http://www.w3.org/2001/XMLSchema}string"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_P_ORIENTATION_RINGS_SAMEType", propOrder = { + "linearRingId" +}) +public class PolygonOrientationRingsSameType + extends AbstractPolygonErrorType +{ + + @XmlElement(required = true) + protected String linearRingId; + + /** + * Ruft den Wert der linearRingId-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getLinearRingId() { + return linearRingId; + } + + /** + * Legt den Wert der linearRingId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setLinearRingId(String value) { + this.linearRingId = value; + } + + public boolean isSetLinearRingId() { + return (this.linearRingId!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RequirementPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RequirementPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..bd4e9688990fca57aadbd845f837285c2bdb3ecf --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RequirementPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für RequirementPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="RequirementPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}Requirement"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RequirementPropertyType", propOrder = { + "requirement" +}) +public class RequirementPropertyType { + + @XmlElement(name = "Requirement", required = true) + protected RequirementType requirement; + + /** + * Ruft den Wert der requirement-Eigenschaft ab. + * + * @return + * possible object is + * {@link RequirementType } + * + */ + public RequirementType getRequirement() { + return requirement; + } + + /** + * Legt den Wert der requirement-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link RequirementType } + * + */ + public void setRequirement(RequirementType value) { + this.requirement = value; + } + + public boolean isSetRequirement() { + return (this.requirement!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RequirementType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RequirementType.java new file mode 100644 index 0000000000000000000000000000000000000000..cbbf0032a87815370a6ede18b6868b78435f73a0 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RequirementType.java @@ -0,0 +1,140 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für RequirementType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="RequirementType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="enabled" type="{http://www.w3.org/2001/XMLSchema}boolean"/> + * <element name="requirementType" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}RequirementTypeType"/> + * <element name="parameter" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}ParameterPropertyType" maxOccurs="unbounded" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "RequirementType", propOrder = { + "enabled", + "requirementType", + "parameter" +}) +public class RequirementType { + + protected boolean enabled; + @XmlElement(required = true) + @XmlSchemaType(name = "string") + protected RequirementTypeType requirementType; + protected List<ParameterPropertyType> parameter; + + /** + * Ruft den Wert der enabled-Eigenschaft ab. + * + */ + public boolean isEnabled() { + return enabled; + } + + /** + * Legt den Wert der enabled-Eigenschaft fest. + * + */ + public void setEnabled(boolean value) { + this.enabled = value; + } + + public boolean isSetEnabled() { + return true; + } + + /** + * Ruft den Wert der requirementType-Eigenschaft ab. + * + * @return + * possible object is + * {@link RequirementTypeType } + * + */ + public RequirementTypeType getRequirementType() { + return requirementType; + } + + /** + * Legt den Wert der requirementType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link RequirementTypeType } + * + */ + public void setRequirementType(RequirementTypeType value) { + this.requirementType = value; + } + + public boolean isSetRequirementType() { + return (this.requirementType!= null); + } + + /** + * Gets the value of the parameter property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the parameter property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getParameter().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link ParameterPropertyType } + * + * + */ + public List<ParameterPropertyType> getParameter() { + if (parameter == null) { + parameter = new ArrayList<ParameterPropertyType>(); + } + return this.parameter; + } + + public boolean isSetParameter() { + return ((this.parameter!= null)&&(!this.parameter.isEmpty())); + } + + public void unsetParameter() { + this.parameter = null; + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RequirementTypeType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RequirementTypeType.java new file mode 100644 index 0000000000000000000000000000000000000000..a588de8956fc636541ae5e962775e2bc4df206ab --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RequirementTypeType.java @@ -0,0 +1,112 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für RequirementTypeType. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * <p> + * <pre> + * <simpleType name="RequirementTypeType"> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * <enumeration value="R_GE_R_TOO_FEW_POINTS"/> + * <enumeration value="R_GE_R_NOT_CLOSED"/> + * <enumeration value="R_GE_R_CONSECUTIVE_POINTS_SAME"/> + * <enumeration value="R_GE_R_SELF_INTERSECTION"/> + * <enumeration value="R_GE_P_NON_PLANAR"/> + * <enumeration value="R_GE_P_INTERIOR_DISCONNECTED"/> + * <enumeration value="R_GE_P_INTERSECTING_RINGS"/> + * <enumeration value="R_GE_P_HOLE_OUTSIDE"/> + * <enumeration value="R_GE_P_ORIENTATION_RINGS_SAME"/> + * <enumeration value="R_GE_P_INNER_RINGS_NESTED"/> + * <enumeration value="R_GE_S_TOO_FEW_POLYGONS"/> + * <enumeration value="R_GE_S_NOT_CLOSED"/> + * <enumeration value="R_GE_S_NON_MANIFOLD_EDGE"/> + * <enumeration value="R_GE_S_POLYGON_WRONG_ORIENTATION"/> + * <enumeration value="R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION"/> + * <enumeration value="R_GE_S_NON_MANIFOLD_VERTEX"/> + * <enumeration value="R_GE_S_SELF_INTERSECTION"/> + * <enumeration value="R_GE_S_MULTIPLE_CONNECTED_COMPONENTS"/> + * <enumeration value="R_SE_ATTRIBUTES_EXISTING"/> + * <enumeration value="R_SE_ATTRIBUTES_CORRECT"/> + * </restriction> + * </simpleType> + * </pre> + * + */ +@XmlType(name = "RequirementTypeType") +@XmlEnum +public enum RequirementTypeType { + + @XmlEnumValue("R_GE_R_TOO_FEW_POINTS") + R___GE___R___TOO___FEW___POINTS("R_GE_R_TOO_FEW_POINTS"), + @XmlEnumValue("R_GE_R_NOT_CLOSED") + R___GE___R___NOT___CLOSED("R_GE_R_NOT_CLOSED"), + @XmlEnumValue("R_GE_R_CONSECUTIVE_POINTS_SAME") + R___GE___R___CONSECUTIVE___POINTS___SAME("R_GE_R_CONSECUTIVE_POINTS_SAME"), + @XmlEnumValue("R_GE_R_SELF_INTERSECTION") + R___GE___R___SELF___INTERSECTION("R_GE_R_SELF_INTERSECTION"), + @XmlEnumValue("R_GE_P_NON_PLANAR") + R___GE___P___NON___PLANAR("R_GE_P_NON_PLANAR"), + @XmlEnumValue("R_GE_P_INTERIOR_DISCONNECTED") + R___GE___P___INTERIOR___DISCONNECTED("R_GE_P_INTERIOR_DISCONNECTED"), + @XmlEnumValue("R_GE_P_INTERSECTING_RINGS") + R___GE___P___INTERSECTING___RINGS("R_GE_P_INTERSECTING_RINGS"), + @XmlEnumValue("R_GE_P_HOLE_OUTSIDE") + R___GE___P___HOLE___OUTSIDE("R_GE_P_HOLE_OUTSIDE"), + @XmlEnumValue("R_GE_P_ORIENTATION_RINGS_SAME") + R___GE___P___ORIENTATION___RINGS___SAME("R_GE_P_ORIENTATION_RINGS_SAME"), + @XmlEnumValue("R_GE_P_INNER_RINGS_NESTED") + R___GE___P___INNER___RINGS___NESTED("R_GE_P_INNER_RINGS_NESTED"), + @XmlEnumValue("R_GE_S_TOO_FEW_POLYGONS") + R___GE___S___TOO___FEW___POLYGONS("R_GE_S_TOO_FEW_POLYGONS"), + @XmlEnumValue("R_GE_S_NOT_CLOSED") + R___GE___S___NOT___CLOSED("R_GE_S_NOT_CLOSED"), + @XmlEnumValue("R_GE_S_NON_MANIFOLD_EDGE") + R___GE___S___NON___MANIFOLD___EDGE("R_GE_S_NON_MANIFOLD_EDGE"), + @XmlEnumValue("R_GE_S_POLYGON_WRONG_ORIENTATION") + R___GE___S___POLYGON___WRONG___ORIENTATION("R_GE_S_POLYGON_WRONG_ORIENTATION"), + @XmlEnumValue("R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION") + R___GE___S___ALL___POLYGONS___WRONG___ORIENTATION("R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION"), + @XmlEnumValue("R_GE_S_NON_MANIFOLD_VERTEX") + R___GE___S___NON___MANIFOLD___VERTEX("R_GE_S_NON_MANIFOLD_VERTEX"), + @XmlEnumValue("R_GE_S_SELF_INTERSECTION") + R___GE___S___SELF___INTERSECTION("R_GE_S_SELF_INTERSECTION"), + @XmlEnumValue("R_GE_S_MULTIPLE_CONNECTED_COMPONENTS") + R___GE___S___MULTIPLE___CONNECTED___COMPONENTS("R_GE_S_MULTIPLE_CONNECTED_COMPONENTS"), + @XmlEnumValue("R_SE_ATTRIBUTES_EXISTING") + R___SE___ATTRIBUTES___EXISTING("R_SE_ATTRIBUTES_EXISTING"), + @XmlEnumValue("R_SE_ATTRIBUTES_CORRECT") + R___SE___ATTRIBUTES___CORRECT("R_SE_ATTRIBUTES_CORRECT"); + private final String value; + + RequirementTypeType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static RequirementTypeType fromValue(String v) { + for (RequirementTypeType c: RequirementTypeType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ResultTypeType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ResultTypeType.java new file mode 100644 index 0000000000000000000000000000000000000000..7ef4fda9ef7f08895f9134dafc7a7e58b8614a81 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ResultTypeType.java @@ -0,0 +1,59 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlEnumValue; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ResultTypeType. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * <p> + * <pre> + * <simpleType name="ResultTypeType"> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * <enumeration value="OK"/> + * <enumeration value="ERROR"/> + * <enumeration value="NOT_CHECKED"/> + * </restriction> + * </simpleType> + * </pre> + * + */ +@XmlType(name = "ResultTypeType") +@XmlEnum +public enum ResultTypeType { + + OK("OK"), + ERROR("ERROR"), + @XmlEnumValue("NOT_CHECKED") + NOT___CHECKED("NOT_CHECKED"); + private final String value; + + ResultTypeType(String v) { + value = v; + } + + public String value() { + return value; + } + + public static ResultTypeType fromValue(String v) { + for (ResultTypeType c: ResultTypeType.values()) { + if (c.value.equals(v)) { + return c; + } + } + throw new IllegalArgumentException(v); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingConsecutivePointsSamePropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingConsecutivePointsSamePropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..4254203c9d3ec593c8b09b8c0084a033adce1c27 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingConsecutivePointsSamePropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_R_CONSECUTIVE_POINTS_SAMEPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_R_CONSECUTIVE_POINTS_SAMEPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_R_CONSECUTIVE_POINTS_SAME"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_R_CONSECUTIVE_POINTS_SAMEPropertyType", propOrder = { + "ge_R_CONSECUTIVE_POINTS_SAME" +}) +public class RingConsecutivePointsSamePropertyType { + + @XmlElement(name = "GE_R_CONSECUTIVE_POINTS_SAME", required = true) + protected RingConsecutivePointsSameType ge_R_CONSECUTIVE_POINTS_SAME; + + /** + * Ruft den Wert der ge_R_CONSECUTIVE_POINTS_SAME-Eigenschaft ab. + * + * @return + * possible object is + * {@link RingConsecutivePointsSameType } + * + */ + public RingConsecutivePointsSameType getGE_R_CONSECUTIVE_POINTS_SAME() { + return ge_R_CONSECUTIVE_POINTS_SAME; + } + + /** + * Legt den Wert der ge_R_CONSECUTIVE_POINTS_SAME-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link RingConsecutivePointsSameType } + * + */ + public void setGE_R_CONSECUTIVE_POINTS_SAME(RingConsecutivePointsSameType value) { + this.ge_R_CONSECUTIVE_POINTS_SAME = value; + } + + public boolean isSetGE_R_CONSECUTIVE_POINTS_SAME() { + return (this.ge_R_CONSECUTIVE_POINTS_SAME!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingConsecutivePointsSameType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingConsecutivePointsSameType.java new file mode 100644 index 0000000000000000000000000000000000000000..a8a862e4de00cb39be3fe0a74a0562d1950cafc6 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingConsecutivePointsSameType.java @@ -0,0 +1,108 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import net.opengis.gml.DirectPositionType; + + +/** + * <p>Java-Klasse für GE_R_CONSECUTIVE_POINTS_SAMEType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_R_CONSECUTIVE_POINTS_SAMEType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractRingErrorType"> + * <sequence> + * <element name="vertex1" type="{http://www.opengis.net/gml}DirectPositionType"/> + * <element name="vertex2" type="{http://www.opengis.net/gml}DirectPositionType"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_R_CONSECUTIVE_POINTS_SAMEType", propOrder = { + "vertex1", + "vertex2" +}) +public class RingConsecutivePointsSameType + extends AbstractRingErrorType +{ + + @XmlElement(required = true) + protected DirectPositionType vertex1; + @XmlElement(required = true) + protected DirectPositionType vertex2; + + /** + * Ruft den Wert der vertex1-Eigenschaft ab. + * + * @return + * possible object is + * {@link DirectPositionType } + * + */ + public DirectPositionType getVertex1() { + return vertex1; + } + + /** + * Legt den Wert der vertex1-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DirectPositionType } + * + */ + public void setVertex1(DirectPositionType value) { + this.vertex1 = value; + } + + public boolean isSetVertex1() { + return (this.vertex1 != null); + } + + /** + * Ruft den Wert der vertex2-Eigenschaft ab. + * + * @return + * possible object is + * {@link DirectPositionType } + * + */ + public DirectPositionType getVertex2() { + return vertex2; + } + + /** + * Legt den Wert der vertex2-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DirectPositionType } + * + */ + public void setVertex2(DirectPositionType value) { + this.vertex2 = value; + } + + public boolean isSetVertex2() { + return (this.vertex2 != null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingNotClosedPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingNotClosedPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..7684a7c5642940d4f64a4929de271962ab0649f6 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingNotClosedPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_R_NOT_CLOSEDPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_R_NOT_CLOSEDPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_R_NOT_CLOSED"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_R_NOT_CLOSEDPropertyType", propOrder = { + "ge_R_NOT_CLOSED" +}) +public class RingNotClosedPropertyType { + + @XmlElement(name = "GE_R_NOT_CLOSED", required = true) + protected RingNotClosedType ge_R_NOT_CLOSED; + + /** + * Ruft den Wert der ge_R_NOT_CLOSED-Eigenschaft ab. + * + * @return + * possible object is + * {@link RingNotClosedType } + * + */ + public RingNotClosedType getGE_R_NOT_CLOSED() { + return ge_R_NOT_CLOSED; + } + + /** + * Legt den Wert der ge_R_NOT_CLOSED-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link RingNotClosedType } + * + */ + public void setGE_R_NOT_CLOSED(RingNotClosedType value) { + this.ge_R_NOT_CLOSED = value; + } + + public boolean isSetGE_R_NOT_CLOSED() { + return (this.ge_R_NOT_CLOSED!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingNotClosedType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingNotClosedType.java new file mode 100644 index 0000000000000000000000000000000000000000..8d52d423497324482ca0620bc8b961ab630199ef --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingNotClosedType.java @@ -0,0 +1,41 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_R_NOT_CLOSEDType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_R_NOT_CLOSEDType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractRingErrorType"> + * <sequence> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_R_NOT_CLOSEDType") +public class RingNotClosedType + extends AbstractRingErrorType +{ + + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingSelfIntersectionPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingSelfIntersectionPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..196ccbe55022f952e217564e41fa34bdc6e7d7e7 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingSelfIntersectionPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_R_SELF_INTERSECTIONPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_R_SELF_INTERSECTIONPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_R_SELF_INTERSECTION"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_R_SELF_INTERSECTIONPropertyType", propOrder = { + "ge_R_SELF_INTERSECTION" +}) +public class RingSelfIntersectionPropertyType { + + @XmlElement(name = "GE_R_SELF_INTERSECTION", required = true) + protected RingSelfIntersectionType ge_R_SELF_INTERSECTION; + + /** + * Ruft den Wert der ge_R_SELF_INTERSECTION-Eigenschaft ab. + * + * @return + * possible object is + * {@link RingSelfIntersectionType } + * + */ + public RingSelfIntersectionType getGE_R_SELF_INTERSECTION() { + return ge_R_SELF_INTERSECTION; + } + + /** + * Legt den Wert der ge_R_SELF_INTERSECTION-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link RingSelfIntersectionType } + * + */ + public void setGE_R_SELF_INTERSECTION(RingSelfIntersectionType value) { + this.ge_R_SELF_INTERSECTION = value; + } + + public boolean isSetGE_R_SELF_INTERSECTION() { + return (this.ge_R_SELF_INTERSECTION!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingSelfIntersectionType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingSelfIntersectionType.java new file mode 100644 index 0000000000000000000000000000000000000000..3f830ca4b8b3cd7bc16a731bb40df9a6abcfa06e --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingSelfIntersectionType.java @@ -0,0 +1,172 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import net.opengis.gml.DirectPositionType; + + +/** + * <p>Java-Klasse für GE_R_SELF_INTERSECTIONType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_R_SELF_INTERSECTIONType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractRingErrorType"> + * <sequence> + * <element name="type" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="edge1" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}EdgePropertyType"/> + * <element name="edge2" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}EdgePropertyType"/> + * <element name="vertex" type="{http://www.opengis.net/gml}DirectPositionType"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_R_SELF_INTERSECTIONType", propOrder = { + "type", + "edge1", + "edge2", + "vertex" +}) +public class RingSelfIntersectionType + extends AbstractRingErrorType +{ + + @XmlElement(required = true) + protected String type; + @XmlElement(required = true) + protected EdgePropertyType edge1; + @XmlElement(required = true) + protected EdgePropertyType edge2; + @XmlElement(required = true) + protected DirectPositionType vertex; + + /** + * Ruft den Wert der type-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getType() { + return type; + } + + /** + * Legt den Wert der type-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setType(String value) { + this.type = value; + } + + public boolean isSetType() { + return (this.type!= null); + } + + /** + * Ruft den Wert der edge1-Eigenschaft ab. + * + * @return + * possible object is + * {@link EdgePropertyType } + * + */ + public EdgePropertyType getEdge1() { + return edge1; + } + + /** + * Legt den Wert der edge1-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link EdgePropertyType } + * + */ + public void setEdge1(EdgePropertyType value) { + this.edge1 = value; + } + + public boolean isSetEdge1() { + return (this.edge1 != null); + } + + /** + * Ruft den Wert der edge2-Eigenschaft ab. + * + * @return + * possible object is + * {@link EdgePropertyType } + * + */ + public EdgePropertyType getEdge2() { + return edge2; + } + + /** + * Legt den Wert der edge2-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link EdgePropertyType } + * + */ + public void setEdge2(EdgePropertyType value) { + this.edge2 = value; + } + + public boolean isSetEdge2() { + return (this.edge2 != null); + } + + /** + * Ruft den Wert der vertex-Eigenschaft ab. + * + * @return + * possible object is + * {@link DirectPositionType } + * + */ + public DirectPositionType getVertex() { + return vertex; + } + + /** + * Legt den Wert der vertex-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DirectPositionType } + * + */ + public void setVertex(DirectPositionType value) { + this.vertex = value; + } + + public boolean isSetVertex() { + return (this.vertex!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingTooFewPointsPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingTooFewPointsPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..c8d5d70582665fde2149c09321feb36b9194d588 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingTooFewPointsPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_R_TOO_FEW_POINTSPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_R_TOO_FEW_POINTSPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_R_TOO_FEW_POINTS"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_R_TOO_FEW_POINTSPropertyType", propOrder = { + "ge_R_TOO_FEW_POINTS" +}) +public class RingTooFewPointsPropertyType { + + @XmlElement(name = "GE_R_TOO_FEW_POINTS", required = true) + protected RingTooFewPointsType ge_R_TOO_FEW_POINTS; + + /** + * Ruft den Wert der ge_R_TOO_FEW_POINTS-Eigenschaft ab. + * + * @return + * possible object is + * {@link RingTooFewPointsType } + * + */ + public RingTooFewPointsType getGE_R_TOO_FEW_POINTS() { + return ge_R_TOO_FEW_POINTS; + } + + /** + * Legt den Wert der ge_R_TOO_FEW_POINTS-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link RingTooFewPointsType } + * + */ + public void setGE_R_TOO_FEW_POINTS(RingTooFewPointsType value) { + this.ge_R_TOO_FEW_POINTS = value; + } + + public boolean isSetGE_R_TOO_FEW_POINTS() { + return (this.ge_R_TOO_FEW_POINTS!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingTooFewPointsType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingTooFewPointsType.java new file mode 100644 index 0000000000000000000000000000000000000000..3e30518d176a7c4a9ceaefa488a373d1271a31e1 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/RingTooFewPointsType.java @@ -0,0 +1,41 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_R_TOO_FEW_POINTSType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_R_TOO_FEW_POINTSType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractRingErrorType"> + * <sequence> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_R_TOO_FEW_POINTSType") +public class RingTooFewPointsType + extends AbstractRingErrorType +{ + + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticAttributeMissingPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticAttributeMissingPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..091fb4915271aa15739f900ce0cd0908463a8010 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticAttributeMissingPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für SEM_ATTRIBUTE_MISSINGPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="SEM_ATTRIBUTE_MISSINGPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}SEM_ATTRIBUTE_MISSING"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SEM_ATTRIBUTE_MISSINGPropertyType", propOrder = { + "sem_ATTRIBUTE_MISSING" +}) +public class SemanticAttributeMissingPropertyType { + + @XmlElement(name = "SEM_ATTRIBUTE_MISSING", required = true) + protected SemanticAttributeMissingType sem_ATTRIBUTE_MISSING; + + /** + * Ruft den Wert der sem_ATTRIBUTE_MISSING-Eigenschaft ab. + * + * @return + * possible object is + * {@link SemanticAttributeMissingType } + * + */ + public SemanticAttributeMissingType getSEM_ATTRIBUTE_MISSING() { + return sem_ATTRIBUTE_MISSING; + } + + /** + * Legt den Wert der sem_ATTRIBUTE_MISSING-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SemanticAttributeMissingType } + * + */ + public void setSEM_ATTRIBUTE_MISSING(SemanticAttributeMissingType value) { + this.sem_ATTRIBUTE_MISSING = value; + } + + public boolean isSetSEM_ATTRIBUTE_MISSING() { + return (this.sem_ATTRIBUTE_MISSING!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticAttributeMissingType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticAttributeMissingType.java new file mode 100644 index 0000000000000000000000000000000000000000..a6944d101a33ebdcbc6ace00e0def2c1b2d6adca --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticAttributeMissingType.java @@ -0,0 +1,130 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für SEM_ATTRIBUTE_MISSINGType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="SEM_ATTRIBUTE_MISSINGType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractSemanticErrorType"> + * <sequence> + * <element name="childId" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="generic" type="{http://www.w3.org/2001/XMLSchema}boolean"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SEM_ATTRIBUTE_MISSINGType", propOrder = { + "childId", + "attributeName", + "generic" +}) +public class SemanticAttributeMissingType + extends AbstractSemanticErrorType +{ + + @XmlElement(required = true) + protected String childId; + @XmlElement(required = true) + protected String attributeName; + protected boolean generic; + + /** + * Ruft den Wert der childId-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getChildId() { + return childId; + } + + /** + * Legt den Wert der childId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setChildId(String value) { + this.childId = value; + } + + public boolean isSetChildId() { + return (this.childId!= null); + } + + /** + * Ruft den Wert der attributeName-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getAttributeName() { + return attributeName; + } + + /** + * Legt den Wert der attributeName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setAttributeName(String value) { + this.attributeName = value; + } + + public boolean isSetAttributeName() { + return (this.attributeName!= null); + } + + /** + * Ruft den Wert der generic-Eigenschaft ab. + * + */ + public boolean isGeneric() { + return generic; + } + + /** + * Legt den Wert der generic-Eigenschaft fest. + * + */ + public void setGeneric(boolean value) { + this.generic = value; + } + + public boolean isSetGeneric() { + return true; + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticAttributeWrongValuePropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticAttributeWrongValuePropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..5e39a1c0e9acb976887d7c6d212d659d99267ffe --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticAttributeWrongValuePropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für SEM_ATTRIBUTE_WRONG_VALUEPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="SEM_ATTRIBUTE_WRONG_VALUEPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}SEM_ATTRIBUTE_WRONG_VALUE"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SEM_ATTRIBUTE_WRONG_VALUEPropertyType", propOrder = { + "sem_ATTRIBUTE_WRONG_VALUE" +}) +public class SemanticAttributeWrongValuePropertyType { + + @XmlElement(name = "SEM_ATTRIBUTE_WRONG_VALUE", required = true) + protected SemanticAttributeWrongValueType sem_ATTRIBUTE_WRONG_VALUE; + + /** + * Ruft den Wert der sem_ATTRIBUTE_WRONG_VALUE-Eigenschaft ab. + * + * @return + * possible object is + * {@link SemanticAttributeWrongValueType } + * + */ + public SemanticAttributeWrongValueType getSEM_ATTRIBUTE_WRONG_VALUE() { + return sem_ATTRIBUTE_WRONG_VALUE; + } + + /** + * Legt den Wert der sem_ATTRIBUTE_WRONG_VALUE-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SemanticAttributeWrongValueType } + * + */ + public void setSEM_ATTRIBUTE_WRONG_VALUE(SemanticAttributeWrongValueType value) { + this.sem_ATTRIBUTE_WRONG_VALUE = value; + } + + public boolean isSetSEM_ATTRIBUTE_WRONG_VALUE() { + return (this.sem_ATTRIBUTE_WRONG_VALUE!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticAttributeWrongValueType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticAttributeWrongValueType.java new file mode 100644 index 0000000000000000000000000000000000000000..c2f49e3a9fb6aa41836d4d9798712444010386fd --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticAttributeWrongValueType.java @@ -0,0 +1,130 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für SEM_ATTRIBUTE_WRONG_VALUEType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="SEM_ATTRIBUTE_WRONG_VALUEType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractSemanticErrorType"> + * <sequence> + * <element name="childId" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="attributeName" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="generic" type="{http://www.w3.org/2001/XMLSchema}boolean"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "SEM_ATTRIBUTE_WRONG_VALUEType", propOrder = { + "childId", + "attributeName", + "generic" +}) +public class SemanticAttributeWrongValueType + extends AbstractSemanticErrorType +{ + + @XmlElement(required = true) + protected String childId; + @XmlElement(required = true) + protected String attributeName; + protected boolean generic; + + /** + * Ruft den Wert der childId-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getChildId() { + return childId; + } + + /** + * Legt den Wert der childId-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setChildId(String value) { + this.childId = value; + } + + public boolean isSetChildId() { + return (this.childId!= null); + } + + /** + * Ruft den Wert der attributeName-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getAttributeName() { + return attributeName; + } + + /** + * Legt den Wert der attributeName-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setAttributeName(String value) { + this.attributeName = value; + } + + public boolean isSetAttributeName() { + return (this.attributeName!= null); + } + + /** + * Ruft den Wert der generic-Eigenschaft ab. + * + */ + public boolean isGeneric() { + return generic; + } + + /** + * Legt den Wert der generic-Eigenschaft fest. + * + */ + public void setGeneric(boolean value) { + this.generic = value; + } + + public boolean isSetGeneric() { + return true; + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidAllPolygonsWrongOrientationPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidAllPolygonsWrongOrientationPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..faf364e630afa7f25d1214758d1c92ea7f60c3e9 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidAllPolygonsWrongOrientationPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_ALL_POLYGONS_WRONG_ORIENTATIONPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_ALL_POLYGONS_WRONG_ORIENTATIONPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_S_ALL_POLYGONS_WRONG_ORIENTATION"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_ALL_POLYGONS_WRONG_ORIENTATIONPropertyType", propOrder = { + "ge_S_ALL_POLYGONS_WRONG_ORIENTATION" +}) +public class SolidAllPolygonsWrongOrientationPropertyType { + + @XmlElement(name = "GE_S_ALL_POLYGONS_WRONG_ORIENTATION", required = true) + protected SolidAllPolygonsWrongOrientationType ge_S_ALL_POLYGONS_WRONG_ORIENTATION; + + /** + * Ruft den Wert der ge_S_ALL_POLYGONS_WRONG_ORIENTATION-Eigenschaft ab. + * + * @return + * possible object is + * {@link SolidAllPolygonsWrongOrientationType } + * + */ + public SolidAllPolygonsWrongOrientationType getGE_S_ALL_POLYGONS_WRONG_ORIENTATION() { + return ge_S_ALL_POLYGONS_WRONG_ORIENTATION; + } + + /** + * Legt den Wert der ge_S_ALL_POLYGONS_WRONG_ORIENTATION-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SolidAllPolygonsWrongOrientationType } + * + */ + public void setGE_S_ALL_POLYGONS_WRONG_ORIENTATION(SolidAllPolygonsWrongOrientationType value) { + this.ge_S_ALL_POLYGONS_WRONG_ORIENTATION = value; + } + + public boolean isSetGE_S_ALL_POLYGONS_WRONG_ORIENTATION() { + return (this.ge_S_ALL_POLYGONS_WRONG_ORIENTATION!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidAllPolygonsWrongOrientationType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidAllPolygonsWrongOrientationType.java new file mode 100644 index 0000000000000000000000000000000000000000..3513413d9a8ef76591d0cecd66966d45a08e2c45 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidAllPolygonsWrongOrientationType.java @@ -0,0 +1,41 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_ALL_POLYGONS_WRONG_ORIENTATIONType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_ALL_POLYGONS_WRONG_ORIENTATIONType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractSolidErrorType"> + * <sequence> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_ALL_POLYGONS_WRONG_ORIENTATIONType") +public class SolidAllPolygonsWrongOrientationType + extends AbstractSolidErrorType +{ + + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidMultipleConnectedComponentsPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidMultipleConnectedComponentsPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..f7548dd5e814c923092a619b10b0fd4412db31a4 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidMultipleConnectedComponentsPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_MULTIPLE_CONNECTED_COMPONENTSPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_MULTIPLE_CONNECTED_COMPONENTSPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_S_MULTIPLE_CONNECTED_COMPONENTS"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_MULTIPLE_CONNECTED_COMPONENTSPropertyType", propOrder = { + "ge_S_MULTIPLE_CONNECTED_COMPONENTS" +}) +public class SolidMultipleConnectedComponentsPropertyType { + + @XmlElement(name = "GE_S_MULTIPLE_CONNECTED_COMPONENTS", required = true) + protected SolidMultipleConnectedComponentsType ge_S_MULTIPLE_CONNECTED_COMPONENTS; + + /** + * Ruft den Wert der ge_S_MULTIPLE_CONNECTED_COMPONENTS-Eigenschaft ab. + * + * @return + * possible object is + * {@link SolidMultipleConnectedComponentsType } + * + */ + public SolidMultipleConnectedComponentsType getGE_S_MULTIPLE_CONNECTED_COMPONENTS() { + return ge_S_MULTIPLE_CONNECTED_COMPONENTS; + } + + /** + * Legt den Wert der ge_S_MULTIPLE_CONNECTED_COMPONENTS-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SolidMultipleConnectedComponentsType } + * + */ + public void setGE_S_MULTIPLE_CONNECTED_COMPONENTS(SolidMultipleConnectedComponentsType value) { + this.ge_S_MULTIPLE_CONNECTED_COMPONENTS = value; + } + + public boolean isSetGE_S_MULTIPLE_CONNECTED_COMPONENTS() { + return (this.ge_S_MULTIPLE_CONNECTED_COMPONENTS!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidMultipleConnectedComponentsType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidMultipleConnectedComponentsType.java new file mode 100644 index 0000000000000000000000000000000000000000..d01c2fb621f8e6e54a482f37d561b33ba53ba4c4 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidMultipleConnectedComponentsType.java @@ -0,0 +1,86 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_MULTIPLE_CONNECTED_COMPONENTSType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_MULTIPLE_CONNECTED_COMPONENTSType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractSolidErrorType"> + * <sequence> + * <element name="components" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}ComponentListPropertyType" maxOccurs="unbounded"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_MULTIPLE_CONNECTED_COMPONENTSType", propOrder = { + "components" +}) +public class SolidMultipleConnectedComponentsType + extends AbstractSolidErrorType +{ + + @XmlElement(required = true) + protected List<ComponentListPropertyType> components; + + /** + * Gets the value of the components property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the components property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getComponents().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link ComponentListPropertyType } + * + * + */ + public List<ComponentListPropertyType> getComponents() { + if (components == null) { + components = new ArrayList<ComponentListPropertyType>(); + } + return this.components; + } + + public boolean isSetComponents() { + return ((this.components!= null)&&(!this.components.isEmpty())); + } + + public void unsetComponents() { + this.components = null; + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNonManifoldEdgePropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNonManifoldEdgePropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..1786163dad0465726d414f0878218dfea9c5ee40 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNonManifoldEdgePropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_NON_MANIFOLD_EDGEPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_NON_MANIFOLD_EDGEPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_S_NON_MANIFOLD_EDGE"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_NON_MANIFOLD_EDGEPropertyType", propOrder = { + "ge_S_NON_MANIFOLD_EDGE" +}) +public class SolidNonManifoldEdgePropertyType { + + @XmlElement(name = "GE_S_NON_MANIFOLD_EDGE", required = true) + protected SolidNonManifoldEdgeType ge_S_NON_MANIFOLD_EDGE; + + /** + * Ruft den Wert der ge_S_NON_MANIFOLD_EDGE-Eigenschaft ab. + * + * @return + * possible object is + * {@link SolidNonManifoldEdgeType } + * + */ + public SolidNonManifoldEdgeType getGE_S_NON_MANIFOLD_EDGE() { + return ge_S_NON_MANIFOLD_EDGE; + } + + /** + * Legt den Wert der ge_S_NON_MANIFOLD_EDGE-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SolidNonManifoldEdgeType } + * + */ + public void setGE_S_NON_MANIFOLD_EDGE(SolidNonManifoldEdgeType value) { + this.ge_S_NON_MANIFOLD_EDGE = value; + } + + public boolean isSetGE_S_NON_MANIFOLD_EDGE() { + return (this.ge_S_NON_MANIFOLD_EDGE!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNonManifoldEdgeType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNonManifoldEdgeType.java new file mode 100644 index 0000000000000000000000000000000000000000..2eb2a9ad8d2569b35376a4441d875f69ac9be2d7 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNonManifoldEdgeType.java @@ -0,0 +1,75 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_NON_MANIFOLD_EDGEType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_NON_MANIFOLD_EDGEType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractSolidErrorType"> + * <sequence> + * <element name="edges" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}EdgeListPropertyType"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_NON_MANIFOLD_EDGEType", propOrder = { + "edges" +}) +public class SolidNonManifoldEdgeType + extends AbstractSolidErrorType +{ + + @XmlElement(required = true) + protected EdgeListPropertyType edges; + + /** + * Ruft den Wert der edges-Eigenschaft ab. + * + * @return + * possible object is + * {@link EdgeListPropertyType } + * + */ + public EdgeListPropertyType getEdges() { + return edges; + } + + /** + * Legt den Wert der edges-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link EdgeListPropertyType } + * + */ + public void setEdges(EdgeListPropertyType value) { + this.edges = value; + } + + public boolean isSetEdges() { + return (this.edges!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNonManifoldVertexPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNonManifoldVertexPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..f7e545394c6a29c9a075610d99e6f8741c2b292a --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNonManifoldVertexPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_NON_MANIFOLD_VERTEXPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_NON_MANIFOLD_VERTEXPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_S_NON_MANIFOLD_VERTEX"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_NON_MANIFOLD_VERTEXPropertyType", propOrder = { + "ge_S_NON_MANIFOLD_VERTEX" +}) +public class SolidNonManifoldVertexPropertyType { + + @XmlElement(name = "GE_S_NON_MANIFOLD_VERTEX", required = true) + protected SolidNonManifoldVertexType ge_S_NON_MANIFOLD_VERTEX; + + /** + * Ruft den Wert der ge_S_NON_MANIFOLD_VERTEX-Eigenschaft ab. + * + * @return + * possible object is + * {@link SolidNonManifoldVertexType } + * + */ + public SolidNonManifoldVertexType getGE_S_NON_MANIFOLD_VERTEX() { + return ge_S_NON_MANIFOLD_VERTEX; + } + + /** + * Legt den Wert der ge_S_NON_MANIFOLD_VERTEX-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SolidNonManifoldVertexType } + * + */ + public void setGE_S_NON_MANIFOLD_VERTEX(SolidNonManifoldVertexType value) { + this.ge_S_NON_MANIFOLD_VERTEX = value; + } + + public boolean isSetGE_S_NON_MANIFOLD_VERTEX() { + return (this.ge_S_NON_MANIFOLD_VERTEX!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNonManifoldVertexType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNonManifoldVertexType.java new file mode 100644 index 0000000000000000000000000000000000000000..4ff0ecf0afbbbcf6d64c723468a1ef73c63b971f --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNonManifoldVertexType.java @@ -0,0 +1,76 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; +import net.opengis.gml.DirectPositionType; + + +/** + * <p>Java-Klasse für GE_S_NON_MANIFOLD_VERTEXType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_NON_MANIFOLD_VERTEXType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractSolidErrorType"> + * <sequence> + * <element name="vertex" type="{http://www.opengis.net/gml}DirectPositionType"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_NON_MANIFOLD_VERTEXType", propOrder = { + "vertex" +}) +public class SolidNonManifoldVertexType + extends AbstractSolidErrorType +{ + + @XmlElement(required = true) + protected DirectPositionType vertex; + + /** + * Ruft den Wert der vertex-Eigenschaft ab. + * + * @return + * possible object is + * {@link DirectPositionType } + * + */ + public DirectPositionType getVertex() { + return vertex; + } + + /** + * Legt den Wert der vertex-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link DirectPositionType } + * + */ + public void setVertex(DirectPositionType value) { + this.vertex = value; + } + + public boolean isSetVertex() { + return (this.vertex!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNotClosedPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNotClosedPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..9ee46ced1dbf0bf642c90b3cf9a8f2b79950e7be --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNotClosedPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_NOT_CLOSEDPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_NOT_CLOSEDPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_S_NOT_CLOSED"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_NOT_CLOSEDPropertyType", propOrder = { + "ge_S_NOT_CLOSED" +}) +public class SolidNotClosedPropertyType { + + @XmlElement(name = "GE_S_NOT_CLOSED", required = true) + protected SolidNotClosedType ge_S_NOT_CLOSED; + + /** + * Ruft den Wert der ge_S_NOT_CLOSED-Eigenschaft ab. + * + * @return + * possible object is + * {@link SolidNotClosedType } + * + */ + public SolidNotClosedType getGE_S_NOT_CLOSED() { + return ge_S_NOT_CLOSED; + } + + /** + * Legt den Wert der ge_S_NOT_CLOSED-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SolidNotClosedType } + * + */ + public void setGE_S_NOT_CLOSED(SolidNotClosedType value) { + this.ge_S_NOT_CLOSED = value; + } + + public boolean isSetGE_S_NOT_CLOSED() { + return (this.ge_S_NOT_CLOSED!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNotClosedType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNotClosedType.java new file mode 100644 index 0000000000000000000000000000000000000000..809250b74a5e4cba159d7e69f1fddcfa2270b840 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNotClosedType.java @@ -0,0 +1,75 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_NOT_CLOSEDType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_NOT_CLOSEDType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractSolidErrorType"> + * <sequence> + * <element name="edges" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}EdgeListPropertyType"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_NOT_CLOSEDType", propOrder = { + "edges" +}) +public class SolidNotClosedType + extends AbstractSolidErrorType +{ + + @XmlElement(required = true) + protected EdgeListPropertyType edges; + + /** + * Ruft den Wert der edges-Eigenschaft ab. + * + * @return + * possible object is + * {@link EdgeListPropertyType } + * + */ + public EdgeListPropertyType getEdges() { + return edges; + } + + /** + * Legt den Wert der edges-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link EdgeListPropertyType } + * + */ + public void setEdges(EdgeListPropertyType value) { + this.edges = value; + } + + public boolean isSetEdges() { + return (this.edges!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidPolygonWrongOrientationPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidPolygonWrongOrientationPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..accd6c518c072c6e35259ea4cb6b496d5293285c --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidPolygonWrongOrientationPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_POLYGON_WRONG_ORIENTATIONPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_POLYGON_WRONG_ORIENTATIONPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_S_POLYGON_WRONG_ORIENTATION"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_POLYGON_WRONG_ORIENTATIONPropertyType", propOrder = { + "ge_S_POLYGON_WRONG_ORIENTATION" +}) +public class SolidPolygonWrongOrientationPropertyType { + + @XmlElement(name = "GE_S_POLYGON_WRONG_ORIENTATION", required = true) + protected SolidPolygonWrongOrientationType ge_S_POLYGON_WRONG_ORIENTATION; + + /** + * Ruft den Wert der ge_S_POLYGON_WRONG_ORIENTATION-Eigenschaft ab. + * + * @return + * possible object is + * {@link SolidPolygonWrongOrientationType } + * + */ + public SolidPolygonWrongOrientationType getGE_S_POLYGON_WRONG_ORIENTATION() { + return ge_S_POLYGON_WRONG_ORIENTATION; + } + + /** + * Legt den Wert der ge_S_POLYGON_WRONG_ORIENTATION-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SolidPolygonWrongOrientationType } + * + */ + public void setGE_S_POLYGON_WRONG_ORIENTATION(SolidPolygonWrongOrientationType value) { + this.ge_S_POLYGON_WRONG_ORIENTATION = value; + } + + public boolean isSetGE_S_POLYGON_WRONG_ORIENTATION() { + return (this.ge_S_POLYGON_WRONG_ORIENTATION!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidPolygonWrongOrientationType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidPolygonWrongOrientationType.java new file mode 100644 index 0000000000000000000000000000000000000000..700fc251a421bad81d4bda0881ed7ddc8ee74c57 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidPolygonWrongOrientationType.java @@ -0,0 +1,75 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_POLYGON_WRONG_ORIENTATIONType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_POLYGON_WRONG_ORIENTATIONType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractSolidErrorType"> + * <sequence> + * <element name="edges" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}EdgeListPropertyType"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_POLYGON_WRONG_ORIENTATIONType", propOrder = { + "edges" +}) +public class SolidPolygonWrongOrientationType + extends AbstractSolidErrorType +{ + + @XmlElement(required = true) + protected EdgeListPropertyType edges; + + /** + * Ruft den Wert der edges-Eigenschaft ab. + * + * @return + * possible object is + * {@link EdgeListPropertyType } + * + */ + public EdgeListPropertyType getEdges() { + return edges; + } + + /** + * Legt den Wert der edges-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link EdgeListPropertyType } + * + */ + public void setEdges(EdgeListPropertyType value) { + this.edges = value; + } + + public boolean isSetEdges() { + return (this.edges!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidSelfIntersectionPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidSelfIntersectionPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..a067543593e7f830f5154ec9789b94da682b7b6e --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidSelfIntersectionPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_SELF_INTERSECTIONPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_SELF_INTERSECTIONPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_S_SELF_INTERSECTION"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_SELF_INTERSECTIONPropertyType", propOrder = { + "ge_S_SELF_INTERSECTION" +}) +public class SolidSelfIntersectionPropertyType { + + @XmlElement(name = "GE_S_SELF_INTERSECTION", required = true) + protected SolidSelfIntersectionType ge_S_SELF_INTERSECTION; + + /** + * Ruft den Wert der ge_S_SELF_INTERSECTION-Eigenschaft ab. + * + * @return + * possible object is + * {@link SolidSelfIntersectionType } + * + */ + public SolidSelfIntersectionType getGE_S_SELF_INTERSECTION() { + return ge_S_SELF_INTERSECTION; + } + + /** + * Legt den Wert der ge_S_SELF_INTERSECTION-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SolidSelfIntersectionType } + * + */ + public void setGE_S_SELF_INTERSECTION(SolidSelfIntersectionType value) { + this.ge_S_SELF_INTERSECTION = value; + } + + public boolean isSetGE_S_SELF_INTERSECTION() { + return (this.ge_S_SELF_INTERSECTION!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidSelfIntersectionType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidSelfIntersectionType.java new file mode 100644 index 0000000000000000000000000000000000000000..070b67f3e89ebc6df3014889cf87d330e99e2191 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidSelfIntersectionType.java @@ -0,0 +1,107 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_SELF_INTERSECTIONType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_SELF_INTERSECTIONType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractSolidErrorType"> + * <sequence> + * <element name="polygonId1" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="polygonId2" type="{http://www.w3.org/2001/XMLSchema}string"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_SELF_INTERSECTIONType", propOrder = { + "polygonId1", + "polygonId2" +}) +public class SolidSelfIntersectionType + extends AbstractSolidErrorType +{ + + @XmlElement(required = true) + protected String polygonId1; + @XmlElement(required = true) + protected String polygonId2; + + /** + * Ruft den Wert der polygonId1-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getPolygonId1() { + return polygonId1; + } + + /** + * Legt den Wert der polygonId1-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setPolygonId1(String value) { + this.polygonId1 = value; + } + + public boolean isSetPolygonId1() { + return (this.polygonId1 != null); + } + + /** + * Ruft den Wert der polygonId2-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getPolygonId2() { + return polygonId2; + } + + /** + * Legt den Wert der polygonId2-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setPolygonId2(String value) { + this.polygonId2 = value; + } + + public boolean isSetPolygonId2() { + return (this.polygonId2 != null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidTooFewPolygonsPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidTooFewPolygonsPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..4868f2fdc45858a047d576886aa67648d4f9f9b7 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidTooFewPolygonsPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_TOO_FEW_POLYGONSPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_TOO_FEW_POLYGONSPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GE_S_TOO_FEW_POLYGONS"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_TOO_FEW_POLYGONSPropertyType", propOrder = { + "ge_S_TOO_FEW_POLYGONS" +}) +public class SolidTooFewPolygonsPropertyType { + + @XmlElement(name = "GE_S_TOO_FEW_POLYGONS", required = true) + protected SolidTooFewPolygonsType ge_S_TOO_FEW_POLYGONS; + + /** + * Ruft den Wert der ge_S_TOO_FEW_POLYGONS-Eigenschaft ab. + * + * @return + * possible object is + * {@link SolidTooFewPolygonsType } + * + */ + public SolidTooFewPolygonsType getGE_S_TOO_FEW_POLYGONS() { + return ge_S_TOO_FEW_POLYGONS; + } + + /** + * Legt den Wert der ge_S_TOO_FEW_POLYGONS-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link SolidTooFewPolygonsType } + * + */ + public void setGE_S_TOO_FEW_POLYGONS(SolidTooFewPolygonsType value) { + this.ge_S_TOO_FEW_POLYGONS = value; + } + + public boolean isSetGE_S_TOO_FEW_POLYGONS() { + return (this.ge_S_TOO_FEW_POLYGONS!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidTooFewPolygonsType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidTooFewPolygonsType.java new file mode 100644 index 0000000000000000000000000000000000000000..5fa025aca62a854e1fa7195d11922b074d22b6dc --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/SolidTooFewPolygonsType.java @@ -0,0 +1,41 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für GE_S_TOO_FEW_POLYGONSType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="GE_S_TOO_FEW_POLYGONSType"> + * <complexContent> + * <extension base="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractSolidErrorType"> + * <sequence> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "GE_S_TOO_FEW_POLYGONSType") +public class SolidTooFewPolygonsType + extends AbstractSolidErrorType +{ + + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/StatisticsPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/StatisticsPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..8ecfa78760492bf943bd446fa07452667641d375 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/StatisticsPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für StatisticsPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="StatisticsPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}Statistics"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "StatisticsPropertyType", propOrder = { + "statistics" +}) +public class StatisticsPropertyType { + + @XmlElement(name = "Statistics", required = true) + protected StatisticsType statistics; + + /** + * Ruft den Wert der statistics-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatisticsType } + * + */ + public StatisticsType getStatistics() { + return statistics; + } + + /** + * Legt den Wert der statistics-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatisticsType } + * + */ + public void setStatistics(StatisticsType value) { + this.statistics = value; + } + + public boolean isSetStatistics() { + return (this.statistics!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/StatisticsType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/StatisticsType.java new file mode 100644 index 0000000000000000000000000000000000000000..44cfda0bc3e9841066821c8effef2b3aa5bef7fa --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/StatisticsType.java @@ -0,0 +1,265 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für StatisticsType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="StatisticsType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="numErrorBuildings" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}FeatureStatisticsPropertyType"/> + * <element name="numErrorVegetation" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}FeatureStatisticsPropertyType"/> + * <element name="numErrorLandObjects" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}FeatureStatisticsPropertyType"/> + * <element name="numErrorBridgeObjects" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}FeatureStatisticsPropertyType"/> + * <element name="numErrorWaterObjects" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}FeatureStatisticsPropertyType"/> + * <element name="numErrorTransportation" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}FeatureStatisticsPropertyType"/> + * <element name="errorStatistics" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}ErrorStatisticsPropertyType"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "StatisticsType", propOrder = { + "numErrorBuildings", + "numErrorVegetation", + "numErrorLandObjects", + "numErrorBridgeObjects", + "numErrorWaterObjects", + "numErrorTransportation", + "errorStatistics" +}) +public class StatisticsType { + + @XmlElement(required = true) + protected FeatureStatisticsPropertyType numErrorBuildings; + @XmlElement(required = true) + protected FeatureStatisticsPropertyType numErrorVegetation; + @XmlElement(required = true) + protected FeatureStatisticsPropertyType numErrorLandObjects; + @XmlElement(required = true) + protected FeatureStatisticsPropertyType numErrorBridgeObjects; + @XmlElement(required = true) + protected FeatureStatisticsPropertyType numErrorWaterObjects; + @XmlElement(required = true) + protected FeatureStatisticsPropertyType numErrorTransportation; + @XmlElement(required = true) + protected ErrorStatisticsPropertyType errorStatistics; + + /** + * Ruft den Wert der numErrorBuildings-Eigenschaft ab. + * + * @return + * possible object is + * {@link FeatureStatisticsPropertyType } + * + */ + public FeatureStatisticsPropertyType getNumErrorBuildings() { + return numErrorBuildings; + } + + /** + * Legt den Wert der numErrorBuildings-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link FeatureStatisticsPropertyType } + * + */ + public void setNumErrorBuildings(FeatureStatisticsPropertyType value) { + this.numErrorBuildings = value; + } + + public boolean isSetNumErrorBuildings() { + return (this.numErrorBuildings!= null); + } + + /** + * Ruft den Wert der numErrorVegetation-Eigenschaft ab. + * + * @return + * possible object is + * {@link FeatureStatisticsPropertyType } + * + */ + public FeatureStatisticsPropertyType getNumErrorVegetation() { + return numErrorVegetation; + } + + /** + * Legt den Wert der numErrorVegetation-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link FeatureStatisticsPropertyType } + * + */ + public void setNumErrorVegetation(FeatureStatisticsPropertyType value) { + this.numErrorVegetation = value; + } + + public boolean isSetNumErrorVegetation() { + return (this.numErrorVegetation!= null); + } + + /** + * Ruft den Wert der numErrorLandObjects-Eigenschaft ab. + * + * @return + * possible object is + * {@link FeatureStatisticsPropertyType } + * + */ + public FeatureStatisticsPropertyType getNumErrorLandObjects() { + return numErrorLandObjects; + } + + /** + * Legt den Wert der numErrorLandObjects-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link FeatureStatisticsPropertyType } + * + */ + public void setNumErrorLandObjects(FeatureStatisticsPropertyType value) { + this.numErrorLandObjects = value; + } + + public boolean isSetNumErrorLandObjects() { + return (this.numErrorLandObjects!= null); + } + + /** + * Ruft den Wert der numErrorBridgeObjects-Eigenschaft ab. + * + * @return + * possible object is + * {@link FeatureStatisticsPropertyType } + * + */ + public FeatureStatisticsPropertyType getNumErrorBridgeObjects() { + return numErrorBridgeObjects; + } + + /** + * Legt den Wert der numErrorBridgeObjects-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link FeatureStatisticsPropertyType } + * + */ + public void setNumErrorBridgeObjects(FeatureStatisticsPropertyType value) { + this.numErrorBridgeObjects = value; + } + + public boolean isSetNumErrorBridgeObjects() { + return (this.numErrorBridgeObjects!= null); + } + + /** + * Ruft den Wert der numErrorWaterObjects-Eigenschaft ab. + * + * @return + * possible object is + * {@link FeatureStatisticsPropertyType } + * + */ + public FeatureStatisticsPropertyType getNumErrorWaterObjects() { + return numErrorWaterObjects; + } + + /** + * Legt den Wert der numErrorWaterObjects-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link FeatureStatisticsPropertyType } + * + */ + public void setNumErrorWaterObjects(FeatureStatisticsPropertyType value) { + this.numErrorWaterObjects = value; + } + + public boolean isSetNumErrorWaterObjects() { + return (this.numErrorWaterObjects!= null); + } + + /** + * Ruft den Wert der numErrorTransportation-Eigenschaft ab. + * + * @return + * possible object is + * {@link FeatureStatisticsPropertyType } + * + */ + public FeatureStatisticsPropertyType getNumErrorTransportation() { + return numErrorTransportation; + } + + /** + * Legt den Wert der numErrorTransportation-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link FeatureStatisticsPropertyType } + * + */ + public void setNumErrorTransportation(FeatureStatisticsPropertyType value) { + this.numErrorTransportation = value; + } + + public boolean isSetNumErrorTransportation() { + return (this.numErrorTransportation!= null); + } + + /** + * Ruft den Wert der errorStatistics-Eigenschaft ab. + * + * @return + * possible object is + * {@link ErrorStatisticsPropertyType } + * + */ + public ErrorStatisticsPropertyType getErrorStatistics() { + return errorStatistics; + } + + /** + * Legt den Wert der errorStatistics-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ErrorStatisticsPropertyType } + * + */ + public void setErrorStatistics(ErrorStatisticsPropertyType value) { + this.errorStatistics = value; + } + + public boolean isSetErrorStatistics() { + return (this.errorStatistics!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationPlanPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationPlanPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..1e8a1334040d41dee74d46c7a6f56563da62f782 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationPlanPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ValidationPlanPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ValidationPlanPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}ValidationPlan"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ValidationPlanPropertyType", propOrder = { + "validationPlan" +}) +public class ValidationPlanPropertyType { + + @XmlElement(name = "ValidationPlan", required = true) + protected ValidationPlanType validationPlan; + + /** + * Ruft den Wert der validationPlan-Eigenschaft ab. + * + * @return + * possible object is + * {@link ValidationPlanType } + * + */ + public ValidationPlanType getValidationPlan() { + return validationPlan; + } + + /** + * Legt den Wert der validationPlan-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ValidationPlanType } + * + */ + public void setValidationPlan(ValidationPlanType value) { + this.validationPlan = value; + } + + public boolean isSetValidationPlan() { + return (this.validationPlan!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationPlanType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationPlanType.java new file mode 100644 index 0000000000000000000000000000000000000000..f4e350056b40a6fc54419becfec32dc222e5ff26 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationPlanType.java @@ -0,0 +1,137 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ValidationPlanType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ValidationPlanType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="globalParameters" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}GlobalParametersPropertyType"/> + * <element name="filter" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}FilterPropertyType"/> + * <element name="requirement" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}RequirementPropertyType"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ValidationPlanType", propOrder = { + "globalParameters", + "filter", + "requirement" +}) +public class ValidationPlanType { + + @XmlElement(required = true) + protected GlobalParametersPropertyType globalParameters; + @XmlElement(required = true) + protected FilterPropertyType filter; + @XmlElement(required = true) + protected RequirementPropertyType requirement; + + /** + * Ruft den Wert der globalParameters-Eigenschaft ab. + * + * @return + * possible object is + * {@link GlobalParametersPropertyType } + * + */ + public GlobalParametersPropertyType getGlobalParameters() { + return globalParameters; + } + + /** + * Legt den Wert der globalParameters-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link GlobalParametersPropertyType } + * + */ + public void setGlobalParameters(GlobalParametersPropertyType value) { + this.globalParameters = value; + } + + public boolean isSetGlobalParameters() { + return (this.globalParameters!= null); + } + + /** + * Ruft den Wert der filter-Eigenschaft ab. + * + * @return + * possible object is + * {@link FilterPropertyType } + * + */ + public FilterPropertyType getFilter() { + return filter; + } + + /** + * Legt den Wert der filter-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link FilterPropertyType } + * + */ + public void setFilter(FilterPropertyType value) { + this.filter = value; + } + + public boolean isSetFilter() { + return (this.filter!= null); + } + + /** + * Ruft den Wert der requirement-Eigenschaft ab. + * + * @return + * possible object is + * {@link RequirementPropertyType } + * + */ + public RequirementPropertyType getRequirement() { + return requirement; + } + + /** + * Legt den Wert der requirement-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link RequirementPropertyType } + * + */ + public void setRequirement(RequirementPropertyType value) { + this.requirement = value; + } + + public boolean isSetRequirement() { + return (this.requirement!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..87c0d950af16c592830e241152a91c94261de7f4 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationPropertyType.java @@ -0,0 +1,324 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import org.w3._1999.xlink.ActuateType; +import org.w3._1999.xlink.ShowType; +import org.w3._1999.xlink.TypeType; + + +/** + * <p>Java-Klasse für ValidationPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ValidationPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence minOccurs="0"> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}Validation"/> + * </sequence> + * <attGroup ref="{http://www.opengis.net/gml}AssociationAttributeGroup"/> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ValidationPropertyType", propOrder = { + "validation" +}) +public class ValidationPropertyType { + + @XmlElement(name = "Validation") + protected ValidationType validation; + @XmlAttribute(name = "remoteSchema", namespace = "http://www.opengis.net/gml") + @XmlSchemaType(name = "anyURI") + protected String remoteSchema; + @XmlAttribute(name = "type", namespace = "http://www.w3.org/1999/xlink") + protected TypeType type; + @XmlAttribute(name = "href", namespace = "http://www.w3.org/1999/xlink") + protected String href; + @XmlAttribute(name = "role", namespace = "http://www.w3.org/1999/xlink") + protected String role; + @XmlAttribute(name = "arcrole", namespace = "http://www.w3.org/1999/xlink") + protected String arcrole; + @XmlAttribute(name = "title", namespace = "http://www.w3.org/1999/xlink") + protected String title; + @XmlAttribute(name = "show", namespace = "http://www.w3.org/1999/xlink") + protected ShowType show; + @XmlAttribute(name = "actuate", namespace = "http://www.w3.org/1999/xlink") + protected ActuateType actuate; + + /** + * Ruft den Wert der validation-Eigenschaft ab. + * + * @return + * possible object is + * {@link ValidationType } + * + */ + public ValidationType getValidation() { + return validation; + } + + /** + * Legt den Wert der validation-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ValidationType } + * + */ + public void setValidation(ValidationType value) { + this.validation = value; + } + + public boolean isSetValidation() { + return (this.validation!= null); + } + + /** + * Ruft den Wert der remoteSchema-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getRemoteSchema() { + return remoteSchema; + } + + /** + * Legt den Wert der remoteSchema-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setRemoteSchema(String value) { + this.remoteSchema = value; + } + + public boolean isSetRemoteSchema() { + return (this.remoteSchema!= null); + } + + /** + * Ruft den Wert der type-Eigenschaft ab. + * + * @return + * possible object is + * {@link TypeType } + * + */ + public TypeType getType() { + if (type == null) { + return TypeType.SIMPLE; + } else { + return type; + } + } + + /** + * Legt den Wert der type-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link TypeType } + * + */ + public void setType(TypeType value) { + this.type = value; + } + + public boolean isSetType() { + return (this.type!= null); + } + + /** + * Ruft den Wert der href-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getHref() { + return href; + } + + /** + * Legt den Wert der href-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setHref(String value) { + this.href = value; + } + + public boolean isSetHref() { + return (this.href!= null); + } + + /** + * Ruft den Wert der role-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getRole() { + return role; + } + + /** + * Legt den Wert der role-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setRole(String value) { + this.role = value; + } + + public boolean isSetRole() { + return (this.role!= null); + } + + /** + * Ruft den Wert der arcrole-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getArcrole() { + return arcrole; + } + + /** + * Legt den Wert der arcrole-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setArcrole(String value) { + this.arcrole = value; + } + + public boolean isSetArcrole() { + return (this.arcrole!= null); + } + + /** + * Ruft den Wert der title-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getTitle() { + return title; + } + + /** + * Legt den Wert der title-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setTitle(String value) { + this.title = value; + } + + public boolean isSetTitle() { + return (this.title!= null); + } + + /** + * Ruft den Wert der show-Eigenschaft ab. + * + * @return + * possible object is + * {@link ShowType } + * + */ + public ShowType getShow() { + return show; + } + + /** + * Legt den Wert der show-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ShowType } + * + */ + public void setShow(ShowType value) { + this.show = value; + } + + public boolean isSetShow() { + return (this.show!= null); + } + + /** + * Ruft den Wert der actuate-Eigenschaft ab. + * + * @return + * possible object is + * {@link ActuateType } + * + */ + public ActuateType getActuate() { + return actuate; + } + + /** + * Legt den Wert der actuate-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ActuateType } + * + */ + public void setActuate(ActuateType value) { + this.actuate = value; + } + + public boolean isSetActuate() { + return (this.actuate!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationResultPropertyType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationResultPropertyType.java new file mode 100644 index 0000000000000000000000000000000000000000..ec07d19db53ff08ab9c21a0383b65b47309e49c4 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationResultPropertyType.java @@ -0,0 +1,73 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ValidationResultPropertyType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ValidationResultPropertyType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element ref="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}ValidationResult"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ValidationResultPropertyType", propOrder = { + "validationResult" +}) +public class ValidationResultPropertyType { + + @XmlElement(name = "ValidationResult", required = true) + protected ValidationResultType validationResult; + + /** + * Ruft den Wert der validationResult-Eigenschaft ab. + * + * @return + * possible object is + * {@link ValidationResultType } + * + */ + public ValidationResultType getValidationResult() { + return validationResult; + } + + /** + * Legt den Wert der validationResult-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ValidationResultType } + * + */ + public void setValidationResult(ValidationResultType value) { + this.validationResult = value; + } + + public boolean isSetValidationResult() { + return (this.validationResult!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationResultType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationResultType.java new file mode 100644 index 0000000000000000000000000000000000000000..4532f61b51fb8e31f3311eaa3b3bf58c61aa799b --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationResultType.java @@ -0,0 +1,149 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import java.util.ArrayList; +import java.util.List; +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; + + +/** + * <p>Java-Klasse für ValidationResultType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ValidationResultType"> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="validationPlanID" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}ValidationPropertyType"/> + * <element name="error" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}AbstractErrorPropertyType" maxOccurs="unbounded" minOccurs="0"/> + * <element name="resultType" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}ResultTypeType"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ValidationResultType", propOrder = { + "validationPlanID", + "error", + "resultType" +}) +public class ValidationResultType { + + @XmlElement(required = true) + protected ValidationPropertyType validationPlanID; + protected List<AbstractErrorPropertyType> error; + @XmlElement(required = true) + @XmlSchemaType(name = "string") + protected ResultTypeType resultType; + + /** + * Ruft den Wert der validationPlanID-Eigenschaft ab. + * + * @return + * possible object is + * {@link ValidationPropertyType } + * + */ + public ValidationPropertyType getValidationPlanID() { + return validationPlanID; + } + + /** + * Legt den Wert der validationPlanID-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ValidationPropertyType } + * + */ + public void setValidationPlanID(ValidationPropertyType value) { + this.validationPlanID = value; + } + + public boolean isSetValidationPlanID() { + return (this.validationPlanID!= null); + } + + /** + * Gets the value of the error property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the error property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getError().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link AbstractErrorPropertyType } + * + * + */ + public List<AbstractErrorPropertyType> getError() { + if (error == null) { + error = new ArrayList<AbstractErrorPropertyType>(); + } + return this.error; + } + + public boolean isSetError() { + return ((this.error!= null)&&(!this.error.isEmpty())); + } + + public void unsetError() { + this.error = null; + } + + /** + * Ruft den Wert der resultType-Eigenschaft ab. + * + * @return + * possible object is + * {@link ResultTypeType } + * + */ + public ResultTypeType getResultType() { + return resultType; + } + + /** + * Legt den Wert der resultType-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ResultTypeType } + * + */ + public void setResultType(ResultTypeType value) { + this.resultType = value; + } + + public boolean isSetResultType() { + return (this.resultType!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationType.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationType.java new file mode 100644 index 0000000000000000000000000000000000000000..198b0652b69f93af218685dc130b2879680c0046 --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationType.java @@ -0,0 +1,174 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + + +package de.hft.stuttgart.quality.model.jaxb; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlSchemaType; +import javax.xml.bind.annotation.XmlType; +import javax.xml.datatype.XMLGregorianCalendar; +import net.opengis.gml.AbstractFeatureType; + + +/** + * <p>Java-Klasse für ValidationType complex type. + * + * <p>Das folgende Schemafragment gibt den erwarteten Content an, der in dieser Klasse enthalten ist. + * + * <pre> + * <complexType name="ValidationType"> + * <complexContent> + * <extension base="{http://www.opengis.net/gml}AbstractFeatureType"> + * <sequence> + * <element name="validationDate" type="{http://www.w3.org/2001/XMLSchema}dateTime"/> + * <element name="validationSoftware" type="{http://www.w3.org/2001/XMLSchema}string"/> + * <element name="statistics" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}StatisticsPropertyType" minOccurs="0"/> + * <element name="validationPlan" type="{https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4}ValidationPlanPropertyType"/> + * </sequence> + * </extension> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "ValidationType", propOrder = { + "validationDate", + "validationSoftware", + "statistics", + "validationPlan" +}) +public class ValidationType + extends AbstractFeatureType +{ + + @XmlElement(required = true) + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar validationDate; + @XmlElement(required = true) + protected String validationSoftware; + protected StatisticsPropertyType statistics; + @XmlElement(required = true) + protected ValidationPlanPropertyType validationPlan; + + /** + * Ruft den Wert der validationDate-Eigenschaft ab. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValidationDate() { + return validationDate; + } + + /** + * Legt den Wert der validationDate-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValidationDate(XMLGregorianCalendar value) { + this.validationDate = value; + } + + public boolean isSetValidationDate() { + return (this.validationDate!= null); + } + + /** + * Ruft den Wert der validationSoftware-Eigenschaft ab. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValidationSoftware() { + return validationSoftware; + } + + /** + * Legt den Wert der validationSoftware-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValidationSoftware(String value) { + this.validationSoftware = value; + } + + public boolean isSetValidationSoftware() { + return (this.validationSoftware!= null); + } + + /** + * Ruft den Wert der statistics-Eigenschaft ab. + * + * @return + * possible object is + * {@link StatisticsPropertyType } + * + */ + public StatisticsPropertyType getStatistics() { + return statistics; + } + + /** + * Legt den Wert der statistics-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link StatisticsPropertyType } + * + */ + public void setStatistics(StatisticsPropertyType value) { + this.statistics = value; + } + + public boolean isSetStatistics() { + return (this.statistics!= null); + } + + /** + * Ruft den Wert der validationPlan-Eigenschaft ab. + * + * @return + * possible object is + * {@link ValidationPlanPropertyType } + * + */ + public ValidationPlanPropertyType getValidationPlan() { + return validationPlan; + } + + /** + * Legt den Wert der validationPlan-Eigenschaft fest. + * + * @param value + * allowed object is + * {@link ValidationPlanPropertyType } + * + */ + public void setValidationPlan(ValidationPlanPropertyType value) { + this.validationPlan = value; + } + + public boolean isSetValidationPlan() { + return (this.validationPlan!= null); + } + +} diff --git a/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/package-info.java b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..39249f116470d7d841e019e31000f4afe8a39a8c --- /dev/null +++ b/citygml4j-quality-ade/src-gen/main/java/de/hft/stuttgart/quality/model/jaxb/package-info.java @@ -0,0 +1,11 @@ +// +// Generated with ade-xjc - XML Schema binding compiler for CityGML ADEs, version 2.10.0 +// ade-xjc is part of the citygml4j project, see https://github.com/citygml4j +// Any modifications to this file will be lost upon recompilation of the source +// Generated: Fri Nov 19 14:36:13 CET 2021 +// + +@javax.xml.bind.annotation.XmlSchema(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED, xmlns = { + @javax.xml.bind.annotation.XmlNs(namespaceURI = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", prefix = "qual") +}) +package de.hft.stuttgart.quality.model.jaxb; diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/QualityADEContext.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/QualityADEContext.java index f1e7d58cdf742678cc3a8ed408f4cbc331ef53a0..83de6d3e96f78352f4f5e4ae39e09f47cc712326 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/QualityADEContext.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/QualityADEContext.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,41 +13,63 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality; -import java.util.Collections; -import java.util.List; +package de.hft.stuttgart.quality; +import de.hft.stuttgart.quality.bind.QualityADEMarshaller; +import de.hft.stuttgart.quality.bind.QualityADEUnmarshaller; import org.citygml4j.model.citygml.ade.binding.ADEContext; import org.citygml4j.model.citygml.ade.binding.ADEMarshaller; import org.citygml4j.model.citygml.ade.binding.ADEUnmarshaller; +import org.citygml4j.model.citygml.ade.binding.ADEWalker; import org.citygml4j.model.module.ade.ADEModule; +import org.citygml4j.util.walker.FeatureFunctionWalker; +import org.citygml4j.util.walker.FeatureWalker; +import org.citygml4j.util.walker.GMLFunctionWalker; +import org.citygml4j.util.walker.GMLWalker; -import de.hft.stuttgart.quality.marshaller.QualityAdeMarshaller; -import de.hft.stuttgart.quality.marshaller.QualityAdeUnmarshaller; +import java.util.Collections; +import java.util.List; public class QualityADEContext implements ADEContext { - - private final List<ADEModule> modules = Collections.singletonList(QualityADEModule.V0_1_3); - @Override - public List<ADEModule> getADEModules() { - return modules; - } + @Override + public List<ADEModule> getADEModules() { + return Collections.singletonList(QualityADEModule.v0_1_4); + } + + @Override + public List<String> getModelPackageNames() { + return Collections.singletonList("de.hft.stuttgart.quality.model"); + } + + @Override + public ADEMarshaller createADEMarshaller() { + return new QualityADEMarshaller(); + } + + @Override + public ADEUnmarshaller createADEUnmarshaller() { + return new QualityADEUnmarshaller(); + } - @Override - public List<String> getModelPackageNames() { - return Collections.singletonList("de.hft.stuttgart.quality.model"); - } + @Override + public ADEWalker<FeatureWalker> createDefaultFeatureWalker() { + return new de.hft.stuttgart.quality.walker.FeatureWalker(); + } - @Override - public ADEMarshaller createADEMarshaller() { - return new QualityAdeMarshaller(); - } + @Override + public ADEWalker<GMLWalker> createDefaultGMLWalker() { + return new de.hft.stuttgart.quality.walker.GMLWalker(); + } - @Override - public ADEUnmarshaller createADEUnmarshaller() { - return new QualityAdeUnmarshaller(); - } + @Override + public <T> ADEWalker<FeatureFunctionWalker<T>> createDefaultFeatureFunctionWalker() { + return new de.hft.stuttgart.quality.walker.FeatureFunctionWalker<>(); + } + @Override + public <T> ADEWalker<GMLFunctionWalker<T>> createDefaultGMLFunctionWalker() { + return new de.hft.stuttgart.quality.walker.GMLFunctionWalker<>(); + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/QualityADEModule.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/QualityADEModule.java index 9270a2539ecc1c8915c3513663a16c15822639a3..bb90c3fbf3ab80ce6ff9a204eb96e6705c01cbe4 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/QualityADEModule.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/QualityADEModule.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,69 +13,77 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package de.hft.stuttgart.quality; +import de.hft.stuttgart.quality.model.Validation; +import org.citygml4j.model.gml.feature.AbstractFeature; +import org.citygml4j.model.module.ade.ADEModule; +import org.citygml4j.model.module.citygml.CityGMLVersion; + +import javax.xml.namespace.QName; import java.net.URL; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Map; -import javax.xml.namespace.QName; - -import org.citygml4j.model.gml.feature.AbstractFeature; -import org.citygml4j.model.module.ade.ADEModule; -import org.citygml4j.model.module.citygml.CityGMLVersion; - public class QualityADEModule extends ADEModule { + public static final QualityADEModule v0_1_4 = new QualityADEModule(); + private final Map<String, Class<? extends AbstractFeature>> features; - public static final String NAMESPACE_URI = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.3"; + private QualityADEModule() { + super("https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4", + "qual", + CityGMLVersion.v2_0_0); - public static final QualityADEModule V0_1_3 = new QualityADEModule(); - - private static final long serialVersionUID = -8208579547274734280L; + features = new HashMap<>(); + features.put("Validation", Validation.class); + } - public QualityADEModule() { - super(NAMESPACE_URI, "qual", CityGMLVersion.v2_0_0); - } - - @Override - public URL getSchemaResource() { - return QualityADEContext.class.getResource("/qualityAde.xsd"); - } + @Override + public URL getSchemaResource() { + return getClass().getResource("/de/hft/stuttgart/quality/schema/qualityAde.xsd"); + } - @Override - public List<String> getJAXBPackageNames() { - return Collections.singletonList("de.hft.stuttgart.quality.model.jaxb"); - } + @Override + public List<String> getJAXBPackageNames() { + return Collections.singletonList("de.hft.stuttgart.quality.model.jaxb"); + } - @Override - public boolean hasFeatureProperty(String name) { - return false; - } + @Override + public boolean hasFeatureProperty(String name) { + return false; + } - @Override - public boolean hasFeature(String name) { - return false; - } + @Override + public boolean hasFeature(String name) { + return features.containsKey(name); + } - @Override - public Class<? extends AbstractFeature> getFeatureClass(String name) { - throw new IllegalStateException("No feature classes available"); - } + @Override + public Class<? extends AbstractFeature> getFeatureClass(String name) { + return features.get(name); + } - @Override - public QName getFeatureName(Class<? extends AbstractFeature> featureClass) { - return null; - } + @Override + public QName getFeatureName(Class<? extends AbstractFeature> featureClass) { + for (Map.Entry<String, Class<? extends AbstractFeature>> entry : features.entrySet()) { + if (entry.getValue() == featureClass) { + return new QName(getNamespaceURI(), entry.getKey()); + } + } - @Override - public Map<String, Class<? extends AbstractFeature>> getFeatures() { - return Collections.emptyMap(); - } + return null; + } - @Override - public boolean isTopLevelFeature(String name) { - return false; - } + @Override + public Map<String, Class<? extends AbstractFeature>> getFeatures() { + return new HashMap<>(features); + } + @Override + public boolean isTopLevelFeature(String name) { + return true; + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/bind/QualityADEMarshaller.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/bind/QualityADEMarshaller.java new file mode 100644 index 0000000000000000000000000000000000000000..2765b5edfe6f17bba2d1be0c756d5017f756aee7 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/bind/QualityADEMarshaller.java @@ -0,0 +1,822 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.bind; + +import de.hft.stuttgart.quality.model.ErrorType; +import de.hft.stuttgart.quality.model.*; +import de.hft.stuttgart.quality.model.jaxb.RequirementType; +import de.hft.stuttgart.quality.model.jaxb.*; +import org.citygml4j.builder.jaxb.marshal.citygml.ade.ADEMarshallerHelper; +import org.citygml4j.model.citygml.ade.binding.ADEMarshaller; +import org.citygml4j.model.citygml.ade.binding.ADEModelObject; +import org.citygml4j.util.mapper.TypeMapper; +import org.w3._1999.xlink.ActuateType; +import org.w3._1999.xlink.ShowType; +import org.w3._1999.xlink.TypeType; + +import javax.xml.bind.JAXBElement; +import javax.xml.datatype.DatatypeConstants; +import javax.xml.datatype.XMLGregorianCalendar; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.time.ZoneOffset; +import java.time.ZonedDateTime; + +public class QualityADEMarshaller implements ADEMarshaller { + private final ObjectFactory factory = new ObjectFactory(); + private TypeMapper<JAXBElement<?>> elementMapper; + private TypeMapper<Object> typeMapper; + private ADEMarshallerHelper helper; + + private synchronized TypeMapper<JAXBElement<?>> getElementMapper() { + if (elementMapper == null) { + elementMapper = TypeMapper.<JAXBElement<?>>create() + .with(PolygonHoleOutside.class, this::createPolygonHoleOutside) + .with(PolygonInnerRingsNested.class, this::createPolygonInnerRingsNested) + .with(PolygonInteriorDisconnected.class, this::createPolygonInteriorDisconnected) + .with(PolygonIntersectingRings.class, this::createPolygonIntersectingRings) + .with(PolygonNonPlanarDistancePlane.class, this::createPolygonNonPlanarDistancePlane) + .with(PolygonNonPlanarNormalsDeviation.class, this::createPolygonNonPlanarNormalsDeviation) + .with(PolygonOrientationRingsSame.class, this::createPolygonOrientationRingsSame) + .with(RingConsecutivePointsSame.class, this::createRingConsecutivePointsSame) + .with(RingNotClosed.class, this::createRingNotClosed) + .with(RingSelfIntersection.class, this::createRingSelfIntersection) + .with(RingTooFewPoints.class, this::createRingTooFewPoints) + .with(SemanticAttributeMissing.class, this::createSemanticAttributeMissing) + .with(SemanticAttributeWrongValue.class, this::createSemanticAttributeWrongValue) + .with(SolidAllPolygonsWrongOrientation.class, this::createSolidAllPolygonsWrongOrientation) + .with(SolidMultipleConnectedComponents.class, this::createSolidMultipleConnectedComponents) + .with(SolidNonManifoldEdge.class, this::createSolidNonManifoldEdge) + .with(SolidNonManifoldVertex.class, this::createSolidNonManifoldVertex) + .with(SolidNotClosed.class, this::createSolidNotClosed) + .with(SolidPolygonWrongOrientation.class, this::createSolidPolygonWrongOrientation) + .with(SolidSelfIntersection.class, this::createSolidSelfIntersection) + .with(SolidTooFewPolygons.class, this::createSolidTooFewPolygons) + .with(Validation.class, this::createValidation) + .with(ValidationResultPropertyElement.class, this::createValidationResultPropertyElement); + } + + return elementMapper; + } + + private synchronized TypeMapper<Object> getTypeMapper() { + if (typeMapper == null) { + typeMapper = TypeMapper.create() + .with(Edge.class, this::marshalEdge) + .with(ErrorStatistics.class, this::marshalErrorStatistics) + .with(FeatureStatistics.class, this::marshalFeatureStatistics) + .with(Filter.class, this::marshalFilter) + .with(Parameter.class, this::marshalParameter) + .with(PolygonHoleOutside.class, this::marshalPolygonHoleOutside) + .with(PolygonInnerRingsNested.class, this::marshalPolygonInnerRingsNested) + .with(PolygonInteriorDisconnected.class, this::marshalPolygonInteriorDisconnected) + .with(PolygonIntersectingRings.class, this::marshalPolygonIntersectingRings) + .with(PolygonNonPlanarDistancePlane.class, this::marshalPolygonNonPlanarDistancePlane) + .with(PolygonNonPlanarNormalsDeviation.class, this::marshalPolygonNonPlanarNormalsDeviation) + .with(PolygonOrientationRingsSame.class, this::marshalPolygonOrientationRingsSame) + .with(Parameter.class, this::marshalParameter) + .with(RingConsecutivePointsSame.class, this::marshalRingConsecutivePointsSame) + .with(RingNotClosed.class, this::marshalRingNotClosed) + .with(RingSelfIntersection.class, this::marshalRingSelfIntersection) + .with(RingTooFewPoints.class, this::marshalRingTooFewPoints) + .with(SemanticAttributeMissing.class, this::marshalSemanticAttributeMissing) + .with(SemanticAttributeWrongValue.class, this::marshalSemanticAttributeWrongValue) + .with(SolidAllPolygonsWrongOrientation.class, this::marshalSolidAllPolygonsWrongOrientation) + .with(SolidMultipleConnectedComponents.class, this::marshalSolidMultipleConnectedComponents) + .with(SolidNonManifoldEdge.class, this::marshalSolidNonManifoldEdge) + .with(SolidNonManifoldVertex.class, this::marshalSolidNonManifoldVertex) + .with(SolidNotClosed.class, this::marshalSolidNotClosed) + .with(SolidPolygonWrongOrientation.class, this::marshalSolidPolygonWrongOrientation) + .with(SolidSelfIntersection.class, this::marshalSolidSelfIntersection) + .with(SolidTooFewPolygons.class, this::marshalSolidTooFewPolygons) + .with(Statistics.class, this::marshalStatistics) + .with(Validation.class, this::marshalValidation) + .with(ValidationPlan.class, this::marshalValidationPlan) + .with(ValidationProperty.class, this::marshalValidationProperty) + .with(ValidationResult.class, this::marshalValidationResult) + .with(ValidationResultProperty.class, this::marshalValidationResultProperty); + } + + return typeMapper; + } + + @Override + public void setADEMarshallerHelper(ADEMarshallerHelper helper) { + this.helper = helper; + } + + @Override + public JAXBElement<?> marshalJAXBElement(ADEModelObject src) { + TypeMapper<JAXBElement<?>> elementMapper = getElementMapper(); + return elementMapper != null ? elementMapper.apply(src) : null; + } + + @Override + public Object marshal(ADEModelObject src) { + TypeMapper<Object> typeMapper = getTypeMapper(); + return typeMapper != null ? typeMapper.apply(src) : null; + } + + private void marshalAbstractPolygonError(AbstractPolygonError src, AbstractPolygonErrorType dest) { + if (src.getPolygonId() != null) { + dest.setPolygonId(src.getPolygonId()); + } + } + + private void marshalAbstractRingError(AbstractRingError src, AbstractRingErrorType dest) { + if (src.getLinearRingId() != null) { + dest.setLinearRingId(src.getLinearRingId()); + } + } + + private void marshalAbstractSolidError(AbstractSolidError src, AbstractSolidErrorType dest) { + if (src.getGeometryId() != null) { + dest.setGeometryId(src.getGeometryId()); + } + } + + private EdgeType marshalEdge(Edge src) { + EdgeType dest = factory.createEdgeType(); + + if (src.getFrom() != null) { + dest.setFrom(helper.getGMLMarshaller().marshalDirectPosition(src.getFrom())); + } + + if (src.getTo() != null) { + dest.setTo(helper.getGMLMarshaller().marshalDirectPosition(src.getTo())); + } + + return dest; + } + + private ErrorStatisticsType marshalErrorStatistics(ErrorStatistics src) { + ErrorStatisticsType dest = factory.createErrorStatisticsType(); + + dest.setOccurrences(BigInteger.valueOf(src.getOccurrences())); + + if (src.isSetErrors()) { + for (ErrorType errorType : src.getErrors()) { + de.hft.stuttgart.quality.model.jaxb.ErrorType error = factory.createErrorType(); + error.setName(ErrorTypeType.fromValue(errorType.name())); + ErrorPropertyType property = factory.createErrorPropertyType(); + property.setError(error); + dest.getError().add(property); + } + } + + return dest; + } + + private FeatureStatisticsType marshalFeatureStatistics(FeatureStatistics src) { + FeatureStatisticsType dest = factory.createFeatureStatisticsType(); + + dest.setNumChecked(BigInteger.valueOf(src.getNumChecked())); + dest.setNumErrors(BigInteger.valueOf(src.getNumErrors())); + + return dest; + } + + private FilterType marshalFilter(Filter src) { + FilterType dest = factory.createFilterType(); + + if (src.isSetFeatureTypes()) { + for (FeatureType featureType : src.getFeatureTypes()) { + CheckingType checking = factory.createCheckingType(); + checking.setFeatureType(FeatureTypeType.fromValue(featureType.name())); + CheckingPropertyType property = factory.createCheckingPropertyType(); + property.setChecking(checking); + dest.getChecking().add(property); + } + } + + return dest; + } + + private ParameterType marshalParameter(Parameter src) { + ParameterType dest = factory.createParameterType(); + + if (src.getName() != null) { + dest.setName(src.getName()); + } + + if (src.getUom() != null) { + dest.setUom(src.getUom()); + } + + if (src.getValue() != null) { + dest.setValue(src.getValue()); + } + + return dest; + } + + private PolygonHoleOutsideType marshalPolygonHoleOutside(PolygonHoleOutside src) { + PolygonHoleOutsideType dest = factory.createPolygonHoleOutsideType(); + marshalAbstractPolygonError(src, dest); + + if (src.getLinearRingId() != null) { + dest.setLinearRingId(src.getLinearRingId()); + } + + return dest; + } + + private PolygonInnerRingsNestedType marshalPolygonInnerRingsNested(PolygonInnerRingsNested src) { + PolygonInnerRingsNestedType dest = factory.createPolygonInnerRingsNestedType(); + marshalAbstractPolygonError(src, dest); + + if (src.getLinearRingId1() != null) { + dest.setLinearRingId1(src.getLinearRingId1()); + } + + if (src.getLinearRingId2() != null) { + dest.setLinearRingId2(src.getLinearRingId2()); + } + + return dest; + } + + private PolygonInteriorDisconnectedType marshalPolygonInteriorDisconnected(PolygonInteriorDisconnected src) { + PolygonInteriorDisconnectedType dest = factory.createPolygonInteriorDisconnectedType(); + marshalAbstractPolygonError(src, dest); + return dest; + } + + private PolygonIntersectingRingsType marshalPolygonIntersectingRings(PolygonIntersectingRings src) { + PolygonIntersectingRingsType dest = factory.createPolygonIntersectingRingsType(); + marshalAbstractPolygonError(src, dest); + + if (src.getLinearRingId1() != null) { + dest.setLinearRingId1(src.getLinearRingId1()); + } + + if (src.getLinearRingId2() != null) { + dest.setLinearRingId2(src.getLinearRingId2()); + } + + return dest; + } + + private PolygonNonPlanarDistancePlaneType marshalPolygonNonPlanarDistancePlane(PolygonNonPlanarDistancePlane src) { + PolygonNonPlanarDistancePlaneType dest = factory.createPolygonNonPlanarDistancePlaneType(); + marshalAbstractPolygonError(src, dest); + + if (src.getDistance() != null) { + dest.setDistance(helper.getGMLMarshaller().marshalLength(src.getDistance())); + } + + if (src.getVertex() != null) { + dest.setVertex(helper.getGMLMarshaller().marshalDirectPosition(src.getVertex())); + } + + return dest; + } + + private PolygonNonPlanarNormalsDeviationType marshalPolygonNonPlanarNormalsDeviation(PolygonNonPlanarNormalsDeviation src) { + PolygonNonPlanarNormalsDeviationType dest = factory.createPolygonNonPlanarNormalsDeviationType(); + marshalAbstractPolygonError(src, dest); + + if (src.getDeviation() != null) { + dest.setDeviation(helper.getGMLMarshaller().marshalAngle(src.getDeviation())); + } + + return dest; + } + + private PolygonOrientationRingsSameType marshalPolygonOrientationRingsSame(PolygonOrientationRingsSame src) { + PolygonOrientationRingsSameType dest = factory.createPolygonOrientationRingsSameType(); + marshalAbstractPolygonError(src, dest); + + if (src.getLinearRingId() != null) { + dest.setLinearRingId(src.getLinearRingId()); + } + + return dest; + } + + private RequirementType marshalRequirement(Requirement src) { + RequirementType dest = factory.createRequirementType(); + + dest.setEnabled(src.isEnabled()); + + if (src.getRequirementType() != null) { + dest.setRequirementType(RequirementTypeType.fromValue(src.getRequirementType().name())); + } + + if (src.isSetParameters()) { + for (Parameter parameter : src.getParameters()) { + ParameterPropertyType property = factory.createParameterPropertyType(); + property.setParameter(marshalParameter(parameter)); + dest.getParameter().add(property); + } + } + + return dest; + } + + private RingConsecutivePointsSameType marshalRingConsecutivePointsSame(RingConsecutivePointsSame src) { + RingConsecutivePointsSameType dest = factory.createRingConsecutivePointsSameType(); + marshalAbstractRingError(src, dest); + + if (src.getVertex1() != null) { + dest.setVertex1(helper.getGMLMarshaller().marshalDirectPosition(src.getVertex1())); + } + + if (src.getVertex2() != null) { + dest.setVertex2(helper.getGMLMarshaller().marshalDirectPosition(src.getVertex2())); + } + + return dest; + } + + private RingNotClosedType marshalRingNotClosed(RingNotClosed src) { + RingNotClosedType dest = factory.createRingNotClosedType(); + marshalAbstractRingError(src, dest); + return dest; + } + + private RingSelfIntersectionType marshalRingSelfIntersection(RingSelfIntersection src) { + RingSelfIntersectionType dest = factory.createRingSelfIntersectionType(); + marshalAbstractRingError(src, dest); + + if (src.getEdge1() != null) { + EdgePropertyType property = factory.createEdgePropertyType(); + property.setEdge(marshalEdge(src.getEdge1())); + dest.setEdge1(property); + } + + if (src.getEdge2() != null) { + EdgePropertyType property = factory.createEdgePropertyType(); + property.setEdge(marshalEdge(src.getEdge2())); + dest.setEdge2(property); + } + + if (src.getType() != null) { + dest.setType(src.getType()); + } + + if (src.getVertex() != null) { + dest.setVertex(helper.getGMLMarshaller().marshalDirectPosition(src.getVertex())); + } + + return dest; + } + + private RingTooFewPointsType marshalRingTooFewPoints(RingTooFewPoints src) { + RingTooFewPointsType dest = factory.createRingTooFewPointsType(); + marshalAbstractRingError(src, dest); + return dest; + } + + private SemanticAttributeMissingType marshalSemanticAttributeMissing(SemanticAttributeMissing src) { + SemanticAttributeMissingType dest = factory.createSemanticAttributeMissingType(); + + if (src.getAttributeName() != null) { + dest.setAttributeName(src.getAttributeName()); + } + + if (src.getChildId() != null) { + dest.setChildId(src.getChildId()); + } + + dest.setGeneric(src.isGeneric()); + + return dest; + } + + private SemanticAttributeWrongValueType marshalSemanticAttributeWrongValue(SemanticAttributeWrongValue src) { + SemanticAttributeWrongValueType dest = factory.createSemanticAttributeWrongValueType(); + + if (src.getAttributeName() != null) { + dest.setAttributeName(src.getAttributeName()); + } + + if (src.getChildId() != null) { + dest.setChildId(src.getChildId()); + } + + dest.setGeneric(src.isGeneric()); + + return dest; + } + + private SolidAllPolygonsWrongOrientationType marshalSolidAllPolygonsWrongOrientation(SolidAllPolygonsWrongOrientation src) { + SolidAllPolygonsWrongOrientationType dest = factory.createSolidAllPolygonsWrongOrientationType(); + marshalAbstractSolidError(src, dest); + return dest; + } + + private SolidMultipleConnectedComponentsType marshalSolidMultipleConnectedComponents(SolidMultipleConnectedComponents src) { + SolidMultipleConnectedComponentsType dest = factory.createSolidMultipleConnectedComponentsType(); + marshalAbstractSolidError(src, dest); + + if (src.isSetComponents()) { + for (Component component : src.getComponents()) { + ComponentListType componentList = factory.createComponentListType(); + if (component.isSetPolygonIds()) { + for (String polygonId : component.getPolygonIds()) { + PolygonIdListType polygonIdList = factory.createPolygonIdListType(); + polygonIdList.setPolygonId(polygonId); + PolygonIdListPropertyType property = factory.createPolygonIdListPropertyType(); + property.setPolygonIdList(polygonIdList); + componentList.getComponent().add(property); + } + } + + ComponentListPropertyType property = factory.createComponentListPropertyType(); + property.setComponentList(componentList); + dest.getComponents().add(property); + } + } + + return dest; + } + + private SolidNonManifoldEdgeType marshalSolidNonManifoldEdge(SolidNonManifoldEdge src) { + SolidNonManifoldEdgeType dest = factory.createSolidNonManifoldEdgeType(); + marshalAbstractSolidError(src, dest); + + if (src.isSetEdges()) { + EdgeListType edgeList = factory.createEdgeListType(); + for (Edge edge : src.getEdges()) { + EdgePropertyType property = factory.createEdgePropertyType(); + property.setEdge(marshalEdge(edge)); + edgeList.getEdge().add(property); + } + + EdgeListPropertyType property = factory.createEdgeListPropertyType(); + dest.setEdges(property); + } + + return dest; + } + + private SolidNonManifoldVertexType marshalSolidNonManifoldVertex(SolidNonManifoldVertex src) { + SolidNonManifoldVertexType dest = factory.createSolidNonManifoldVertexType(); + marshalAbstractSolidError(src, dest); + + if (src.getVertex() != null) { + dest.setVertex(helper.getGMLMarshaller().marshalDirectPosition(src.getVertex())); + } + + return dest; + } + + private SolidNotClosedType marshalSolidNotClosed(SolidNotClosed src) { + SolidNotClosedType dest = factory.createSolidNotClosedType(); + marshalAbstractSolidError(src, dest); + + if (src.isSetEdges()) { + EdgeListType edgeList = factory.createEdgeListType(); + for (Edge edge : src.getEdges()) { + EdgePropertyType property = factory.createEdgePropertyType(); + property.setEdge(marshalEdge(edge)); + edgeList.getEdge().add(property); + } + + EdgeListPropertyType property = factory.createEdgeListPropertyType(); + dest.setEdges(property); + } + + return dest; + } + + private SolidPolygonWrongOrientationType marshalSolidPolygonWrongOrientation(SolidPolygonWrongOrientation src) { + SolidPolygonWrongOrientationType dest = factory.createSolidPolygonWrongOrientationType(); + marshalAbstractSolidError(src, dest); + + if (src.isSetEdges()) { + EdgeListType edgeList = factory.createEdgeListType(); + for (Edge edge : src.getEdges()) { + EdgePropertyType property = factory.createEdgePropertyType(); + property.setEdge(marshalEdge(edge)); + edgeList.getEdge().add(property); + } + + EdgeListPropertyType property = factory.createEdgeListPropertyType(); + dest.setEdges(property); + } + + return dest; + } + + private SolidSelfIntersectionType marshalSolidSelfIntersection(SolidSelfIntersection src) { + SolidSelfIntersectionType dest = factory.createSolidSelfIntersectionType(); + marshalAbstractSolidError(src, dest); + + if (src.getPolygonId1() != null) { + dest.setPolygonId1(src.getPolygonId1()); + } + + if (src.getPolygonId2() != null) { + dest.setPolygonId2(src.getPolygonId2()); + } + + return dest; + } + + private SolidTooFewPolygonsType marshalSolidTooFewPolygons(SolidTooFewPolygons src) { + SolidTooFewPolygonsType dest = factory.createSolidTooFewPolygonsType(); + marshalAbstractSolidError(src, dest); + return dest; + } + + private StatisticsType marshalStatistics(Statistics src) { + StatisticsType dest = factory.createStatisticsType(); + + if (src.getNumErrorBridgeObjects() != null) { + FeatureStatisticsPropertyType property = factory.createFeatureStatisticsPropertyType(); + property.setFeatureStatistics(marshalFeatureStatistics(src.getNumErrorBridgeObjects())); + dest.setNumErrorBridgeObjects(property); + } + + if (src.getNumErrorBuildings() != null) { + FeatureStatisticsPropertyType property = factory.createFeatureStatisticsPropertyType(); + property.setFeatureStatistics(marshalFeatureStatistics(src.getNumErrorBuildings())); + dest.setNumErrorBuildings(property); + } + + if (src.getNumErrorLandObjects() != null) { + FeatureStatisticsPropertyType property = factory.createFeatureStatisticsPropertyType(); + property.setFeatureStatistics(marshalFeatureStatistics(src.getNumErrorLandObjects())); + dest.setNumErrorLandObjects(property); + } + + if (src.getNumErrorTransportation() != null) { + FeatureStatisticsPropertyType property = factory.createFeatureStatisticsPropertyType(); + property.setFeatureStatistics(marshalFeatureStatistics(src.getNumErrorTransportation())); + dest.setNumErrorTransportation(property); + } + + if (src.getNumErrorVegetation() != null) { + FeatureStatisticsPropertyType property = factory.createFeatureStatisticsPropertyType(); + property.setFeatureStatistics(marshalFeatureStatistics(src.getNumErrorVegetation())); + dest.setNumErrorVegetation(property); + } + + if (src.getNumErrorWaterObjects() != null) { + FeatureStatisticsPropertyType property = factory.createFeatureStatisticsPropertyType(); + property.setFeatureStatistics(marshalFeatureStatistics(src.getNumErrorWaterObjects())); + dest.setNumErrorWaterObjects(property); + } + + if (src.getErrorStatistics() != null) { + ErrorStatisticsPropertyType property = factory.createErrorStatisticsPropertyType(); + property.setErrorStatistics(marshalErrorStatistics(src.getErrorStatistics())); + dest.setErrorStatistics(property); + } + + return dest; + } + + public ValidationType marshalValidation(Validation src) { + ValidationType dest = factory.createValidationType(); + helper.getGMLMarshaller().marshalAbstractFeature(src, dest); + + if (src.getValidationDate() != null) { + ZonedDateTime validationDate = src.getValidationDate(); + XMLGregorianCalendar value = helper.getJAXBMarshaller().getDataTypeFactory().newXMLGregorianCalendar( + validationDate.getYear(), + validationDate.getMonthValue(), + validationDate.getDayOfMonth(), + validationDate.getHour(), + validationDate.getMinute(), + validationDate.getSecond(), + DatatypeConstants.FIELD_UNDEFINED, + validationDate.getOffset() != ZoneOffset.UTC ? + validationDate.getOffset().getTotalSeconds() / 60 : + DatatypeConstants.FIELD_UNDEFINED); + + if (validationDate.getNano() != 0) { + value.setFractionalSecond(BigDecimal.valueOf(validationDate.getNano(), 9).stripTrailingZeros()); + } + + dest.setValidationDate(value); + } + + if (src.getValidationSoftware() != null) { + dest.setValidationSoftware(src.getValidationSoftware()); + } + + if (src.getValidationPlan() != null) { + ValidationPlanPropertyType property = factory.createValidationPlanPropertyType(); + property.setValidationPlan(marshalValidationPlan(src.getValidationPlan())); + dest.setValidationPlan(property); + } + + if (src.getStatistics() != null) { + StatisticsPropertyType property = factory.createStatisticsPropertyType(); + property.setStatistics(marshalStatistics(src.getStatistics())); + dest.setStatistics(property); + } + + return dest; + } + + public ValidationPlanType marshalValidationPlan(ValidationPlan src) { + ValidationPlanType dest = factory.createValidationPlanType(); + + if (src.isSetGlobalParameters()) { + GlobalParametersType globalParameters = factory.createGlobalParametersType(); + for (Parameter parameter : src.getGlobalParameters()) { + ParameterPropertyType property = factory.createParameterPropertyType(); + property.setParameter(marshalParameter(parameter)); + globalParameters.getParameter().add(property); + } + + GlobalParametersPropertyType property = factory.createGlobalParametersPropertyType(); + property.setGlobalParameters(globalParameters); + dest.setGlobalParameters(property); + } + + if (src.getFilter() != null) { + FilterPropertyType property = factory.createFilterPropertyType(); + property.setFilter(marshalFilter(src.getFilter())); + dest.setFilter(property); + } + + if (src.getRequirement() != null) { + RequirementPropertyType property = factory.createRequirementPropertyType(); + property.setRequirement(marshalRequirement(src.getRequirement())); + dest.setRequirement(property); + } + + return dest; + } + + public ValidationPropertyType marshalValidationProperty(ValidationProperty src) { + ValidationPropertyType dest = factory.createValidationPropertyType(); + + if (src.isSetFeature()) { + dest.setValidation(marshalValidation(src.getFeature())); + } + + if (src.isSetRemoteSchema()) + dest.setRemoteSchema(src.getRemoteSchema()); + + if (src.isSetType()) + dest.setType(TypeType.fromValue(src.getType().getValue())); + + if (src.isSetHref()) + dest.setHref(src.getHref()); + + if (src.isSetRole()) + dest.setRole(src.getRole()); + + if (src.isSetArcrole()) + dest.setArcrole(src.getArcrole()); + + if (src.isSetTitle()) + dest.setTitle(src.getTitle()); + + if (src.isSetShow()) + dest.setShow(ShowType.fromValue(src.getShow().getValue())); + + if (src.isSetActuate()) + dest.setActuate(ActuateType.fromValue(src.getActuate().getValue())); + + return dest; + } + + @SuppressWarnings("unchecked") + private ValidationResultType marshalValidationResult(ValidationResult src) { + ValidationResultType dest = factory.createValidationResultType(); + + if (src.getValidation() != null) { + dest.setValidationPlanID(marshalValidationProperty(src.getValidation())); + } + + if (src.isSetErrors()) { + for (AbstractError error : src.getErrors()) { + JAXBElement<?> element = helper.getJAXBMarshaller().marshalJAXBElement(error); + if (element != null && element.getValue() instanceof AbstractErrorType) { + AbstractErrorPropertyType property = factory.createAbstractErrorPropertyType(); + property.setAbstractError((JAXBElement<? extends AbstractErrorType> ) element); + dest.getError().add(property); + } + } + } + + if (src.getResultType() != null) { + dest.setResultType(ResultTypeType.fromValue(src.getResultType().name())); + } + + return dest; + } + + public ValidationResultPropertyType marshalValidationResultProperty(ValidationResultProperty src) { + ValidationResultPropertyType dest = factory.createValidationResultPropertyType(); + + if (src.isSetObject()) { + dest.setValidationResult(marshalValidationResult(src.getObject())); + } + + return dest; + } + + private JAXBElement<?> createPolygonHoleOutside(PolygonHoleOutside src) { + return factory.createPolygonHoleOutside(marshalPolygonHoleOutside(src)); + } + + private JAXBElement<?> createPolygonInnerRingsNested(PolygonInnerRingsNested src) { + return factory.createPolygonInnerRingsNested(marshalPolygonInnerRingsNested(src)); + } + + private JAXBElement<?> createPolygonInteriorDisconnected(PolygonInteriorDisconnected src) { + return factory.createPolygonInteriorDisconnected(marshalPolygonInteriorDisconnected(src)); + } + + private JAXBElement<?> createPolygonIntersectingRings(PolygonIntersectingRings src) { + return factory.createPolygonIntersectingRings(marshalPolygonIntersectingRings(src)); + } + + private JAXBElement<?> createPolygonNonPlanarDistancePlane(PolygonNonPlanarDistancePlane src) { + return factory.createPolygonNonPlanarDistancePlane(marshalPolygonNonPlanarDistancePlane(src)); + } + + private JAXBElement<?> createPolygonNonPlanarNormalsDeviation(PolygonNonPlanarNormalsDeviation src) { + return factory.createPolygonNonPlanarNormalsDeviation(marshalPolygonNonPlanarNormalsDeviation(src)); + } + + private JAXBElement<?> createPolygonOrientationRingsSame(PolygonOrientationRingsSame src) { + return factory.createPolygonOrientationRingsSame(marshalPolygonOrientationRingsSame(src)); + } + + private JAXBElement<?> createRingConsecutivePointsSame(RingConsecutivePointsSame src) { + return factory.createRingConsecutivePointsSame(marshalRingConsecutivePointsSame(src)); + } + + private JAXBElement<?> createRingNotClosed(RingNotClosed src) { + return factory.createRingNotClosed(marshalRingNotClosed(src)); + } + + private JAXBElement<?> createRingSelfIntersection(RingSelfIntersection src) { + return factory.createRingSelfIntersection(marshalRingSelfIntersection(src)); + } + + private JAXBElement<?> createRingTooFewPoints(RingTooFewPoints src) { + return factory.createRingTooFewPoints(marshalRingTooFewPoints(src)); + } + + private JAXBElement<?> createSemanticAttributeMissing(SemanticAttributeMissing src) { + return factory.createSemanticAttributeMissing(marshalSemanticAttributeMissing(src)); + } + + private JAXBElement<?> createSemanticAttributeWrongValue(SemanticAttributeWrongValue src) { + return factory.createSemanticAttributeWrongValue(marshalSemanticAttributeWrongValue(src)); + } + + private JAXBElement<?> createSolidAllPolygonsWrongOrientation(SolidAllPolygonsWrongOrientation src) { + return factory.createSolidAllPolygonsWrongOrientation(marshalSolidAllPolygonsWrongOrientation(src)); + } + + private JAXBElement<?> createSolidMultipleConnectedComponents(SolidMultipleConnectedComponents src) { + return factory.createSolidMultipleConnectedComponents(marshalSolidMultipleConnectedComponents(src)); + } + + private JAXBElement<?> createSolidNonManifoldEdge(SolidNonManifoldEdge src) { + return factory.createSolidNonManifoldEdge(marshalSolidNonManifoldEdge(src)); + } + + private JAXBElement<?> createSolidNonManifoldVertex(SolidNonManifoldVertex src) { + return factory.createSolidNonManifoldVertex(marshalSolidNonManifoldVertex(src)); + } + + private JAXBElement<?> createSolidNotClosed(SolidNotClosed src) { + return factory.createSolidNotClosed(marshalSolidNotClosed(src)); + } + + private JAXBElement<?> createSolidPolygonWrongOrientation(SolidPolygonWrongOrientation src) { + return factory.createSolidPolygonWrongOrientation(marshalSolidPolygonWrongOrientation(src)); + } + + private JAXBElement<?> createSolidSelfIntersection(SolidSelfIntersection src) { + return factory.createSolidSelfIntersection(marshalSolidSelfIntersection(src)); + } + + private JAXBElement<?> createSolidTooFewPolygons(SolidTooFewPolygons src) { + return factory.createSolidTooFewPolygons(marshalSolidTooFewPolygons(src)); + } + + public JAXBElement<?> createValidation(Validation src) { + return factory.createValidation(marshalValidation(src)); + } + + public JAXBElement<?> createValidationResultPropertyElement(ValidationResultPropertyElement src) { + return factory.createValidationResultProperty(marshalValidationResultProperty(src.getValue())); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/bind/QualityADEUnmarshaller.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/bind/QualityADEUnmarshaller.java new file mode 100644 index 0000000000000000000000000000000000000000..1cb06907c421291357001eb2e1c4d0a813dc06de --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/bind/QualityADEUnmarshaller.java @@ -0,0 +1,674 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.bind; + +import de.hft.stuttgart.quality.model.ErrorType; +import de.hft.stuttgart.quality.model.RequirementType; +import de.hft.stuttgart.quality.model.*; +import de.hft.stuttgart.quality.model.jaxb.*; +import org.citygml4j.builder.jaxb.unmarshal.citygml.ade.ADEUnmarshallerHelper; +import org.citygml4j.model.citygml.ade.binding.ADEModelObject; +import org.citygml4j.model.citygml.ade.binding.ADEUnmarshaller; +import org.citygml4j.model.common.base.ModelObject; +import org.citygml4j.model.gml.xlink.XLinkActuate; +import org.citygml4j.model.gml.xlink.XLinkShow; +import org.citygml4j.model.gml.xlink.XLinkType; +import org.citygml4j.util.mapper.CheckedTypeMapper; +import org.citygml4j.xml.io.reader.MissingADESchemaException; + +import javax.xml.bind.JAXBElement; +import javax.xml.datatype.DatatypeConstants; +import javax.xml.datatype.XMLGregorianCalendar; + +public class QualityADEUnmarshaller implements ADEUnmarshaller { + private CheckedTypeMapper<ADEModelObject> typeMapper; + private ADEUnmarshallerHelper helper; + + private synchronized CheckedTypeMapper<ADEModelObject> getTypeMapper() { + if (typeMapper == null) { + typeMapper = CheckedTypeMapper.<ADEModelObject>create() + .with(EdgeType.class, this::unmarshalEdge) + .with(ErrorStatisticsType.class, this::unmarshalErrorStatistics) + .with(FeatureStatisticsType.class, this::unmarshalFeatureStatistics) + .with(FilterType.class, this::unmarshalFilter) + .with(ParameterType.class, this::unmarshalParameter) + .with(PolygonHoleOutsideType.class, this::unmarshalPolygonHoleOutside) + .with(PolygonInnerRingsNestedType.class, this::unmarshalPolygonInnerRingsNested) + .with(PolygonInteriorDisconnectedType.class, this::unmarshalPolygonInteriorDisconnected) + .with(PolygonIntersectingRingsType.class, this::unmarshalPolygonIntersectingRings) + .with(PolygonNonPlanarDistancePlaneType.class, this::unmarshalPolygonNonPlanarDistancePlane) + .with(PolygonNonPlanarNormalsDeviationType.class, this::unmarshalPolygonNonPlanarNormalsDeviation) + .with(PolygonOrientationRingsSameType.class, this::unmarshalPolygonOrientationRingsSame) + .with(de.hft.stuttgart.quality.model.jaxb.RequirementType.class, this::unmarshalRequirement) + .with(RingConsecutivePointsSameType.class, this::unmarshalRingConsecutivePointsSame) + .with(RingNotClosedType.class, this::unmarshalRingNotClosed) + .with(RingSelfIntersectionType.class, this::unmarshalRingSelfIntersection) + .with(RingTooFewPointsType.class, this::unmarshalRingTooFewPoints) + .with(SemanticAttributeMissingType.class, this::unmarshalSemanticAttributeMissing) + .with(SemanticAttributeWrongValueType.class, this::unmarshalSemanticAttributeWrongValue) + .with(SolidAllPolygonsWrongOrientationType.class, this::unmarshalSolidAllPolygonsWrongOrientation) + .with(SolidMultipleConnectedComponentsType.class, this::unmarshalSolidMultipleConnectedComponents) + .with(SolidNonManifoldEdgeType.class, this::unmarshalSolidNonManifoldEdge) + .with(SolidNonManifoldVertexType.class, this::unmarshalSolidNonManifoldVertex) + .with(SolidNotClosedType.class, this::unmarshalSolidNotClosed) + .with(SolidPolygonWrongOrientationType.class, this::unmarshalSolidPolygonWrongOrientation) + .with(SolidSelfIntersectionType.class, this::unmarshalSolidSelfIntersection) + .with(SolidTooFewPolygonsType.class, this::unmarshalSolidTooFewPolygons) + .with(StatisticsType.class, this::unmarshalStatistics) + .with(ValidationType.class, this::unmarshalValidation) + .with(ValidationPlanType.class, this::unmarshalValidationPlan) + .with(ValidationPropertyType.class, this::unmarshalValidationProperty) + .with(ValidationResultType.class, this::unmarshalValidationResult) + .with(ValidationResultPropertyType.class, this::unmarshalValidationResultProperty); + } + + return typeMapper; + } + + @Override + public void setADEUnmarshallerHelper(ADEUnmarshallerHelper helper) { + this.helper = helper; + } + + @Override + public ADEModelObject unmarshal(JAXBElement<?> src) throws MissingADESchemaException { + final Object value = src.getValue(); + + // generic application properties + if ("validationResult".equals(src.getName().getLocalPart())) { + return new ValidationResultPropertyElement(unmarshalValidationResultProperty((ValidationResultPropertyType) src.getValue())); + } else { + return unmarshal(value); + } + } + + @Override + public ADEModelObject unmarshal(Object src) throws MissingADESchemaException { + CheckedTypeMapper<ADEModelObject> typeMapper = getTypeMapper(); + return typeMapper != null ? typeMapper.apply(src) : null; + } + + private void unmarshalAbstractPolygonError(AbstractPolygonErrorType src, AbstractPolygonError dest) { + if (src.isSetPolygonId()) { + dest.setPolygonId(src.getPolygonId()); + } + } + + private void unmarshalAbstractRingError(AbstractRingErrorType src, AbstractRingError dest) { + if (src.isSetLinearRingId()) { + dest.setLinearRingId(src.getLinearRingId()); + } + } + + private void unmarshalAbstractSolidError(AbstractSolidErrorType src, AbstractSolidError dest) { + if (src.isSetGeometryId()) { + dest.setGeometryId(src.getGeometryId()); + } + } + + private Edge unmarshalEdge(EdgeType src) { + Edge dest = new Edge(); + + if (src.isSetFrom()) { + dest.setFrom(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getFrom())); + } + + if (src.isSetTo()) { + dest.setTo(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getTo())); + } + + return dest; + } + + private ErrorStatistics unmarshalErrorStatistics(ErrorStatisticsType src) { + ErrorStatistics dest = new ErrorStatistics(); + + if (src.isSetOccurrences()) { + dest.setOccurrences(src.getOccurrences().intValue()); + } + + if (src.isSetError()) { + for (ErrorPropertyType property : src.getError()) { + if (property.isSetError() && property.getError().isSetName()) { + dest.getErrors().add(ErrorType.fromValue(property.getError().getName().value())); + } + } + } + + return dest; + } + + private FeatureStatistics unmarshalFeatureStatistics(FeatureStatisticsType src) { + FeatureStatistics dest = new FeatureStatistics(); + + if (src.isSetNumChecked()) { + dest.setNumChecked(src.getNumChecked().intValue()); + } + + if (src.isSetNumErrors()) { + dest.setNumErrors(src.getNumErrors().intValue()); + } + + return dest; + } + + private Filter unmarshalFilter(FilterType src) { + Filter dest = new Filter(); + + if (src.isSetChecking()) { + for (CheckingPropertyType property : src.getChecking()) { + if (property.isSetChecking() + && property.getChecking().isSetFeatureType()) { + dest.getFeatureTypes().add(FeatureType.fromValue(property.getChecking().getFeatureType().value())); + } + } + } + + return dest; + } + + private Parameter unmarshalParameter(ParameterType src) { + Parameter dest = new Parameter(); + + if (src.isSetName()) { + dest.setName(src.getName()); + } + + if (src.isSetUom()) { + dest.setUom(src.getUom()); + } + + if (src.isSetValue()) { + dest.setValue(src.getValue()); + } + + return dest; + } + + private PolygonHoleOutside unmarshalPolygonHoleOutside(PolygonHoleOutsideType src) { + PolygonHoleOutside dest = new PolygonHoleOutside(); + unmarshalAbstractPolygonError(src, dest); + + if (src.isSetLinearRingId()) { + dest.setLinearRingId(src.getLinearRingId()); + } + + return dest; + } + + private PolygonInnerRingsNested unmarshalPolygonInnerRingsNested(PolygonInnerRingsNestedType src) { + PolygonInnerRingsNested dest = new PolygonInnerRingsNested(); + unmarshalAbstractPolygonError(src, dest); + + if (src.isSetLinearRingId1()) { + dest.setLinearRingId1(src.getLinearRingId1()); + } + + if (src.isSetLinearRingId2()) { + dest.setLinearRingId2(src.getLinearRingId2()); + } + + return dest; + } + + private PolygonInteriorDisconnected unmarshalPolygonInteriorDisconnected(PolygonInteriorDisconnectedType src) { + PolygonInteriorDisconnected dest = new PolygonInteriorDisconnected(); + unmarshalAbstractPolygonError(src, dest); + return dest; + } + + private PolygonIntersectingRings unmarshalPolygonIntersectingRings(PolygonIntersectingRingsType src) { + PolygonIntersectingRings dest = new PolygonIntersectingRings(); + unmarshalAbstractPolygonError(src, dest); + + if (src.isSetLinearRingId1()) { + dest.setLinearRingId1(src.getLinearRingId1()); + } + + if (src.isSetLinearRingId2()) { + dest.setLinearRingId2(src.getLinearRingId2()); + } + + return dest; + } + + private PolygonNonPlanarDistancePlane unmarshalPolygonNonPlanarDistancePlane(PolygonNonPlanarDistancePlaneType src) { + PolygonNonPlanarDistancePlane dest = new PolygonNonPlanarDistancePlane(); + unmarshalAbstractPolygonError(src, dest); + + if (src.isSetDistance()) { + dest.setDistance(helper.getGMLUnmarshaller().unmarshalLength(src.getDistance())); + } + + if (src.isSetVertex()) { + dest.setVertex(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getVertex())); + } + + return dest; + } + + private PolygonNonPlanarNormalsDeviation unmarshalPolygonNonPlanarNormalsDeviation(PolygonNonPlanarNormalsDeviationType src) { + PolygonNonPlanarNormalsDeviation dest = new PolygonNonPlanarNormalsDeviation(); + unmarshalAbstractPolygonError(src, dest); + + if (src.isSetDeviation()) { + dest.setDeviation(helper.getGMLUnmarshaller().unmarshalAngle(src.getDeviation())); + } + + return dest; + } + + private PolygonOrientationRingsSame unmarshalPolygonOrientationRingsSame(PolygonOrientationRingsSameType src) { + PolygonOrientationRingsSame dest = new PolygonOrientationRingsSame(); + unmarshalAbstractPolygonError(src, dest); + + if (src.isSetLinearRingId()) { + dest.setLinearRingId(src.getLinearRingId()); + } + + return dest; + } + + private Requirement unmarshalRequirement(de.hft.stuttgart.quality.model.jaxb.RequirementType src) { + Requirement dest = new Requirement(); + + dest.setEnabled(src.isEnabled()); + + if (src.isSetRequirementType()) { + dest.setRequirementType(RequirementType.fromValue(src.getRequirementType().value())); + } + + if (src.isSetParameter()) { + for (ParameterPropertyType property : src.getParameter()) { + if (property.isSetParameter()) { + dest.getParameters().add(unmarshalParameter(property.getParameter())); + } + } + } + + return dest; + } + + private RingConsecutivePointsSame unmarshalRingConsecutivePointsSame(RingConsecutivePointsSameType src) { + RingConsecutivePointsSame dest = new RingConsecutivePointsSame(); + unmarshalAbstractRingError(src, dest); + + if (src.isSetVertex1()) { + dest.setVertex1(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getVertex1())); + } + + if (src.isSetVertex2()) { + dest.setVertex2(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getVertex2())); + } + + return dest; + } + + private RingNotClosed unmarshalRingNotClosed(RingNotClosedType src) { + RingNotClosed dest = new RingNotClosed(); + unmarshalAbstractRingError(src, dest); + return dest; + } + + private RingSelfIntersection unmarshalRingSelfIntersection(RingSelfIntersectionType src) { + RingSelfIntersection dest = new RingSelfIntersection(); + unmarshalAbstractRingError(src, dest); + + if (src.isSetEdge1() && src.getEdge1() != null) { + dest.setEdge1(unmarshalEdge(src.getEdge1().getEdge())); + } + + if (src.isSetEdge2() && src.getEdge2() != null) { + dest.setEdge2(unmarshalEdge(src.getEdge2().getEdge())); + } + + if (src.isSetType()) { + dest.setType(src.getType()); + } + + if (src.isSetVertex()) { + dest.setVertex(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getVertex())); + } + + return dest; + } + + private RingTooFewPoints unmarshalRingTooFewPoints(RingTooFewPointsType src) { + RingTooFewPoints dest = new RingTooFewPoints(); + unmarshalAbstractRingError(src, dest); + return dest; + } + + private SemanticAttributeMissing unmarshalSemanticAttributeMissing(SemanticAttributeMissingType src) { + SemanticAttributeMissing dest = new SemanticAttributeMissing(); + + if (src.isSetAttributeName()) { + dest.setAttributeName(src.getAttributeName()); + } + + if (src.isSetChildId()) { + dest.setChildId(src.getChildId()); + } + + dest.setGeneric(src.isGeneric()); + + return dest; + } + + private SemanticAttributeWrongValue unmarshalSemanticAttributeWrongValue(SemanticAttributeWrongValueType src) { + SemanticAttributeWrongValue dest = new SemanticAttributeWrongValue(); + + if (src.isSetAttributeName()) { + dest.setAttributeName(src.getAttributeName()); + } + + if (src.isSetChildId()) { + dest.setChildId(src.getChildId()); + } + + dest.setGeneric(src.isGeneric()); + + return dest; + } + + private SolidAllPolygonsWrongOrientation unmarshalSolidAllPolygonsWrongOrientation(SolidAllPolygonsWrongOrientationType src) { + SolidAllPolygonsWrongOrientation dest = new SolidAllPolygonsWrongOrientation(); + unmarshalAbstractSolidError(src, dest); + return dest; + } + + private SolidMultipleConnectedComponents unmarshalSolidMultipleConnectedComponents(SolidMultipleConnectedComponentsType src) { + SolidMultipleConnectedComponents dest = new SolidMultipleConnectedComponents(); + unmarshalAbstractSolidError(src, dest); + + if (src.isSetComponents()) { + for (ComponentListPropertyType componentProperty : src.getComponents()) { + Component component = new Component(); + dest.getComponents().add(component); + + if (componentProperty.isSetComponentList() + && componentProperty.getComponentList().isSetComponent()) { + for (PolygonIdListPropertyType property : componentProperty.getComponentList().getComponent()) { + if (property.isSetPolygonIdList() + && property.getPolygonIdList().isSetPolygonId()) { + component.getPolygonIds().add(property.getPolygonIdList().getPolygonId()); + } + } + } + } + } + + return dest; + } + + private SolidNonManifoldEdge unmarshalSolidNonManifoldEdge(SolidNonManifoldEdgeType src) { + SolidNonManifoldEdge dest = new SolidNonManifoldEdge(); + unmarshalAbstractSolidError(src, dest); + + if (src.isSetEdges() + && src.getEdges().isSetEdgeList() + && src.getEdges().getEdgeList().isSetEdge()) { + for (EdgePropertyType property : src.getEdges().getEdgeList().getEdge()) { + if (property.isSetEdge()) { + dest.getEdges().add(unmarshalEdge(property.getEdge())); + } + } + } + + return dest; + } + + private SolidNonManifoldVertex unmarshalSolidNonManifoldVertex(SolidNonManifoldVertexType src) { + SolidNonManifoldVertex dest = new SolidNonManifoldVertex(); + unmarshalAbstractSolidError(src, dest); + + if (src.isSetVertex()) { + dest.setVertex(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getVertex())); + } + + return dest; + } + + private SolidNotClosed unmarshalSolidNotClosed(SolidNotClosedType src) { + SolidNotClosed dest = new SolidNotClosed(); + unmarshalAbstractSolidError(src, dest); + + if (src.isSetEdges() + && src.getEdges().isSetEdgeList() + && src.getEdges().getEdgeList().isSetEdge()) { + for (EdgePropertyType property : src.getEdges().getEdgeList().getEdge()) { + if (property.isSetEdge()) { + dest.getEdges().add(unmarshalEdge(property.getEdge())); + } + } + } + + return dest; + } + + private SolidPolygonWrongOrientation unmarshalSolidPolygonWrongOrientation(SolidPolygonWrongOrientationType src) { + SolidPolygonWrongOrientation dest = new SolidPolygonWrongOrientation(); + unmarshalAbstractSolidError(src, dest); + + if (src.isSetEdges() + && src.getEdges().isSetEdgeList() + && src.getEdges().getEdgeList().isSetEdge()) { + for (EdgePropertyType property : src.getEdges().getEdgeList().getEdge()) { + if (property.isSetEdge()) { + dest.getEdges().add(unmarshalEdge(property.getEdge())); + } + } + } + + return dest; + } + + private SolidSelfIntersection unmarshalSolidSelfIntersection(SolidSelfIntersectionType src) { + SolidSelfIntersection dest = new SolidSelfIntersection(); + unmarshalAbstractSolidError(src, dest); + + if (src.isSetPolygonId1()) { + dest.setPolygonId1(src.getPolygonId1()); + } + + if (src.isSetPolygonId2()) { + dest.setPolygonId2(src.getPolygonId2()); + } + + return dest; + } + + private SolidTooFewPolygons unmarshalSolidTooFewPolygons(SolidTooFewPolygonsType src) { + SolidTooFewPolygons dest = new SolidTooFewPolygons(); + unmarshalAbstractSolidError(src, dest); + return dest; + } + + private Statistics unmarshalStatistics(StatisticsType src) { + Statistics dest = new Statistics(); + + if (src.isSetNumErrorBridgeObjects() + && src.getNumErrorBridgeObjects().isSetFeatureStatistics()) { + dest.setNumErrorBridgeObjects(unmarshalFeatureStatistics(src.getNumErrorBridgeObjects().getFeatureStatistics())); + } + + if (src.isSetNumErrorBuildings() + && src.getNumErrorBuildings().isSetFeatureStatistics()) { + dest.setNumErrorBuildings(unmarshalFeatureStatistics(src.getNumErrorBuildings().getFeatureStatistics())); + } + + if (src.isSetNumErrorLandObjects() + && src.getNumErrorLandObjects().isSetFeatureStatistics()) { + dest.setNumErrorLandObjects(unmarshalFeatureStatistics(src.getNumErrorLandObjects().getFeatureStatistics())); + } + + if (src.isSetNumErrorTransportation() + && src.getNumErrorTransportation().isSetFeatureStatistics()) { + dest.setNumErrorTransportation(unmarshalFeatureStatistics(src.getNumErrorTransportation().getFeatureStatistics())); + } + + if (src.isSetNumErrorVegetation() + && src.getNumErrorVegetation().isSetFeatureStatistics()) { + dest.setNumErrorVegetation(unmarshalFeatureStatistics(src.getNumErrorVegetation().getFeatureStatistics())); + } + + if (src.isSetNumErrorWaterObjects() + && src.getNumErrorWaterObjects().isSetFeatureStatistics()) { + dest.setNumErrorWaterObjects(unmarshalFeatureStatistics(src.getNumErrorWaterObjects().getFeatureStatistics())); + } + + if (src.isSetErrorStatistics() + && src.getErrorStatistics().isSetErrorStatistics()) { + dest.setErrorStatistics(unmarshalErrorStatistics(src.getErrorStatistics().getErrorStatistics())); + } + + return dest; + } + + public Validation unmarshalValidation(ValidationType src) throws MissingADESchemaException { + Validation dest = new Validation(); + helper.getGMLUnmarshaller().unmarshalAbstractFeature(src, dest); + + if (src.isSetValidationDate()) { + XMLGregorianCalendar validationDate = src.getValidationDate(); + if (validationDate.getTimezone() == DatatypeConstants.FIELD_UNDEFINED) { + validationDate.setTimezone(0); + } + + dest.setValidationDate(validationDate.toGregorianCalendar().toZonedDateTime()); + } + + if (src.isSetValidationSoftware()) { + dest.setValidationSoftware(src.getValidationSoftware()); + } + + if (src.isSetValidationPlan() + && src.getValidationPlan().isSetValidationPlan()) { + dest.setValidationPlan(unmarshalValidationPlan(src.getValidationPlan().getValidationPlan())); + } + + if (src.isSetStatistics() + && src.getStatistics().isSetStatistics()) { + dest.setStatistics(unmarshalStatistics(src.getStatistics().getStatistics())); + } + + return dest; + } + + public ValidationPlan unmarshalValidationPlan(ValidationPlanType src) { + ValidationPlan dest = new ValidationPlan(); + + if (src.isSetGlobalParameters() + && src.getGlobalParameters().isSetGlobalParameters() + && src.getGlobalParameters().getGlobalParameters().isSetParameter()) { + for (ParameterPropertyType property : src.getGlobalParameters().getGlobalParameters().getParameter()) { + if (property.isSetParameter()) { + dest.getGlobalParameters().add(unmarshalParameter(property.getParameter())); + } + } + } + + if (src.isSetFilter() + && src.getFilter().isSetFilter()) { + dest.setFilter(unmarshalFilter(src.getFilter().getFilter())); + } + + if (src.isSetRequirement() + && src.getRequirement().isSetRequirement()) { + dest.setRequirement(unmarshalRequirement(src.getRequirement().getRequirement())); + } + + return dest; + } + + public ValidationProperty unmarshalValidationProperty(ValidationPropertyType src) throws MissingADESchemaException { + ValidationProperty dest = new ValidationProperty(); + + if (src.isSetValidation()) { + dest.setFeature(unmarshalValidation(src.getValidation())); + } + + if (src.isSetRemoteSchema()) { + dest.setRemoteSchema(src.getRemoteSchema()); + } + + if (src.isSetType()) { + dest.setType(XLinkType.fromValue(src.getType().value())); + } + + if (src.isSetHref()) { + dest.setHref(src.getHref()); + } + + if (src.isSetRole()) { + dest.setRole(src.getRole()); + } + + if (src.isSetArcrole()) { + dest.setArcrole(src.getArcrole()); + } + + if (src.isSetTitle()) { + dest.setTitle(src.getTitle()); + } + + if (src.isSetShow()) { + dest.setShow(XLinkShow.fromValue(src.getShow().value())); + } + + if (src.isSetActuate()) { + dest.setActuate(XLinkActuate.fromValue(src.getActuate().value())); + } + + return dest; + } + + private ValidationResult unmarshalValidationResult(ValidationResultType src) throws MissingADESchemaException { + ValidationResult dest = new ValidationResult(); + + if (src.isSetValidationPlanID()) { + dest.setValidation(unmarshalValidationProperty(src.getValidationPlanID())); + } + + if (src.isSetError()) { + for (AbstractErrorPropertyType property : src.getError()) { + if (property.isSetAbstractError()) { + ModelObject object = helper.getJAXBUnmarshaller().unmarshal(property.getAbstractError()); + if (object instanceof AbstractError) { + dest.getErrors().add((AbstractError) object); + } + } + } + } + + if (src.isSetResultType()) { + dest.setResultType(ResultType.fromValue(src.getResultType().value())); + } + + return dest; + } + + public ValidationResultProperty unmarshalValidationResultProperty(ValidationResultPropertyType src) throws MissingADESchemaException { + ValidationResultProperty dest = new ValidationResultProperty(); + + if (src.isSetValidationResult()) { + dest.setObject(unmarshalValidationResult(src.getValidationResult())); + } + + return dest; + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/marshaller/QualityAdeMarshaller.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/marshaller/QualityAdeMarshaller.java deleted file mode 100644 index cd0528a760628127453cad9dc063bf21519bfec4..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/marshaller/QualityAdeMarshaller.java +++ /dev/null @@ -1,412 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.marshaller; - -import java.util.List; -import java.util.concurrent.locks.ReentrantLock; - -import javax.xml.bind.JAXBElement; - -import org.citygml4j.builder.jaxb.marshal.citygml.ade.ADEMarshallerHelper; -import org.citygml4j.model.citygml.ade.binding.ADEMarshaller; -import org.citygml4j.model.citygml.ade.binding.ADEModelObject; -import org.citygml4j.util.mapper.TypeMapper; - -import de.hft.stuttgart.quality.model.AllPolygonsWrongOrientation; -import de.hft.stuttgart.quality.model.AttributeMissing; -import de.hft.stuttgart.quality.model.AttributeWrongValue; -import de.hft.stuttgart.quality.model.ConsecutivePointsSame; -import de.hft.stuttgart.quality.model.Edge; -import de.hft.stuttgart.quality.model.HoleOutside; -import de.hft.stuttgart.quality.model.InnerRingsNested; -import de.hft.stuttgart.quality.model.InteriorDisconnected; -import de.hft.stuttgart.quality.model.IntersectingRings; -import de.hft.stuttgart.quality.model.MultipleConnectedComponents; -import de.hft.stuttgart.quality.model.NonManifoldEdge; -import de.hft.stuttgart.quality.model.NonManifoldVertex; -import de.hft.stuttgart.quality.model.NonPlanarDistancePlane; -import de.hft.stuttgart.quality.model.NonPlanarNormalsDeviation; -import de.hft.stuttgart.quality.model.OrientationRingsSame; -import de.hft.stuttgart.quality.model.PolygonWrongOrientation; -import de.hft.stuttgart.quality.model.RingNotClosed; -import de.hft.stuttgart.quality.model.RingSelfIntersection; -import de.hft.stuttgart.quality.model.SolidNotClosed; -import de.hft.stuttgart.quality.model.SolidSelfIntersection; -import de.hft.stuttgart.quality.model.TooFewPoints; -import de.hft.stuttgart.quality.model.TooFewPolygons; -import de.hft.stuttgart.quality.model.Validation; -import de.hft.stuttgart.quality.model.ValidationError; -import de.hft.stuttgart.quality.model.ValidationResult; -import de.hft.stuttgart.quality.model.jaxb.AllPolygonsWrongOrientationType; -import de.hft.stuttgart.quality.model.jaxb.AttributeMissingType; -import de.hft.stuttgart.quality.model.jaxb.AttributeWrongValueType; -import de.hft.stuttgart.quality.model.jaxb.ConsecutivePointsSameType; -import de.hft.stuttgart.quality.model.jaxb.EdgeType; -import de.hft.stuttgart.quality.model.jaxb.HoleOutsideType; -import de.hft.stuttgart.quality.model.jaxb.InnerRingsNestedType; -import de.hft.stuttgart.quality.model.jaxb.InteriorDisconnectedType; -import de.hft.stuttgart.quality.model.jaxb.IntersectingRingsType; -import de.hft.stuttgart.quality.model.jaxb.MultipleConnectedComponentsType; -import de.hft.stuttgart.quality.model.jaxb.NonManifoldEdgeType; -import de.hft.stuttgart.quality.model.jaxb.NonManifoldVertexType; -import de.hft.stuttgart.quality.model.jaxb.NonPlanarDistancePlaneType; -import de.hft.stuttgart.quality.model.jaxb.NonPlanarNormalsDeviationType; -import de.hft.stuttgart.quality.model.jaxb.ObjectFactory; -import de.hft.stuttgart.quality.model.jaxb.OrientationRingsSameType; -import de.hft.stuttgart.quality.model.jaxb.PolygonWrongOrientationType; -import de.hft.stuttgart.quality.model.jaxb.RingNotClosedType; -import de.hft.stuttgart.quality.model.jaxb.RingSelfIntersectionType; -import de.hft.stuttgart.quality.model.jaxb.SolidNotClosedType; -import de.hft.stuttgart.quality.model.jaxb.SolidSelfIntersectionType; -import de.hft.stuttgart.quality.model.jaxb.TooFewPointsType; -import de.hft.stuttgart.quality.model.jaxb.TooFewPolygonsType; -import de.hft.stuttgart.quality.model.jaxb.ValidationErrorType; -import de.hft.stuttgart.quality.model.jaxb.ValidationResultType; -import de.hft.stuttgart.quality.model.jaxb.ValidationType; - -public class QualityAdeMarshaller implements ADEMarshaller { - - private final ReentrantLock lock = new ReentrantLock(); - private final ObjectFactory factory = new ObjectFactory(); - private TypeMapper<JAXBElement<?>> elementMapper; - private TypeMapper<Object> typeMapper; - private ADEMarshallerHelper helper; - - private TypeMapper<JAXBElement<?>> getElementMapper() { - if (elementMapper == null) { - lock.lock(); - try { - if (elementMapper == null) { - elementMapper = TypeMapper.<JAXBElement<?>>create().with(Validation.class, this::createValidation) - .with(ValidationResult.class, this::createValidationResult); - } - } finally { - lock.unlock(); - } - } - - return elementMapper; - } - - private TypeMapper<Object> getTypeMapper() { - if (typeMapper == null) { - lock.lock(); - try { - if (typeMapper == null) { - typeMapper = TypeMapper.create().with(Validation.class, this::marshalValidation) - .with(ValidationResult.class, this::marshalValidationResult) - .with(ConsecutivePointsSame.class, this::marshalConsecutivePointsSame) - .with(TooFewPoints.class, this::marshalTooFewPoints) - .with(RingSelfIntersection.class, this::marshalRingSelfIntersection) - .with(RingNotClosed.class, this::marshalRingNotClosed) - .with(InteriorDisconnected.class, this::marshalInteriorDisconnected) - .with(IntersectingRings.class, this::marshalIntersectingRings) - .with(NonPlanarDistancePlane.class, this::marshalNonPlanarDistancePlane) - .with(InnerRingsNested.class, this::marshalInnerRingsNested) - .with(HoleOutside.class, this::marshalHoleOutside) - .with(NonPlanarNormalsDeviation.class, this::marshalNonPlanarNormalsDeviation) - .with(OrientationRingsSame.class, this::marshalOrientationRingsSame) - .with(AllPolygonsWrongOrientation.class, this::marshalAllPolygonsWrongOrientation) - .with(PolygonWrongOrientation.class, this::marshalPolygonWrongOrientation) - .with(SolidSelfIntersection.class, this::marshalSolidSelfIntersection) - .with(NonManifoldVertex.class, this::marshalNonManifoldVertex) - .with(NonManifoldEdge.class, this::marshalNonManifoldEdge) - .with(SolidNotClosed.class, this::marshalSolidNotClosed) - .with(TooFewPolygons.class, this::marshalTooFewPolygons) - .with(MultipleConnectedComponents.class, this::marshalMultipleConnectedComponents) - .with(AttributeWrongValue.class, this::marshalAttributeWrongValue) - .with(AttributeMissing.class, this::marshalAttributeMissing); - } - } finally { - lock.unlock(); - } - } - - return typeMapper; - } - - private ValidationType marshalValidation(Validation src) { - ValidationType dest = new ValidationType(); - - if (src.isSetDateTime()) { - dest.setValidationDate(src.getValidationDate()); - } - - if (src.isSetValidationSoftware()) { - dest.setValidationSoftware(src.getValidationSoftware()); - } - - if (src.isSetValidationPlan()) { - dest.setValidationPlan(src.getValidationPlan()); - } - - if (src.isSetStatistics()) { - dest.setStatistics(src.getStatistics()); - } - - return dest; - } - - private ValidationResultType marshalValidationResult(ValidationResult src) { - ValidationResultType dest = factory.createValidationResultType(); - - dest.setResult(src.getResult()); - - if (src.hasErrors()) { - for (ValidationError err : src.getErrors()) { - dest.getErrors().add(marshalValidationError(err)); - // sort lexicographic, order does not actually matter but xml is restrictive - // that way - // could be solved with xsd v1.1 but jaxb can only process v1.0 - dest.getErrors().sort((e1, e2) -> e1.getName().compareTo(e2.getName())); - } - } - return dest; - } - - private JAXBElement<?> createValidation(Validation src) { - return factory.createValidationType(marshalValidation(src)); - } - - private JAXBElement<?> createValidationResult(ValidationResult src) { - return factory.createValidationResultType(marshalValidationResult(src)); - } - - private ValidationErrorType marshalValidationError(ValidationError err) { - return (ValidationErrorType) marshal(err); - } - - @Override - public void setADEMarshallerHelper(ADEMarshallerHelper helper) { - this.helper = helper; - } - - @Override - public JAXBElement<?> marshalJAXBElement(ADEModelObject src) { - return getElementMapper().apply(src); - } - - @Override - public Object marshal(ADEModelObject src) { - return getTypeMapper().apply(src); - } - - private ConsecutivePointsSameType marshalConsecutivePointsSame(ConsecutivePointsSame src) { - ConsecutivePointsSameType dest = factory.createConsecutivePointsSameType(); - dest.setLinearRingId(src.getLinearRingId()); - if (src.getVertex1() != null) { - dest.setVertex1(helper.getGMLMarshaller().marshalDirectPosition(src.getVertex1())); - } - if (src.getVertex2() != null) { - dest.setVertex2(helper.getGMLMarshaller().marshalDirectPosition(src.getVertex2())); - } - return dest; - } - - private TooFewPointsType marshalTooFewPoints(TooFewPoints src) { - TooFewPointsType dest = factory.createTooFewPointsType(); - dest.setLinearRingId(src.getLinearRingId()); - return dest; - } - - private RingSelfIntersectionType marshalRingSelfIntersection(RingSelfIntersection src) { - RingSelfIntersectionType dest = factory.createRingSelfIntersectionType(); - dest.setLinearRingId(src.getLinearRingId()); - dest.setType(src.getType()); - if (src.getEdge1() != null) { - dest.setEdge1(marshalEdge(src.getEdge1())); - } - - if (src.getEdge2() != null) { - dest.setEdge2(marshalEdge(src.getEdge2())); - } - - if (src.getVertex1() != null) { - dest.setVertex1(helper.getGMLMarshaller().marshalDirectPosition(src.getVertex1())); - } - - if (src.getVertex2() != null) { - dest.setVertex2(helper.getGMLMarshaller().marshalDirectPosition(src.getVertex2())); - } - return dest; - } - - private EdgeType marshalEdge(Edge src) { - EdgeType dest = new EdgeType(); - if (src.getFrom() != null) { - dest.setFrom(helper.getGMLMarshaller().marshalDirectPosition(src.getFrom())); - } - - if (src.getTo() != null) { - dest.setTo(helper.getGMLMarshaller().marshalDirectPosition(src.getTo())); - } - return dest; - } - - private RingNotClosedType marshalRingNotClosed(RingNotClosed src) { - RingNotClosedType dest = new RingNotClosedType(); - dest.setLinearRingId(src.getLinearRingId()); - return dest; - } - - private InteriorDisconnectedType marshalInteriorDisconnected(InteriorDisconnected src) { - InteriorDisconnectedType dest = new InteriorDisconnectedType(); - dest.setPolygonId(src.getPolygonId()); - return dest; - } - - private IntersectingRingsType marshalIntersectingRings(IntersectingRings src) { - IntersectingRingsType dest = new IntersectingRingsType(); - dest.setPolygonId(src.getPolygonId()); - dest.setLinearRingId1(src.getLinearRingId1()); - dest.setLinearRingId2(src.getLinearRingId2()); - return dest; - } - - private NonPlanarDistancePlaneType marshalNonPlanarDistancePlane(NonPlanarDistancePlane src) { - NonPlanarDistancePlaneType dest = new NonPlanarDistancePlaneType(); - dest.setPolygonId(src.getPolygonId()); - if (src.getVertex() != null) { - dest.setVertex(helper.getGMLMarshaller().marshalDirectPosition(src.getVertex())); - } - if (src.getDistance() != null) { - dest.setDistance(helper.getGMLMarshaller().marshalLength(src.getDistance())); - } - return dest; - } - - private InnerRingsNestedType marshalInnerRingsNested(InnerRingsNested src) { - InnerRingsNestedType dest = new InnerRingsNestedType(); - dest.setPolygonId(src.getPolygonId()); - dest.setLinearRingId1(src.getLinearRingId1()); - dest.setLinearRingId2(src.getLinearRingId2()); - return dest; - } - - private HoleOutsideType marshalHoleOutside(HoleOutside src) { - HoleOutsideType dest = new HoleOutsideType(); - dest.setPolygonId(src.getPolygonId()); - dest.setLinearRingId(src.getLinearRingId()); - return dest; - } - - private NonPlanarNormalsDeviationType marshalNonPlanarNormalsDeviation(NonPlanarNormalsDeviation src) { - NonPlanarNormalsDeviationType dest = new NonPlanarNormalsDeviationType(); - dest.setPolygonId(src.getPolygonId()); - if (src.getDeviation() != null) { - dest.setDeviation(helper.getGMLMarshaller().marshalAngle(src.getDeviation())); - } - return dest; - } - - private OrientationRingsSameType marshalOrientationRingsSame(OrientationRingsSame src) { - OrientationRingsSameType dest = new OrientationRingsSameType(); - dest.setPolygonId(src.getPolygonId()); - dest.setLinearRingId(src.getLinearRingId()); - return dest; - } - - private AllPolygonsWrongOrientationType marshalAllPolygonsWrongOrientation(AllPolygonsWrongOrientation src) { - AllPolygonsWrongOrientationType dest = new AllPolygonsWrongOrientationType(); - dest.setGeometryId(src.getGeometryId()); - return dest; - } - - private PolygonWrongOrientationType marshalPolygonWrongOrientation(PolygonWrongOrientation src) { - PolygonWrongOrientationType dest = new PolygonWrongOrientationType(); - dest.setGeometryId(src.getGeometryId()); - if (src.isSetEdges()) { - List<EdgeType> edges = dest.getEdges(); - for (Edge e : src.getEdges()) { - edges.add(marshalEdge(e)); - } - } - return dest; - } - - private SolidSelfIntersectionType marshalSolidSelfIntersection(SolidSelfIntersection src) { - SolidSelfIntersectionType dest = new SolidSelfIntersectionType(); - dest.setGeometryId(src.getGeometryId()); - dest.setPolygonId1(src.getPolygonId1()); - dest.setPolygonId2(src.getPolygonId2()); - return dest; - } - - private NonManifoldVertexType marshalNonManifoldVertex(NonManifoldVertex src) { - NonManifoldVertexType dest = new NonManifoldVertexType(); - dest.setGeometryId(src.getGeometryId()); - if (src.getVertex() != null) { - dest.setVertex(helper.getGMLMarshaller().marshalDirectPosition(src.getVertex())); - } - return dest; - } - - private NonManifoldEdgeType marshalNonManifoldEdge(NonManifoldEdge src) { - NonManifoldEdgeType dest = new NonManifoldEdgeType(); - dest.setGeometryId(src.getGeometryId()); - if (src.isSetEdges()) { - List<EdgeType> edges = dest.getEdges(); - for (Edge e : src.getEdges()) { - edges.add(marshalEdge(e)); - } - } - return dest; - } - - private SolidNotClosedType marshalSolidNotClosed(SolidNotClosed src) { - SolidNotClosedType dest = new SolidNotClosedType(); - dest.setGeometryId(src.getGeometryId()); - if (src.isSetEdges()) { - List<EdgeType> edges = dest.getEdges(); - for (Edge e : src.getEdges()) { - edges.add(marshalEdge(e)); - } - } - return dest; - } - - private TooFewPolygonsType marshalTooFewPolygons(TooFewPolygons src) { - TooFewPolygonsType dest = new TooFewPolygonsType(); - dest.setGeometryId(src.getGeometryId()); - return dest; - } - - private MultipleConnectedComponentsType marshalMultipleConnectedComponents(MultipleConnectedComponents src) { - MultipleConnectedComponentsType dest = new MultipleConnectedComponentsType(); - dest.setGeometryId(src.getGeometryId()); - if (src.isSetComponents()) { - dest.getComponents().addAll(src.getComponents()); - } - return dest; - } - - private AttributeWrongValueType marshalAttributeWrongValue(AttributeWrongValue src) { - AttributeWrongValueType dest = new AttributeWrongValueType(); - dest.setAttributeName(src.getAttributeName()); - dest.setChildId(src.getChildId()); - dest.setGeneric(src.isGeneric()); - return dest; - } - - private AttributeMissingType marshalAttributeMissing(AttributeMissing src) { - AttributeMissingType dest = new AttributeMissingType(); - dest.setAttributeName(src.getAttributeName()); - dest.setChildId(src.getChildId()); - dest.setGeneric(src.isGeneric()); - return dest; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/marshaller/QualityAdeUnmarshaller.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/marshaller/QualityAdeUnmarshaller.java deleted file mode 100644 index 21f4148313ba71b0d4eb2c3df3ac58176fdcd6eb..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/marshaller/QualityAdeUnmarshaller.java +++ /dev/null @@ -1,374 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.marshaller; - -import java.util.List; -import java.util.concurrent.locks.ReentrantLock; -import java.util.stream.Collectors; - -import javax.xml.bind.JAXBElement; - -import org.citygml4j.builder.jaxb.unmarshal.citygml.ade.ADEUnmarshallerHelper; -import org.citygml4j.model.citygml.ade.binding.ADEModelObject; -import org.citygml4j.model.citygml.ade.binding.ADEUnmarshaller; -import org.citygml4j.util.mapper.CheckedTypeMapper; -import org.citygml4j.xml.io.reader.MissingADESchemaException; - -import de.hft.stuttgart.quality.model.AllPolygonsWrongOrientation; -import de.hft.stuttgart.quality.model.AttributeMissing; -import de.hft.stuttgart.quality.model.AttributeWrongValue; -import de.hft.stuttgart.quality.model.ConsecutivePointsSame; -import de.hft.stuttgart.quality.model.Edge; -import de.hft.stuttgart.quality.model.HoleOutside; -import de.hft.stuttgart.quality.model.InnerRingsNested; -import de.hft.stuttgart.quality.model.InteriorDisconnected; -import de.hft.stuttgart.quality.model.IntersectingRings; -import de.hft.stuttgart.quality.model.MultipleConnectedComponents; -import de.hft.stuttgart.quality.model.NonManifoldEdge; -import de.hft.stuttgart.quality.model.NonManifoldVertex; -import de.hft.stuttgart.quality.model.NonPlanarDistancePlane; -import de.hft.stuttgart.quality.model.NonPlanarNormalsDeviation; -import de.hft.stuttgart.quality.model.OrientationRingsSame; -import de.hft.stuttgart.quality.model.PolygonWrongOrientation; -import de.hft.stuttgart.quality.model.RingNotClosed; -import de.hft.stuttgart.quality.model.RingSelfIntersection; -import de.hft.stuttgart.quality.model.SolidNotClosed; -import de.hft.stuttgart.quality.model.SolidSelfIntersection; -import de.hft.stuttgart.quality.model.TooFewPoints; -import de.hft.stuttgart.quality.model.TooFewPolygons; -import de.hft.stuttgart.quality.model.Validation; -import de.hft.stuttgart.quality.model.ValidationError; -import de.hft.stuttgart.quality.model.ValidationResult; -import de.hft.stuttgart.quality.model.jaxb.AllPolygonsWrongOrientationType; -import de.hft.stuttgart.quality.model.jaxb.AttributeMissingType; -import de.hft.stuttgart.quality.model.jaxb.AttributeWrongValueType; -import de.hft.stuttgart.quality.model.jaxb.ConsecutivePointsSameType; -import de.hft.stuttgart.quality.model.jaxb.EdgeType; -import de.hft.stuttgart.quality.model.jaxb.HoleOutsideType; -import de.hft.stuttgart.quality.model.jaxb.InnerRingsNestedType; -import de.hft.stuttgart.quality.model.jaxb.InteriorDisconnectedType; -import de.hft.stuttgart.quality.model.jaxb.IntersectingRingsType; -import de.hft.stuttgart.quality.model.jaxb.MultipleConnectedComponentsType; -import de.hft.stuttgart.quality.model.jaxb.NonManifoldEdgeType; -import de.hft.stuttgart.quality.model.jaxb.NonManifoldVertexType; -import de.hft.stuttgart.quality.model.jaxb.NonPlanarDistancePlaneType; -import de.hft.stuttgart.quality.model.jaxb.NonPlanarNormalsDeviationType; -import de.hft.stuttgart.quality.model.jaxb.OrientationRingsSameType; -import de.hft.stuttgart.quality.model.jaxb.PolygonWrongOrientationType; -import de.hft.stuttgart.quality.model.jaxb.RingNotClosedType; -import de.hft.stuttgart.quality.model.jaxb.RingSelfIntersectionType; -import de.hft.stuttgart.quality.model.jaxb.SolidNotClosedType; -import de.hft.stuttgart.quality.model.jaxb.SolidSelfIntersectionType; -import de.hft.stuttgart.quality.model.jaxb.TooFewPointsType; -import de.hft.stuttgart.quality.model.jaxb.TooFewPolygonsType; -import de.hft.stuttgart.quality.model.jaxb.ValidationErrorType; -import de.hft.stuttgart.quality.model.jaxb.ValidationResultType; -import de.hft.stuttgart.quality.model.jaxb.ValidationType; -import de.hft.stuttgart.quality.util.UncheckedMissingADESchemaException; - -public class QualityAdeUnmarshaller implements ADEUnmarshaller { - - private final ReentrantLock lock = new ReentrantLock(); - private CheckedTypeMapper<ADEModelObject> typeMapper; - private ADEUnmarshallerHelper helper; - - private CheckedTypeMapper<ADEModelObject> getTypeMapper() { - if (typeMapper == null) { - lock.lock(); - try { - if (typeMapper == null) { - typeMapper = CheckedTypeMapper.<ADEModelObject>create() - .with(ValidationType.class, this::unmarshalValidationType) - .with(ValidationResultType.class, this::umarshalValidationResultType) - .with(ConsecutivePointsSameType.class, this::unmarshalConsecutivePointsSameType) - .with(TooFewPointsType.class, this::unmarshalTooFewPointsType) - .with(RingSelfIntersectionType.class, this::unmarshalRingSelfIntersectionType) - .with(RingNotClosedType.class, this::unmarshalRingNotClosedType) - .with(InteriorDisconnectedType.class, this::unmarshalInteriorDisconnectedType) - .with(IntersectingRingsType.class, this::unmarshalIntersectingRingsType) - .with(NonPlanarDistancePlaneType.class, this::unmarshalNonPlanarDistancePlaneType) - .with(InnerRingsNestedType.class, this::unmarshalInnerRingsType) - .with(HoleOutsideType.class, this::unmarshalHoleOutsideType) - .with(OrientationRingsSameType.class, this::unmarshalOrientationRingsSameType) - .with(NonPlanarNormalsDeviationType.class, this::unmarshalNonPlanarNormalsDeviationType) - .with(AllPolygonsWrongOrientationType.class, this::unmarshalAllPolygonsWrongOrientationType) - .with(PolygonWrongOrientationType.class, this::unmarshalPolygonWrongOrientationType) - .with(SolidSelfIntersectionType.class, this::unmarshalSolidSelfIntersectionType) - .with(NonManifoldVertexType.class, this::unmarshalNonManifoldVertexType) - .with(NonManifoldEdgeType.class, this::unmarshalNonManifoldEdgeType) - .with(SolidNotClosedType.class, this::unmarshalSolidNotClosedType) - .with(TooFewPolygonsType.class, this::unmarshalTooFewPolygonsType) - .with(MultipleConnectedComponentsType.class, this::unmarshalMultipleConnectedComponentsType) - .with(AttributeWrongValueType.class, this::unmarshalAttributeWrongValueType) - .with(AttributeMissingType.class, this::unmarshalAttributeMissingType); - - } - } finally { - lock.unlock(); - } - } - - return typeMapper; - } - - @Override - public void setADEUnmarshallerHelper(ADEUnmarshallerHelper helper) { - this.helper = helper; - } - - @Override - public ADEModelObject unmarshal(JAXBElement<?> src) throws MissingADESchemaException { - return unmarshal(src.getValue()); - } - - @Override - public ADEModelObject unmarshal(Object src) throws MissingADESchemaException { - return getTypeMapper().apply(src); - } - - private Validation unmarshalValidationType(ValidationType src) { - Validation dest = new Validation(); - dest.setValidationDate(src.getValidationDate()); - dest.setValidationSoftware(src.getValidationSoftware()); - dest.setValidationPlan(src.getValidationPlan()); - dest.setStatistics(src.getStatistics()); - return dest; - } - - private ValidationResult umarshalValidationResultType(ValidationResultType src) throws MissingADESchemaException { - ValidationResult dest = new ValidationResult(); - dest.setResult(src.getResult()); - if (src.isSetErrors()) { - try { - dest.getErrors() - .addAll(src.getErrors().stream().map(this::unmarshalError).collect(Collectors.toList())); - } catch (UncheckedMissingADESchemaException e) { - throw e.getCause(); - } - } - return dest; - } - - private ValidationError unmarshalError(ValidationErrorType err) { - try { - return (ValidationError) getTypeMapper().apply(err); - } catch (MissingADESchemaException e) { - throw new UncheckedMissingADESchemaException(e); - } - } - - private ConsecutivePointsSame unmarshalConsecutivePointsSameType(ConsecutivePointsSameType src) { - ConsecutivePointsSame dest = new ConsecutivePointsSame(); - dest.setLinearRingId(src.getLinearRingId()); - dest.setVertex1(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getVertex1())); - dest.setVertex2(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getVertex2())); - return dest; - } - - private TooFewPoints unmarshalTooFewPointsType(TooFewPointsType src) { - TooFewPoints dest = new TooFewPoints(); - dest.setLinearRingId(src.getLinearRingId()); - return dest; - } - - private RingSelfIntersection unmarshalRingSelfIntersectionType(RingSelfIntersectionType src) { - RingSelfIntersection dest = new RingSelfIntersection(); - if (src.getEdge1() != null) { - dest.setEdge1(unmarshalEdge(src.getEdge1())); - } - - if (src.getEdge2() != null) { - dest.setEdge2(unmarshalEdge(src.getEdge2())); - } - - dest.setLinearRingId(src.getLinearRingId()); - dest.setType(src.getType()); - - if (src.getVertex1() != null) { - dest.setVertex1(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getVertex1())); - } - - if (src.getVertex2() != null) { - dest.setVertex2(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getVertex2())); - } - return dest; - } - - private RingNotClosed unmarshalRingNotClosedType(RingNotClosedType src) { - RingNotClosed dest = new RingNotClosed(); - dest.setLinearRingId(src.getLinearRingId()); - return dest; - } - - private Edge unmarshalEdge(EdgeType src) { - Edge dest = new Edge(); - if (src.getFrom() != null) { - dest.setFrom(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getFrom())); - } - if (src.getTo() != null) { - dest.setTo(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getTo())); - } - return dest; - } - - private InteriorDisconnected unmarshalInteriorDisconnectedType(InteriorDisconnectedType src) { - InteriorDisconnected dest = new InteriorDisconnected(); - dest.setPolygonId(src.getPolygonId()); - return dest; - } - - private IntersectingRings unmarshalIntersectingRingsType(IntersectingRingsType src) { - IntersectingRings dest = new IntersectingRings(); - dest.setPolygonId(src.getPolygonId()); - dest.setLinearRingId1(src.getLinearRingId1()); - dest.setLinearRingId2(src.getLinearRingId2()); - return dest; - } - - private InnerRingsNested unmarshalInnerRingsType(InnerRingsNestedType src) { - InnerRingsNested dest = new InnerRingsNested(); - dest.setPolygonId(src.getPolygonId()); - dest.setLinearRingId1(src.getLinearRingId1()); - dest.setLinearRingId2(src.getLinearRingId2()); - return dest; - } - - private NonPlanarDistancePlane unmarshalNonPlanarDistancePlaneType(NonPlanarDistancePlaneType src) { - NonPlanarDistancePlane dest = new NonPlanarDistancePlane(); - dest.setPolygonId(src.getPolygonId()); - if (src.getVertex() != null) { - dest.setVertex(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getVertex())); - } - if (src.getDistance() != null) { - dest.setDistance(helper.getGMLUnmarshaller().unmarshalLength(src.getDistance())); - } - return dest; - } - - private HoleOutside unmarshalHoleOutsideType(HoleOutsideType src) { - HoleOutside dest = new HoleOutside(); - dest.setPolygonId(src.getPolygonId()); - dest.setLinearRingId(src.getLinearRingId()); - return dest; - } - - private NonPlanarNormalsDeviation unmarshalNonPlanarNormalsDeviationType(NonPlanarNormalsDeviationType src) { - NonPlanarNormalsDeviation dest = new NonPlanarNormalsDeviation(); - dest.setPolygonId(src.getPolygonId()); - if (src.getDeviation() != null) { - dest.setDeviation(helper.getGMLUnmarshaller().unmarshalAngle(src.getDeviation())); - } - return dest; - } - - private OrientationRingsSame unmarshalOrientationRingsSameType(OrientationRingsSameType src) { - OrientationRingsSame dest = new OrientationRingsSame(); - dest.setPolygonId(src.getPolygonId()); - dest.setLinearRingId(src.getLinearRingId()); - return dest; - } - - private AllPolygonsWrongOrientation unmarshalAllPolygonsWrongOrientationType(AllPolygonsWrongOrientationType src) { - AllPolygonsWrongOrientation dest = new AllPolygonsWrongOrientation(); - dest.setGeometryId(src.getGeometryId()); - return dest; - } - - private PolygonWrongOrientation unmarshalPolygonWrongOrientationType(PolygonWrongOrientationType src) { - PolygonWrongOrientation dest = new PolygonWrongOrientation(); - dest.setGeometryId(src.getGeometryId()); - if (src.isSetEdges()) { - List<Edge> edges = dest.getEdges(); - for (EdgeType e : src.getEdges()) { - edges.add(unmarshalEdge(e)); - } - } - return dest; - } - - private SolidSelfIntersection unmarshalSolidSelfIntersectionType(SolidSelfIntersectionType src) { - SolidSelfIntersection dest = new SolidSelfIntersection(); - dest.setGeometryId(src.getGeometryId()); - dest.setPolygonId1(src.getPolygonId1()); - dest.setPolygonId2(src.getPolygonId2()); - return dest; - } - - private NonManifoldVertex unmarshalNonManifoldVertexType(NonManifoldVertexType src) { - NonManifoldVertex dest = new NonManifoldVertex(); - dest.setGeometryId(src.getGeometryId()); - if (src.getVertex() != null) { - dest.setVertex(helper.getGMLUnmarshaller().unmarshalDirectPosition(src.getVertex())); - } - return dest; - } - - private NonManifoldEdge unmarshalNonManifoldEdgeType(NonManifoldEdgeType src) { - NonManifoldEdge dest = new NonManifoldEdge(); - dest.setGeometryId(src.getGeometryId()); - if (src.isSetEdges()) { - List<Edge> edges = dest.getEdges(); - for (EdgeType e : src.getEdges()) { - edges.add(unmarshalEdge(e)); - } - } - return dest; - } - - private SolidNotClosed unmarshalSolidNotClosedType(SolidNotClosedType src) { - SolidNotClosed dest = new SolidNotClosed(); - dest.setGeometryId(src.getGeometryId()); - if (src.isSetEdges()) { - List<Edge> edges = dest.getEdges(); - for (EdgeType e : src.getEdges()) { - edges.add(unmarshalEdge(e)); - } - } - return dest; - } - - private TooFewPolygons unmarshalTooFewPolygonsType(TooFewPolygonsType src) { - TooFewPolygons dest = new TooFewPolygons(); - dest.setGeometryId(src.getGeometryId()); - return dest; - } - - private MultipleConnectedComponents unmarshalMultipleConnectedComponentsType(MultipleConnectedComponentsType src) { - MultipleConnectedComponents dest = new MultipleConnectedComponents(); - dest.setGeometryId(src.getGeometryId()); - if (src.isSetComponents()) { - dest.getComponents().addAll(src.getComponents()); - } - return dest; - } - - private AttributeWrongValue unmarshalAttributeWrongValueType(AttributeWrongValueType src) { - AttributeWrongValue dest = new AttributeWrongValue(); - dest.setAttributeName(src.getAttributeName()); - dest.setChildId(src.getChildId()); - dest.setGeneric(src.isGeneric()); - return dest; - } - - private AttributeMissing unmarshalAttributeMissingType(AttributeMissingType src) { - AttributeMissing dest = new AttributeMissing(); - dest.setAttributeName(src.getAttributeName()); - dest.setChildId(src.getChildId()); - dest.setGeneric(src.isGeneric()); - return dest; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/marshaller/ZonedDateTimeAdapter.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/marshaller/ZonedDateTimeAdapter.java deleted file mode 100644 index bf9101cd0aa816982b9f18c1858474de3b8d8fb1..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/marshaller/ZonedDateTimeAdapter.java +++ /dev/null @@ -1,43 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.marshaller; - -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; -import java.time.format.DateTimeFormatter; - -import javax.xml.bind.annotation.adapters.XmlAdapter; - -public class ZonedDateTimeAdapter extends XmlAdapter<String, ZonedDateTime> { - - @Override - public ZonedDateTime unmarshal(String v) throws Exception { - try { - return ZonedDateTime.from(DateTimeFormatter.ISO_OFFSET_DATE_TIME.parse(v)); - } catch (Exception e) { - return LocalDateTime.parse(v).atZone(ZoneId.systemDefault()); - } - } - - @Override - public String marshal(ZonedDateTime v) throws Exception { - return DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(v); - } - - - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ChildObject.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractDataType.java similarity index 53% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ChildObject.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractDataType.java index 39aec6d0c286a30c3526f2c39535f820a7cb9d17..3b1ef100dabb09cd4e6defa3cf9af0fdfd14f4d8 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ChildObject.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractDataType.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,41 +13,33 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package de.hft.stuttgart.quality.model; -import org.citygml4j.builder.copy.CopyBuilder; import org.citygml4j.model.citygml.ade.binding.ADEModelObject; +import org.citygml4j.model.common.association.Associable; import org.citygml4j.model.common.base.ModelObject; -public abstract class ChildObject implements ADEModelObject { - - private static final long serialVersionUID = 6726372382501963276L; - - private ModelObject parent; - - @Override - public Object copyTo(Object target, CopyBuilder copyBuilder) { - return target; - } - - @Override - public ModelObject getParent() { - return parent; - } +public abstract class AbstractDataType implements Associable, ADEModelObject { + private ModelObject parent; - @Override - public void setParent(ModelObject parent) { - this.parent = parent; - } + @Override + public ModelObject getParent() { + return parent; + } - @Override - public boolean isSetParent() { - return parent != null; - } + @Override + public void setParent(ModelObject parent) { + this.parent = parent; + } - @Override - public void unsetParent() { - parent = null; - } + @Override + public boolean isSetParent() { + return parent != null; + } + @Override + public void unsetParent() { + parent = null; + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractError.java new file mode 100644 index 0000000000000000000000000000000000000000..29c6a02dc1b56562b6aa226b0791dcc6e520aeb7 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractError.java @@ -0,0 +1,56 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; + +public abstract class AbstractError extends AbstractDataType { + + public abstract ErrorType getErrorType(); + + @Override + public String toString() { + Class<?> target = getClass(); + LinkedList<Class<?>> types = new LinkedList<>(); + do { + types.addFirst(target); + } while ((target = target.getSuperclass()) != AbstractDataType.class && target != null); + + List<String> fields = new ArrayList<>(); + for (Class<?> type : types) { + for (Field field : type.getDeclaredFields()) { + int modifiers = field.getModifiers(); + if (Modifier.isStatic(modifiers)) { + continue; + } + + try { + field.setAccessible(true); + fields.add(field.getName() + "=" + field.get(this)); + } catch (Exception e) { + // + } + } + } + + return getClass().getSimpleName() + " [" + String.join(", ", fields) + "]"; + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SemanticError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractGeometryError.java similarity index 76% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SemanticError.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractGeometryError.java index b2741c3cc8dd868a0b5725dc4074f05d241cd69a..b35f9e5a7bc5320b05bb4e7274b3679e604ebbb9 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SemanticError.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractGeometryError.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,10 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; - -public abstract class SemanticError extends ValidationError { - private static final long serialVersionUID = 8986289777859562928L; +package de.hft.stuttgart.quality.model; +public abstract class AbstractGeometryError extends AbstractError { } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractPolygonError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractPolygonError.java new file mode 100644 index 0000000000000000000000000000000000000000..d34ee7edd823f42028beac42440f68a7d1c8be33 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractPolygonError.java @@ -0,0 +1,39 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; + +public abstract class AbstractPolygonError extends AbstractGeometryError { + private String polygonId; + + public String getPolygonId() { + return polygonId; + } + + public void setPolygonId(String polygonId) { + this.polygonId = polygonId; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + return target instanceof AbstractPolygonError ? + ObjectCopier.copyTo(this, (AbstractPolygonError) target, AbstractPolygonError.class, copyBuilder) : + target; + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractRingError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractRingError.java new file mode 100644 index 0000000000000000000000000000000000000000..fb84b3df7965763e114f6889356410ad9ae37f7e --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractRingError.java @@ -0,0 +1,39 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; + +public abstract class AbstractRingError extends AbstractGeometryError { + private String linearRingId; + + public String getLinearRingId() { + return linearRingId; + } + + public void setLinearRingId(String linearRingId) { + this.linearRingId = linearRingId; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + return target instanceof AbstractRingError ? + ObjectCopier.copyTo(this, (AbstractRingError) target, AbstractRingError.class, copyBuilder) : + target; + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractSemanticError.java similarity index 76% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationError.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractSemanticError.java index a1b5a8e2faba36caba5ebc77e4c545f208573f2a..da50bc80b54895086ccda706d24f971dd82ea0b5 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationError.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractSemanticError.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,9 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package de.hft.stuttgart.quality.model; -public abstract class ValidationError extends ChildObject { - - private static final long serialVersionUID = -2995694676938108325L; +public abstract class AbstractSemanticError extends AbstractError { } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/HoleOutside.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractSolidError.java similarity index 50% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/HoleOutside.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractSolidError.java index 4804bb024b25ed1c9859e4fea7ca9e87249ee556..c9d76b7c81931150515344402ab2e3f4bb7395c7 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/HoleOutside.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AbstractSolidError.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,31 +13,27 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package de.hft.stuttgart.quality.model; import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; -public class HoleOutside extends PolygonError { - - private static final long serialVersionUID = -3029497342950689843L; - - private String linearRingId; - - public void setLinearRingId(String linearRingId) { - this.linearRingId = linearRingId; - } +public abstract class AbstractSolidError extends AbstractGeometryError { + private String geometryId; - public String getLinearRingId() { - return linearRingId; - } + public String getGeometryId() { + return geometryId; + } - @Override - public String toString() { - return "HoleOutside [polygonId=" + getPolygonId() + ", linearRingId=" + linearRingId + "]"; - } + public void setGeometryId(String geometryId) { + this.geometryId = geometryId; + } - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new HoleOutside(), copyBuilder); - } + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + return target instanceof AbstractSolidError ? + ObjectCopier.copyTo(this, (AbstractSolidError) target, AbstractSolidError.class, copyBuilder) : + target; + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AttributeMissing.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AttributeMissing.java deleted file mode 100644 index d3eee9bed63cb30bd106b769eb66035caabd90bb..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AttributeMissing.java +++ /dev/null @@ -1,56 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -import org.citygml4j.builder.copy.CopyBuilder; - -public class AttributeMissing extends SemanticError { - - private static final long serialVersionUID = -5416574100733885169L; - - private String childId; - private String attributeName; - private boolean generic; - - public String getChildId() { - return childId; - } - - public void setChildId(String childId) { - this.childId = childId; - } - - public String getAttributeName() { - return attributeName; - } - - public void setAttributeName(String attributeName) { - this.attributeName = attributeName; - } - - public boolean isGeneric() { - return generic; - } - - public void setGeneric(boolean generic) { - this.generic = generic; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new AttributeWrongValue(), copyBuilder); - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AttributeWrongValue.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AttributeWrongValue.java deleted file mode 100644 index b8815593d489b0275de723801031126f4d85b7cb..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AttributeWrongValue.java +++ /dev/null @@ -1,62 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -import org.citygml4j.builder.copy.CopyBuilder; - -public class AttributeWrongValue extends SemanticError { - - private static final long serialVersionUID = -5650985861847806620L; - - private String childId; - private String attributeName; - private boolean generic; - - public String getChildId() { - return childId; - } - - public void setChildId(String childId) { - this.childId = childId; - } - - public String getAttributeName() { - return attributeName; - } - - public void setAttributeName(String attributeName) { - this.attributeName = attributeName; - } - - public boolean isGeneric() { - return generic; - } - - public void setGeneric(boolean generic) { - this.generic = generic; - } - - @Override - public String toString() { - return "AttributeWrongValue [childId=" + childId + ", attributeName=" + attributeName + ", generic=" + generic - + "]"; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new AttributeWrongValue(), copyBuilder); - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Component.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Component.java new file mode 100644 index 0000000000000000000000000000000000000000..7bd772eea48f30f2d27237482e9d94671d73704d --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Component.java @@ -0,0 +1,57 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; + +import java.util.ArrayList; +import java.util.List; + +public class Component extends AbstractDataType { + private List<String> polygonIds; + + public boolean isSetPolygonIds() { + return polygonIds != null && !polygonIds.isEmpty(); + } + + public List<String> getPolygonIds() { + if (polygonIds == null) { + polygonIds = new ArrayList<>(); + } + + return polygonIds; + } + + public void setPolygonIds(List<String> polygonIds) { + this.polygonIds = polygonIds; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + Component copy = target == null ? + new Component() : + (Component) target; + + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new Component(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ConsecutivePointsSame.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ConsecutivePointsSame.java deleted file mode 100644 index 91cb869ba018047a5f6232a27c9f86b7ba6d321d..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ConsecutivePointsSame.java +++ /dev/null @@ -1,55 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -import org.citygml4j.builder.copy.CopyBuilder; -import org.citygml4j.model.gml.geometry.primitives.DirectPosition; - -public class ConsecutivePointsSame extends RingError { - - private static final long serialVersionUID = -838421312521561747L; - - private DirectPosition vertex1; - private DirectPosition vertex2; - - public void setVertex1(DirectPosition vertex1) { - this.vertex1 = vertex1; - } - - public void setVertex2(DirectPosition vertex2) { - this.vertex2 = vertex2; - } - - public DirectPosition getVertex1() { - return vertex1; - } - - public DirectPosition getVertex2() { - return vertex2; - } - - @Override - public String toString() { - return "ConsecutivePointsSame [linearRingId=" + getLinearRingId() + ", vertex1=" + vertex1 + ", vertex2=" + vertex2 - + "]"; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new ConsecutivePointsSame(), copyBuilder); - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Edge.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Edge.java index d78e694882fe346eac94da0f8ae48fd765e3e7ec..91aa1d6745c9ded839a249582aac668ecf7326a4 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Edge.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Edge.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,33 +13,45 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; -import java.io.Serializable; +package de.hft.stuttgart.quality.model; +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; import org.citygml4j.model.gml.geometry.primitives.DirectPosition; -public class Edge implements Serializable { - - private static final long serialVersionUID = -5076265818764666094L; - - private DirectPosition from; - private DirectPosition to; - - public void setFrom(DirectPosition from) { - this.from = from; - } - - public void setTo(DirectPosition to) { - this.to = to; - } - - public DirectPosition getFrom() { - return from; - } - - public DirectPosition getTo() { - return to; - } +public class Edge extends AbstractDataType { + private DirectPosition from; + private DirectPosition to; + + public DirectPosition getFrom() { + return from; + } + + public void setFrom(DirectPosition from) { + this.from = ModelObjects.setParent(from, this); + } + + public DirectPosition getTo() { + return to; + } + + public void setTo(DirectPosition to) { + this.to = ModelObjects.setParent(to, this); + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + Edge copy = target == null ? + new Edge() : + (Edge) target; + + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new Edge(), copyBuilder); + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ErrorStatistics.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ErrorStatistics.java new file mode 100644 index 0000000000000000000000000000000000000000..c48470c52c092bcaec5b448c3c5a053a74e58fa9 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ErrorStatistics.java @@ -0,0 +1,66 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; + +import java.util.ArrayList; +import java.util.List; + +public class ErrorStatistics extends AbstractDataType { + private int occurrences; + private List<ErrorType> errors; + + public int getOccurrences() { + return occurrences; + } + + public void setOccurrences(int occurrences) { + this.occurrences = occurrences; + } + + public boolean isSetErrors() { + return errors != null && !errors.isEmpty(); + } + + public List<ErrorType> getErrors() { + if (errors == null) { + errors = new ArrayList<>(); + } + + return errors; + } + + public void setErrors(List<ErrorType> errors) { + this.errors = errors; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + ErrorStatistics copy = target == null ? + new ErrorStatistics() : + (ErrorStatistics) target; + + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new ErrorStatistics(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ErrorType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ErrorType.java new file mode 100644 index 0000000000000000000000000000000000000000..09a45d2095a3246c26a335b00f76c3ba30be4f93 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ErrorType.java @@ -0,0 +1,51 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +public enum ErrorType { + GE_R_TOO_FEW_POINTS, + GE_R_NOT_CLOSED, + GE_R_CONSECUTIVE_POINTS_SAME, + GE_R_SELF_INTERSECTION, + GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE, + GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION, + GE_P_INTERIOR_DISCONNECTED, + GE_P_INTERSECTING_RINGS, + GE_P_HOLE_OUTSIDE, + GE_P_ORIENTATION_RINGS_SAME, + GE_P_INNER_RINGS_NESTED, + GE_S_TOO_FEW_POLYGONS, + GE_S_NOT_CLOSED, + GE_S_NON_MANIFOLD_EDGE, + GE_S_POLYGON_WRONG_ORIENTATION, + GE_S_ALL_POLYGONS_WRONG_ORIENTATION, + GE_S_NON_MANIFOLD_VERTEX, + GE_S_SELF_INTERSECTION, + GE_S_MULTIPLE_CONNECTED_COMPONENTS, + SE_ATTRIBUTE_WRONG_VALUE, + SE_ATTRIBUTE_MISSING; + + public static ErrorType fromValue(String value) { + for (ErrorType constant : ErrorType.values()) { + if (constant.name().equals(value)) { + return constant; + } + } + + return null; + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/FeatureStatistics.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/FeatureStatistics.java new file mode 100644 index 0000000000000000000000000000000000000000..e5bcfabd2e9137b378c9e145d9d07cc1e18d9654 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/FeatureStatistics.java @@ -0,0 +1,55 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; + +public class FeatureStatistics extends AbstractDataType { + private int numChecked; + private int numErrors; + + public int getNumChecked() { + return numChecked; + } + + public void setNumChecked(int numChecked) { + this.numChecked = numChecked; + } + + public int getNumErrors() { + return numErrors; + } + + public void setNumErrors(int numErrors) { + this.numErrors = numErrors; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + FeatureStatistics copy = target == null ? + new FeatureStatistics() : + (FeatureStatistics) target; + + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new FeatureStatistics(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/FeatureType.java similarity index 59% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingError.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/FeatureType.java index d17e5077910c25029d05929979e9f098609e59ab..817fd9ecb309066c9ebaa01787b81440b45d32c2 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingError.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/FeatureType.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,19 +13,24 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; -public abstract class RingError extends ValidationError { +package de.hft.stuttgart.quality.model; - private static final long serialVersionUID = -8610600028811350500L; - - private String linearRingId; +public enum FeatureType { + BUILDING, + TRANSPORTATION, + VEGETATION, + BRIDGE, + WATER, + LAND; - public void setLinearRingId(String linearRingId) { - this.linearRingId = linearRingId; - } + public static FeatureType fromValue(String value) { + for (FeatureType constant : FeatureType.values()) { + if (constant.name().equals(value)) { + return constant; + } + } - public String getLinearRingId() { - return linearRingId; - } + return null; + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Filter.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Filter.java new file mode 100644 index 0000000000000000000000000000000000000000..c925a39a78ef17229d2a66b18b24177a85dafbf4 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Filter.java @@ -0,0 +1,57 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; + +import java.util.ArrayList; +import java.util.List; + +public class Filter extends AbstractDataType { + private List<FeatureType> featureTypes; + + public boolean isSetFeatureTypes() { + return featureTypes != null && !featureTypes.isEmpty(); + } + + public List<FeatureType> getFeatureTypes() { + if (featureTypes == null) { + featureTypes = new ArrayList<>(); + } + + return featureTypes; + } + + public void setFeatureTypes(List<FeatureType> featureTypes) { + this.featureTypes = featureTypes; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + Filter copy = target == null ? + new Filter() : + (Filter) target; + + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new Filter(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/InnerRingsNested.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/InnerRingsNested.java deleted file mode 100644 index b1f886d7fcf62c4f71f5755a7fe577d64dc33c52..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/InnerRingsNested.java +++ /dev/null @@ -1,47 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -import org.citygml4j.builder.copy.CopyBuilder; - -public class InnerRingsNested extends PolygonError { - - private static final long serialVersionUID = 2291087505629924993L; - - private String linearRingId1; - private String linearRingId2; - - public void setLinearRingId1(String linearRingId1) { - this.linearRingId1 = linearRingId1; - } - - public void setLinearRingId2(String linearRingId2) { - this.linearRingId2 = linearRingId2; - } - - public String getLinearRingId1() { - return linearRingId1; - } - - public String getLinearRingId2() { - return linearRingId2; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new InnerRingsNested(), copyBuilder); - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/InteriorDisconnected.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/InteriorDisconnected.java deleted file mode 100644 index 64da8cc78e1e5768201a0023646424b86b7c4ba2..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/InteriorDisconnected.java +++ /dev/null @@ -1,33 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -import org.citygml4j.builder.copy.CopyBuilder; - -public class InteriorDisconnected extends PolygonError { - - private static final long serialVersionUID = 8443642232356795359L; - - @Override - public String toString() { - return "InteriorDisconnected [polygonId=" + getPolygonId() + "]"; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new InteriorDisconnected(), copyBuilder); - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/IntersectingRings.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/IntersectingRings.java deleted file mode 100644 index cab11d6863e2f21adb27a9367d1b44f7a3ed1a27..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/IntersectingRings.java +++ /dev/null @@ -1,53 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -import org.citygml4j.builder.copy.CopyBuilder; - -public class IntersectingRings extends PolygonError { - - private static final long serialVersionUID = 7668529369582991408L; - - private String linearRingId1; - private String linearRingId2; - - public void setLinearRingId1(String linearRingId1) { - this.linearRingId1 = linearRingId1; - } - - public void setLinearRingId2(String linearRingId2) { - this.linearRingId2 = linearRingId2; - } - - public String getLinearRingId1() { - return linearRingId1; - } - - public String getLinearRingId2() { - return linearRingId2; - } - - @Override - public String toString() { - return "IntersectingRings [polygonId=" + getPolygonId() + ", linearRingId1=" + linearRingId1 + ", linearRingId2=" - + linearRingId2 + "]"; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new IntersectingRings(), copyBuilder); - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/MultipleConnectedComponents.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/MultipleConnectedComponents.java deleted file mode 100644 index c69d6a165db71bb2c1aff9c41fb27b8375799b3d..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/MultipleConnectedComponents.java +++ /dev/null @@ -1,47 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -import java.util.ArrayList; -import java.util.List; - -import org.citygml4j.builder.copy.CopyBuilder; - -import de.hft.stuttgart.quality.model.jaxb.Component; - -public class MultipleConnectedComponents extends SolidError { - - private static final long serialVersionUID = -4199420154182053060L; - - private List<Component> components; - - public boolean isSetComponents() { - return components != null && !components.isEmpty(); - } - - public List<Component> getComponents() { - if (components == null) { - components = new ArrayList<>(); - } - return components; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new MultipleConnectedComponents(), copyBuilder); - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/NonManifoldVertex.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/NonManifoldVertex.java deleted file mode 100644 index b1d9b539a62db8f2c4cb86280b97692dff848ad9..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/NonManifoldVertex.java +++ /dev/null @@ -1,44 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -import org.citygml4j.builder.copy.CopyBuilder; -import org.citygml4j.model.gml.geometry.primitives.DirectPosition; - -public class NonManifoldVertex extends SolidError { - - private static final long serialVersionUID = -3434116956866828127L; - - private DirectPosition vertex; - - public void setVertex(DirectPosition vertex) { - this.vertex = vertex; - } - - public DirectPosition getVertex() { - return vertex; - } - - @Override - public String toString() { - return "NonManifoldVertex [geometryId=" + getGeometryId() + ", vertex=" + vertex + "]"; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new NonManifoldVertex(), copyBuilder); - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/NonPlanarDistancePlane.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/NonPlanarDistancePlane.java deleted file mode 100644 index fd0292fbc5e762e71c9367bdcead7515c629364e..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/NonPlanarDistancePlane.java +++ /dev/null @@ -1,55 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -import org.citygml4j.builder.copy.CopyBuilder; -import org.citygml4j.model.gml.geometry.primitives.DirectPosition; -import org.citygml4j.model.gml.measures.Length; - -public class NonPlanarDistancePlane extends PolygonError { - - private static final long serialVersionUID = -3428574131554438219L; - - private DirectPosition vertex; - private Length distance; - - - public void setVertex(DirectPosition vertex) { - this.vertex = vertex; - } - - public void setDistance(Length distance) { - this.distance = distance; - } - - public DirectPosition getVertex() { - return vertex; - } - - public Length getDistance() { - return distance; - } - - @Override - public String toString() { - return "NonPlanarDistancePlane [polygonId=" + getPolygonId() + ", vertex=" + vertex + ", distance=" + distance + "]"; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new NonPlanarDistancePlane(), copyBuilder); - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/NonPlanarNormalsDeviation.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/NonPlanarNormalsDeviation.java deleted file mode 100644 index faa5a4f11ab035a8b0706cbb9783b2b9cec619f8..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/NonPlanarNormalsDeviation.java +++ /dev/null @@ -1,44 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -import org.citygml4j.builder.copy.CopyBuilder; -import org.citygml4j.model.gml.measures.Angle; - -public class NonPlanarNormalsDeviation extends PolygonError { - - private static final long serialVersionUID = -8574024132334399550L; - - private Angle deviation; - - public void setDeviation(Angle deviation) { - this.deviation = deviation; - } - - public Angle getDeviation() { - return deviation; - } - - @Override - public String toString() { - return "NonPlanarNormalsDeviation [polygonId=" + getPolygonId() + ", deviation=" + deviation + "]"; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new NonPlanarNormalsDeviation(), copyBuilder); - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Parameter.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Parameter.java new file mode 100644 index 0000000000000000000000000000000000000000..8f59bfae2a6882b75b3cc86dc5a22e4dc301ab0a --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Parameter.java @@ -0,0 +1,64 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; + +public class Parameter extends AbstractDataType { + private String name; + private String uom; + private String value; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getUom() { + return uom; + } + + public void setUom(String uom) { + this.uom = uom; + } + + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + Parameter copy = target == null ? + new Parameter() : + (Parameter) target; + + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new Parameter(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonHoleOutside.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonHoleOutside.java new file mode 100644 index 0000000000000000000000000000000000000000..8ae0ea8b40d50ef0525e400cc77167a164de2643 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonHoleOutside.java @@ -0,0 +1,52 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; + +public class PolygonHoleOutside extends AbstractPolygonError { + private String linearRingId; + + public String getLinearRingId() { + return linearRingId; + } + + public void setLinearRingId(String linearRingId) { + this.linearRingId = linearRingId; + } + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_P_HOLE_OUTSIDE; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + PolygonHoleOutside copy = target == null ? + new PolygonHoleOutside() : + (PolygonHoleOutside) target; + + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new PolygonHoleOutside(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonInnerRingsNested.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonInnerRingsNested.java new file mode 100644 index 0000000000000000000000000000000000000000..a0d10411ff8f73aacb0de024b171c8c108ad7eef --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonInnerRingsNested.java @@ -0,0 +1,61 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; + +public class PolygonInnerRingsNested extends AbstractPolygonError { + private String linearRingId1; + private String linearRingId2; + + public String getLinearRingId1() { + return linearRingId1; + } + + public void setLinearRingId1(String linearRingId1) { + this.linearRingId1 = linearRingId1; + } + + public String getLinearRingId2() { + return linearRingId2; + } + + public void setLinearRingId2(String linearRingId2) { + this.linearRingId2 = linearRingId2; + } + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_P_INNER_RINGS_NESTED; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + PolygonInnerRingsNested copy = target == null ? + new PolygonInnerRingsNested() : + (PolygonInnerRingsNested) target; + + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new PolygonInnerRingsNested(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonInteriorDisconnected.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonInteriorDisconnected.java new file mode 100644 index 0000000000000000000000000000000000000000..79ea82c7df57500cf85e46654880f9c9ae6fd012 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonInteriorDisconnected.java @@ -0,0 +1,41 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; + +public class PolygonInteriorDisconnected extends AbstractPolygonError { + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_P_INTERIOR_DISCONNECTED; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + PolygonInteriorDisconnected copy = target == null ? + new PolygonInteriorDisconnected() : + (PolygonInteriorDisconnected) target; + + return super.copyTo(copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new PolygonInteriorDisconnected(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonIntersectingRings.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonIntersectingRings.java new file mode 100644 index 0000000000000000000000000000000000000000..0b4382af6a6ab474a92fcaed7e837cde1a24d176 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonIntersectingRings.java @@ -0,0 +1,69 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; + +public class PolygonIntersectingRings extends AbstractPolygonError { + private String linearRingId1; + private String linearRingId2; + + public PolygonIntersectingRings() { + } + + public PolygonIntersectingRings(String linearRingId1, String linearRingId2) { + setLinearRingId1(linearRingId1); + setLinearRingId2(linearRingId2); + } + + public String getLinearRingId1() { + return linearRingId1; + } + + public void setLinearRingId1(String linearRingId1) { + this.linearRingId1 = linearRingId1; + } + + public String getLinearRingId2() { + return linearRingId2; + } + + public void setLinearRingId2(String linearRingId2) { + this.linearRingId2 = linearRingId2; + } + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_P_INTERSECTING_RINGS; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + PolygonIntersectingRings copy = target == null ? + new PolygonIntersectingRings() : + (PolygonIntersectingRings) target; + + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new PolygonIntersectingRings(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonNonPlanarDistancePlane.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonNonPlanarDistancePlane.java new file mode 100644 index 0000000000000000000000000000000000000000..8a68ec6afd92b4f6ee399fbb2f47ce52626469fd --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonNonPlanarDistancePlane.java @@ -0,0 +1,64 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; +import org.citygml4j.model.gml.geometry.primitives.DirectPosition; +import org.citygml4j.model.gml.measures.Length; + +public class PolygonNonPlanarDistancePlane extends AbstractPolygonError { + private Length distance; + private DirectPosition vertex; + + public Length getDistance() { + return distance; + } + + public void setDistance(Length distance) { + this.distance = ModelObjects.setParent(distance, this); + } + + public DirectPosition getVertex() { + return vertex; + } + + public void setVertex(DirectPosition vertex) { + this.vertex = ModelObjects.setParent(vertex, this); + } + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + PolygonNonPlanarDistancePlane copy = target == null ? + new PolygonNonPlanarDistancePlane() : + (PolygonNonPlanarDistancePlane) target; + + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new PolygonNonPlanarDistancePlane(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonNonPlanarNormalsDeviation.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonNonPlanarNormalsDeviation.java new file mode 100644 index 0000000000000000000000000000000000000000..8d592f3a83be99773db290b6ba7fe4e36eec34da --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonNonPlanarNormalsDeviation.java @@ -0,0 +1,54 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; +import org.citygml4j.model.gml.measures.Angle; + +public class PolygonNonPlanarNormalsDeviation extends AbstractPolygonError { + private Angle deviation; + + public Angle getDeviation() { + return deviation; + } + + public void setDeviation(Angle deviation) { + this.deviation = ModelObjects.setParent(deviation, this); + } + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + PolygonNonPlanarNormalsDeviation copy = target == null ? + new PolygonNonPlanarNormalsDeviation() : + (PolygonNonPlanarNormalsDeviation) target; + + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new PolygonNonPlanarNormalsDeviation(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonOrientationRingsSame.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonOrientationRingsSame.java new file mode 100644 index 0000000000000000000000000000000000000000..9e980d9a1dece5a761aa7904d963347fccb4eee3 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonOrientationRingsSame.java @@ -0,0 +1,52 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; + +public class PolygonOrientationRingsSame extends AbstractPolygonError { + private String linearRingId; + + public String getLinearRingId() { + return linearRingId; + } + + public void setLinearRingId(String linearRingId) { + this.linearRingId = linearRingId; + } + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_P_ORIENTATION_RINGS_SAME; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + PolygonOrientationRingsSame copy = target == null ? + new PolygonOrientationRingsSame() : + (PolygonOrientationRingsSame) target; + + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new PolygonOrientationRingsSame(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonWrongOrientation.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonWrongOrientation.java deleted file mode 100644 index 965491b5be2379387095650269b0ff213dac1bab..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonWrongOrientation.java +++ /dev/null @@ -1,49 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -import java.util.ArrayList; -import java.util.List; - -import org.citygml4j.builder.copy.CopyBuilder; - -public class PolygonWrongOrientation extends SolidError { - - private static final long serialVersionUID = 1128689472694838648L; - - private List<Edge> edges; - - public boolean isSetEdges() { - return edges != null && !edges.isEmpty(); - } - - public List<Edge> getEdges() { - if (edges == null) { - edges = new ArrayList<>(); - } - return edges; - } - - @Override - public String toString() { - return "PolygonWrongOrientation [geometryId=" + getGeometryId() + ", edges=" + edges + "]"; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new PolygonWrongOrientation(), copyBuilder); - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Requirement.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Requirement.java new file mode 100644 index 0000000000000000000000000000000000000000..14e419d5fdbcc5bfe1d6ff9c5cd751db13b2a86a --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Requirement.java @@ -0,0 +1,76 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; +import org.citygml4j.model.common.child.ChildList; + +import java.util.List; + +public class Requirement extends AbstractDataType { + private boolean enabled; + private RequirementType requirementType; + private List<Parameter> parameters; + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public RequirementType getRequirementType() { + return requirementType; + } + + public void setRequirementType(RequirementType requirementType) { + this.requirementType = requirementType; + } + + public boolean isSetParameters() { + return parameters != null && !parameters.isEmpty(); + } + + public List<Parameter> getParameters() { + if (parameters == null) { + parameters = new ChildList<>(this); + } + + return parameters; + } + + public void setParameters(List<Parameter> parameters) { + this.parameters = ModelObjects.setParent(parameters, this); + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + Requirement copy = target == null ? + new Requirement() : + (Requirement) target; + + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new Requirement(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RequirementType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RequirementType.java new file mode 100644 index 0000000000000000000000000000000000000000..fd1d5b41252af8dd9accf89d5ea8383de4de8881 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RequirementType.java @@ -0,0 +1,50 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +public enum RequirementType { + R_GE_R_TOO_FEW_POINTS, + R_GE_R_NOT_CLOSED, + R_GE_R_CONSECUTIVE_POINTS_SAME, + R_GE_R_SELF_INTERSECTION, + R_GE_P_NON_PLANAR, + R_GE_P_INTERIOR_DISCONNECTED, + R_GE_P_INTERSECTING_RINGS, + R_GE_P_HOLE_OUTSIDE, + R_GE_P_ORIENTATION_RINGS_SAME, + R_GE_P_INNER_RINGS_NESTED, + R_GE_S_TOO_FEW_POLYGONS, + R_GE_S_NOT_CLOSED, + R_GE_S_NON_MANIFOLD_EDGE, + R_GE_S_POLYGON_WRONG_ORIENTATION, + R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION, + R_GE_S_NON_MANIFOLD_VERTEX, + R_GE_S_SELF_INTERSECTION, + R_GE_S_MULTIPLE_CONNECTED_COMPONENTS, + R_SE_ATTRIBUTES_EXISTING, + R_SE_ATTRIBUTES_CORRECT; + + public static RequirementType fromValue(String value) { + for (RequirementType constant : RequirementType.values()) { + if (constant.name().equals(value)) { + return constant; + } + } + + return null; + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ResultType.java similarity index 62% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonError.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ResultType.java index 12e9c5eae238e1a222884df32594ab1372f4de11..67a7728206891dd17642ff4551780634e7d0ddf7 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/PolygonError.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ResultType.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,19 +13,21 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; -public abstract class PolygonError extends ValidationError { +package de.hft.stuttgart.quality.model; - private static final long serialVersionUID = 4694297467768369526L; - - private String polygonId; +public enum ResultType { + OK, + ERROR, + NOT_CHECKED; - public void setPolygonId(String polygonId) { - this.polygonId = polygonId; - } + public static ResultType fromValue(String value) { + for (ResultType constant : ResultType.values()) { + if (constant.name().equals(value)) { + return constant; + } + } - public String getPolygonId() { - return polygonId; - } + return null; + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingConsecutivePointsSame.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingConsecutivePointsSame.java new file mode 100644 index 0000000000000000000000000000000000000000..77566384955cea31e6de5719f00d7d9cf9393a9a --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingConsecutivePointsSame.java @@ -0,0 +1,63 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; +import org.citygml4j.model.gml.geometry.primitives.DirectPosition; + +public class RingConsecutivePointsSame extends AbstractRingError { + private DirectPosition vertex1; + private DirectPosition vertex2; + + public DirectPosition getVertex1() { + return vertex1; + } + + public void setVertex1(DirectPosition vertex1) { + this.vertex1 = ModelObjects.setParent(vertex1, this); + } + + public DirectPosition getVertex2() { + return vertex2; + } + + public void setVertex2(DirectPosition vertex2) { + this.vertex2 = ModelObjects.setParent(vertex2, this); + } + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_R_CONSECUTIVE_POINTS_SAME; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + RingConsecutivePointsSame copy = target == null ? + new RingConsecutivePointsSame() : + (RingConsecutivePointsSame) target; + + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new RingConsecutivePointsSame(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingNotClosed.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingNotClosed.java index 4c52b24e2fadf1912c2290232eaea6032df58110..1dcf34e1a42b14bff21f80166d9c2fb95f446450 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingNotClosed.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingNotClosed.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,21 +13,29 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package de.hft.stuttgart.quality.model; import org.citygml4j.builder.copy.CopyBuilder; -public class RingNotClosed extends RingError { - - private static final long serialVersionUID = 5502668444088395535L; - - @Override - public String toString() { - return "RingNotClosed [linearRingId=" + getLinearRingId() + "]"; - } +public class RingNotClosed extends AbstractRingError { + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_R_NOT_CLOSED; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + RingNotClosed copy = target == null ? + new RingNotClosed() : + (RingNotClosed) target; + + return super.copyTo(copy, copyBuilder); + } - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new RingNotClosed(), copyBuilder); - } + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new RingNotClosed(), copyBuilder); + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingSelfIntersection.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingSelfIntersection.java index fd11024ea0a336e5573fb1afacf04a75d968dcbe..4fce244c2c1b5cfdb2216eebb9776575bc09d00d 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingSelfIntersection.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingSelfIntersection.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,71 +13,69 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package de.hft.stuttgart.quality.model; import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; import org.citygml4j.model.gml.geometry.primitives.DirectPosition; -import de.hft.stuttgart.quality.model.jaxb.RingSelfIntType; +public class RingSelfIntersection extends AbstractRingError { + private Edge edge1; + private Edge edge2; + private String type; + private DirectPosition vertex; -public class RingSelfIntersection extends RingError { + public Edge getEdge1() { + return edge1; + } - private static final long serialVersionUID = -4426615638983209222L; - - private RingSelfIntType type; - private Edge edge1; - private Edge edge2; - private DirectPosition vertex1; - private DirectPosition vertex2; + public void setEdge1(Edge edge1) { + this.edge1 = ModelObjects.setParent(edge1, this); + } - public void setType(RingSelfIntType type) { - this.type = type; - } + public Edge getEdge2() { + return edge2; + } - public void setEdge1(Edge edge1) { - this.edge1 = edge1; - } + public void setEdge2(Edge edge2) { + this.edge2 = ModelObjects.setParent(edge2, this); + } - public void setEdge2(Edge edge2) { - this.edge2 = edge2; - } + public String getType() { + return type; + } - public void setVertex1(DirectPosition vertex1) { - this.vertex1 = vertex1; - } - - public void setVertex2(DirectPosition vertex2) { - this.vertex2 = vertex2; - } + public void setType(String type) { + this.type = type; + } - public RingSelfIntType getType() { - return type; - } + public DirectPosition getVertex() { + return vertex; + } - public Edge getEdge1() { - return edge1; - } + public void setVertex(DirectPosition vertex) { + this.vertex = ModelObjects.setParent(vertex, this); + } - public Edge getEdge2() { - return edge2; - } + @Override + public ErrorType getErrorType() { + return ErrorType.GE_R_SELF_INTERSECTION; + } - public DirectPosition getVertex1() { - return vertex1; - } - - public DirectPosition getVertex2() { - return vertex2; - } + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + RingSelfIntersection copy = target == null ? + new RingSelfIntersection() : + (RingSelfIntersection) target; - @Override - public String toString() { - return "RingSelfIntersection [linearRingId=" + getLinearRingId() + ", type=" + type + ", edge1=" + edge1 + ", edge2=" - + edge2 + ", vertex1=" + vertex1 + ", vertex2=" + vertex2 + "]"; - } + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new RingSelfIntersection(), copyBuilder); - } + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new RingSelfIntersection(), copyBuilder); + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/NonManifoldEdge.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingTooFewPoints.java similarity index 51% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/NonManifoldEdge.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingTooFewPoints.java index 3d07d3111256a064a9de756ffd1870ef891da5c9..59e1385e77e63555e7b6b829cbc4723d6ba45828 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/NonManifoldEdge.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingTooFewPoints.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,32 +13,29 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; -import java.util.ArrayList; -import java.util.List; +package de.hft.stuttgart.quality.model; import org.citygml4j.builder.copy.CopyBuilder; -public class NonManifoldEdge extends SolidError { - - private static final long serialVersionUID = -4312748985706248178L; +public class RingTooFewPoints extends AbstractRingError { - private List<Edge> edges; + @Override + public ErrorType getErrorType() { + return ErrorType.GE_R_TOO_FEW_POINTS; + } - public boolean isSetEdges() { - return edges != null && !edges.isEmpty(); - } + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + RingTooFewPoints copy = target == null ? + new RingTooFewPoints() : + (RingTooFewPoints) target; - public List<Edge> getEdges() { - if (edges == null) { - edges = new ArrayList<>(); - } - return edges; - } + return super.copyTo(copy, copyBuilder); + } - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new NonPlanarNormalsDeviation(), copyBuilder); - } + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new RingTooFewPoints(), copyBuilder); + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SemanticAttributeMissing.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SemanticAttributeMissing.java new file mode 100644 index 0000000000000000000000000000000000000000..e4d09530148f61408a22c37ab86a29cefe2a81a0 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SemanticAttributeMissing.java @@ -0,0 +1,69 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; + +public class SemanticAttributeMissing extends AbstractSemanticError { + private String attributeName; + private String childId; + private boolean generic; + + public String getAttributeName() { + return attributeName; + } + + public void setAttributeName(String attributeName) { + this.attributeName = attributeName; + } + + public String getChildId() { + return childId; + } + + public void setChildId(String childId) { + this.childId = childId; + } + + public boolean isGeneric() { + return generic; + } + + public void setGeneric(boolean generic) { + this.generic = generic; + } + + @Override + public ErrorType getErrorType() { + return ErrorType.SE_ATTRIBUTE_MISSING; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + SemanticAttributeMissing copy = target == null ? + new SemanticAttributeMissing() : + (SemanticAttributeMissing) target; + + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new SemanticAttributeMissing(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SemanticAttributeWrongValue.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SemanticAttributeWrongValue.java new file mode 100644 index 0000000000000000000000000000000000000000..ca016247a9b10dd3428f8619773481fff6790e27 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SemanticAttributeWrongValue.java @@ -0,0 +1,69 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; + +public class SemanticAttributeWrongValue extends AbstractSemanticError { + private String attributeName; + private String childId; + private boolean generic; + + public String getAttributeName() { + return attributeName; + } + + public void setAttributeName(String attributeName) { + this.attributeName = attributeName; + } + + public String getChildId() { + return childId; + } + + public void setChildId(String childId) { + this.childId = childId; + } + + public boolean isGeneric() { + return generic; + } + + public void setGeneric(boolean generic) { + this.generic = generic; + } + + @Override + public ErrorType getErrorType() { + return ErrorType.SE_ATTRIBUTE_WRONG_VALUE; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + SemanticAttributeWrongValue copy = target == null ? + new SemanticAttributeWrongValue() : + (SemanticAttributeWrongValue) target; + + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new SemanticAttributeWrongValue(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidAllPolygonsWrongOrientation.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidAllPolygonsWrongOrientation.java new file mode 100644 index 0000000000000000000000000000000000000000..81af70e82c4fbb1cab70d75c69d01034553b059a --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidAllPolygonsWrongOrientation.java @@ -0,0 +1,41 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; + +public class SolidAllPolygonsWrongOrientation extends AbstractSolidError { + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_S_ALL_POLYGONS_WRONG_ORIENTATION; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + SolidAllPolygonsWrongOrientation copy = target == null ? + new SolidAllPolygonsWrongOrientation() : + (SolidAllPolygonsWrongOrientation) target; + + return super.copyTo(copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new SolidAllPolygonsWrongOrientation(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidError.java deleted file mode 100644 index d20493c4cfb7d97553a8b140577626d29837bb4b..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidError.java +++ /dev/null @@ -1,30 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -public abstract class SolidError extends ValidationError { - private static final long serialVersionUID = 6430138970493794998L; - - private String geometryId; - - public void setGeometryId(String geometryId) { - this.geometryId = geometryId; - } - - public String getGeometryId() { - return geometryId; - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidMultipleConnectedComponents.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidMultipleConnectedComponents.java new file mode 100644 index 0000000000000000000000000000000000000000..efe2c1aba9d2f27740d6ec78490ac94a5cd109ef --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidMultipleConnectedComponents.java @@ -0,0 +1,64 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; +import org.citygml4j.model.common.child.ChildList; + +import java.util.List; + +public class SolidMultipleConnectedComponents extends AbstractSolidError { + private List<Component> components; + + public boolean isSetComponents() { + return components != null && !components.isEmpty(); + } + + public List<Component> getComponents() { + if (components == null) { + components = new ChildList<>(this); + } + + return components; + } + + public void setComponents(List<Component> components) { + this.components = ModelObjects.setParent(components, this); + } + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_S_MULTIPLE_CONNECTED_COMPONENTS; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + SolidMultipleConnectedComponents copy = target == null ? + new SolidMultipleConnectedComponents() : + (SolidMultipleConnectedComponents) target; + + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new SolidMultipleConnectedComponents(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidNonManifoldEdge.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidNonManifoldEdge.java new file mode 100644 index 0000000000000000000000000000000000000000..9862ce4497132f685bf83424f8f835088561fba2 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidNonManifoldEdge.java @@ -0,0 +1,64 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; +import org.citygml4j.model.common.child.ChildList; + +import java.util.List; + +public class SolidNonManifoldEdge extends AbstractSolidError { + private List<Edge> edges; + + public boolean isSetEdges() { + return edges != null && !edges.isEmpty(); + } + + public List<Edge> getEdges() { + if (edges == null) { + edges = new ChildList<>(this); + } + + return edges; + } + + public void setEdges(List<Edge> edges) { + this.edges = ModelObjects.setParent(edges, this); + } + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_S_NON_MANIFOLD_EDGE; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + SolidNonManifoldEdge copy = target == null ? + new SolidNonManifoldEdge() : + (SolidNonManifoldEdge) target; + + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new SolidNonManifoldEdge(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidNonManifoldVertex.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidNonManifoldVertex.java new file mode 100644 index 0000000000000000000000000000000000000000..e5551e9b313e36918dcd6394dcfea6375ffb6249 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidNonManifoldVertex.java @@ -0,0 +1,54 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; +import org.citygml4j.model.gml.geometry.primitives.DirectPosition; + +public class SolidNonManifoldVertex extends AbstractSolidError { + private DirectPosition vertex; + + public DirectPosition getVertex() { + return vertex; + } + + public void setVertex(DirectPosition vertex) { + this.vertex = ModelObjects.setParent(vertex, this); + } + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_S_NON_MANIFOLD_VERTEX; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + SolidNonManifoldVertex copy = target == null ? + new SolidNonManifoldVertex() : + (SolidNonManifoldVertex) target; + + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new SolidNonManifoldVertex(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidNotClosed.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidNotClosed.java index 71a9b13521997340c7e9b488cd54f5e7b7eda6b8..589cfd5ed17863821011369eb176053fe4b88ab5 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidNotClosed.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidNotClosed.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,32 +13,52 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package de.hft.stuttgart.quality.model; -import java.util.ArrayList; +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; +import org.citygml4j.model.common.child.ChildList; + import java.util.List; -import org.citygml4j.builder.copy.CopyBuilder; +public class SolidNotClosed extends AbstractSolidError { + private List<Edge> edges; + + public boolean isSetEdges() { + return edges != null && !edges.isEmpty(); + } + + public List<Edge> getEdges() { + if (edges == null) { + edges = new ChildList<>(this); + } -public class SolidNotClosed extends SolidError { + return edges; + } - private static final long serialVersionUID = 4609395125395073697L; + public void setEdges(List<Edge> edges) { + this.edges = ModelObjects.setParent(edges, this); + } - private List<Edge> edges; + @Override + public ErrorType getErrorType() { + return ErrorType.GE_S_NOT_CLOSED; + } - public boolean isSetEdges() { - return edges != null && !edges.isEmpty(); - } + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + SolidNotClosed copy = target == null ? + new SolidNotClosed() : + (SolidNotClosed) target; - public List<Edge> getEdges() { - if (edges == null) { - edges = new ArrayList<>(); - } - return edges; - } + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new SolidNotClosed(), copyBuilder); - } + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new SolidNotClosed(), copyBuilder); + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidPolygonWrongOrientation.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidPolygonWrongOrientation.java new file mode 100644 index 0000000000000000000000000000000000000000..8b256d5b9d28ddfa1f90c40269c026f111f4d3e5 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidPolygonWrongOrientation.java @@ -0,0 +1,64 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; +import org.citygml4j.model.common.child.ChildList; + +import java.util.List; + +public class SolidPolygonWrongOrientation extends AbstractSolidError { + private List<Edge> edges; + + public boolean isSetEdges() { + return edges != null && !edges.isEmpty(); + } + + public List<Edge> getEdges() { + if (edges == null) { + edges = new ChildList<>(this); + } + + return edges; + } + + public void setEdges(List<Edge> edges) { + this.edges = ModelObjects.setParent(edges, this); + } + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_S_POLYGON_WRONG_ORIENTATION; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + SolidPolygonWrongOrientation copy = target == null ? + new SolidPolygonWrongOrientation() : + (SolidPolygonWrongOrientation) target; + + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new SolidPolygonWrongOrientation(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidSelfIntersection.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidSelfIntersection.java index 423512c6a5910d0c63c5d9c073800f6d6a0adb47..44b00153d0c35c9048d716c0f2e24f39ead77180 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidSelfIntersection.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidSelfIntersection.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,41 +13,49 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package de.hft.stuttgart.quality.model; import org.citygml4j.builder.copy.CopyBuilder; - -public class SolidSelfIntersection extends SolidError { - - private static final long serialVersionUID = 4086097021438848040L; - - private String polygonId1; - private String polygonId2; - - public String getPolygonId1() { - return polygonId1; - } - - public void setPolygonId1(String polygonId1) { - this.polygonId1 = polygonId1; - } - - public String getPolygonId2() { - return polygonId2; - } - - public void setPolygonId2(String polygonId2) { - this.polygonId2 = polygonId2; - } - - @Override - public String toString() { - return "SolidSelfIntersection [geometryId=" + getGeometryId() + ", polygonId1=" + polygonId1 + ", polygonId2=" - + polygonId2 + "]"; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new SolidSelfIntersection(), copyBuilder); - } +import org.citygml4j.builder.copy.ObjectCopier; + +public class SolidSelfIntersection extends AbstractSolidError { + private String polygonId1; + private String polygonId2; + + public String getPolygonId1() { + return polygonId1; + } + + public void setPolygonId1(String polygonId1) { + this.polygonId1 = polygonId1; + } + + public String getPolygonId2() { + return polygonId2; + } + + public void setPolygonId2(String polygonId2) { + this.polygonId2 = polygonId2; + } + + @Override + public ErrorType getErrorType() { + return ErrorType.GE_S_SELF_INTERSECTION; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + SolidSelfIntersection copy = target == null ? + new SolidSelfIntersection() : + (SolidSelfIntersection) target; + + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new SolidSelfIntersection(), copyBuilder); + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/OrientationRingsSame.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidTooFewPolygons.java similarity index 50% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/OrientationRingsSame.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidTooFewPolygons.java index 16ab55ead3b8e69e39f6f620439c592150f2071f..9bfe16dd5f66a4835bd433d69b9bc89d9d188ba0 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/OrientationRingsSame.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidTooFewPolygons.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,31 +13,29 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package de.hft.stuttgart.quality.model; import org.citygml4j.builder.copy.CopyBuilder; -public class OrientationRingsSame extends PolygonError { - - private static final long serialVersionUID = -6983324580253488854L; - - private String linearRingId; +public class SolidTooFewPolygons extends AbstractSolidError { - public void setLinearRingId(String linearRingId) { - this.linearRingId = linearRingId; - } + @Override + public ErrorType getErrorType() { + return ErrorType.GE_S_TOO_FEW_POLYGONS; + } - public String getLinearRingId() { - return linearRingId; - } + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + SolidTooFewPolygons copy = target == null ? + new SolidTooFewPolygons() : + (SolidTooFewPolygons) target; - @Override - public String toString() { - return "OrientationRingsSame [polygonId=" + getPolygonId() + ", linearRingId=" + linearRingId + "]"; - } + return super.copyTo(copy, copyBuilder); + } - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new OrientationRingsSame(), copyBuilder); - } + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new SolidTooFewPolygons(), copyBuilder); + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Statistics.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Statistics.java new file mode 100644 index 0000000000000000000000000000000000000000..80638c7ef1fc77856b326950385d03bb8d7b7c47 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Statistics.java @@ -0,0 +1,101 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; + +public class Statistics extends AbstractDataType { + private FeatureStatistics numErrorBuildings; + private FeatureStatistics numErrorVegetation; + private FeatureStatistics numErrorLandObjects; + private FeatureStatistics numErrorBridgeObjects; + private FeatureStatistics numErrorWaterObjects; + private FeatureStatistics numErrorTransportation; + private ErrorStatistics errorStatistics; + + public FeatureStatistics getNumErrorBuildings() { + return numErrorBuildings; + } + + public void setNumErrorBuildings(FeatureStatistics numErrorBuildings) { + this.numErrorBuildings = ModelObjects.setParent(numErrorBuildings, this); + } + + public FeatureStatistics getNumErrorVegetation() { + return numErrorVegetation; + } + + public void setNumErrorVegetation(FeatureStatistics numErrorVegetation) { + this.numErrorVegetation = ModelObjects.setParent(numErrorVegetation, this); + } + + public FeatureStatistics getNumErrorLandObjects() { + return numErrorLandObjects; + } + + public void setNumErrorLandObjects(FeatureStatistics numErrorLandObjects) { + this.numErrorLandObjects = ModelObjects.setParent(numErrorLandObjects, this); + } + + public FeatureStatistics getNumErrorBridgeObjects() { + return numErrorBridgeObjects; + } + + public void setNumErrorBridgeObjects(FeatureStatistics numErrorBridgeObjects) { + this.numErrorBridgeObjects = ModelObjects.setParent(numErrorBridgeObjects, this); + } + + public FeatureStatistics getNumErrorWaterObjects() { + return numErrorWaterObjects; + } + + public void setNumErrorWaterObjects(FeatureStatistics numErrorWaterObjects) { + this.numErrorWaterObjects = ModelObjects.setParent(numErrorWaterObjects, this); + } + + public FeatureStatistics getNumErrorTransportation() { + return numErrorTransportation; + } + + public void setNumErrorTransportation(FeatureStatistics numErrorTransportation) { + this.numErrorTransportation = ModelObjects.setParent(numErrorTransportation, this); + } + + public ErrorStatistics getErrorStatistics() { + return errorStatistics; + } + + public void setErrorStatistics(ErrorStatistics errorStatistics) { + this.errorStatistics = ModelObjects.setParent(errorStatistics, this); + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + Statistics copy = target == null ? + new Statistics() : + (Statistics) target; + + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new Statistics(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/TooFewPoints.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/TooFewPoints.java deleted file mode 100644 index 7e1272228341b9adb212f2b3af5066f349ffd51b..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/TooFewPoints.java +++ /dev/null @@ -1,33 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -import org.citygml4j.builder.copy.CopyBuilder; - -public class TooFewPoints extends RingError { - - private static final long serialVersionUID = -904319347280328865L; - - @Override - public String toString() { - return "TooFewPoints [linearRingId=" + getLinearRingId() + "]"; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new TooFewPoints(), copyBuilder); - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/TooFewPolygons.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/TooFewPolygons.java deleted file mode 100644 index 19abc235bc8a9dacf4513b6cd6d8f498d3211688..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/TooFewPolygons.java +++ /dev/null @@ -1,33 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model; - -import org.citygml4j.builder.copy.CopyBuilder; - -public class TooFewPolygons extends SolidError { - - private static final long serialVersionUID = -51591095439740599L; - - @Override - public String toString() { - return "TooFewPolygons [geometryId=" + getGeometryId() + "]"; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new TooFewPolygons(), copyBuilder); - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Validation.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Validation.java index 2ee30ba0b6f0e4e9cb90aabf9fb996d27fffd63b..a2ca0c63f6decbbfb8fac6f88664b5ece3c450a6 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Validation.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Validation.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,74 +13,91 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package de.hft.stuttgart.quality.model; +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.citygml.ade.binding.ADEModelObject; +import org.citygml4j.model.common.base.ModelObjects; +import org.citygml4j.model.common.visitor.FeatureFunctor; +import org.citygml4j.model.common.visitor.FeatureVisitor; +import org.citygml4j.model.common.visitor.GMLFunctor; +import org.citygml4j.model.common.visitor.GMLVisitor; +import org.citygml4j.model.gml.feature.AbstractFeature; + import java.time.ZonedDateTime; -import org.citygml4j.builder.copy.CopyBuilder; +public class Validation extends AbstractFeature implements ADEModelObject { + private ZonedDateTime validationDate; + private String validationSoftware; + private ValidationPlan validationPlan; + private Statistics statistics; + + public ZonedDateTime getValidationDate() { + return validationDate; + } + + public void setValidationDate(ZonedDateTime validationDate) { + this.validationDate = validationDate; + } + + public String getValidationSoftware() { + return validationSoftware; + } + + public void setValidationSoftware(String validationSoftware) { + this.validationSoftware = validationSoftware; + } + + public ValidationPlan getValidationPlan() { + return validationPlan; + } + + public void setValidationPlan(ValidationPlan validationPlan) { + this.validationPlan = ModelObjects.setParent(validationPlan, this); + } + + public Statistics getStatistics() { + return statistics; + } + + public void setStatistics(Statistics statistics) { + this.statistics = ModelObjects.setParent(statistics, this); + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + Validation copy = target == null ? + new Validation() : + (Validation) target; + + super.copyTo(copy, copyBuilder); + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new Validation(), copyBuilder); + } + + @Override + public void accept(FeatureVisitor visitor) { + visitor.visit(this); + } + + @Override + public <T> T accept(FeatureFunctor<T> visitor) { + return visitor.apply(this); + } + + @Override + public void accept(GMLVisitor visitor) { + visitor.visit(this); + } -import de.hft.stuttgart.quality.model.jaxb.Statistics; -import de.hft.stuttgart.quality.model.jaxb.ValidationPlan; - -public class Validation extends ChildObject { - - private static final long serialVersionUID = 1738293574859506005L; - - private ZonedDateTime validationDate; - private String validationSoftware; - private ValidationPlan validationPlan; - private Statistics statistics; - - @Override - public Object copy(CopyBuilder copyBuilder) { - return this; - } - - public boolean isSetStatistics() { - return statistics != null; - } - - public void setStatistics(Statistics statistics) { - this.statistics = statistics; - } - - public Statistics getStatistics() { - return statistics; - } - - public boolean isSetValidationPlan() { - return validationPlan != null; - } - - public void setValidationPlan(ValidationPlan validationPlan) { - this.validationPlan = validationPlan; - } - - public ValidationPlan getValidationPlan() { - return validationPlan; - } - - public boolean isSetDateTime() { - return validationDate != null; - } - - public boolean isSetValidationSoftware() { - return validationSoftware != null; - } - - public void setValidationDate(ZonedDateTime validationDate) { - this.validationDate = validationDate; - } - - public ZonedDateTime getValidationDate() { - return validationDate; - } - - public void setValidationSoftware(String validationSoftware) { - this.validationSoftware = validationSoftware; - } - - public String getValidationSoftware() { - return validationSoftware; - } + @Override + public <T> T accept(GMLFunctor<T> visitor) { + return visitor.apply(this); + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationPlan.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationPlan.java new file mode 100644 index 0000000000000000000000000000000000000000..d1883a6eb40d06b1d1ca376a5b1ea16f254ec1c2 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationPlan.java @@ -0,0 +1,76 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; +import org.citygml4j.model.common.child.ChildList; + +import java.util.List; + +public class ValidationPlan extends AbstractDataType { + private List<Parameter> globalParameters; + private Filter filter; + private Requirement requirement; + + public boolean isSetGlobalParameters() { + return globalParameters != null && !globalParameters.isEmpty(); + } + + public List<Parameter> getGlobalParameters() { + if (globalParameters == null) { + globalParameters = new ChildList<>(this); + } + + return globalParameters; + } + + public void setGlobalParameters(List<Parameter> globalParameters) { + this.globalParameters = ModelObjects.setParent(globalParameters, this); + } + + public Filter getFilter() { + return filter; + } + + public void setFilter(Filter filter) { + this.filter = ModelObjects.setParent(filter, this); + } + + public Requirement getRequirement() { + return requirement; + } + + public void setRequirement(Requirement requirement) { + this.requirement = ModelObjects.setParent(requirement, this); + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + ValidationPlan copy = target == null ? + new ValidationPlan() : + (ValidationPlan) target; + + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new ValidationPlan(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..e5f32dbbbc61973ab494fd04110d8d512f6e42c1 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationProperty.java @@ -0,0 +1,54 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.model.citygml.ade.binding.ADEModelObject; +import org.citygml4j.model.gml.feature.FeatureProperty; + +public class ValidationProperty extends FeatureProperty<Validation> implements ADEModelObject { + + public ValidationProperty() { + } + + public ValidationProperty(Validation object) { + super(object); + } + + public ValidationProperty(String href) { + super(href); + } + + @Override + public Class<Validation> getAssociableClass() { + return Validation.class; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + Validation copy = (target == null) ? + new Validation() : + (Validation) target; + + return super.copyTo(copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new Validation(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationResult.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationResult.java index f9c6780b9de9a28bc43c980f59de2a48bf2a11a3..8232f281aa2cffc1495daf76591762d7cc42d637 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationResult.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationResult.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,72 +13,64 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; -import java.util.ArrayList; -import java.util.List; +package de.hft.stuttgart.quality.model; import org.citygml4j.builder.copy.CopyBuilder; -import org.citygml4j.model.citygml.ade.binding.ADEModelObject; -import org.citygml4j.model.common.visitor.FeatureFunctor; -import org.citygml4j.model.common.visitor.FeatureVisitor; -import org.citygml4j.model.common.visitor.GMLFunctor; -import org.citygml4j.model.common.visitor.GMLVisitor; -import org.citygml4j.model.gml.feature.AbstractFeature; +import org.citygml4j.builder.copy.ObjectCopier; +import org.citygml4j.model.common.base.ModelObjects; +import org.citygml4j.model.common.child.ChildList; -import de.hft.stuttgart.quality.model.jaxb.ResultType; +import java.util.List; -public class ValidationResult extends AbstractFeature implements ADEModelObject { +public class ValidationResult extends AbstractDataType { + private ValidationProperty validation; + private List<AbstractError> errors; + private ResultType resultType; - private static final long serialVersionUID = 1180762313908627342L; - - private ResultType result; - - private List<ValidationError> errors; - - public boolean hasErrors() { - return errors != null && !errors.isEmpty(); - } + public ValidationProperty getValidation() { + return validation; + } - public List<ValidationError> getErrors() { - if (errors == null) { - errors = new ArrayList<>(2); - } - return errors; - } + public void setValidation(ValidationProperty validation) { + this.validation = ModelObjects.setParent(validation, this); + } - public void setResult(ResultType result) { - this.result = result; - } + public boolean isSetErrors() { + return errors != null && !errors.isEmpty(); + } - public ResultType getResult() { - return result; - } + public List<AbstractError> getErrors() { + if (errors == null) { + errors = new ChildList<>(this); + } - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new ValidationResult(), copyBuilder); - } + return errors; + } - @Override - public void accept(FeatureVisitor visitor) { - visitor.visit(this); - } + public void setErrors(List<AbstractError> errors) { + this.errors = ModelObjects.setParent(errors, this); + } - @Override - public <T> T accept(FeatureFunctor<T> visitor) { - return visitor.apply(this); - } + public ResultType getResultType() { + return resultType; + } - @Override - public void accept(GMLVisitor visitor) { - visitor.visit(this); - } + public void setResultType(ResultType resultType) { + this.resultType = resultType; + } - @Override - public <T> T accept(GMLFunctor<T> visitor) { - return visitor.apply(this); - } + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + ValidationResult copy = target == null ? + new ValidationResult() : + (ValidationResult) target; + return ObjectCopier.copyTo(this, copy, copyBuilder); + } + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new ValidationResult(), copyBuilder); + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationResultProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationResultProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..4c152c1f20b8e1907e5833b3a61140eae0383b8f --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationResultProperty.java @@ -0,0 +1,51 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.model; + +import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.model.citygml.ade.binding.ADEModelObject; +import org.citygml4j.model.gml.base.AssociationByRep; + +public class ValidationResultProperty extends AssociationByRep<ValidationResult> implements ADEModelObject { + + public ValidationResultProperty() { + super(); + } + + public ValidationResultProperty(ValidationResult object) { + super(object); + } + + @Override + public Class<ValidationResult> getAssociableClass() { + return ValidationResult.class; + } + + @Override + public Object copyTo(Object target, CopyBuilder copyBuilder) { + ValidationResult copy = (target == null) ? + new ValidationResult() : + (ValidationResult) target; + + return super.copyTo(copy, copyBuilder); + } + + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new ValidationResult(), copyBuilder); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AllPolygonsWrongOrientation.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationResultPropertyElement.java similarity index 54% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AllPolygonsWrongOrientation.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationResultPropertyElement.java index 0b384b735f8fe70961198da21773642cac5ba538..2c8e6345e3ce16768db27cf2db523f3068dfe544 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/AllPolygonsWrongOrientation.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationResultPropertyElement.java @@ -1,5 +1,5 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart +/* + * Copyright 2021 Hochschule für Technik Stuttgart * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,22 +13,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package de.hft.stuttgart.quality.model; import org.citygml4j.builder.copy.CopyBuilder; +import org.citygml4j.model.citygml.ade.binding.ADEGenericApplicationProperty; -public class AllPolygonsWrongOrientation extends SolidError { - - private static final long serialVersionUID = 3817224755569965908L; +public class ValidationResultPropertyElement extends ADEGenericApplicationProperty<ValidationResultProperty> { - @Override - public String toString() { - return "AllPolygonsWrongOrientation [geometryId=" + getGeometryId() + "]"; - } + public ValidationResultPropertyElement() { + } - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new AllPolygonsWrongOrientation(), copyBuilder); - } + public ValidationResultPropertyElement(ValidationResultProperty value) { + super(value); + } + @Override + public Object copy(CopyBuilder copyBuilder) { + return copyTo(new ValidationResultProperty(), copyBuilder); + } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/AllPolygonsWrongOrientationType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/AllPolygonsWrongOrientationType.java deleted file mode 100644 index f582f221a54f4c970bf5b76adea520c74ffb8c7e..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/AllPolygonsWrongOrientationType.java +++ /dev/null @@ -1,23 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_S_ALL_POLYGONS_WRONG_ORIENTATION") -public class AllPolygonsWrongOrientationType extends SolidErrorType { - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/AttributeMissingType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/AttributeMissingType.java deleted file mode 100644 index ce13091d5f2c4ce991088f9e8c8c54039886fef9..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/AttributeMissingType.java +++ /dev/null @@ -1,51 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "SE_ATTRIBUTE_MISSING") -public class AttributeMissingType extends SemanticErrorType { - - private String childId; - private String attributeName; - private boolean generic; - - public String getChildId() { - return childId; - } - - public void setChildId(String childId) { - this.childId = childId; - } - - public String getAttributeName() { - return attributeName; - } - - public void setAttributeName(String attributeName) { - this.attributeName = attributeName; - } - - public boolean isGeneric() { - return generic; - } - - public void setGeneric(boolean generic) { - this.generic = generic; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/AttributeWrongValueType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/AttributeWrongValueType.java deleted file mode 100644 index a3596b92ee5886aa065df1f5d9bee703e30b0f23..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/AttributeWrongValueType.java +++ /dev/null @@ -1,51 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "SE_ATTRIBUTE_WRONG_VALUE") -public class AttributeWrongValueType extends SemanticErrorType { - - private String childId; - private String attributeName; - private boolean generic; - - public String getChildId() { - return childId; - } - - public void setChildId(String childId) { - this.childId = childId; - } - - public String getAttributeName() { - return attributeName; - } - - public void setAttributeName(String attributeName) { - this.attributeName = attributeName; - } - - public boolean isGeneric() { - return generic; - } - - public void setGeneric(boolean generic) { - this.generic = generic; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Checking.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Checking.java deleted file mode 100644 index 75a9e077864f50da6cb400a57fabe7e8f421136a..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Checking.java +++ /dev/null @@ -1,52 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.io.Serializable; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlValue; - -@XmlAccessorType(XmlAccessType.FIELD) -public class Checking implements Serializable { - - private static final long serialVersionUID = 8429726429709450505L; - - @XmlValue - private TopLevelFeatureType value; - - public Checking() { - } - - public Checking(TopLevelFeatureType value) { - this.value = value; - } - - public void setValue(TopLevelFeatureType value) { - this.value = value; - } - - public TopLevelFeatureType getValue() { - return value; - } - - @Override - public String toString() { - return "Checking [value=" + value + "]"; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Component.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Component.java deleted file mode 100644 index f1b220902dc02af373078c9158823815288077e8..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Component.java +++ /dev/null @@ -1,37 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlElement; - -public class Component implements Serializable { - - private static final long serialVersionUID = 75005650370135888L; - - @XmlElement(name = "polygonId") - private List<String> polygonIds; - - public List<String> getPolygonIds() { - if (polygonIds == null) { - polygonIds = new ArrayList<>(); - } - return polygonIds; - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ConsecutivePointsSameType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ConsecutivePointsSameType.java deleted file mode 100644 index 4a584f0c1612709bd7bb030f04a91edabdb83584..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ConsecutivePointsSameType.java +++ /dev/null @@ -1,50 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -import net.opengis.gml.DirectPositionType; - -@XmlRootElement(name = "GE_R_CONSECUTIVE_POINTS_SAME") -public class ConsecutivePointsSameType extends RingErrorType { - - private DirectPositionType vertex1; - private DirectPositionType vertex2; - - public void setVertex1(DirectPositionType vertex1) { - this.vertex1 = vertex1; - } - - public void setVertex2(DirectPositionType vertex2) { - this.vertex2 = vertex2; - } - - public DirectPositionType getVertex1() { - return vertex1; - } - - public DirectPositionType getVertex2() { - return vertex2; - } - - @Override - public String toString() { - return "ConsecutivePointsSameType [linearRingId=" + getLinearRingId() + ", vertex1=" + vertex1 + ", vertex2=" + vertex2 - + "]"; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/EdgeType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/EdgeType.java deleted file mode 100644 index 62af6aa37b1710be6d038cbf89e1c02a06f83b03..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/EdgeType.java +++ /dev/null @@ -1,44 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; - -import net.opengis.gml.DirectPositionType; - -@XmlAccessorType(XmlAccessType.FIELD) -public class EdgeType { - - private DirectPositionType from; - private DirectPositionType to; - - public void setFrom(DirectPositionType from) { - this.from = from; - } - - public void setTo(DirectPositionType to) { - this.to = to; - } - - public DirectPositionType getFrom() { - return from; - } - - public DirectPositionType getTo() { - return to; - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorId.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorId.java deleted file mode 100644 index cb34d11c8af741170f2d89224cee993d8a4cebcd..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorId.java +++ /dev/null @@ -1,30 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlEnum; - -@XmlEnum -public enum ErrorId { - - GE_R_TOO_FEW_POINTS, GE_R_NOT_CLOSED, GE_R_CONSECUTIVE_POINTS_SAME, GE_R_SELF_INTERSECTION, - GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION, GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE, GE_P_INTERIOR_DISCONNECTED, - GE_P_INTERSECTING_RINGS, GE_P_HOLE_OUTSIDE, GE_P_ORIENTATION_RINGS_SAME, GE_P_INNER_RINGS_NESTED, - GE_S_TOO_FEW_POLYGONS, GE_S_NOT_CLOSED, GE_S_NON_MANIFOLD_EDGE, GE_S_POLYGON_WRONG_ORIENTATION, - GE_S_ALL_POLYGONS_WRONG_ORIENTATION, GE_S_NON_MANIFOLD_VERTEX, GE_S_SELF_INTERSECTION, - GE_S_MULTIPLE_CONNECTED_COMPONENTS, SE_ATTRIBUTE_WRONG_VALUE, SE_ATTRIBUTE_MISSING - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorStatistics.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorStatistics.java deleted file mode 100644 index 8b00693904fa0eaa97c7dbf0188770c0edf921d2..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorStatistics.java +++ /dev/null @@ -1,57 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.io.Serializable; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlValue; - -@XmlAccessorType(XmlAccessType.FIELD) -public class ErrorStatistics implements Serializable { - - private static final long serialVersionUID = -1007447539987946146L; - - @XmlAttribute - private ErrorId name; - - @XmlValue - private int amount; - - public void setName(ErrorId name) { - this.name = name; - } - - public ErrorId getName() { - return name; - } - - public void setAmount(int amount) { - this.amount = amount; - } - - public int getAmount() { - return amount; - } - - @Override - public String toString() { - return "ErrorStatistics [name=" + name + ", amount=" + amount + "]"; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/FeatureStatistics.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/FeatureStatistics.java deleted file mode 100644 index 3cc3227a54aceae42e7c133b3d1c2f6770705433..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/FeatureStatistics.java +++ /dev/null @@ -1,64 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.io.Serializable; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlValue; - -@XmlAccessorType(XmlAccessType.FIELD) -public class FeatureStatistics implements Serializable { - - private static final long serialVersionUID = 5794335930507488398L; - - @XmlAttribute - private int numChecked; - - @XmlValue - private int numErrors; - - public FeatureStatistics() { - } - - public FeatureStatistics(int numChecked, int numErrors) { - this.numChecked = numChecked; - this.numErrors = numErrors; - } - - public void setNumChecked(int numChecked) { - this.numChecked = numChecked; - } - - public void setNumErrors(int numErrors) { - this.numErrors = numErrors; - } - - public int getNumChecked() { - return numChecked; - } - - public int getNumErrors() { - return numErrors; - } - - @Override - public String toString() { - return "FeatureStatistics [numChecked=" + numChecked + ", numErrors=" + numErrors + "]"; - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/HoleOutsideType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/HoleOutsideType.java deleted file mode 100644 index 17d09fcd42b57e81aa43045f7a962e5b61cd8e31..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/HoleOutsideType.java +++ /dev/null @@ -1,33 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_P_HOLE_OUTSIDE") -public class HoleOutsideType extends PolygonErrorType { - - private String linearRingId; - - public void setLinearRingId(String linearRingId) { - this.linearRingId = linearRingId; - } - - public String getLinearRingId() { - return linearRingId; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/InnerRingsNestedType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/InnerRingsNestedType.java deleted file mode 100644 index cce7ffe5a8163dce16e2727f41cb4f232841321e..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/InnerRingsNestedType.java +++ /dev/null @@ -1,42 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_P_INNER_RINGS_NESTED") -public class InnerRingsNestedType extends PolygonErrorType { - - private String linearRingId1; - private String linearRingId2; - - public void setLinearRingId1(String linearRingId1) { - this.linearRingId1 = linearRingId1; - } - - public void setLinearRingId2(String linearRingId2) { - this.linearRingId2 = linearRingId2; - } - - public String getLinearRingId1() { - return linearRingId1; - } - - public String getLinearRingId2() { - return linearRingId2; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/InteriorDisconnectedType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/InteriorDisconnectedType.java deleted file mode 100644 index a8daaf0c305b1f397a5236274dd752016f196039..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/InteriorDisconnectedType.java +++ /dev/null @@ -1,23 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_P_INTERIOR_DISCONNECTED") -public class InteriorDisconnectedType extends PolygonErrorType { - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/IntersectingRingsType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/IntersectingRingsType.java deleted file mode 100644 index 7f47eef519d77e2d9938160a5a1e9732bad6502f..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/IntersectingRingsType.java +++ /dev/null @@ -1,42 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_P_INTERSECTING_RINGS") -public class IntersectingRingsType extends PolygonErrorType { - - private String linearRingId1; - private String linearRingId2; - - public void setLinearRingId1(String linearRingId1) { - this.linearRingId1 = linearRingId1; - } - - public String getLinearRingId1() { - return linearRingId1; - } - - public void setLinearRingId2(String linearRingId2) { - this.linearRingId2 = linearRingId2; - } - - public String getLinearRingId2() { - return linearRingId2; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/MultipleConnectedComponentsType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/MultipleConnectedComponentsType.java deleted file mode 100644 index 0507eb04aa021306b9c2756c906de508850b730c..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/MultipleConnectedComponentsType.java +++ /dev/null @@ -1,43 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_S_MULTIPLE_CONNECTED_COMPONENTS") -public class MultipleConnectedComponentsType extends SolidErrorType { - - @XmlElementWrapper - @XmlElement(name = "component") - private List<Component> components; - - public boolean isSetComponents() { - return components != null && !components.isEmpty(); - } - - public List<Component> getComponents() { - if (components == null) { - components = new ArrayList<>(); - } - return components; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonManifoldEdgeType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonManifoldEdgeType.java deleted file mode 100644 index aac1ac8fe9a66c95ab27a81fc51f30e8285e6fc7..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonManifoldEdgeType.java +++ /dev/null @@ -1,43 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_S_NON_MANIFOLD_EDGE") -public class NonManifoldEdgeType extends SolidErrorType { - - @XmlElementWrapper - @XmlElement(name = "edge") - private List<EdgeType> edges; - - public boolean isSetEdges() { - return edges != null && !edges.isEmpty(); - } - - public List<EdgeType> getEdges() { - if (edges == null) { - edges = new ArrayList<>(); - } - return edges; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonManifoldVertexType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonManifoldVertexType.java deleted file mode 100644 index 7b8f3a277b86f4e28f128e5eff363f7c04cb274c..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonManifoldVertexType.java +++ /dev/null @@ -1,35 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -import net.opengis.gml.DirectPositionType; - -@XmlRootElement(name = "GE_S_NON_MANIFOLD_VERTEX") -public class NonManifoldVertexType extends SolidErrorType { - - private DirectPositionType vertex; - - public void setVertex(DirectPositionType vertex) { - this.vertex = vertex; - } - - public DirectPositionType getVertex() { - return vertex; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonPlanarDistancePlaneType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonPlanarDistancePlaneType.java deleted file mode 100644 index 4e3523b7385bda889276a616382a2cfd4808f1f2..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonPlanarDistancePlaneType.java +++ /dev/null @@ -1,45 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -import net.opengis.gml.DirectPositionType; -import net.opengis.gml.LengthType; - -@XmlRootElement(name = "GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE") -public class NonPlanarDistancePlaneType extends PolygonErrorType { - - private DirectPositionType vertex; - private LengthType distance; - - public void setVertex(DirectPositionType vertex) { - this.vertex = vertex; - } - - public void setDistance(LengthType distance) { - this.distance = distance; - } - - public DirectPositionType getVertex() { - return vertex; - } - - public LengthType getDistance() { - return distance; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonPlanarNormalsDeviationType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonPlanarNormalsDeviationType.java deleted file mode 100644 index 5471ad6b9a6d68c29bdc42ae0bc2bb18a5dba15c..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonPlanarNormalsDeviationType.java +++ /dev/null @@ -1,35 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -import net.opengis.gml.AngleType; - -@XmlRootElement(name = "GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION") -public class NonPlanarNormalsDeviationType extends PolygonErrorType { - - private AngleType deviation; - - public void setDeviation(AngleType deviation) { - this.deviation = deviation; - } - - public AngleType getDeviation() { - return deviation; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ObjectFactory.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ObjectFactory.java deleted file mode 100644 index 987b4e48fa5d6226e191ffb8db02fc1765847796..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ObjectFactory.java +++ /dev/null @@ -1,61 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.JAXBElement; -import javax.xml.bind.annotation.XmlElementDecl; -import javax.xml.bind.annotation.XmlRegistry; -import javax.xml.namespace.QName; - -import de.hft.stuttgart.quality.QualityADEModule; - -@XmlRegistry -public class ObjectFactory { - - private static final QName VALIDATION_QNAME = new QName(QualityADEModule.NAMESPACE_URI, "validation"); - private static final QName VALIDATION_RESULT_QNAME = new QName(QualityADEModule.NAMESPACE_URI, "validationResult"); - - public ValidationType createValidationType() { - return new ValidationType(); - } - - public ValidationResultType createValidationResultType() { - return new ValidationResultType(); - } - - public ConsecutivePointsSameType createConsecutivePointsSameType() { - return new ConsecutivePointsSameType(); - } - - public TooFewPointsType createTooFewPointsType() { - return new TooFewPointsType(); - } - - @XmlElementDecl(namespace = QualityADEModule.NAMESPACE_URI, name = "validation", substitutionHeadNamespace = "http://www.opengis.net/citygml/2.0", substitutionHeadName = "_GenericApplicationPropertyOfCityModel") - public JAXBElement<ValidationType> createValidationType(ValidationType type) { - return new JAXBElement<>(VALIDATION_QNAME, ValidationType.class, type); - } - - @XmlElementDecl(namespace = QualityADEModule.NAMESPACE_URI, name = "validationResult", substitutionHeadNamespace = "http://www.opengis.net/citygml/2.0", substitutionHeadName = "_GenericApplicationPropertyOfCityObject") - public JAXBElement<ValidationResultType> createValidationResultType(ValidationResultType type) { - return new JAXBElement<>(VALIDATION_RESULT_QNAME, ValidationResultType.class, type); - } - - public RingSelfIntersectionType createRingSelfIntersectionType() { - return new RingSelfIntersectionType(); - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/OrientationRingsSameType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/OrientationRingsSameType.java deleted file mode 100644 index a625724ee85acdbc0001bfc45dbede07a820da75..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/OrientationRingsSameType.java +++ /dev/null @@ -1,33 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_P_ORIENTATION_RINGS_SAME") -public class OrientationRingsSameType extends PolygonErrorType { - - private String linearRingId; - - public void setLinearRingId(String linearRingId) { - this.linearRingId = linearRingId; - } - - public String getLinearRingId() { - return linearRingId; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Parameter.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Parameter.java deleted file mode 100644 index cb12193ec05223f6d248a2f085abde27d6a3c57e..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Parameter.java +++ /dev/null @@ -1,70 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.io.Serializable; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; -import javax.xml.bind.annotation.XmlValue; - -@XmlType(name = "parameter") -@XmlAccessorType(XmlAccessType.FIELD) -public class Parameter implements Serializable { - - private static final long serialVersionUID = 3704749975901280058L; - - @XmlAttribute(name = "name") - private String name; - - @XmlAttribute(required = false) - private String uom; - - @XmlValue - private String value; - - public void setName(String name) { - this.name = name; - } - - public String getName() { - return name; - } - - public void setUom(String uom) { - this.uom = uom; - } - - public void setValue(String value) { - this.value = value; - } - - public String getUom() { - return uom; - } - - public String getValue() { - return value; - } - - @Override - public String toString() { - return "ParameterType [name=" + name + ", uom=" + uom + ", value=" + value + "]"; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonErrorType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonErrorType.java deleted file mode 100644 index aec3160863ce571da00ad381232bbf062db5e664..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonErrorType.java +++ /dev/null @@ -1,37 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlSeeAlso; - -@XmlSeeAlso({ InteriorDisconnectedType.class, IntersectingRingsType.class, HoleOutsideType.class, - InnerRingsNestedType.class, NonPlanarDistancePlaneType.class, NonPlanarNormalsDeviationType.class, - OrientationRingsSameType.class }) - -@XmlRootElement(name = "PolygonError") -public class PolygonErrorType extends ValidationErrorType { - - private String polygonId; - - public void setPolygonId(String polygonId) { - this.polygonId = polygonId; - } - - public String getPolygonId() { - return polygonId; - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonWrongOrientationType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonWrongOrientationType.java deleted file mode 100644 index 7cd6358290b1b0305ef903f97d0f9ac432546a67..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/PolygonWrongOrientationType.java +++ /dev/null @@ -1,43 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_S_POLYGON_WRONG_ORIENTATION") -public class PolygonWrongOrientationType extends SolidErrorType { - - @XmlElementWrapper - @XmlElement(name = "edge") - private List<EdgeType> edges; - - public boolean isSetEdges() { - return edges != null && !edges.isEmpty(); - } - - public List<EdgeType> getEdges() { - if (edges == null) { - edges = new ArrayList<>(); - } - return edges; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Requirement.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Requirement.java deleted file mode 100644 index c3a2146e6526fb046896b866de3f1c161468cd89..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Requirement.java +++ /dev/null @@ -1,71 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlType; - -@XmlType(name = "requirement") -@XmlAccessorType(XmlAccessType.FIELD) -public class Requirement implements Serializable { - - private static final long serialVersionUID = 8493047783215253763L; - - @XmlAttribute - private RequirementId name; - - @XmlAttribute - private boolean enabled; - - @XmlElement(name = "parameter") - private List<Parameter> parameters; - - public RequirementId getName() { - return name; - } - - public List<Parameter> getParameters() { - if (parameters == null) { - parameters = new ArrayList<>(2); - } - return parameters; - } - - public boolean isEnabled() { - return enabled; - } - - public void setName(RequirementId name) { - this.name = name; - } - - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - - @Override - public String toString() { - return "Requirement [name=" + name + ", enabled=" + enabled + ", parameters=" + parameters + "]"; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RequirementId.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RequirementId.java deleted file mode 100644 index 851382c29b104f65c000aed4b4a0c5fc806150a2..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RequirementId.java +++ /dev/null @@ -1,30 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlEnum; - -@XmlEnum -public enum RequirementId { - - R_GE_R_TOO_FEW_POINTS, R_GE_R_NOT_CLOSED, R_GE_R_CONSECUTIVE_POINTS_SAME, R_GE_R_SELF_INTERSECTION, - R_GE_P_NON_PLANAR, R_GE_P_INTERIOR_DISCONNECTED, R_GE_P_INTERSECTING_RINGS, R_GE_P_HOLE_OUTSIDE, - R_GE_P_ORIENTATION_RINGS_SAME, R_GE_P_INNER_RINGS_NESTED, R_GE_S_TOO_FEW_POLYGONS, R_GE_S_NOT_CLOSED, - R_GE_S_NON_MANIFOLD_EDGE, R_GE_S_POLYGON_WRONG_ORIENTATION, R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION, - R_GE_S_NON_MANIFOLD_VERTEX, R_GE_S_SELF_INTERSECTION, R_GE_S_MULTIPLE_CONNECTED_COMPONENTS, - R_SE_ATTRIBUTES_EXISTING, R_SE_ATTRIBUTES_CORRECT - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ResultType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ResultType.java deleted file mode 100644 index 70db92cc86dbf718883e15b2158e42cf63562a7c..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ResultType.java +++ /dev/null @@ -1,25 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlEnum; - -@XmlEnum -public enum ResultType { - - OK, ERROR, NOT_CHECKED - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingErrorType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingErrorType.java deleted file mode 100644 index 90e7034c6d39a02dfedbeabe663f22fbd8a517c3..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingErrorType.java +++ /dev/null @@ -1,36 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlSeeAlso; - -@XmlSeeAlso({ ConsecutivePointsSameType.class, RingNotClosedType.class, RingSelfIntersectionType.class, - TooFewPointsType.class }) -@XmlRootElement(name = "RingError") -public class RingErrorType extends ValidationErrorType { - - private String linearRingId; - - public String getLinearRingId() { - return linearRingId; - } - - public void setLinearRingId(String linearRingId) { - this.linearRingId = linearRingId; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingNotClosedType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingNotClosedType.java deleted file mode 100644 index e6b9e259a32fac9c22ffcdc8188c77948e4e3157..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingNotClosedType.java +++ /dev/null @@ -1,23 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_R_NOT_CLOSED") -public class RingNotClosedType extends RingErrorType { - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingSelfIntType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingSelfIntType.java deleted file mode 100644 index 582bcc0c067e7d96bd235e4b8958a5ee930ca0bb..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingSelfIntType.java +++ /dev/null @@ -1,23 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlEnum; - -@XmlEnum -public enum RingSelfIntType { - DUPLICATE_POINT, POINT_TOUCHES_EDGE, EDGE_INTERSECTS_EDGE -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingSelfIntersectionType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingSelfIntersectionType.java deleted file mode 100644 index 5e01f5933b5b6d61de7ea4c3295981d0c0165535..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingSelfIntersectionType.java +++ /dev/null @@ -1,71 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -import net.opengis.gml.DirectPositionType; - -@XmlRootElement(name = "GE_R_SELF_INTERSECTION") -public class RingSelfIntersectionType extends RingErrorType { - - private RingSelfIntType type; - private EdgeType edge1; - private EdgeType edge2; - private DirectPositionType vertex1; - private DirectPositionType vertex2; - - public void setType(RingSelfIntType type) { - this.type = type; - } - - public void setEdge1(EdgeType edge1) { - this.edge1 = edge1; - } - - public void setEdge2(EdgeType edge2) { - this.edge2 = edge2; - } - - public void setVertex1(DirectPositionType vertex1) { - this.vertex1 = vertex1; - } - - public void setVertex2(DirectPositionType vertex2) { - this.vertex2 = vertex2; - } - - public RingSelfIntType getType() { - return type; - } - - public EdgeType getEdge1() { - return edge1; - } - - public EdgeType getEdge2() { - return edge2; - } - - public DirectPositionType getVertex1() { - return vertex1; - } - - public DirectPositionType getVertex2() { - return vertex2; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticErrorType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticErrorType.java deleted file mode 100644 index da2e5a530e4a696fcc7864d16abd743554389a5e..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/SemanticErrorType.java +++ /dev/null @@ -1,25 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlSeeAlso; - -@XmlSeeAlso({ AttributeWrongValueType.class, AttributeMissingType.class }) -@XmlRootElement(name = "SemanticError") -public class SemanticErrorType extends ValidationErrorType { - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/SolidErrorType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/SolidErrorType.java deleted file mode 100644 index ad57862b1f0a54141462549e57d86f0ac78c6f35..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/SolidErrorType.java +++ /dev/null @@ -1,37 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlSeeAlso; - -@XmlSeeAlso({ SolidNotClosedType.class, AllPolygonsWrongOrientationType.class, PolygonWrongOrientationType.class, - NonManifoldVertexType.class, NonManifoldEdgeType.class, TooFewPolygonsType.class, - MultipleConnectedComponentsType.class, SolidSelfIntersectionType.class }) -@XmlRootElement(name = "SolidError") -public class SolidErrorType extends ValidationErrorType { - - private String geometryId; - - public void setGeometryId(String geometryId) { - this.geometryId = geometryId; - } - - public String getGeometryId() { - return geometryId; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNotClosedType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNotClosedType.java deleted file mode 100644 index b2f64ddc4481995952adb1d49608734837c22bf9..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/SolidNotClosedType.java +++ /dev/null @@ -1,43 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_S_NOT_CLOSED") -public class SolidNotClosedType extends SolidErrorType { - - @XmlElementWrapper - @XmlElement(name = "edge") - private List<EdgeType> edges; - - public boolean isSetEdges() { - return edges != null && !edges.isEmpty(); - } - - public List<EdgeType> getEdges() { - if (edges == null) { - edges = new ArrayList<>(); - } - return edges; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/SolidSelfIntersectionType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/SolidSelfIntersectionType.java deleted file mode 100644 index 58e37bc4334f62f11b84c902332a51aedb1603cb..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/SolidSelfIntersectionType.java +++ /dev/null @@ -1,42 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_S_SELF_INTERSECTION") -public class SolidSelfIntersectionType extends SolidErrorType { - - private String polygonId1; - private String polygonId2; - - public void setPolygonId1(String polygonId1) { - this.polygonId1 = polygonId1; - } - - public void setPolygonId2(String polygonId2) { - this.polygonId2 = polygonId2; - } - - public String getPolygonId1() { - return polygonId1; - } - - public String getPolygonId2() { - return polygonId2; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Statistics.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Statistics.java deleted file mode 100644 index a141b601c9a95c56c117d33afa21977d9ca0a793..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Statistics.java +++ /dev/null @@ -1,98 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; - -@XmlAccessorType(XmlAccessType.FIELD) -public class Statistics implements Serializable { - - private static final long serialVersionUID = 2250094686994310986L; - - private FeatureStatistics numErrorBuildings; - private FeatureStatistics numErrorVegetation; - private FeatureStatistics numErrorLandObjects; - private FeatureStatistics numErrorBridgeObjects; - private FeatureStatistics numErrorWaterObjects; - private FeatureStatistics numErrorTransportation; - - @XmlElementWrapper(name = "errorStatistics") - @XmlElement(name = "error") - private List<ErrorStatistics> errorStatistics; - - public List<ErrorStatistics> getErrorStatistics() { - if (errorStatistics == null) { - errorStatistics = new ArrayList<>(); - } - return errorStatistics; - } - - public FeatureStatistics getNumErrorBridgeObjects() { - return numErrorBridgeObjects; - } - - public FeatureStatistics getNumErrorBuildings() { - return numErrorBuildings; - } - - public FeatureStatistics getNumErrorLandObjects() { - return numErrorLandObjects; - } - - public FeatureStatistics getNumErrorTransportation() { - return numErrorTransportation; - } - - public FeatureStatistics getNumErrorVegetation() { - return numErrorVegetation; - } - - public FeatureStatistics getNumErrorWaterObjects() { - return numErrorWaterObjects; - } - - public void setNumErrorBridgeObjects(FeatureStatistics numErrorBridgeObjects) { - this.numErrorBridgeObjects = numErrorBridgeObjects; - } - - public void setNumErrorBuildings(FeatureStatistics numErrorBuildings) { - this.numErrorBuildings = numErrorBuildings; - } - - public void setNumErrorLandObjects(FeatureStatistics numErrorLandObjects) { - this.numErrorLandObjects = numErrorLandObjects; - } - - public void setNumErrorTransportation(FeatureStatistics numErrorTransportation) { - this.numErrorTransportation = numErrorTransportation; - } - - public void setNumErrorVegetation(FeatureStatistics numErrorVegetation) { - this.numErrorVegetation = numErrorVegetation; - } - - public void setNumErrorWaterObjects(FeatureStatistics numErrorWaterObjects) { - this.numErrorWaterObjects = numErrorWaterObjects; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/TooFewPointsType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/TooFewPointsType.java deleted file mode 100644 index b790459367a25644ec613e7b651c17b6470e0186..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/TooFewPointsType.java +++ /dev/null @@ -1,28 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_R_TOO_FEW_POINTS") -public class TooFewPointsType extends RingErrorType { - - @Override - public String toString() { - return "TooFewPoints [linearRingId=" + getLinearRingId() + "]"; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/TooFewPolygonsType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/TooFewPolygonsType.java deleted file mode 100644 index 0bac474ebe6f9766353e44ac4dfd0e2f5c590190..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/TooFewPolygonsType.java +++ /dev/null @@ -1,23 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlRootElement; - -@XmlRootElement(name = "GE_S_TOO_FEW_POLYGONS") -public class TooFewPolygonsType extends SolidErrorType { - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/TopLevelFeatureType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/TopLevelFeatureType.java deleted file mode 100644 index b0fa42feadfdd2ab14aae4173045474b6a63783e..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/TopLevelFeatureType.java +++ /dev/null @@ -1,25 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlEnum; - -@XmlEnum -public enum TopLevelFeatureType { - - BUILDING, TRANSPORTATION, VEGETATION, BRIDGE, WATER, LAND - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationErrorType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationErrorType.java deleted file mode 100644 index 24ca126a93506e3bbc36709a072197cfddc80e10..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationErrorType.java +++ /dev/null @@ -1,40 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlRootElement; -import javax.xml.bind.annotation.XmlSeeAlso; -import javax.xml.bind.annotation.XmlTransient; - -@XmlSeeAlso({ RingErrorType.class, PolygonErrorType.class, SolidErrorType.class, SemanticErrorType.class }) -@XmlAccessorType(XmlAccessType.FIELD) -@XmlRootElement(name = "ValidationError") -public abstract class ValidationErrorType { - - @XmlTransient - private String name; - - protected ValidationErrorType() { - name = getClass().getAnnotation(XmlRootElement.class).name(); - } - - public String getName() { - return name; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationPlan.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationPlan.java deleted file mode 100644 index a947f14f127bcf6a1bac8b4ce231514dd0e7cb62..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationPlan.java +++ /dev/null @@ -1,65 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlType; - -@XmlType(name = "validationPlan") -@XmlAccessorType(XmlAccessType.FIELD) -public class ValidationPlan implements Serializable { - - private static final long serialVersionUID = 199908444294536261L; - - @XmlElementWrapper(name = "globalParameters") - @XmlElement(name = "parameter") - private List<Parameter> globalParameters; - - @XmlElement(name = "requirement") - private List<Requirement> requirements; - - @XmlElementWrapper(name = "filter") - @XmlElement(name = "checking") - private List<Checking> filter; - - public List<Checking> getFilter() { - if (filter == null) { - filter = new ArrayList<>(); - } - return filter; - } - - public List<Requirement> getRequirements() { - if (requirements == null) { - requirements = new ArrayList<>(); - } - return requirements; - } - - public List<Parameter> getGlobalParameters() { - if (globalParameters == null) { - globalParameters = new ArrayList<>(); - } - return globalParameters; - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationResultType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationResultType.java deleted file mode 100644 index e1fc8aa63cb4ab7ef9b866e06594358cde133cbc..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationResultType.java +++ /dev/null @@ -1,53 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.util.ArrayList; -import java.util.List; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElementRef; - -import net.opengis.gml.AbstractFeatureType; - -public class ValidationResultType extends AbstractFeatureType { - - @XmlAttribute(name = "result") - private ResultType result; - - @XmlElementRef - private List<ValidationErrorType> errors; - - public List<ValidationErrorType> getErrors() { - if (errors == null) { - errors = new ArrayList<>(2); - } - return errors; - } - - public void setResult(ResultType result) { - this.result = result; - } - - public ResultType getResult() { - return result; - } - - public boolean isSetErrors() { - return errors != null && !errors.isEmpty(); - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationType.java deleted file mode 100644 index e8ef812dbbfe49ca1e2c7b4376716752ad3de550..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationType.java +++ /dev/null @@ -1,70 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.model.jaxb; - -import java.time.ZonedDateTime; - -import javax.xml.bind.annotation.XmlType; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; - -import de.hft.stuttgart.quality.marshaller.ZonedDateTimeAdapter; -import net.opengis.gml.AbstractGMLType; - -@XmlType(name = "validation") -public class ValidationType extends AbstractGMLType { - - @XmlJavaTypeAdapter(ZonedDateTimeAdapter.class) - private ZonedDateTime validationDate; - - private String validationSoftware; - - private ValidationPlan validationPlan; - - private Statistics statistics; - - public void setStatistics(Statistics statistics) { - this.statistics = statistics; - } - - public Statistics getStatistics() { - return statistics; - } - - public void setValidationPlan(ValidationPlan validationPlan) { - this.validationPlan = validationPlan; - } - - public ValidationPlan getValidationPlan() { - return validationPlan; - } - - public ZonedDateTime getValidationDate() { - return validationDate; - } - - public void setValidationDate(ZonedDateTime validationDate) { - this.validationDate = validationDate; - } - - public String getValidationSoftware() { - return validationSoftware; - } - - public void setValidationSoftware(String validationSoftware) { - this.validationSoftware = validationSoftware; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/package-info.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/package-info.java deleted file mode 100644 index a5e528883a207a8f4ecee41fe1561250baf32fe2..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/package-info.java +++ /dev/null @@ -1,18 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -@javax.xml.bind.annotation.XmlSchema(namespace = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.3", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED, xmlns = { - @javax.xml.bind.annotation.XmlNs(namespaceURI = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.3", prefix = "qual") }) -package de.hft.stuttgart.quality.model.jaxb; diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/util/UncheckedMissingADESchemaException.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/util/UncheckedMissingADESchemaException.java deleted file mode 100644 index f710f93e453b449ff57590cadcca0f417687ff87..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/util/UncheckedMissingADESchemaException.java +++ /dev/null @@ -1,36 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality.util; - -import org.citygml4j.xml.io.reader.MissingADESchemaException; - -public class UncheckedMissingADESchemaException extends RuntimeException { - - private static final long serialVersionUID = -5684499826072882203L; - - private MissingADESchemaException cause; - - public UncheckedMissingADESchemaException(MissingADESchemaException e) { - super(e); - this.cause = e; - } - - @Override - public synchronized MissingADESchemaException getCause() { - return cause; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/walker/FeatureFunctionWalker.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/walker/FeatureFunctionWalker.java new file mode 100644 index 0000000000000000000000000000000000000000..457183f86d68624edf6f2d461fcb2310ff922e7b --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/walker/FeatureFunctionWalker.java @@ -0,0 +1,34 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.walker; + +import de.hft.stuttgart.quality.model.Validation; +import org.citygml4j.model.citygml.ade.binding.ADEWalker; +import org.citygml4j.model.gml.feature.AbstractFeature; + +public class FeatureFunctionWalker<T> implements ADEWalker<org.citygml4j.util.walker.FeatureFunctionWalker<T>> { + private org.citygml4j.util.walker.FeatureFunctionWalker<T> walker; + + @Override + public void setParentWalker(org.citygml4j.util.walker.FeatureFunctionWalker<T> walker) { + this.walker = walker; + } + + public T apply(Validation validation) { + return walker.apply((AbstractFeature) validation); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/walker/FeatureWalker.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/walker/FeatureWalker.java new file mode 100644 index 0000000000000000000000000000000000000000..542efd4f7302a07f07be97afc6d653b65bafd43d --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/walker/FeatureWalker.java @@ -0,0 +1,34 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.walker; + +import de.hft.stuttgart.quality.model.Validation; +import org.citygml4j.model.citygml.ade.binding.ADEWalker; +import org.citygml4j.model.gml.feature.AbstractFeature; + +public class FeatureWalker implements ADEWalker<org.citygml4j.util.walker.FeatureWalker> { + private org.citygml4j.util.walker.FeatureWalker walker; + + @Override + public void setParentWalker(org.citygml4j.util.walker.FeatureWalker walker) { + this.walker = walker; + } + + public void visit(Validation validation) { + walker.visit((AbstractFeature) validation); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/walker/GMLFunctionWalker.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/walker/GMLFunctionWalker.java new file mode 100644 index 0000000000000000000000000000000000000000..86624dab6528065b56801f7683b893905dc53149 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/walker/GMLFunctionWalker.java @@ -0,0 +1,34 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.walker; + +import de.hft.stuttgart.quality.model.Validation; +import org.citygml4j.model.citygml.ade.binding.ADEWalker; +import org.citygml4j.model.gml.feature.AbstractFeature; + +public class GMLFunctionWalker<T> implements ADEWalker<org.citygml4j.util.walker.GMLFunctionWalker<T>> { + private org.citygml4j.util.walker.GMLFunctionWalker<T> walker; + + @Override + public void setParentWalker(org.citygml4j.util.walker.GMLFunctionWalker<T> walker) { + this.walker = walker; + } + + public T apply(Validation validation) { + return walker.apply((AbstractFeature) validation); + } +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/walker/GMLWalker.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/walker/GMLWalker.java new file mode 100644 index 0000000000000000000000000000000000000000..8f2d9a6ac945450e9910829caccb0b95c4470cdd --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/walker/GMLWalker.java @@ -0,0 +1,34 @@ +/* + * Copyright 2021 Hochschule für Technik Stuttgart + * + * 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 + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package de.hft.stuttgart.quality.walker; + +import de.hft.stuttgart.quality.model.Validation; +import org.citygml4j.model.citygml.ade.binding.ADEWalker; +import org.citygml4j.model.gml.feature.AbstractFeature; + +public class GMLWalker implements ADEWalker<org.citygml4j.util.walker.GMLWalker> { + private org.citygml4j.util.walker.GMLWalker walker; + + @Override + public void setParentWalker(org.citygml4j.util.walker.GMLWalker walker) { + this.walker = walker; + } + + public void visit(Validation validation) { + walker.visit((AbstractFeature) validation); + } +} diff --git a/citygml4j-quality-ade/src/main/resources/de/hft/stuttgart/quality/schema/qualityAde.xsd b/citygml4j-quality-ade/src/main/resources/de/hft/stuttgart/quality/schema/qualityAde.xsd new file mode 100644 index 0000000000000000000000000000000000000000..f37b53d75723f83641c86bef69e810006dc73a7d --- /dev/null +++ b/citygml4j-quality-ade/src/main/resources/de/hft/stuttgart/quality/schema/qualityAde.xsd @@ -0,0 +1,671 @@ +<?xml version="1.0" encoding="UTF-8"?><schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:bldg="http://www.opengis.net/citygml/building/2.0" xmlns:core="http://www.opengis.net/citygml/2.0" xmlns:gml="http://www.opengis.net/gml" xmlns:qual="https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4" elementFormDefault="qualified" targetNamespace="https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4" version="0.1.4"> + <import namespace="http://www.opengis.net/citygml/2.0" schemaLocation="http://schemas.opengis.net/citygml/2.0/cityGMLBase.xsd"/> + <import namespace="http://www.opengis.net/citygml/building/2.0" schemaLocation="http://schemas.opengis.net/citygml/building/2.0/building.xsd"/> + <import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/3.1.1/base/gml.xsd"/> + <!--XML Schema document created by ShapeChange - http://shapechange.net/--> + <element abstract="true" name="AbstractError" substitutionGroup="gml:_Object" type="qual:AbstractErrorType"/> + <complexType abstract="true" name="AbstractErrorType"> + <sequence/> + </complexType> + <complexType name="AbstractErrorPropertyType"> + <sequence> + <element ref="qual:AbstractError"/> + </sequence> + </complexType> + <element abstract="true" name="AbstractGeometryError" substitutionGroup="qual:AbstractError" type="qual:AbstractGeometryErrorType"/> + <complexType abstract="true" name="AbstractGeometryErrorType"> + <complexContent> + <extension base="qual:AbstractErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="AbstractGeometryErrorPropertyType"> + <sequence> + <element ref="qual:AbstractGeometryError"/> + </sequence> + </complexType> + <element abstract="true" name="AbstractPolygonError" substitutionGroup="qual:AbstractGeometryError" type="qual:AbstractPolygonErrorType"/> + <complexType abstract="true" name="AbstractPolygonErrorType"> + <complexContent> + <extension base="qual:AbstractGeometryErrorType"> + <sequence> + <element name="polygonId" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="AbstractPolygonErrorPropertyType"> + <sequence> + <element ref="qual:AbstractPolygonError"/> + </sequence> + </complexType> + <element abstract="true" name="AbstractRingError" substitutionGroup="qual:AbstractGeometryError" type="qual:AbstractRingErrorType"/> + <complexType abstract="true" name="AbstractRingErrorType"> + <complexContent> + <extension base="qual:AbstractGeometryErrorType"> + <sequence> + <element name="linearRingId" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="AbstractRingErrorPropertyType"> + <sequence> + <element ref="qual:AbstractRingError"/> + </sequence> + </complexType> + <element abstract="true" name="AbstractSemanticError" substitutionGroup="qual:AbstractError" type="qual:AbstractSemanticErrorType"/> + <complexType abstract="true" name="AbstractSemanticErrorType"> + <complexContent> + <extension base="qual:AbstractErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="AbstractSemanticErrorPropertyType"> + <sequence> + <element ref="qual:AbstractSemanticError"/> + </sequence> + </complexType> + <element abstract="true" name="AbstractSolidError" substitutionGroup="qual:AbstractGeometryError" type="qual:AbstractSolidErrorType"/> + <complexType abstract="true" name="AbstractSolidErrorType"> + <complexContent> + <extension base="qual:AbstractGeometryErrorType"> + <sequence> + <element name="geometryId" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="AbstractSolidErrorPropertyType"> + <sequence> + <element ref="qual:AbstractSolidError"/> + </sequence> + </complexType> + <element name="Checking" substitutionGroup="gml:_Object" type="qual:CheckingType"/> + <complexType name="CheckingType"> + <sequence> + <element name="featureType" type="qual:FeatureTypeType"/> + </sequence> + </complexType> + <complexType name="CheckingPropertyType"> + <sequence> + <element ref="qual:Checking"/> + </sequence> + </complexType> + <element name="ComponentList" substitutionGroup="gml:_Object" type="qual:ComponentListType"/> + <complexType name="ComponentListType"> + <sequence> + <element maxOccurs="unbounded" name="component" type="qual:PolygonIdListPropertyType"/> + </sequence> + </complexType> + <complexType name="ComponentListPropertyType"> + <sequence> + <element ref="qual:ComponentList"/> + </sequence> + </complexType> + <element name="Edge" substitutionGroup="gml:_Object" type="qual:EdgeType"/> + <complexType name="EdgeType"> + <sequence> + <element name="from" type="gml:DirectPositionType"/> + <element name="to" type="gml:DirectPositionType"/> + </sequence> + </complexType> + <complexType name="EdgePropertyType"> + <sequence> + <element ref="qual:Edge"/> + </sequence> + </complexType> + <element name="EdgeList" substitutionGroup="gml:_Object" type="qual:EdgeListType"/> + <complexType name="EdgeListType"> + <sequence> + <element maxOccurs="unbounded" name="edge" type="qual:EdgePropertyType"/> + </sequence> + </complexType> + <complexType name="EdgeListPropertyType"> + <sequence> + <element ref="qual:EdgeList"/> + </sequence> + </complexType> + <element name="Error" substitutionGroup="gml:_Object" type="qual:ErrorType"/> + <complexType name="ErrorType"> + <sequence> + <element name="name" type="qual:ErrorTypeType"/> + </sequence> + </complexType> + <complexType name="ErrorPropertyType"> + <sequence> + <element ref="qual:Error"/> + </sequence> + </complexType> + <element name="ErrorStatistics" substitutionGroup="gml:_Object" type="qual:ErrorStatisticsType"/> + <complexType name="ErrorStatisticsType"> + <sequence> + <element name="occurrences" type="integer"/> + <element maxOccurs="unbounded" minOccurs="0" name="error" type="qual:ErrorPropertyType"/> + </sequence> + </complexType> + <complexType name="ErrorStatisticsPropertyType"> + <sequence> + <element ref="qual:ErrorStatistics"/> + </sequence> + </complexType> + <simpleType name="ErrorTypeType"> + <restriction base="string"> + <enumeration value="GE_R_TOO_FEW_POINTS"/> + <enumeration value="GE_R_NOT_CLOSED"/> + <enumeration value="GE_R_CONSECUTIVE_POINTS_SAME"/> + <enumeration value="GE_R_SELF_INTERSECTION"/> + <enumeration value="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"/> + <enumeration value="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"/> + <enumeration value="GE_P_INTERIOR_DISCONNECTED"/> + <enumeration value="GE_P_INTERSECTING_RINGS"/> + <enumeration value="GE_P_HOLE_OUTSIDE"/> + <enumeration value="GE_P_ORIENTATION_RINGS_SAME"/> + <enumeration value="GE_P_INNER_RINGS_NESTED"/> + <enumeration value="GE_S_TOO_FEW_POLYGONS"/> + <enumeration value="GE_S_NOT_CLOSED"/> + <enumeration value="GE_S_NON_MANIFOLD_EDGE"/> + <enumeration value="GE_S_POLYGON_WRONG_ORIENTATION"/> + <enumeration value="GE_S_ALL_POLYGONS_WRONG_ORIENTATION"/> + <enumeration value="GE_S_NON_MANIFOLD_VERTEX"/> + <enumeration value="GE_S_SELF_INTERSECTION"/> + <enumeration value="GE_S_MULTIPLE_CONNECTED_COMPONENTS"/> + <enumeration value="SE_ATTRIBUTE_WRONG_VALUE"/> + <enumeration value="SE_ATTRIBUTE_MISSING"/> + </restriction> + </simpleType> + <element name="FeatureStatistics" substitutionGroup="gml:_Object" type="qual:FeatureStatisticsType"/> + <complexType name="FeatureStatisticsType"> + <sequence> + <element name="numChecked" type="integer"/> + <element name="numErrors" type="integer"/> + </sequence> + </complexType> + <complexType name="FeatureStatisticsPropertyType"> + <sequence> + <element ref="qual:FeatureStatistics"/> + </sequence> + </complexType> + <simpleType name="FeatureTypeType"> + <restriction base="string"> + <enumeration value="BUILDING"/> + <enumeration value="TRANSPORTATION"/> + <enumeration value="VEGETATION"/> + <enumeration value="BRIDGE"/> + <enumeration value="WATER"/> + <enumeration value="LAND"/> + </restriction> + </simpleType> + <element name="Filter" substitutionGroup="gml:_Object" type="qual:FilterType"/> + <complexType name="FilterType"> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="checking" type="qual:CheckingPropertyType"/> + </sequence> + </complexType> + <complexType name="FilterPropertyType"> + <sequence> + <element ref="qual:Filter"/> + </sequence> + </complexType> + <element name="GE_P_HOLE_OUTSIDE" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_HOLE_OUTSIDEType"/> + <complexType name="GE_P_HOLE_OUTSIDEType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence> + <element name="linearRingId" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_HOLE_OUTSIDEPropertyType"> + <sequence> + <element ref="qual:GE_P_HOLE_OUTSIDE"/> + </sequence> + </complexType> + <element name="GE_P_INNER_RINGS_NESTED" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_INNER_RINGS_NESTEDType"/> + <complexType name="GE_P_INNER_RINGS_NESTEDType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence> + <element name="linearRingId1" type="string"/> + <element name="linearRingId2" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_INNER_RINGS_NESTEDPropertyType"> + <sequence> + <element ref="qual:GE_P_INNER_RINGS_NESTED"/> + </sequence> + </complexType> + <element name="GE_P_INTERIOR_DISCONNECTED" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_INTERIOR_DISCONNECTEDType"/> + <complexType name="GE_P_INTERIOR_DISCONNECTEDType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_INTERIOR_DISCONNECTEDPropertyType"> + <sequence> + <element ref="qual:GE_P_INTERIOR_DISCONNECTED"/> + </sequence> + </complexType> + <element name="GE_P_INTERSECTING_RINGS" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_INTERSECTING_RINGSType"/> + <complexType name="GE_P_INTERSECTING_RINGSType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence> + <element name="linearRingId1" type="string"/> + <element name="linearRingId2" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_INTERSECTING_RINGSPropertyType"> + <sequence> + <element ref="qual:GE_P_INTERSECTING_RINGS"/> + </sequence> + </complexType> + <element name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEType"/> + <complexType name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence> + <element name="distance" type="gml:LengthType"/> + <element name="vertex" type="gml:DirectPositionType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANEPropertyType"> + <sequence> + <element ref="qual:GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"/> + </sequence> + </complexType> + <element name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONType"/> + <complexType name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence> + <element name="deviation" type="gml:AngleType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATIONPropertyType"> + <sequence> + <element ref="qual:GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"/> + </sequence> + </complexType> + <element name="GE_P_ORIENTATION_RINGS_SAME" substitutionGroup="qual:AbstractPolygonError" type="qual:GE_P_ORIENTATION_RINGS_SAMEType"/> + <complexType name="GE_P_ORIENTATION_RINGS_SAMEType"> + <complexContent> + <extension base="qual:AbstractPolygonErrorType"> + <sequence> + <element name="linearRingId" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_P_ORIENTATION_RINGS_SAMEPropertyType"> + <sequence> + <element ref="qual:GE_P_ORIENTATION_RINGS_SAME"/> + </sequence> + </complexType> + <element name="GE_R_CONSECUTIVE_POINTS_SAME" substitutionGroup="qual:AbstractRingError" type="qual:GE_R_CONSECUTIVE_POINTS_SAMEType"/> + <complexType name="GE_R_CONSECUTIVE_POINTS_SAMEType"> + <complexContent> + <extension base="qual:AbstractRingErrorType"> + <sequence> + <element name="vertex1" type="gml:DirectPositionType"/> + <element name="vertex2" type="gml:DirectPositionType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_R_CONSECUTIVE_POINTS_SAMEPropertyType"> + <sequence> + <element ref="qual:GE_R_CONSECUTIVE_POINTS_SAME"/> + </sequence> + </complexType> + <element name="GE_R_NOT_CLOSED" substitutionGroup="qual:AbstractRingError" type="qual:GE_R_NOT_CLOSEDType"/> + <complexType name="GE_R_NOT_CLOSEDType"> + <complexContent> + <extension base="qual:AbstractRingErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="GE_R_NOT_CLOSEDPropertyType"> + <sequence> + <element ref="qual:GE_R_NOT_CLOSED"/> + </sequence> + </complexType> + <element name="GE_R_SELF_INTERSECTION" substitutionGroup="qual:AbstractRingError" type="qual:GE_R_SELF_INTERSECTIONType"/> + <complexType name="GE_R_SELF_INTERSECTIONType"> + <complexContent> + <extension base="qual:AbstractRingErrorType"> + <sequence> + <element name="type" type="string"/> + <element name="edge1" type="qual:EdgePropertyType"/> + <element name="edge2" type="qual:EdgePropertyType"/> + <element name="vertex" type="gml:DirectPositionType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_R_SELF_INTERSECTIONPropertyType"> + <sequence> + <element ref="qual:GE_R_SELF_INTERSECTION"/> + </sequence> + </complexType> + <element name="GE_R_TOO_FEW_POINTS" substitutionGroup="qual:AbstractRingError" type="qual:GE_R_TOO_FEW_POINTSType"/> + <complexType name="GE_R_TOO_FEW_POINTSType"> + <complexContent> + <extension base="qual:AbstractRingErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="GE_R_TOO_FEW_POINTSPropertyType"> + <sequence> + <element ref="qual:GE_R_TOO_FEW_POINTS"/> + </sequence> + </complexType> + <element name="GE_S_ALL_POLYGONS_WRONG_ORIENTATION" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_ALL_POLYGONS_WRONG_ORIENTATIONType"/> + <complexType name="GE_S_ALL_POLYGONS_WRONG_ORIENTATIONType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_ALL_POLYGONS_WRONG_ORIENTATIONPropertyType"> + <sequence> + <element ref="qual:GE_S_ALL_POLYGONS_WRONG_ORIENTATION"/> + </sequence> + </complexType> + <element name="GE_S_MULTIPLE_CONNECTED_COMPONENTS" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_MULTIPLE_CONNECTED_COMPONENTSType"/> + <complexType name="GE_S_MULTIPLE_CONNECTED_COMPONENTSType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence> + <element maxOccurs="unbounded" name="components" type="qual:ComponentListPropertyType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_MULTIPLE_CONNECTED_COMPONENTSPropertyType"> + <sequence> + <element ref="qual:GE_S_MULTIPLE_CONNECTED_COMPONENTS"/> + </sequence> + </complexType> + <element name="GE_S_NON_MANIFOLD_EDGE" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_NON_MANIFOLD_EDGEType"/> + <complexType name="GE_S_NON_MANIFOLD_EDGEType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence> + <element name="edges" type="qual:EdgeListPropertyType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_NON_MANIFOLD_EDGEPropertyType"> + <sequence> + <element ref="qual:GE_S_NON_MANIFOLD_EDGE"/> + </sequence> + </complexType> + <element name="GE_S_NON_MANIFOLD_VERTEX" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_NON_MANIFOLD_VERTEXType"/> + <complexType name="GE_S_NON_MANIFOLD_VERTEXType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence> + <element name="vertex" type="gml:DirectPositionType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_NON_MANIFOLD_VERTEXPropertyType"> + <sequence> + <element ref="qual:GE_S_NON_MANIFOLD_VERTEX"/> + </sequence> + </complexType> + <element name="GE_S_NOT_CLOSED" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_NOT_CLOSEDType"/> + <complexType name="GE_S_NOT_CLOSEDType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence> + <element name="edges" type="qual:EdgeListPropertyType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_NOT_CLOSEDPropertyType"> + <sequence> + <element ref="qual:GE_S_NOT_CLOSED"/> + </sequence> + </complexType> + <element name="GE_S_POLYGON_WRONG_ORIENTATION" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_POLYGON_WRONG_ORIENTATIONType"/> + <complexType name="GE_S_POLYGON_WRONG_ORIENTATIONType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence> + <element name="edges" type="qual:EdgeListPropertyType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_POLYGON_WRONG_ORIENTATIONPropertyType"> + <sequence> + <element ref="qual:GE_S_POLYGON_WRONG_ORIENTATION"/> + </sequence> + </complexType> + <element name="GE_S_SELF_INTERSECTION" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_SELF_INTERSECTIONType"/> + <complexType name="GE_S_SELF_INTERSECTIONType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence> + <element name="polygonId1" type="string"/> + <element name="polygonId2" type="string"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_SELF_INTERSECTIONPropertyType"> + <sequence> + <element ref="qual:GE_S_SELF_INTERSECTION"/> + </sequence> + </complexType> + <element name="GE_S_TOO_FEW_POLYGONS" substitutionGroup="qual:AbstractSolidError" type="qual:GE_S_TOO_FEW_POLYGONSType"/> + <complexType name="GE_S_TOO_FEW_POLYGONSType"> + <complexContent> + <extension base="qual:AbstractSolidErrorType"> + <sequence/> + </extension> + </complexContent> + </complexType> + <complexType name="GE_S_TOO_FEW_POLYGONSPropertyType"> + <sequence> + <element ref="qual:GE_S_TOO_FEW_POLYGONS"/> + </sequence> + </complexType> + <element name="GlobalParameters" substitutionGroup="gml:_Object" type="qual:GlobalParametersType"/> + <complexType name="GlobalParametersType"> + <sequence> + <element maxOccurs="unbounded" minOccurs="0" name="parameter" type="qual:ParameterPropertyType"/> + </sequence> + </complexType> + <complexType name="GlobalParametersPropertyType"> + <sequence> + <element ref="qual:GlobalParameters"/> + </sequence> + </complexType> + <element name="Parameter" substitutionGroup="gml:_Object" type="qual:ParameterType"/> + <complexType name="ParameterType"> + <sequence> + <element name="name" type="string"/> + <element name="uom" type="string"/> + <element name="value" type="string"/> + </sequence> + </complexType> + <complexType name="ParameterPropertyType"> + <sequence> + <element ref="qual:Parameter"/> + </sequence> + </complexType> + <element name="PolygonIdList" substitutionGroup="gml:_Object" type="qual:PolygonIdListType"/> + <complexType name="PolygonIdListType"> + <sequence> + <element name="polygonId" type="string"/> + </sequence> + </complexType> + <complexType name="PolygonIdListPropertyType"> + <sequence> + <element ref="qual:PolygonIdList"/> + </sequence> + </complexType> + <element name="Requirement" substitutionGroup="gml:_Object" type="qual:RequirementType"/> + <complexType name="RequirementType"> + <sequence> + <element name="enabled" type="boolean"/> + <element name="requirementType" type="qual:RequirementTypeType"/> + <element maxOccurs="unbounded" minOccurs="0" name="parameter" type="qual:ParameterPropertyType"/> + </sequence> + </complexType> + <complexType name="RequirementPropertyType"> + <sequence> + <element ref="qual:Requirement"/> + </sequence> + </complexType> + <simpleType name="RequirementTypeType"> + <restriction base="string"> + <enumeration value="R_GE_R_TOO_FEW_POINTS"/> + <enumeration value="R_GE_R_NOT_CLOSED"/> + <enumeration value="R_GE_R_CONSECUTIVE_POINTS_SAME"/> + <enumeration value="R_GE_R_SELF_INTERSECTION"/> + <enumeration value="R_GE_P_NON_PLANAR"/> + <enumeration value="R_GE_P_INTERIOR_DISCONNECTED"/> + <enumeration value="R_GE_P_INTERSECTING_RINGS"/> + <enumeration value="R_GE_P_HOLE_OUTSIDE"/> + <enumeration value="R_GE_P_ORIENTATION_RINGS_SAME"/> + <enumeration value="R_GE_P_INNER_RINGS_NESTED"/> + <enumeration value="R_GE_S_TOO_FEW_POLYGONS"/> + <enumeration value="R_GE_S_NOT_CLOSED"/> + <enumeration value="R_GE_S_NON_MANIFOLD_EDGE"/> + <enumeration value="R_GE_S_POLYGON_WRONG_ORIENTATION"/> + <enumeration value="R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION"/> + <enumeration value="R_GE_S_NON_MANIFOLD_VERTEX"/> + <enumeration value="R_GE_S_SELF_INTERSECTION"/> + <enumeration value="R_GE_S_MULTIPLE_CONNECTED_COMPONENTS"/> + <enumeration value="R_SE_ATTRIBUTES_EXISTING"/> + <enumeration value="R_SE_ATTRIBUTES_CORRECT"/> + </restriction> + </simpleType> + <simpleType name="ResultTypeType"> + <restriction base="string"> + <enumeration value="OK"/> + <enumeration value="ERROR"/> + <enumeration value="NOT_CHECKED"/> + </restriction> + </simpleType> + <element name="SEM_ATTRIBUTE_MISSING" substitutionGroup="qual:AbstractSemanticError" type="qual:SEM_ATTRIBUTE_MISSINGType"/> + <complexType name="SEM_ATTRIBUTE_MISSINGType"> + <complexContent> + <extension base="qual:AbstractSemanticErrorType"> + <sequence> + <element name="childId" type="string"/> + <element name="attributeName" type="string"/> + <element name="generic" type="boolean"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="SEM_ATTRIBUTE_MISSINGPropertyType"> + <sequence> + <element ref="qual:SEM_ATTRIBUTE_MISSING"/> + </sequence> + </complexType> + <element name="SEM_ATTRIBUTE_WRONG_VALUE" substitutionGroup="qual:AbstractSemanticError" type="qual:SEM_ATTRIBUTE_WRONG_VALUEType"/> + <complexType name="SEM_ATTRIBUTE_WRONG_VALUEType"> + <complexContent> + <extension base="qual:AbstractSemanticErrorType"> + <sequence> + <element name="childId" type="string"/> + <element name="attributeName" type="string"/> + <element name="generic" type="boolean"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="SEM_ATTRIBUTE_WRONG_VALUEPropertyType"> + <sequence> + <element ref="qual:SEM_ATTRIBUTE_WRONG_VALUE"/> + </sequence> + </complexType> + <element name="Statistics" substitutionGroup="gml:_Object" type="qual:StatisticsType"/> + <complexType name="StatisticsType"> + <sequence> + <element name="numErrorBuildings" type="qual:FeatureStatisticsPropertyType"/> + <element name="numErrorVegetation" type="qual:FeatureStatisticsPropertyType"/> + <element name="numErrorLandObjects" type="qual:FeatureStatisticsPropertyType"/> + <element name="numErrorBridgeObjects" type="qual:FeatureStatisticsPropertyType"/> + <element name="numErrorWaterObjects" type="qual:FeatureStatisticsPropertyType"/> + <element name="numErrorTransportation" type="qual:FeatureStatisticsPropertyType"/> + <element name="errorStatistics" type="qual:ErrorStatisticsPropertyType"/> + </sequence> + </complexType> + <complexType name="StatisticsPropertyType"> + <sequence> + <element ref="qual:Statistics"/> + </sequence> + </complexType> + <element name="Validation" substitutionGroup="gml:_Feature" type="qual:ValidationType"/> + <complexType name="ValidationType"> + <complexContent> + <extension base="gml:AbstractFeatureType"> + <sequence> + <element name="validationDate" type="dateTime"/> + <element name="validationSoftware" type="string"/> + <element minOccurs="0" name="statistics" type="qual:StatisticsPropertyType"/> + <element name="validationPlan" type="qual:ValidationPlanPropertyType"/> + </sequence> + </extension> + </complexContent> + </complexType> + <complexType name="ValidationPropertyType"> + <sequence minOccurs="0"> + <element ref="qual:Validation"/> + </sequence> + <attributeGroup ref="gml:AssociationAttributeGroup"/> + </complexType> + <element name="ValidationPlan" substitutionGroup="gml:_Object" type="qual:ValidationPlanType"/> + <complexType name="ValidationPlanType"> + <sequence> + <element name="globalParameters" type="qual:GlobalParametersPropertyType"/> + <element name="filter" type="qual:FilterPropertyType"/> + <element name="requirement" type="qual:RequirementPropertyType"/> + </sequence> + </complexType> + <complexType name="ValidationPlanPropertyType"> + <sequence> + <element ref="qual:ValidationPlan"/> + </sequence> + </complexType> + <element name="ValidationResult" substitutionGroup="gml:_Object" type="qual:ValidationResultType"/> + <complexType name="ValidationResultType"> + <sequence> + <element name="validationPlanID" type="qual:ValidationPropertyType"/> + <element maxOccurs="unbounded" minOccurs="0" name="error" type="qual:AbstractErrorPropertyType"/> + <element name="resultType" type="qual:ResultTypeType"/> + </sequence> + </complexType> + <complexType name="ValidationResultPropertyType"> + <sequence> + <element ref="qual:ValidationResult"/> + </sequence> + </complexType> + <element name="validationResult" substitutionGroup="core:_GenericApplicationPropertyOfCityObject" type="qual:ValidationResultPropertyType"/> +</schema> diff --git a/citygml4j-quality-ade/src/main/resources/qualityAde.xsd b/citygml4j-quality-ade/src/main/resources/qualityAde.xsd deleted file mode 100644 index 2ed1ec60d92f08b45d86f0470e23b600441acd86..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/resources/qualityAde.xsd +++ /dev/null @@ -1,584 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<schema xmlns="http://www.w3.org/2001/XMLSchema" - xmlns:qual="https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.3" - targetNamespace="https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.3" - xmlns:core="http://www.opengis.net/citygml/2.0" - xmlns:bldg="http://www.opengis.net/citygml/building/2.0" - xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" - version="1.0"> - <import namespace="http://www.opengis.net/citygml/2.0" - schemaLocation="http://schemas.opengis.net/citygml/2.0/cityGMLBase.xsd" /> - <import namespace="http://www.opengis.net/citygml/building/2.0" - schemaLocation="http://schemas.opengis.net/citygml/building/2.0/building.xsd" /> - <import - namespace="http://www.opengis.net/citygml/appearance/2.0" - schemaLocation="http://schemas.opengis.net/citygml/appearance/2.0/appearance.xsd" /> - <import namespace="http://www.opengis.net/citygml/generics/2.0" - schemaLocation="http://schemas.opengis.net/citygml/generics/2.0/generics.xsd" /> - <import namespace="http://www.opengis.net/gml" - schemaLocation="http://schemas.opengis.net/gml/2.1.2/gml.xsd" /> - - <element name="validationResult" - type="qual:validationResultType" - substitutionGroup="core:_GenericApplicationPropertyOfCityObject" /> - - <simpleType name="result" final="restriction"> - <annotation> - <documentation>Enumeration for status of check result</documentation> - </annotation> - <restriction base="string"> - <enumeration value="ERROR"> - <annotation> - <documentation>One or more errors were found</documentation> - </annotation> - </enumeration> - <enumeration value="NOT_CHECKED"> - <annotation> - <documentation>Feature was not checked</documentation> - </annotation> - </enumeration> - <enumeration value="OK"> - <annotation> - <documentation>No errors were found</documentation> - </annotation> - </enumeration> - </restriction> - </simpleType> - - <complexType name="ValidationError"> - </complexType> - - <complexType name="RingError"> - <complexContent> - <extension base="qual:ValidationError"> - <sequence> - <element name="linearRingId" type="string" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="GE_R_CONSECUTIVE_POINTS_SAME"> - <annotation> - <documentation>Consecutive point are the same</documentation> - </annotation> - <complexContent> - <extension base="qual:RingError"> - <sequence> - <element name="vertex1" type="gml:DirectPositionType" /> - <element name="vertex2" type="gml:DirectPositionType" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="GE_R_TOO_FEW_POINTS"> - <complexContent> - <extension base="qual:RingError" /> - </complexContent> - </complexType> - - <complexType name="GE_R_SELF_INTERSECTION"> - <complexContent> - <extension base="qual:RingError"> - <sequence> - <element name="type" type="qual:ringSelfIntType" /> - <element name="edge1" type="qual:edgeType" minOccurs="0" /> - <element name="edge2" type="qual:edgeType" minOccurs="0" /> - <element name="vertex1" type="gml:DirectPositionType" - minOccurs="0" /> - <element name="vertex2" type="gml:DirectPositionType" - minOccurs="0" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <simpleType name="ringSelfIntType"> - <restriction base="string"> - <enumeration value="DUPLICATE_POINT" /> - <enumeration value="POINT_TOUCHES_EDGE" /> - <enumeration value="EDGE_INTERSECTS_EDGE" /> - </restriction> - </simpleType> - - <complexType name="edgeType"> - <sequence> - <element name="from" type="gml:DirectPositionType" /> - <element name="to" type="gml:DirectPositionType" /> - </sequence> - </complexType> - - <complexType name="GE_R_NOT_CLOSED"> - <complexContent> - <extension base="qual:RingError" /> - </complexContent> - </complexType> - - <complexType name="PolygonError"> - <sequence> - <element name="polygonId" type="string" /> - </sequence> - </complexType> - - <complexType name="GE_P_INTERIOR_DISCONNECTED"> - <complexContent> - <extension base="qual:PolygonError" /> - </complexContent> - </complexType> - - <complexType name="GE_P_INTERSECTING_RINGS"> - <complexContent> - <extension base="qual:PolygonError"> - <sequence> - <element name="linearRingId1" type="string" /> - <element name="linearRingId2" type="string" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="GE_P_INNER_RINGS_NESTED"> - <complexContent> - <extension base="qual:PolygonError"> - <sequence> - <element name="linearRingId1" type="string" /> - <element name="linearRingId2" type="string" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="GE_P_HOLE_OUTSIDE"> - <complexContent> - <extension base="qual:PolygonError"> - <sequence> - <element name="linearRingId" type="string" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType - name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION"> - <complexContent> - <extension base="qual:PolygonError"> - <sequence> - <element name="deviation" type="gml:AngleType"></element> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="GE_P_ORIENTATION_RINGS_SAME"> - <complexContent> - <extension base="qual:PolygonError"> - <sequence> - <element name="linearRingId" type="string" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="SolidError"> - <sequence> - <element name="geometryId" type="string" /> - </sequence> - </complexType> - - <complexType name="GE_S_ALL_POLYGONS_WRONG_ORIENTATION"> - <complexContent> - <extension base="qual:SolidError" /> - </complexContent> - </complexType> - - <complexType name="GE_S_POLYGON_WRONG_ORIENTATION"> - <complexContent> - <extension base="qual:SolidError"> - <sequence> - <element name="edges" type="qual:EdgeList" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="EdgeList"> - <sequence> - <element name="edge" type="qual:edgeType" - maxOccurs="unbounded" /> - </sequence> - </complexType> - - <complexType name="GE_S_SELF_INTERSECTION"> - <complexContent> - <extension base="qual:SolidError"> - <sequence> - <element name="polygonId1" type="string" /> - <element name="polygonId2" type="string" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="GE_S_NON_MANIFOLD_VERTEX"> - <complexContent> - <extension base="qual:SolidError"> - <sequence> - <element name="vertex" type="gml:DirectPositionType" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="GE_S_NON_MANIFOLD_EDGE"> - <complexContent> - <extension base="qual:SolidError"> - <sequence> - <element name="edges" type="qual:EdgeList" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="GE_S_NOT_CLOSED"> - <complexContent> - <extension base="qual:SolidError"> - <sequence> - <element name="edges" type="qual:EdgeList" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="GE_S_TOO_FEW_POLYGONS"> - <complexContent> - <extension base="qual:SolidError" /> - </complexContent> - </complexType> - - <complexType name="GE_S_MULTIPLE_CONNECTED_COMPONENTS"> - <complexContent> - <extension base="qual:SolidError"> - <sequence> - <element name="components" type="qual:ComponentList" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="ComponentList"> - <sequence> - <element name="component" type="qual:componentType" - maxOccurs="unbounded" /> - </sequence> - </complexType> - - <complexType name="componentType"> - <sequence> - <element name="polygonId" type="string" maxOccurs="unbounded" /> - </sequence> - </complexType> - - <complexType name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE"> - <annotation> - <documentation>A planarity error with a point too far from the - regression plane - </documentation> - </annotation> - <complexContent> - <extension base="qual:PolygonError"> - <sequence> - <element name="vertex" type="gml:DirectPositionType" /> - <element name="distance" type="gml:LengthType" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="SemanticError"> - </complexType> - - <complexType name="SE_ATTRIBUTE_WRONG_VALUE"> - <complexContent> - <extension base="qual:SemanticError"> - <sequence> - <element name="childId" type="string" minOccurs="0" /> - <element name="attributeName" type="string" /> - <element name="generic" type="boolean" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="SE_ATTRIBUTE_MISSING"> - <complexContent> - <extension base="qual:SemanticError"> - <sequence> - <element name="childId" type="string" minOccurs="0" /> - <element name="attributeName" type="string" /> - <element name="generic" type="boolean" /> - </sequence> - </extension> - </complexContent> - </complexType> - - <complexType name="validationResultType"> - <annotation> - <documentation>Data structure containing validation results for - features - </documentation> - </annotation> - - - <sequence> - <element name="GE_P_HOLE_OUTSIDE" - type="qual:GE_P_HOLE_OUTSIDE" minOccurs="0" maxOccurs="unbounded" /> - <element name="GE_P_INNER_RINGS_NESTED" - type="qual:GE_P_INNER_RINGS_NESTED" minOccurs="0" - maxOccurs="unbounded" /> - <element name="GE_P_INTERIOR_DISCONNECTED" - type="qual:GE_P_INTERIOR_DISCONNECTED" minOccurs="0" - maxOccurs="unbounded" /> - <element name="GE_P_INTERSECTING_RINGS" - type="qual:GE_P_INTERSECTING_RINGS" minOccurs="0" - maxOccurs="unbounded" /> - <element name="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE" - type="qual:GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE" minOccurs="0" - maxOccurs="unbounded" /> - <element name="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION" - type="qual:GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION" minOccurs="0" - maxOccurs="unbounded" /> - <element name="GE_P_ORIENTATION_RINGS_SAME" - type="qual:GE_P_ORIENTATION_RINGS_SAME" minOccurs="0" - maxOccurs="unbounded" /> - - <element name="GE_R_CONSECUTIVE_POINTS_SAME" - type="qual:GE_R_CONSECUTIVE_POINTS_SAME" minOccurs="0" - maxOccurs="unbounded" /> - <element name="GE_R_NOT_CLOSED" type="qual:GE_R_NOT_CLOSED" - minOccurs="0" maxOccurs="unbounded" /> - <element name="GE_R_SELF_INTERSECTION" - type="qual:GE_R_SELF_INTERSECTION" minOccurs="0" - maxOccurs="unbounded" /> - <element name="GE_R_TOO_FEW_POINTS" - type="qual:GE_R_TOO_FEW_POINTS" minOccurs="0" maxOccurs="unbounded" /> - - <element name="GE_S_ALL_POLYGONS_WRONG_ORIENTATION" - type="qual:GE_S_ALL_POLYGONS_WRONG_ORIENTATION" minOccurs="0" - maxOccurs="unbounded" /> - <element name="GE_S_MULTIPLE_CONNECTED_COMPONENTS" - type="qual:GE_S_MULTIPLE_CONNECTED_COMPONENTS" minOccurs="0" - maxOccurs="unbounded" /> - <element name="GE_S_NON_MANIFOLD_EDGE" - type="qual:GE_S_NON_MANIFOLD_EDGE" minOccurs="0" - maxOccurs="unbounded" /> - <element name="GE_S_NON_MANIFOLD_VERTEX" - type="qual:GE_S_NON_MANIFOLD_VERTEX" minOccurs="0" - maxOccurs="unbounded" /> - <element name="GE_S_NOT_CLOSED" type="qual:GE_S_NOT_CLOSED" - minOccurs="0" maxOccurs="unbounded" /> - <element name="GE_S_POLYGON_WRONG_ORIENTATION" - type="qual:GE_S_POLYGON_WRONG_ORIENTATION" minOccurs="0" - maxOccurs="unbounded" /> - <element name="GE_S_SELF_INTERSECTION" - type="qual:GE_S_SELF_INTERSECTION" minOccurs="0" - maxOccurs="unbounded" /> - <element name="GE_S_TOO_FEW_POLYGONS" - type="qual:GE_S_TOO_FEW_POLYGONS" minOccurs="0" - maxOccurs="unbounded" /> - - <element name="SE_ATTRIBUTE_MISSING" - type="qual:SE_ATTRIBUTE_MISSING" minOccurs="0" maxOccurs="unbounded" /> - <element name="SE_ATTRIBUTE_WRONG_VALUE" - type="qual:SE_ATTRIBUTE_WRONG_VALUE" minOccurs="0" - maxOccurs="unbounded" /> - </sequence> - <attribute name="result" type="qual:result" /> - </complexType> - - <simpleType name="requirementID" final="restriction"> - <annotation> - <documentation>Enumeration for available requirements</documentation> - </annotation> - <restriction base="string"> - <enumeration value="R_GE_R_TOO_FEW_POINTS" /> - <enumeration value="R_GE_R_NOT_CLOSED" /> - <enumeration value="R_GE_R_CONSECUTIVE_POINTS_SAME" /> - <enumeration value="R_GE_R_SELF_INTERSECTION" /> - <enumeration value="R_GE_P_NON_PLANAR" /> - <enumeration value="R_GE_P_INTERIOR_DISCONNECTED" /> - <enumeration value="R_GE_P_INTERSECTING_RINGS" /> - <enumeration value="R_GE_P_HOLE_OUTSIDE" /> - <enumeration value="R_GE_P_ORIENTATION_RINGS_SAME" /> - <enumeration value="R_GE_P_INNER_RINGS_NESTED" /> - <enumeration value="R_GE_S_TOO_FEW_POLYGONS" /> - <enumeration value="R_GE_S_NOT_CLOSED" /> - <enumeration value="R_GE_S_NON_MANIFOLD_EDGE" /> - <enumeration value="R_GE_S_POLYGON_WRONG_ORIENTATION" /> - <enumeration - value="R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION" /> - <enumeration value="R_GE_S_NON_MANIFOLD_VERTEX" /> - <enumeration value="R_GE_S_SELF_INTERSECTION" /> - <enumeration value="R_GE_S_MULTIPLE_CONNECTED_COMPONENTS" /> - <enumeration value="R_SE_ATTRIBUTES_EXISTING" /> - <enumeration value="R_SE_ATTRIBUTES_CORRECT" /> - </restriction> - </simpleType> - - <complexType name="parameter"> - <simpleContent> - <extension base="string"> - <attribute name="name" type="string" use="required" /> - <attribute name="uom" type="string" use="optional" /> - </extension> - </simpleContent> - </complexType> - - <complexType name="requirementType"> - <annotation> - <documentation>Requirement structure for configuration purposes - </documentation> - </annotation> - <sequence> - <element name="parameter" type="qual:parameter" minOccurs="0" - maxOccurs="unbounded" /> - </sequence> - <attribute name="name" type="qual:requirementID" /> - <attribute name="enabled" type="boolean" /> - </complexType> - - <complexType name="validationPlanType"> - <annotation> - <documentation>Validation plan structure containing information about - the parameters used to perform the checks - </documentation> - </annotation> - <sequence> - <element name="globalParameters" - type="qual:globalParameterType" /> - <element name="requirement" type="qual:requirementType" - maxOccurs="unbounded" /> - <element name="filter" type="qual:filterType" minOccurs="1" - maxOccurs="1" /> - </sequence> - </complexType> - - <complexType name="filterType"> - <sequence> - <element name="checking" type="qual:featureType" - minOccurs="0" maxOccurs="unbounded" /> - </sequence> - </complexType> - - <simpleType name="featureType"> - <restriction base="string"> - <enumeration value="BUILDING"></enumeration> - <enumeration value="TRANSPORTATION"></enumeration> - <enumeration value="VEGETATION"></enumeration> - <enumeration value="BRIDGE"></enumeration> - <enumeration value="WATER"></enumeration> - <enumeration value="LAND"></enumeration> - </restriction> - </simpleType> - - <complexType name="globalParameterType"> - <sequence> - <element name="parameter" type="qual:parameter" - maxOccurs="unbounded" /> - </sequence> - </complexType> - - <complexType name="statisticsType"> - <annotation> - <documentation>Statistics structure containing information about end - result of checking process - </documentation> - </annotation> - <sequence> - <element name="numErrorBuildings" - type="qual:featureStatistics" /> - <element name="numErrorVegetation" - type="qual:featureStatistics" /> - <element name="numErrorLandObjects" - type="qual:featureStatistics" /> - <element name="numErrorBridgeObjects" - type="qual:featureStatistics" /> - <element name="numErrorWaterObjects" - type="qual:featureStatistics" /> - <element name="numErrorTransportation" - type="qual:featureStatistics" /> - <element name="errorStatistics" - type="qual:errorStatisticsType" /> - </sequence> - </complexType> - - <complexType name="errorStatisticsType"> - <sequence> - <element name="error" type="qual:errorType" minOccurs="0" - maxOccurs="unbounded" /> - </sequence> - </complexType> - - <complexType name="errorType"> - <simpleContent> - <extension base="int"> - <attribute name="name" type="qual:errorId"></attribute> - </extension> - </simpleContent> - </complexType> - - <simpleType name="errorId"> - <restriction base="string"> - <enumeration value="GE_R_TOO_FEW_POINTS" /> - <enumeration value="GE_R_NOT_CLOSED" /> - <enumeration value="GE_R_CONSECUTIVE_POINTS_SAME" /> - <enumeration value="GE_R_SELF_INTERSECTION" /> - <enumeration - value="GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION" /> - <enumeration - value="GE_P_NON_PLANAR_POLYGON_DISTANCE_PLANE" /> - <enumeration value="GE_P_INTERIOR_DISCONNECTED" /> - <enumeration value="GE_P_INTERSECTING_RINGS" /> - <enumeration value="GE_P_HOLE_OUTSIDE" /> - <enumeration value="GE_P_ORIENTATION_RINGS_SAME" /> - <enumeration value="GE_P_INNER_RINGS_NESTED" /> - <enumeration value="GE_S_TOO_FEW_POLYGONS" /> - <enumeration value="GE_S_NOT_CLOSED" /> - <enumeration value="GE_S_NON_MANIFOLD_EDGE" /> - <enumeration value="GE_S_POLYGON_WRONG_ORIENTATION" /> - <enumeration value="GE_S_ALL_POLYGONS_WRONG_ORIENTATION" /> - <enumeration value="GE_S_NON_MANIFOLD_VERTEX" /> - <enumeration value="GE_S_SELF_INTERSECTION" /> - <enumeration value="GE_S_MULTIPLE_CONNECTED_COMPONENTS" /> - <enumeration value="SE_ATTRIBUTE_WRONG_VALUE" /> - <enumeration value="SE_ATTRIBUTE_MISSING" /> - </restriction> - </simpleType> - - <complexType name="featureStatistics"> - <simpleContent> - <extension base="int"> - <attribute name="numChecked" type="int" /> - </extension> - </simpleContent> - </complexType> - - <element name="validation" type="qual:validationType" - substitutionGroup="core:_GenericApplicationPropertyOfCityModel" /> - - <complexType name="validationType"> - <annotation> - <documentation>Data structure containing the validation plan and - statistics of a validation process - </documentation> - </annotation> - <sequence> - <element name="validationDate" type="dateTime" /> - <element name="validationSoftware" type="string" /> - <element name="validationPlan" type="qual:validationPlanType" - maxOccurs="1" /> - <element name="statistics" type="qual:statisticsType" - maxOccurs="1" /> - </sequence> - </complexType> -</schema> \ No newline at end of file diff --git a/citygml4j-quality-ade/src/test/java/de/hft/stuttgart/quality/QualityAdeTests.java b/citygml4j-quality-ade/src/test/java/de/hft/stuttgart/quality/QualityAdeTests.java deleted file mode 100644 index 1eff2866148f92db5f4fedf0d1da531dbb082b96..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/test/java/de/hft/stuttgart/quality/QualityAdeTests.java +++ /dev/null @@ -1,1409 +0,0 @@ -/*- - * Copyright 2020 Hochschule für Technik Stuttgart - * - * 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 - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package de.hft.stuttgart.quality; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.InputStream; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.time.ZonedDateTime; -import java.util.List; -import java.util.ServiceLoader; - -import org.citygml4j.CityGMLContext; -import org.citygml4j.builder.jaxb.CityGMLBuilder; -import org.citygml4j.builder.jaxb.CityGMLBuilderException; -import org.citygml4j.model.citygml.ade.ADEComponent; -import org.citygml4j.model.citygml.ade.ADEException; -import org.citygml4j.model.citygml.ade.binding.ADEContext; -import org.citygml4j.model.citygml.building.Building; -import org.citygml4j.model.citygml.core.AbstractCityObject; -import org.citygml4j.model.citygml.core.CityModel; -import org.citygml4j.model.citygml.core.CityObjectMember; -import org.citygml4j.model.gml.geometry.primitives.DirectPosition; -import org.citygml4j.model.gml.measures.Angle; -import org.citygml4j.model.gml.measures.Length; -import org.citygml4j.model.module.citygml.CityGMLVersion; -import org.citygml4j.xml.io.CityGMLInputFactory; -import org.citygml4j.xml.io.CityGMLOutputFactory; -import org.citygml4j.xml.io.reader.CityGMLReadException; -import org.citygml4j.xml.io.reader.CityGMLReader; -import org.citygml4j.xml.io.reader.FeatureReadMode; -import org.citygml4j.xml.io.writer.CityGMLWriteException; -import org.citygml4j.xml.io.writer.CityGMLWriter; -import org.junit.jupiter.api.Test; - -import de.hft.stuttgart.quality.model.AllPolygonsWrongOrientation; -import de.hft.stuttgart.quality.model.AttributeMissing; -import de.hft.stuttgart.quality.model.AttributeWrongValue; -import de.hft.stuttgart.quality.model.ConsecutivePointsSame; -import de.hft.stuttgart.quality.model.Edge; -import de.hft.stuttgart.quality.model.HoleOutside; -import de.hft.stuttgart.quality.model.InnerRingsNested; -import de.hft.stuttgart.quality.model.InteriorDisconnected; -import de.hft.stuttgart.quality.model.IntersectingRings; -import de.hft.stuttgart.quality.model.MultipleConnectedComponents; -import de.hft.stuttgart.quality.model.NonManifoldEdge; -import de.hft.stuttgart.quality.model.NonManifoldVertex; -import de.hft.stuttgart.quality.model.NonPlanarDistancePlane; -import de.hft.stuttgart.quality.model.NonPlanarNormalsDeviation; -import de.hft.stuttgart.quality.model.OrientationRingsSame; -import de.hft.stuttgart.quality.model.PolygonWrongOrientation; -import de.hft.stuttgart.quality.model.RingNotClosed; -import de.hft.stuttgart.quality.model.RingSelfIntersection; -import de.hft.stuttgart.quality.model.SolidNotClosed; -import de.hft.stuttgart.quality.model.TooFewPoints; -import de.hft.stuttgart.quality.model.TooFewPolygons; -import de.hft.stuttgart.quality.model.Validation; -import de.hft.stuttgart.quality.model.ValidationError; -import de.hft.stuttgart.quality.model.ValidationResult; -import de.hft.stuttgart.quality.model.jaxb.Checking; -import de.hft.stuttgart.quality.model.jaxb.Component; -import de.hft.stuttgart.quality.model.jaxb.ErrorId; -import de.hft.stuttgart.quality.model.jaxb.ErrorStatistics; -import de.hft.stuttgart.quality.model.jaxb.FeatureStatistics; -import de.hft.stuttgart.quality.model.jaxb.Parameter; -import de.hft.stuttgart.quality.model.jaxb.Requirement; -import de.hft.stuttgart.quality.model.jaxb.RequirementId; -import de.hft.stuttgart.quality.model.jaxb.ResultType; -import de.hft.stuttgart.quality.model.jaxb.RingSelfIntType; -import de.hft.stuttgart.quality.model.jaxb.Statistics; -import de.hft.stuttgart.quality.model.jaxb.TopLevelFeatureType; -import de.hft.stuttgart.quality.model.jaxb.ValidationPlan; - -class QualityAdeTests { - - @Test - void testReadingConsecutiveSameError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_Error_QualityADE.gml"); - testValidationPlan(cityModel); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - assertEquals(1, cityObjectMember.size()); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - assertNotNull(aco); - assertTrue(aco instanceof Building); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - assertTrue(resultComp instanceof ValidationResult); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - assertEquals(1, errors.size()); - ValidationError validationError = errors.get(0); - assertTrue(validationError instanceof ConsecutivePointsSame); - ConsecutivePointsSame err = (ConsecutivePointsSame) validationError; - assertEquals("_Simple_BD.1_PG.6_LR.1", err.getLinearRingId()); - Double x1 = err.getVertex1().getValue().get(0); - assertEquals(11.5, x1, 0.0000001); - Double x2 = err.getVertex2().getValue().get(0); - assertEquals(11.5, x2, 0.0000001); - } - - @Test - void testReadingTooFewPointsError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_TooFewPoints.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - assertTrue(validationError instanceof TooFewPoints); - TooFewPoints err = (TooFewPoints) validationError; - assertEquals("_Simple_BD.1_PG.6_LR.1", err.getLinearRingId()); - } - - @Test - void testReadingRingSelfIntersectionError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_RingSelfIntersection.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - assertTrue(validationError instanceof RingSelfIntersection); - RingSelfIntersection err = (RingSelfIntersection) validationError; - assertEquals("_Simple_BD.1_PG.6_LR.1", err.getLinearRingId()); - assertEquals(RingSelfIntType.POINT_TOUCHES_EDGE, err.getType()); - assertNull(err.getEdge2()); - Edge edge1 = err.getEdge1(); - assertEquals(10.0, edge1.getFrom().getValue().get(0), 0.000001); - assertEquals(11.0, edge1.getTo().getValue().get(0), 0.000001); - assertEquals(5.0, err.getVertex1().getValue().get(0)); - assertNull(err.getVertex2()); - } - - @Test - void testReadingRingNotClosedError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_RingNotClosed.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - assertTrue(validationError instanceof RingNotClosed); - RingNotClosed err = (RingNotClosed) validationError; - assertEquals("_Simple_BD.1_PG.6_LR.1", err.getLinearRingId()); - } - - @Test - void testReadingInteriorDisconnectedError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_InteriorDisconnected.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof InteriorDisconnected); - InteriorDisconnected err = (InteriorDisconnected) validationError; - assertEquals("_Simple_BD.1_PG.1", err.getPolygonId()); - } - - @Test - void testReadingIntersectingRingsError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_IntersectingRings.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof IntersectingRings); - IntersectingRings err = (IntersectingRings) validationError; - assertEquals("_Simple_BD.1_PG.1", err.getPolygonId()); - assertEquals("_Simple_BD.1_PG.1_Ring1", err.getLinearRingId1()); - assertEquals("_Simple_BD.1_PG.1_Ring2", err.getLinearRingId2()); - } - - @Test - void testReadingNonPlanarPolygonDistancePlaneError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_NonPlanarPolygonDistancePlane.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof NonPlanarDistancePlane); - NonPlanarDistancePlane err = (NonPlanarDistancePlane) validationError; - assertEquals("_Simple_BD.1_PG.1", err.getPolygonId()); - assertEquals(1.0, err.getVertex().getValue().get(0), 0.000001); - assertEquals(0.001, err.getDistance().getValue(), 0.000001); - assertEquals("m", err.getDistance().getUom()); - } - - @Test - void testReadingInnerRingsNestedError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_InnerRingNested.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof InnerRingsNested); - InnerRingsNested err = (InnerRingsNested) validationError; - assertEquals("_Simple_BD.1_PG.1", err.getPolygonId()); - assertEquals("_Simple_BD.1_PG.1_Ring1", err.getLinearRingId1()); - assertEquals("_Simple_BD.1_PG.1_Ring2", err.getLinearRingId2()); - } - - @Test - void testReadingHoleOutsideError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_HoleOutside.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof HoleOutside); - HoleOutside err = (HoleOutside) validationError; - assertEquals("_Simple_BD.1_PG.1", err.getPolygonId()); - assertEquals("_Simple_BD.1_PG.1_Ring1", err.getLinearRingId()); - } - - @Test - void testReadingNonPlanarNormalsDeviationError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_NonPlanarPolygonNormalsDeviation.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof NonPlanarNormalsDeviation); - NonPlanarNormalsDeviation err = (NonPlanarNormalsDeviation) validationError; - assertEquals("_Simple_BD.1_PG.1", err.getPolygonId()); - assertEquals(1.0, err.getDeviation().getValue()); - assertEquals("deg", err.getDeviation().getUom()); - } - - @Test - void testReadingOrientationRingsSameError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_OrientationRingsSame.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof OrientationRingsSame); - OrientationRingsSame err = (OrientationRingsSame) validationError; - assertEquals("_Simple_BD.1_PG.1", err.getPolygonId()); - assertEquals("_Simple_BD.1_PG.1_Ring1", err.getLinearRingId()); - } - - @Test - void testReadingAllPolygonsWrongOrientationError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_AllPolygonsWrongOrientation.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof AllPolygonsWrongOrientation); - AllPolygonsWrongOrientation err = (AllPolygonsWrongOrientation) validationError; - assertEquals("_Simple_BD.1_Geom1", err.getGeometryId()); - } - - @Test - void testReadingPolygonWrongOrientationError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_PolygonWrongOrientation.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof PolygonWrongOrientation); - PolygonWrongOrientation err = (PolygonWrongOrientation) validationError; - assertEquals("_Simple_BD.1_Geom1", err.getGeometryId()); - assertFalse(err.getEdges().isEmpty()); - List<Edge> edges = err.getEdges(); - Edge edge = edges.get(0); - DirectPosition from = edge.getFrom(); - assertEquals(10.0, from.getValue().get(0), 0.000001); - assertEquals(11.0, edge.getTo().getValue().get(0), 0.000001); - } - - @Test - void testReadingNonManifoldVertexError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_NonManifoldVertex.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof NonManifoldVertex); - NonManifoldVertex err = (NonManifoldVertex) validationError; - assertEquals("_Simple_BD.1_Geom1", err.getGeometryId()); - DirectPosition vertex = err.getVertex(); - assertEquals(1.0, vertex.getValue().get(0), 0.000001); - } - - @Test - void testReadingNonManifoldEdgeError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_NonManifoldEdge.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof NonManifoldEdge); - NonManifoldEdge err = (NonManifoldEdge) validationError; - assertEquals("_Simple_BD.1_Geom1", err.getGeometryId()); - assertFalse(err.getEdges().isEmpty()); - List<Edge> edges = err.getEdges(); - Edge edge = edges.get(0); - DirectPosition from = edge.getFrom(); - assertEquals(10.0, from.getValue().get(0), 0.000001); - assertEquals(11.0, edge.getTo().getValue().get(0), 0.000001); - } - - @Test - void testReadingSolidNotClosedError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_SolidNotClosed.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof SolidNotClosed); - SolidNotClosed err = (SolidNotClosed) validationError; - assertEquals("_Simple_BD.1_Geom1", err.getGeometryId()); - assertFalse(err.getEdges().isEmpty()); - List<Edge> edges = err.getEdges(); - Edge edge = edges.get(0); - DirectPosition from = edge.getFrom(); - assertEquals(10.0, from.getValue().get(0), 0.000001); - assertEquals(11.0, edge.getTo().getValue().get(0), 0.000001); - } - - @Test - void testReadingTooFewPolygonsError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_TooFewPolygons.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof TooFewPolygons); - TooFewPolygons err = (TooFewPolygons) validationError; - assertEquals("_Simple_BD.1_Geom1", err.getGeometryId()); - } - - @Test - void testReadingMultipleConnectedComponentsError() - throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { - CityModel cityModel = readCityGml("src/test/resources/SimpleSolid_MultipleConnectedComponents.gml"); - - List<CityObjectMember> cityObjectMember = cityModel.getCityObjectMember(); - CityObjectMember com = cityObjectMember.get(0); - AbstractCityObject aco = com.getCityObject(); - Building b = (Building) aco; - - List<ADEComponent> gen = b.getGenericApplicationPropertyOfCityObject(); - ADEComponent resultComp = gen.get(0); - ValidationResult result = (ValidationResult) resultComp; - assertEquals(ResultType.ERROR, result.getResult()); - assertFalse(result.getErrors().isEmpty()); - List<ValidationError> errors = result.getErrors(); - ValidationError validationError = errors.get(0); - - assertTrue(validationError instanceof MultipleConnectedComponents); - MultipleConnectedComponents err = (MultipleConnectedComponents) validationError; - assertEquals("_Simple_BD.1_Geom1", err.getGeometryId()); - assertEquals("_Simple_BD.1_PG.1", err.getComponents().get(0).getPolygonIds().get(0)); - assertEquals("_Simple_BD.1_PG.2", err.getComponents().get(0).getPolygonIds().get(1)); - assertEquals("_Simple_BD.1_PG.3", err.getComponents().get(1).getPolygonIds().get(0)); - assertEquals("_Simple_BD.1_PG.4", err.getComponents().get(1).getPolygonIds().get(1)); - } - - @Test - void testWritingAttributeMissingError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - AttributeMissing error = new AttributeMissing(); - error.setAttributeName("TestName"); - error.setChildId("TestId"); - error.setGeneric(true); - result.getErrors().add(error); - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - AttributeMissing error2 = (AttributeMissing) valError; - assertEquals(error.getAttributeName(), error2.getAttributeName()); - assertEquals(error.getChildId(), error2.getChildId()); - assertEquals(error.isGeneric(), error2.isGeneric()); - } - - @Test - void testWritingAttributeWrongValueError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - AttributeWrongValue error = new AttributeWrongValue(); - error.setAttributeName("TestName"); - error.setChildId("TestId"); - error.setGeneric(true); - result.getErrors().add(error); - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - AttributeWrongValue error2 = (AttributeWrongValue) valError; - assertEquals(error.getAttributeName(), error2.getAttributeName()); - assertEquals(error.getChildId(), error2.getChildId()); - assertEquals(error.isGeneric(), error2.isGeneric()); - } - - @Test - void testWritingMultipleConnectedComponentsError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - MultipleConnectedComponents error = new MultipleConnectedComponents(); - error.setGeometryId("TestGeometry"); - Component c1 = new Component(); - c1.getPolygonIds().add("TestPoly"); - error.getComponents().add(c1); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - MultipleConnectedComponents error2 = (MultipleConnectedComponents) valError; - assertEquals(error.getGeometryId(), error2.getGeometryId()); - assertEquals(error.getComponents().get(0).getPolygonIds().get(0), - error2.getComponents().get(0).getPolygonIds().get(0)); - } - - @Test - void testWritingTooFewPolygonsError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - TooFewPolygons error = new TooFewPolygons(); - error.setGeometryId("TestGeometry"); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - TooFewPolygons error2 = (TooFewPolygons) valError; - assertEquals(error.getGeometryId(), error2.getGeometryId()); - } - - @Test - void testWritingSolidNotClosedError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - SolidNotClosed error = new SolidNotClosed(); - error.setGeometryId("TestGeometry"); - DirectPosition from = new DirectPosition(); - from.getValue().add(10.0); - DirectPosition to = new DirectPosition(); - to.getValue().add(11.0); - Edge e = new Edge(); - e.setFrom(from); - e.setTo(to); - error.getEdges().add(e); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - SolidNotClosed error2 = (SolidNotClosed) valError; - assertEquals(error.getGeometryId(), error2.getGeometryId()); - Edge edge = error.getEdges().get(0); - assertEquals(edge.getFrom().getValue().get(0), e.getFrom().getValue().get(0), 0.00001); - assertEquals(edge.getTo().getValue().get(0), e.getTo().getValue().get(0), 0.00001); - } - - @Test - void testWritingNonManifoldEdgeError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - NonManifoldEdge error = new NonManifoldEdge(); - error.setGeometryId("TestGeometry"); - DirectPosition from = new DirectPosition(); - from.getValue().add(10.0); - DirectPosition to = new DirectPosition(); - to.getValue().add(11.0); - Edge e = new Edge(); - e.setFrom(from); - e.setTo(to); - error.getEdges().add(e); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - NonManifoldEdge error2 = (NonManifoldEdge) valError; - assertEquals(error.getGeometryId(), error2.getGeometryId()); - Edge edge = error.getEdges().get(0); - assertEquals(edge.getFrom().getValue().get(0), e.getFrom().getValue().get(0), 0.00001); - assertEquals(edge.getTo().getValue().get(0), e.getTo().getValue().get(0), 0.00001); - } - - @Test - void testWritingNonManifoldVertexError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - NonManifoldVertex error = new NonManifoldVertex(); - error.setGeometryId("TestGeometry"); - DirectPosition vertex = new DirectPosition(); - vertex.getValue().add(10.0); - error.setVertex(vertex); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - NonManifoldVertex error2 = (NonManifoldVertex) valError; - assertEquals(error.getGeometryId(), error2.getGeometryId()); - assertEquals(error.getVertex().getValue().get(0), error2.getVertex().getValue().get(0)); - } - - @Test - void testWritingPolygonWrongOrientationError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - PolygonWrongOrientation error = new PolygonWrongOrientation(); - error.setGeometryId("TestGeometry"); - DirectPosition from = new DirectPosition(); - from.getValue().add(10.0); - DirectPosition to = new DirectPosition(); - to.getValue().add(11.0); - Edge e = new Edge(); - e.setFrom(from); - e.setTo(to); - error.getEdges().add(e); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - PolygonWrongOrientation error2 = (PolygonWrongOrientation) valError; - assertEquals(error.getGeometryId(), error2.getGeometryId()); - Edge edge = error.getEdges().get(0); - assertEquals(edge.getFrom().getValue().get(0), e.getFrom().getValue().get(0), 0.00001); - assertEquals(edge.getTo().getValue().get(0), e.getTo().getValue().get(0), 0.00001); - } - - @Test - void testWritingAllPolygonsWrongOrientationError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - AllPolygonsWrongOrientation error = new AllPolygonsWrongOrientation(); - error.setGeometryId("TestGeometry"); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - AllPolygonsWrongOrientation error2 = (AllPolygonsWrongOrientation) valError; - assertEquals(error.getGeometryId(), error2.getGeometryId()); - } - - @Test - void testWritingOrientationRingsSameError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - OrientationRingsSame error = new OrientationRingsSame(); - error.setPolygonId("TestPolygon"); - error.setLinearRingId("TestRing"); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - OrientationRingsSame error2 = (OrientationRingsSame) valError; - assertEquals(error.getPolygonId(), error2.getPolygonId()); - assertEquals(error.getLinearRingId(), error2.getLinearRingId()); - } - - @Test - void testWritingNonPlanarNormalsDeviationError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - NonPlanarNormalsDeviation error = new NonPlanarNormalsDeviation(); - error.setPolygonId("TestPolygon"); - Angle deviation = new Angle(); - deviation.setValue(1.0); - deviation.setUom("deg"); - error.setDeviation(deviation); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - NonPlanarNormalsDeviation error2 = (NonPlanarNormalsDeviation) valError; - assertEquals(error.getPolygonId(), error2.getPolygonId()); - assertEquals(error.getDeviation().getValue(), error2.getDeviation().getValue()); - assertEquals(error.getDeviation().getUom(), error2.getDeviation().getUom()); - } - - @Test - void testWritingHoleOutsideError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - HoleOutside error = new HoleOutside(); - error.setPolygonId("TestPolygon"); - error.setLinearRingId("TestRing1"); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - HoleOutside error2 = (HoleOutside) valError; - assertEquals(error.getPolygonId(), error2.getPolygonId()); - assertEquals(error.getLinearRingId(), error2.getLinearRingId()); - } - - @Test - void testWritingInnerRingsNestedError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - InnerRingsNested error = new InnerRingsNested(); - error.setPolygonId("TestPolygon"); - error.setLinearRingId1("TestRing1"); - error.setLinearRingId2("TestRing2"); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - InnerRingsNested error2 = (InnerRingsNested) valError; - assertEquals(error.getPolygonId(), error2.getPolygonId()); - assertEquals(error.getLinearRingId1(), error2.getLinearRingId1()); - assertEquals(error.getLinearRingId2(), error2.getLinearRingId2()); - } - - @Test - void testWritingNonPlanarDistancePlaneError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - NonPlanarDistancePlane error = new NonPlanarDistancePlane(); - error.setPolygonId("TestPolygon"); - DirectPosition vertex = new DirectPosition(); - vertex.getValue().add(1.0); - error.setVertex(vertex); - Length distance = new Length(0.1); - distance.setUom("m"); - error.setDistance(distance); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - NonPlanarDistancePlane error2 = (NonPlanarDistancePlane) valError; - assertEquals(error.getPolygonId(), error2.getPolygonId()); - assertEquals(error.getVertex().getValue().get(0), error2.getVertex().getValue().get(0), 0.00001); - assertEquals(error.getDistance().getValue(), error2.getDistance().getValue(), 0.00001); - } - - @Test - void testWritingIntersectingRingsError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - IntersectingRings error = new IntersectingRings(); - error.setPolygonId("TestPolygon"); - error.setLinearRingId1("TestRing1"); - error.setLinearRingId2("TestRing2"); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - IntersectingRings error2 = (IntersectingRings) valError; - assertEquals(error.getPolygonId(), error2.getPolygonId()); - assertEquals(error.getLinearRingId1(), error2.getLinearRingId1()); - assertEquals(error.getLinearRingId2(), error2.getLinearRingId2()); - } - - @Test - void testWritingInteriorDisconnectedError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - InteriorDisconnected error = new InteriorDisconnected(); - error.setPolygonId("TestPolygon"); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - InteriorDisconnected error2 = (InteriorDisconnected) valError; - assertEquals(error.getPolygonId(), error2.getPolygonId()); - } - - @Test - void testWritingRingNotClosedError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - RingNotClosed error = new RingNotClosed(); - error.setLinearRingId("TestRing"); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - RingNotClosed error2 = (RingNotClosed) valError; - assertEquals(error.getLinearRingId(), error2.getLinearRingId()); - } - - @Test - void testWritingTooFewPointsError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - TooFewPoints error = new TooFewPoints(); - error.setLinearRingId("TestRing"); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - TooFewPoints error2 = (TooFewPoints) valError; - assertEquals(error.getLinearRingId(), error2.getLinearRingId()); - } - - @Test - void testWritingConsecutiveSameError() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - - ConsecutivePointsSame error = new ConsecutivePointsSame(); - error.setLinearRingId("TestRing"); - DirectPosition vertex1 = new DirectPosition(); - vertex1.getValue().add(10.0); - vertex1.getValue().add(5.0); - vertex1.getValue().add(7.0); - error.setVertex1(vertex1); - DirectPosition vertex2 = new DirectPosition(); - vertex2.getValue().add(15.0); - vertex2.getValue().add(55.0); - vertex2.getValue().add(71.0); - error.setVertex2(vertex2); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - ConsecutivePointsSame error2 = (ConsecutivePointsSame) valError; - assertEquals(error.getLinearRingId(), error2.getLinearRingId()); - assertEquals(error.getVertex1().getValue().get(0), error2.getVertex1().getValue().get(0)); - assertEquals(error.getVertex2().getValue().get(0), error2.getVertex2().getValue().get(0)); - } - - @Test - void testWritingRingSelfIntersection() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Building b = new Building(); - model.getCityObjectMember().add(new CityObjectMember(b)); - - ValidationResult result = new ValidationResult(); - result.setResult(ResultType.ERROR); - b.addGenericApplicationPropertyOfCityObject(result); - - RingSelfIntersection error = new RingSelfIntersection(); - error.setType(RingSelfIntType.DUPLICATE_POINT); - error.setLinearRingId("TestRing"); - DirectPosition vertex1 = new DirectPosition(); - vertex1.getValue().add(10.0); - vertex1.getValue().add(5.0); - vertex1.getValue().add(7.0); - error.setVertex1(vertex1); - DirectPosition vertex2 = new DirectPosition(); - vertex2.getValue().add(15.0); - vertex2.getValue().add(55.0); - vertex2.getValue().add(71.0); - error.setVertex2(vertex2); - result.getErrors().add(error); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - AbstractCityObject co = model.getCityObjectMember().get(0).getCityObject(); - List<ADEComponent> ades = co.getGenericApplicationPropertyOfCityObject(); - ADEComponent adeComponent = ades.get(0); - ValidationResult valRes = (ValidationResult) adeComponent; - assertEquals(ResultType.ERROR, valRes.getResult()); - - ValidationError valError = valRes.getErrors().get(0); - RingSelfIntersection error2 = (RingSelfIntersection) valError; - assertEquals(error.getLinearRingId(), error2.getLinearRingId()); - assertEquals(error.getVertex1().getValue().get(0), error2.getVertex1().getValue().get(0)); - assertEquals(error.getVertex2().getValue().get(0), error2.getVertex2().getValue().get(0)); - } - - @Test - void testWritingValidationPlan() - throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { - CityModel model = new CityModel(); - Validation val = new Validation(); - model.addGenericApplicationPropertyOfCityModel(val); - - ZonedDateTime expectedDate = LocalDateTime.of(2002, 5, 30, 9, 0).atZone(ZoneId.systemDefault()); - - val.setValidationDate(expectedDate); - val.setValidationSoftware("CityDoctor2"); - ValidationPlan plan = new ValidationPlan(); - val.setValidationPlan(plan); - - Parameter roundingParameter = new Parameter(); - roundingParameter.setName("numberOfRoundingPlaces"); - roundingParameter.setValue("8"); - plan.getGlobalParameters().add(roundingParameter); - - Parameter minVertexDistance = new Parameter(); - minVertexDistance.setName("minVertexDistance"); - minVertexDistance.setValue("0.0001"); - minVertexDistance.setUom("m"); - plan.getGlobalParameters().add(minVertexDistance); - - Requirement rTooFewPoints = new Requirement(); - rTooFewPoints.setEnabled(true); - rTooFewPoints.setName(RequirementId.R_GE_R_TOO_FEW_POINTS); - plan.getRequirements().add(rTooFewPoints); - - Checking buildingChecking = new Checking(); - buildingChecking.setValue(TopLevelFeatureType.BUILDING); - plan.getFilter().add(buildingChecking); - - Statistics statistics = new Statistics(); - val.setStatistics(statistics); - - FeatureStatistics numErrorBridgeObjects = new FeatureStatistics(); - numErrorBridgeObjects.setNumChecked(0); - numErrorBridgeObjects.setNumErrors(0); - statistics.setNumErrorBridgeObjects(numErrorBridgeObjects); - - FeatureStatistics numErrorBuildings = new FeatureStatistics(); - numErrorBuildings.setNumChecked(1); - numErrorBuildings.setNumErrors(1); - statistics.setNumErrorBuildings(numErrorBuildings); - - FeatureStatistics numErrors = new FeatureStatistics(); - statistics.setNumErrorLandObjects(numErrors); - statistics.setNumErrorTransportation(numErrors); - statistics.setNumErrorVegetation(numErrors); - statistics.setNumErrorWaterObjects(numErrors); - - ErrorStatistics stats1 = new ErrorStatistics(); - stats1.setAmount(1); - stats1.setName(ErrorId.GE_R_CONSECUTIVE_POINTS_SAME); - statistics.getErrorStatistics().add(stats1); - - byte[] gml = writeCityGml(model); - model = readCityGml(gml); - - testValidationPlan(model); - } - - private CityModel readCityGml(InputStream input) - throws ADEException, CityGMLBuilderException, CityGMLReadException { - CityGMLContext context = CityGMLContext.getInstance(); - List<ADEContext> adeContexts = context.getADEContexts(); - if (adeContexts.isEmpty()) { - for (ADEContext adeContext : ServiceLoader.load(ADEContext.class)) { - context.registerADEContext(adeContext); - } - } - - CityGMLBuilder builder = context.createCityGMLBuilder(); - CityGMLInputFactory in = builder.createCityGMLInputFactory(); - in.setProperty(CityGMLInputFactory.USE_VALIDATION, true); - in.setProperty(CityGMLInputFactory.FEATURE_READ_MODE, FeatureReadMode.NO_SPLIT); - in.setValidationEventHandler(event -> { - System.out.print( - "[" + event.getLocator().getLineNumber() + "," + event.getLocator().getColumnNumber() + "] "); - System.out.println(event.getMessage()); - throw new IllegalStateException(event.getLinkedException()); - }); - CityModel cityModel; - try (CityGMLReader reader = in.createCityGMLReader("?", input)) { - cityModel = (CityModel) reader.nextFeature(); - } - return cityModel; - } - - private CityModel readCityGml(File f) - throws FileNotFoundException, ADEException, CityGMLBuilderException, CityGMLReadException { - return readCityGml(new FileInputStream(f)); - } - - private CityModel readCityGml(String fileName) - throws FileNotFoundException, ADEException, CityGMLBuilderException, CityGMLReadException { - return readCityGml(new File(fileName)); - } - - private CityModel readCityGml(byte[] bytes) throws ADEException, CityGMLBuilderException, CityGMLReadException { - return readCityGml(new ByteArrayInputStream(bytes)); - } - - private void testValidationPlan(CityModel cityModel) { - assertFalse(cityModel.getGenericApplicationPropertyOfCityModel().isEmpty()); - List<ADEComponent> ades = cityModel.getGenericApplicationPropertyOfCityModel(); - ADEComponent adeComponent = ades.get(0); - assertTrue(adeComponent instanceof Validation); - Validation val = (Validation) adeComponent; - ZonedDateTime expectedDate = LocalDateTime.of(2002, 5, 30, 9, 0).atZone(ZoneId.systemDefault()); - assertTrue(expectedDate.isEqual(val.getValidationDate())); - assertEquals("CityDoctor2", val.getValidationSoftware()); - assertNotNull(val.getValidationPlan()); - ValidationPlan plan = val.getValidationPlan(); - assertNotNull(plan.getGlobalParameters()); - assertFalse(plan.getGlobalParameters().isEmpty()); - List<Parameter> globalParameters = plan.getGlobalParameters(); - Parameter roundingParameter = globalParameters.get(0); - assertEquals("numberOfRoundingPlaces", roundingParameter.getName()); - assertEquals("8", roundingParameter.getValue()); - assertNull(roundingParameter.getUom()); - Parameter minVertexDistance = globalParameters.get(1); - assertEquals("minVertexDistance", minVertexDistance.getName()); - assertEquals("0.0001", minVertexDistance.getValue()); - assertEquals("m", minVertexDistance.getUom()); - - assertNotNull(plan.getRequirements()); - assertFalse(plan.getRequirements().isEmpty()); - - List<Requirement> requirements = plan.getRequirements(); - Requirement rTooFewPoints = requirements.get(0); - assertEquals(RequirementId.R_GE_R_TOO_FEW_POINTS, rTooFewPoints.getName()); - assertTrue(rTooFewPoints.isEnabled()); - - assertNotNull(plan.getFilter()); - assertFalse(plan.getFilter().isEmpty()); - - List<Checking> filter = plan.getFilter(); - Checking buildingChecking = filter.get(0); - assertEquals(TopLevelFeatureType.BUILDING, buildingChecking.getValue()); - - Statistics statistics = val.getStatistics(); - assertNotNull(statistics); - FeatureStatistics numErrorBridgeObjects = statistics.getNumErrorBridgeObjects(); - assertNotNull(numErrorBridgeObjects); - assertEquals(0, numErrorBridgeObjects.getNumChecked()); - assertEquals(0, numErrorBridgeObjects.getNumErrors()); - - FeatureStatistics numErrorBuildings = statistics.getNumErrorBuildings(); - assertEquals(1, numErrorBuildings.getNumChecked()); - assertEquals(1, numErrorBuildings.getNumErrors()); - - List<ErrorStatistics> errorStatistics = statistics.getErrorStatistics(); - assertNotNull(errorStatistics); - assertFalse(errorStatistics.isEmpty()); - ErrorStatistics stats1 = errorStatistics.get(0); - assertEquals(ErrorId.GE_R_CONSECUTIVE_POINTS_SAME, stats1.getName()); - assertEquals(1, stats1.getAmount()); - } - - private byte[] writeCityGml(CityModel model) throws ADEException, CityGMLBuilderException, CityGMLWriteException { - CityGMLContext context = CityGMLContext.getInstance(); - List<ADEContext> adeContexts = context.getADEContexts(); - if (adeContexts == null || adeContexts.isEmpty()) { - for (ADEContext adeContext : ServiceLoader.load(ADEContext.class)) { - context.registerADEContext(adeContext); - } - } - - CityGMLBuilder builder = context.createCityGMLBuilder(); - - CityGMLOutputFactory outputFactory = builder.createCityGMLOutputFactory(CityGMLVersion.DEFAULT); - ByteArrayOutputStream out = new ByteArrayOutputStream(); - try (CityGMLWriter writer = outputFactory.createCityGMLWriter(out)) { - writer.setIndentString(" "); - writer.setPrefixes(CityGMLVersion.DEFAULT); - writer.setPrefix("qual", QualityADEModule.NAMESPACE_URI); - writer.setSchemaLocation(QualityADEModule.NAMESPACE_URI, - QualityADEModule.NAMESPACE_URI + "/qualityAde.xsd"); - writer.setSchemaLocations(CityGMLVersion.DEFAULT); - writer.write(model); - return out.toByteArray(); - } - } - -}