diff --git a/pom.xml b/pom.xml index dee4a4f6815b60e1e44e3bcbee90ce970b37a547..196e19e9ebf7a5e094e8410d7a40bdda9b1549a3 100644 --- a/pom.xml +++ b/pom.xml @@ -43,8 +43,7 @@ <javax.servlet-api.version>4.0.1</javax.servlet-api.version> <jakarta.ws.rs-api.version>2.1.6</jakarta.ws.rs-api.version> <jersey.version>2.35</jersey.version> - <swagger.version>2.1.13</swagger.version> - <swagger-ui.version>3.17.0</swagger-ui.version> + <swagger.version>2.2.20</swagger.version> <!-- project properties --> <distribution.repo.id>gitlab-maven</distribution.repo.id> <distribution.repo.url>${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/maven</distribution.repo.url> diff --git a/xplan-dokumente/xplan-dokumente-api/pom.xml b/xplan-dokumente/xplan-dokumente-api/pom.xml index d03cfcd8a0d46b0c6150cc6e9fba3061cacde1f0..c2590b30daa6de04e2bc3ab82bcf368351c91f3e 100755 --- a/xplan-dokumente/xplan-dokumente-api/pom.xml +++ b/xplan-dokumente/xplan-dokumente-api/pom.xml @@ -153,22 +153,6 @@ <artifactId>swagger-jaxrs2</artifactId> <version>${swagger.version}</version> </dependency> - <dependency> - <groupId>io.swagger.core.v3</groupId> - <artifactId>swagger-jaxrs2-servlet-initializer</artifactId> - <version>${swagger.version}</version> - </dependency> - <dependency> - <groupId>io.swagger.parser.v3</groupId> - <artifactId>swagger-parser</artifactId> - <version>2.0.33</version> - <exclusions> - <exclusion> - <groupId>javax.validation</groupId> - <artifactId>validation-api</artifactId> - </exclusion> - </exclusions> - </dependency> <!-- jackson --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> diff --git a/xplan-manager/xplan-manager-api/pom.xml b/xplan-manager/xplan-manager-api/pom.xml index 6fe0b672339d5f76a3367064ee6872b61c24e230..fb3b90f2a8c689e1604a544146711236363d4cd1 100644 --- a/xplan-manager/xplan-manager-api/pom.xml +++ b/xplan-manager/xplan-manager-api/pom.xml @@ -170,11 +170,6 @@ <artifactId>swagger-jaxrs2</artifactId> <version>${swagger.version}</version> </dependency> - <dependency> - <groupId>io.swagger.core.v3</groupId> - <artifactId>swagger-jaxrs2-servlet-initializer</artifactId> - <version>${swagger.version}</version> - </dependency> <!-- jackson --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> @@ -309,35 +304,6 @@ </dependencies> <profiles> - <profile> - <id>generate-swagger</id> - <build> - <plugins> - <plugin> - <groupId>org.openapitools</groupId> - <artifactId>openapi-generator-maven-plugin</artifactId> - <version>4.3.1</version> - <executions> - <execution> - <goals> - <goal>generate</goal> - </goals> - <configuration> - <inputSpec>${project.basedir}/src/main/resources/xplanmanager.yaml</inputSpec> - <language>jaxrs-spec</language> - <packageName>${base.package.name}.api.manager.v1</packageName> - <modelPackage>${base.package.name}.api.manager.v1.model</modelPackage> - <apiPackage>${base.package.name}.api.manager.v1</apiPackage> - <configOptions> - <sourceFolder>${project.build}/generated-sources/swagger</sourceFolder> - </configOptions> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> <profile> <id>docker</id> <properties> diff --git a/xplan-manager/xplan-manager-api/src/main/resources/xplanmanager_v10.yaml b/xplan-manager/xplan-manager-api/src/main/resources/xplanmanager_v10.yaml deleted file mode 100644 index e3394b3f870c607edfd4f467b7cb45a7e7aec04f..0000000000000000000000000000000000000000 --- a/xplan-manager/xplan-manager-api/src/main/resources/xplanmanager_v10.yaml +++ /dev/null @@ -1,520 +0,0 @@ -### -# #%L -# xplan-api-manager - xplan-api-manager -# %% -# Copyright (C) 2008 - 2023 Freie und Hansestadt Hamburg, developed by lat/lon gesellschaft für raumbezogene Informationssysteme mbH -# %% -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# #L% -### -openapi: 3.0.1 -info: - title: XPlanManagerAPI - description: XPlanManager REST API - termsOfService: http://xplanbox.lat-lon.de/terms/ - contact: - email: info@lat-lon.de - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html - version: 1.0.0 -servers: - - url: https://xplanbox.lat-lon.de/xmanager/api/v1 - - url: http://xplanbox.lat-lon.de/xmanager/api/v1 -tags: - - name: manage - description: Manage XPlanGML documents - externalDocs: - description: xPlanBox - url: http://xplanbox.lat-lon.de - - name: search - description: Search for XPlanGML documents - externalDocs: - description: xPlanBox - url: http://xplanbox.lat-lon.de -paths: - /: - get: - summary: OpenAPI document - description: API documentation - operationId: openApi - responses: - 200: - description: successful operation - content: - application/json: - schema: - type: object - /info: - get: - summary: Show system and application configuration - description: Returns the system and application configuration - operationId: showConfig - responses: - 200: - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/ManagerSystemConfig' - /plan/{planId}: - get: - tags: - - manage - - search - summary: Get plan identified by the given plan ID - description: Returns an existing plan identified by the given plan ID - operationId: getById - parameters: - - name: planId - in: path - description: ID of the plan to be returned - required: true - schema: - type: string - example: '123' - responses: - 200: - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/PlanInfo' - application/xml: - schema: - $ref: '#/components/schemas/PlanInfo' - application/zip: - schema: - type: string - format: binary - 404: - description: Invalid plan ID, plan not found - content: { } - delete: - tags: - - manage - summary: Delete plan identified by the given plan ID - description: 'Deletes an existing plan identified by the given plan ID' - operationId: delete - parameters: - - name: planId - in: path - description: ID of the plan to be removed - required: true - schema: - type: string - example: '123' - responses: - 200: - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/StatusMessage' - application/xml: - schema: - $ref: '#/components/schemas/StatusMessage' - 404: - description: Invalid plan ID, plan not found - content: { } - /plan/name/{planName}: - get: - tags: - - search - summary: Get plan identified by the given planName - description: Returns a list of plans which match exactly the given planName - operationId: getByName - parameters: - - name: planName - in: path - description: planName of the plan to be returned - required: true - schema: - type: string - example: 'bplan_123, fplan-123, rplan20200803' - responses: - 200: - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PlanInfo' - 404: - description: Invalid plan name, plan not found - /plan: - post: - tags: - - manage - summary: Import the plan - description: Imports the plan - operationId: import - parameters: - - name: X-Filename - in: header - description: Name of the file to be uploaded - schema: - pattern: '^[A-Za-z0-9.()_-]*$' - type: string - example: File names such as xplan.gml, xplan.xml, xplan.zip - - name: skipSemantisch - in: query - description: skip semantische Validierung - schema: - type: boolean - default: false - - name: skipFlaechenschluss - in: query - description: skip Flaechenschluss Ueberpruefung - schema: - type: boolean - default: false - - name: skipGeltungsbereich - in: query - description: skip Geltungsbereich Ueberpruefung - schema: - type: boolean - default: false - - name: internalId - in: query - description: internalId links to VerfahrensId - schema: - type: string - - name: planStatus - in: query - description: target for data storage, overrides the default derived from xplan:rechtsstand - schema: - example: FESTGESTELLT - enum: [IN_AUFSTELLUNG,FESTGESTELLT,ARCHIVIERT] - requestBody: - content: - application/octet-stream: - schema: - $ref: '#/components/schemas/XPlanArchive' - application/zip: - schema: - $ref: '#/components/schemas/XPlanArchive' - application/x-zip: - schema: - $ref: '#/components/schemas/XPlanArchive' - application/x-zip-compressed: - schema: - $ref: '#/components/schemas/XPlanArchive' - required: true - responses: - 201: - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/PlanInfo' - 400: - description: Invalid input - content: - application/json: - schema: - $ref: '#/components/schemas/ValidationReport' - 406: - description: Invalid content only ZIP with XPlanGML is accepted - /plans: - get: - tags: - - search - summary: Search for plan by name - description: Returns a list of plans where the plan name contains the query string case insensitve - operationId: findByName - parameters: - - name: planName - in: query - description: The name of the plan to search for - schema: - type: string - example: 'bplan_123, fplan-123, rplan20200803' - responses: - 200: - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PlanInfo' -components: - schemas: - ManagerSystemConfig: - allOf: - - $ref: '#/components/schemas/SystemConfig' - - type: object - properties: - rasterCrs: - description: 'Konfiguriertes CRS für die Rasterdatenhaltung' - type: string - example: 'epsg:28352' - rasterType: - description: 'Typ der Rasterdatenhaltung: gdal oder tiff' - type: string - example: 'gdal' - skipSemantisch: - description: 'Semantische Validierung bei Import ueberspringen' - type: boolean - default: false - skipGeometrisch: - description: 'Geometrische Validierung bei Import ueberspringen' - type: boolean - default: false - skipFlaechenschluss: - description: 'Ueberpruefung des Flaechenschluss bei Import ueberspringen' - type: boolean - default: false - skipGeltungsbereich: - description: 'Ueberpruefung des Geltungsbereich bei Import ueberspringen' - type: boolean - default: false - RulesMetadata: - type: object - properties: - version: - type: string - example: 0.9.14 - source: - type: string - example: 'https://bitbucket.org/geowerkstatt-hamburg/xplanung/get/v0.9.14.zip' - StatusMessage: - type: object - properties: - message: - type: string - example: 'Plan mit ID 123 entfernt' - SystemConfig: - type: object - properties: - version: - type: string - description: Version der xPlanBox - example: 'v3.4.0' - rulesMetadata: - $ref: '#/components/schemas/RulesMetadata' - supportedXPlanGmlVersions: - type: array - items: - type: string - example: "XPLAN_51" - enum: [ XPLAN_40,XPLAN_41,XPLAN_50,XPLAN_51,XPLAN_52,XPLAN_53 ] - Link: - required: - - href - type: object - properties: - href: - type: string - format: uri - example: https://xplanbox.lat-lon.de/xmanager/api/v1/plan/123 - rel: - type: string - example: self - enum: [ self,alternate,planwerkwms ] - type: - type: string - example: application/json - hreflang: - type: string - example: en - title: - type: string - example: Othmarschen 3, Hamburg - length: - type: integer - description: Link to a resource related to the resource such as XPlanWerkWMS or the resource itself - PlanInfo: - type: object - properties: - id: - type: integer - description: internal unique manager identifier, generated at import time - example: 123 - type: - type: string - example: "BP_Plan" - version: - type: string - example: "XPLAN_51" - enum: [XPLAN_40,XPLAN_41,XPLAN_50,XPLAN_51,XPLAN_52,XPLAN_53] - planStatus: - type: string - example: "FESTGESTELLT" - enum: [IN_AUFSTELLUNG,FESTGESTELLT,ARCHIVIERT] - raster: - type: boolean - example: true - importDate: - type: string - format: date-time - inspirePublished: - type: boolean - example: false - bbox: - $ref: '#/components/schemas/PlanInfoBbox' - xplanModelData: - $ref: '#/components/schemas/PlanInfoXplanModelData' - links: - type: array - description: Links related to the resource such as XPlanWerkWMS or self link - example: - href: https://xplanbox.lat-lon.de/xplan-wms/services/planwerkwms/planname/<PLANNAME>? - rel: planwerkwms - type: image/png - hreflang: de - title: Othmarschen 3 - items: - $ref: '#/components/schemas/Link' - PlanInfoBbox: - type: object - properties: - minX: - type: number - example: 9.880772 - minY: - type: number - example: 53.544973 - maxX: - type: number - example: 9.890302 - maxY: - type: number - example: 53.546704 - crs: - type: string - example: epsg:4326 - PlanInfoXplanModelData: - type: object - properties: - name: - type: string - example: "Othmarschen3" - nummer: - type: string - example: "-" - internalId: - type: string - example: "12341" - ags: - type: string - example: "02000000" - gemeindeName: - type: string - example: "Gemeindename" - rechtsstand: - type: string - description: translation of code list value of xplan:rechtsstand - example: "Satzung" - inkrafttretensDatum: - type: string - format: date-time - description: attributes derived from XPlanGML data model - ValidationReport: - type: object - properties: - filename: - type: string - example: xplan52-test.gml - name: - type: string - example: xplan52-test - version: - type: string - example: "XPLAN_51" - enum: [ XPLAN_40,XPLAN_41,XPLAN_50,XPLAN_51,XPLAN_52,XPLAN_53 ] - date: - type: string - format: date-time - example: '2020-08-24T15:06:36.662Z' - valid: - type: boolean - example: false - externalReferences: - type: array - items: - type: string - example: 'stelling.png' - wmsUrl: - type: string - format: uri - example: https://xplanbox.lat-lon.de/xplan-validator-wms/services/wms?PLANWERK_MANAGERID=13 - rulesMetadata: - $ref: '#/components/schemas/RulesMetadata' - validationResult: - $ref: '#/components/schemas/ValidationReportValidationResult' - ValidationReportValidationResult: - type: object - properties: - semantisch: - $ref: '#/components/schemas/ValidationReportValidationResultSemantisch' - geometrisch: - $ref: '#/components/schemas/ValidationReportValidationResultGeometrisch' - syntaktisch: - $ref: '#/components/schemas/ValidationReportValidationResultSyntaktisch' - ValidationReportValidationResultGeometrisch: - type: object - properties: - valid: - type: boolean - example: false - errors: - type: array - items: - type: string - warnings: - type: array - items: - type: string - ValidationReportValidationResultSemantisch: - type: object - properties: - valid: - type: boolean - example: false - rules: - type: array - items: - $ref: '#/components/schemas/ValidationReportValidationResultSemantischRules' - ValidationReportValidationResultSemantischRules: - type: object - properties: - name: - type: string - isValid: - type: boolean - message: - type: string - invalidFeatures: - type: array - items: - type: string - description: GML-ID - example: GML_b4e47d29-d21c-42ab-85b7-b12ea57e89f2 - ValidationReportValidationResultSyntaktisch: - type: object - properties: - valid: - type: boolean - example: false - messages: - type: array - items: - type: string - XPlanArchive: - type: string - format: binary - description: XPlanArchive (application/zip) file to upload diff --git a/xplan-manager/xplan-manager-api/src/main/resources/xplanmanager_v11.yaml b/xplan-manager/xplan-manager-api/src/main/resources/xplanmanager_v11.yaml deleted file mode 100644 index c13421944a70faf0ff8f198284319c5525bd096f..0000000000000000000000000000000000000000 --- a/xplan-manager/xplan-manager-api/src/main/resources/xplanmanager_v11.yaml +++ /dev/null @@ -1,1366 +0,0 @@ -### -# #%L -# xplan-api-manager - xplan-api-manager -# %% -# Copyright (C) 2008 - 2023 Freie und Hansestadt Hamburg, developed by lat/lon gesellschaft für raumbezogene Informationssysteme mbH -# %% -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# #L% -### -openapi: 3.0.1 -info: - title: XPlanManagerAPI - description: XPlanManager REST API - termsOfService: '' - contact: - email: 'info@lat-lon.de' - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html - version: 1.1.0 -servers: - - url: http://xplanbox.lat-lon.de/xmanager/api/v1 -tags: - - name: manage - description: Manage XPlanGML documents - externalDocs: - description: xPlanBox - url: '' - - name: search - description: Search for XPlanGML documents - externalDocs: - description: xPlanBox - url: '' -paths: - /plan/{planId}/aenderungen: - get: - tags: - - edit - operationId: getAenderung - parameters: - - name: planId - in: path - description: planId of the plan to be returned - required: true - schema: - type: string - example: 123 - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Aenderungen' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID, plan not found - put: - tags: - - edit - operationId: replaceAenderung - parameters: - - name: planId - in: path - description: planId of the plan to be returned - required: true - schema: - type: string - example: 123 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Aenderungen' - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Aenderungen' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID, plan not found - /plan/{planId}/text: - get: - tags: - - edit - operationId: getTexte - parameters: - - name: planId - in: path - description: planId of the plan to be returned - required: true - schema: - type: string - example: 123 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Text' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID, plan not found - post: - tags: - - edit - operationId: addText - parameters: - - name: planId - in: path - description: ID of the plan to add texte - required: true - schema: - type: string - example: 123 - requestBody: - content: - multipart/form-data: - schema: - required: - - textmodel - type: object - properties: - textmodel: - $ref: '#/components/schemas/Text' - datei: - type: string - format: binary - encoding: - datei: - contentType: application/pdf, application/msword, application/odt - textmodel: - contentType: application/json - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Text' - '400': - description: Unsupported Plan type or version or textmodel is missing - '404': - description: Invalid plan ID, plan not found - /plans: - get: - tags: - - search - summary: Search for plan by name - description: Returns a list of plans where the plan name contains the query string case insensitve - operationId: findByName - parameters: - - name: planName - in: query - description: The name of the plan to search for - schema: - type: string - example: bplan_123, fplan-123, rplan20200803 - responses: - '200': - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PlanInfo' - /plan/{planId}/gueltigkeit: - get: - tags: - - edit - operationId: getGueltigkeit - parameters: - - name: planId - in: path - description: planId of the plan basisdaten to be returned - required: true - schema: - type: string - example: 123 - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Zeitraum' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID, plan not found - put: - tags: - - edit - operationId: replaceGueltigkeit - parameters: - - name: planId - in: path - description: planId of the plan to be returned - required: true - schema: - type: string - example: 123 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Zeitraum' - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Zeitraum' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID, plan not found - /plan/{planId}/rasterbasis: - get: - tags: - - edit - operationId: getRasterBasis - parameters: - - name: planId - in: path - description: planId of the plan to be returned - required: true - schema: - type: string - example: 123 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Rasterbasis' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID, plan not found - post: - tags: - - edit - operationId: addRasterBasis - parameters: - - name: planId - in: path - description: ID of the plan to add dokumente - required: true - schema: - type: string - example: 123 - requestBody: - content: - multipart/form-data: - schema: - required: - - rasterbasismodel - type: object - properties: - rasterbasismodel: - $ref: '#/components/schemas/Rasterbasis' - rasterdatei: - type: string - format: binary - georeferenzdatei: - type: string - format: binary - encoding: - rasterdatei: - contentType: image/tiff, image/png - georeferenzdatei: - contentType: text/plain - rasterbasismodel: - contentType: application/json - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Rasterbasis' - '400': - description: Unsupported Plan type or version or rasterbasismodel is missing - '404': - description: Invalid plan ID, plan not found - /plan/{planId}/text/{id}: - get: - tags: - - edit - operationId: getTextById - parameters: - - name: planId - in: path - description: planId of the plan to be returned - required: true - schema: - type: string - example: 123 - - name: id - in: path - description: id of the Text to be returned (GML Id of the feature) - required: true - schema: - type: string - example: GML_ID_123 - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Text' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID or Text ID, plan or Text not found - put: - tags: - - edit - operationId: replaceTextById - parameters: - - name: planId - in: path - description: planId of the plan to be updated - required: true - schema: - type: string - example: 123 - - name: id - in: path - description: id of the Text to be updated (GML Id of the feature) - required: true - schema: - type: string - example: GML_ID_123 - requestBody: - content: - multipart/form-data: - schema: - required: - - textmodel - type: object - properties: - textmodel: - $ref: '#/components/schemas/Text' - datei: - type: string - format: binary - encoding: - datei: - contentType: application/pdf, application/msword, application/odt - textmodel: - contentType: application/json - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Text' - '400': - description: Unsupported Plan type or version or textmodel is missing - '404': - description: Invalid plan ID or Text ID, plan or Text not found - delete: - tags: - - edit - operationId: deleteTextById - parameters: - - name: planId - in: path - description: planId of the plan to be deleted - required: true - schema: - type: string - example: 123 - - name: id - in: path - description: id of the Text to be deleted (GML Id of the feature) - required: true - schema: - type: string - example: GML_ID_123 - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Text' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID or Text ID, plan or Text not found - /plan: - post: - tags: - - manage - summary: Import the plan - description: Imports the plan - operationId: import - parameters: - - name: X-Filename - in: header - description: Name of the file to be uploaded - schema: - type: string - example: File names such as xplan.gml, xplan.xml, xplan.zip - - name: skipSemantisch - in: query - description: skip semantische Validierung - schema: - type: boolean - default: false - - name: skipFlaechenschluss - in: query - description: skip Flaechenschluss Ueberpruefung - schema: - type: boolean - default: false - - name: skipGeltungsbereich - in: query - description: skip Geltungsbereich Ueberpruefung - schema: - type: boolean - default: false - - name: internalId - in: query - description: internalId links to VerfahrensId - schema: - type: string - - name: planStatus - in: query - description: target for data storage, overrides the default derived from xplan:rechtsstand - schema: - type: string - example: FESTGESTELLT - enum: - - IN_AUFSTELLUNG - - FESTGESTELLT - - ARCHIVIERT - requestBody: - content: - application/octet-stream: - schema: - type: string - description: XPlanArchive (application/zip) file to upload - format: binary - application/zip: - schema: - type: string - description: XPlanArchive (application/zip) file to upload - format: binary - application/x-zip: - schema: - type: string - description: XPlanArchive (application/zip) file to upload - format: binary - application/x-zip-compressed: - schema: - type: string - description: XPlanArchive (application/zip) file to upload - format: binary - required: true - responses: - '201': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/PlanInfo' - '400': - description: Invalid input - content: - application/json: - schema: - $ref: '#/components/schemas/ValidationReport' - '406': - description: Invalid content only ZIP with XPlanGML is accepted - /plan/{planId}/basisdaten: - get: - tags: - - edit - operationId: getBasisdaten - parameters: - - name: planId - in: path - description: planId of the plan basisdaten to be returned - required: true - schema: - type: string - example: 123 - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Basisdaten' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID, plan not found - put: - tags: - - edit - operationId: replaceBasisdaten - parameters: - - name: planId - in: path - description: planId of the plan to be returned - required: true - schema: - type: string - example: 123 - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Basisdaten' - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Basisdaten' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID, plan not found - /plan/{planId}/dokument: - get: - tags: - - edit - operationId: getDokumente - parameters: - - name: planId - in: path - description: planId of the plan to return dokumente - required: true - schema: - type: string - example: 123 - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Dokument' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID, plan not found - post: - tags: - - edit - operationId: addDokument - parameters: - - name: planId - in: path - description: ID of the plan to add dokumente - required: true - schema: - type: string - example: 123 - requestBody: - content: - multipart/form-data: - schema: - required: - - dokumentmodel - type: object - properties: - dokumentmodel: - $ref: '#/components/schemas/Dokument' - datei: - type: string - format: binary - encoding: - datei: - contentType: application/pdf, application/msword, application/odt - dokumentmodel: - contentType: application/json - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Dokument' - '400': - description: Unsupported Plan type or version or dokumentmodel is missing - '404': - description: Invalid plan ID or dokument ID, plan or dokument not found - /plan/{planId}: - get: - tags: - - manage - - search - summary: Get plan identified by the given plan ID - description: Returns an existing plan identified by the given plan ID - operationId: getById - parameters: - - name: planId - in: path - description: ID of the plan to be returned - required: true - schema: - type: string - example: 123 - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/PlanInfo' - application/xml: - schema: - $ref: '#/components/schemas/PlanInfo' - application/zip: - schema: - type: string - format: binary - '404': - description: Invalid plan ID, plan not found - delete: - tags: - - manage - summary: Delete plan identified by the given plan ID - description: Deletes an existing plan identified by the given plan ID - operationId: delete - parameters: - - name: planId - in: path - description: ID of the plan to be removed - required: true - schema: - type: string - example: 123 - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/StatusMessage' - application/xml: - schema: - $ref: '#/components/schemas/StatusMessage' - '404': - description: Invalid plan ID, plan not found - /info: - get: - summary: Show system and application configuration - description: Returns the system and application configuration - operationId: showConfig - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/ManagerSystemConfig' - /plan/name/{planName}: - get: - tags: - - search - summary: Get plan identified by the given planName - description: Returns a list of plans which match exactly the given planName - operationId: getByName - parameters: - - name: planName - in: path - description: planName of the plan to be returned - required: true - schema: - pattern: ^[A-Za-z0-9_-]*$ - type: string - example: bplan_123, fplan-123, rplan20200803 - responses: - '200': - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/PlanInfo' - '404': - description: Invalid plan name, plan not found - /plan/{planId}/rasterbasis/{id}: - get: - tags: - - edit - operationId: getRasterbasisById - parameters: - - name: planId - in: path - description: planId of the plan to be returned - required: true - schema: - type: string - example: 123 - - name: id - in: path - description: 'id of the Rasterbasis to be returned (Pattern of the ID: referenzName-referenzURL, other characters than a-z, A-Z, 0-9, _, - are removed' - required: true - schema: - type: string - example: Referenz123- - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Rasterbasis' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID or Rasterbasis ID, plan or Rasterbasis not found - put: - tags: - - edit - operationId: replaceRasterbasisById - parameters: - - name: planId - in: path - description: planId of the plan to be updated - required: true - schema: - type: string - example: 123 - - name: id - in: path - description: 'id of the Rasterbasis to be updated (Pattern of the ID: referenzName-referenzURL, other characters than a-z, A-Z, 0-9, _, - are removed' - required: true - schema: - type: string - example: Referenz123- - requestBody: - content: - multipart/form-data: - schema: - required: - - rasterbasismodel - type: object - properties: - rasterbasismodel: - $ref: '#/components/schemas/Rasterbasis' - rasterdatei: - type: string - format: binary - georeferenzdatei: - type: string - format: binary - encoding: - rasterdatei: - contentType: image/tiff, image/png - georeferenzdatei: - contentType: text/plain - rasterbasismodel: - contentType: application/json - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Rasterbasis' - '400': - description: Unsupported Plan type or version or rasterbasismodel is missing - '404': - description: Invalid plan ID or Rasterbasis ID, plan or Rasterbasis not found - delete: - tags: - - edit - operationId: deleteRasterbasisById - parameters: - - name: planId - in: path - description: planId of the plan to be deleted - required: true - schema: - type: string - example: 123 - - name: id - in: path - description: 'id of the Rasterbasis to be deleted (Pattern of the ID: referenzName-referenzURL, other characters than a-z, A-Z, 0-9, _, - are removed' - required: true - schema: - type: string - example: Referenz123- - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Rasterbasis' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID or Rasterbasis ID, plan or Rasterbasis not found - /plan/{planId}/dokument/{id}: - get: - tags: - - edit - operationId: getDokumentById - parameters: - - name: planId - in: path - description: planId of the plan to get dokument - required: true - schema: - type: string - example: 123 - - name: id - in: path - description: 'id of the Dokument to be returned (Pattern of the ID: referenzName-referenzURL, other characters than a-z, A-Z, 0-9, _, - are removed)' - required: true - schema: - type: string - example: Legende123- - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Dokument' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID or dokument ID, plan or dokument not found - put: - tags: - - edit - operationId: replaceDokumentById - parameters: - - name: planId - in: path - description: planId of the plan to replace dokument - required: true - schema: - type: string - example: 123 - - name: id - in: path - description: 'id of the Dokument to be updated (Pattern of the ID: referenzName-referenzURL, other characters than a-z, A-Z, 0-9, _, - are removed)' - required: true - schema: - type: string - example: Legende123- - requestBody: - content: - multipart/form-data: - schema: - required: - - dokumentmodel - type: object - properties: - dokumentmodel: - $ref: '#/components/schemas/Dokument' - datei: - type: string - format: binary - encoding: - datei: - contentType: application/pdf, application/msword, application/odt - dokumentmodel: - contentType: application/json - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Dokument' - '400': - description: Unsupported Plan type or version or dokumentmodel is missing - '404': - description: Invalid plan ID or dokument ID, plan or dokument not found - delete: - tags: - - edit - operationId: deleteDokumentById - parameters: - - name: planId - in: path - description: planId of the plan to delete dokument - required: true - schema: - type: string - example: 123 - - name: id - in: path - description: 'id of the Dokument to be deleted (Pattern of the ID: referenzName-referenzURL, other characters than a-z, A-Z, 0-9, _, - are removed)' - required: true - schema: - type: string - example: Legende123- - responses: - '200': - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Dokument' - '400': - description: Unsupported Plan type or version - '404': - description: Invalid plan ID or dokument ID, plan or dokument not found - /: - get: - summary: OpenAPI document - description: API documentation - operationId: openApi - responses: - '200': - description: successful operation - content: - application/json: - schema: - type: object -components: - schemas: - ManagerSystemConfig: - type: object - properties: - version: - type: string - description: Version der xPlanBox - example: v3.4.0 - rulesMetadata: - $ref: '#/components/schemas/RulesMetadata' - supportedXPlanGmlVersions: - type: array - items: - type: string - example: XPLAN_51 - enum: - - XPLAN_40 - - XPLAN_41 - - XPLAN_50 - - XPLAN_51 - - XPLAN_52 - - XPLAN_53 - - XPLAN_54 - - XPLAN_60 - rasterCrs: - type: string - description: Konfiguriertes CRS für die Rasterdatenhaltung - example: epsg:28352 - rasterType: - type: string - description: 'Typ der Rasterdatenhaltung: gdal oder tiff' - example: gdal - skipSemantisch: - type: boolean - description: Semantische Validierung bei Import ueberspringen - skipGeometrisch: - type: boolean - description: Geometrische Validierung bei Import ueberspringen - skipFlaechenschluss: - type: boolean - description: Ueberpruefung des Flaechenschluss bei Import ueberspringen - skipGeltungsbereich: - type: boolean - description: Ueberpruefung des Geltungsbereich bei Import ueberspringen - RulesMetadata: - type: object - properties: - version: - type: string - example: 0.9.14 - source: - type: string - example: https://bitbucket.org/geowerkstatt-hamburg/xplanung/get/v0.9.14.zip - Aenderung: - type: object - properties: - planName: - type: string - rechtscharakter: - type: integer - format: int32 - nummer: - type: string - Aenderungen: - type: object - properties: - aendert: - type: array - items: - $ref: '#/components/schemas/Aenderung' - wurdeGeaendertVon: - type: array - items: - $ref: '#/components/schemas/Aenderung' - StatusMessage: - type: object - properties: - message: - type: string - example: Plan mit ID 123 entfernt - Link: - required: - - href - type: object - properties: - href: - type: string - format: uri - example: https://xplanbox.lat-lon.de/xmanager/api/v1/plan/123 - rel: - type: string - example: self - enum: - - self - - alternate - - planwerkwms - type: - type: string - example: application/json - hreflang: - type: string - example: en - title: - type: string - example: Othmarschen 3, Hamburg - length: - type: integer - format: int32 - description: Link to a resource related to the resource such as XPlanWerkWMS or the resource itself - example: - href: https://xplanbox.lat-lon.de/xplan-wms/services/planwerkwms/planname/<PLANNAME>? - rel: planwerkwms - type: image/png - hreflang: de - title: Othmarschen 3 - PlanInfo: - type: object - properties: - id: - type: integer - description: internal unique manager identifier, generated at import time - format: int32 - example: 123 - type: - type: string - example: BP_Plan - version: - type: string - example: XPLAN_51 - enum: - - XPLAN_40 - - XPLAN_41 - - XPLAN_50 - - XPLAN_51 - - XPLAN_52 - - XPLAN_53 - - XPLAN_54 - - XPLAN_60 - planStatus: - type: string - example: Festgestellt - enum: - - FESTGESTELLT - - IN_AUFSTELLUNG - - ARCHIVIERT - raster: - type: boolean - example: true - importDate: - type: string - format: date-time - inspirePublished: - type: boolean - example: false - bbox: - $ref: '#/components/schemas/PlanInfoBbox' - xplanModelData: - $ref: '#/components/schemas/PlanInfoXplanModelData' - links: - type: array - description: Links related to the resource such as XPlanWerkWMS or self link - example: - href: https://xplanbox.lat-lon.de/xplan-wms/services/planwerkwms/planname/<PLANNAME>? - rel: planwerkwms - type: image/png - hreflang: de - title: Othmarschen 3 - items: - $ref: '#/components/schemas/Link' - PlanInfoBbox: - type: object - properties: - minX: - type: number - format: double - example: 9.880772 - minY: - type: number - format: double - example: 53.544973 - maxX: - type: number - format: double - example: 9.890302 - maxY: - type: number - format: double - example: 53.546704 - crs: - type: string - example: epsg:4326 - PlanInfoXplanModelData: - type: object - properties: - name: - type: string - example: Othmarschen3 - nummer: - type: string - example: '-' - internalId: - type: string - example: '12341' - ags: - type: string - example: '02000000' - gemeindeName: - type: string - example: Gemeindename - rechtsstand: - type: string - description: translation of code list value of xplan:rechtsstand - example: Satzung - inkrafttretensDatum: - type: string - format: date-time - description: attributes derived from XPlanGML data model - ValidationReport: - type: object - properties: - version: - type: string - example: XPLAN_51 - enum: - - XPLAN_40 - - XPLAN_41 - - XPLAN_50 - - XPLAN_51 - - XPLAN_52 - - XPLAN_53 - - XPLAN_54 - - XPLAN_60 - filename: - type: string - example: xplan52-test.gml - name: - type: string - example: xplan52-test - bbox: - $ref: '#/components/schemas/PlanInfoBbox' - date: - type: string - format: date-time - example: '2020-08-24T15:06:36.662Z' - valid: - type: boolean - example: false - externalReferences: - type: array - items: - type: string - example: stelling.png - wmsUrl: - type: string - format: uri - example: https://xplanbox.lat-lon.de/xplan-validator-wms/services/wms?PLANWERK_MANAGERID=13 - rulesMetadata: - $ref: '#/components/schemas/RulesMetadata' - validationResult: - $ref: '#/components/schemas/ValidationReportValidationResult' - ValidationReportValidationResult: - type: object - properties: - semantisch: - $ref: '#/components/schemas/ValidationReportValidationResultSemantisch' - geometrisch: - $ref: '#/components/schemas/ValidationReportValidationResultGeometrisch' - syntaktisch: - $ref: '#/components/schemas/ValidationReportValidationResultSyntaktisch' - ValidationReportValidationResultGeometrisch: - type: object - properties: - valid: - type: boolean - example: false - errors: - type: array - items: - type: string - warnings: - type: array - items: - type: string - ValidationReportValidationResultSemantisch: - type: object - properties: - valid: - type: boolean - example: false - rules: - type: array - items: - $ref: '#/components/schemas/ValidationReportValidationResultSemantischRules' - ValidationReportValidationResultSemantischRules: - type: object - properties: - name: - type: string - isValid: - type: boolean - message: - type: string - invalidFeatures: - type: array - items: - type: string - description: GML-ID - example: GML_b4e47d29-d21c-42ab-85b7-b12ea57e89f2 - ValidationReportValidationResultSyntaktisch: - type: object - properties: - valid: - type: boolean - example: false - messages: - type: array - items: - type: string - Basisdaten: - type: object - properties: - name: - type: string - beschreibung: - type: string - planArt: - type: integer - format: int32 - sonstPlanArt: - type: integer - format: int32 - verfahren: - type: integer - format: int32 - rechtsstand: - type: integer - format: int32 - rechtsverordnungsDatum: - type: string - format: date-time - technHerstellDatum: - type: string - format: date-time - untergangsDatum: - type: string - format: date-time - Dokument: - allOf: - - $ref: '#/components/schemas/Referenz' - - type: object - properties: - id: - type: string - typ: - type: string - Zeitraum: - type: object - properties: - start: - type: string - format: date-time - ende: - type: string - format: date-time - Rasterbasis: - allOf: - - $ref: '#/components/schemas/Referenz' - - type: object - properties: - id: - type: string - Referenz: - type: object - properties: - georefURL: - type: string - georefMimeType: - type: string - art: - type: string - informationssystemURL: - type: string - referenzName: - type: string - referenzURL: - type: string - referenzMimeType: - type: string - beschreibung: - type: string - datum: - type: string - format: date-time - Text: - type: object - properties: - id: - type: string - schluessel: - type: string - gesetzlicheGrundlage: - type: string - text: - type: string - refText: - $ref: '#/components/schemas/Referenz' - rechtscharakter: - type: integer - format: int32 diff --git a/xplan-validator/xplan-validator-api/pom.xml b/xplan-validator/xplan-validator-api/pom.xml index e80068c91d8424fa052bd8ac5dedca9198071efe..532c32972c7d74871112429be686334f8a6e1781 100755 --- a/xplan-validator/xplan-validator-api/pom.xml +++ b/xplan-validator/xplan-validator-api/pom.xml @@ -216,22 +216,6 @@ <artifactId>swagger-jaxrs2</artifactId> <version>${swagger.version}</version> </dependency> - <dependency> - <groupId>io.swagger.core.v3</groupId> - <artifactId>swagger-jaxrs2-servlet-initializer</artifactId> - <version>${swagger.version}</version> - </dependency> - <dependency> - <groupId>io.swagger.parser.v3</groupId> - <artifactId>swagger-parser</artifactId> - <version>2.0.33</version> - <exclusions> - <exclusion> - <groupId>javax.validation</groupId> - <artifactId>validation-api</artifactId> - </exclusion> - </exclusions> - </dependency> <!-- jackson --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> @@ -320,35 +304,6 @@ </dependencies> <profiles> - <profile> - <id>generate-swagger</id> - <build> - <plugins> - <plugin> - <groupId>org.openapitools</groupId> - <artifactId>openapi-generator-maven-plugin</artifactId> - <version>4.3.1</version> - <executions> - <execution> - <goals> - <goal>generate</goal> - </goals> - <configuration> - <inputSpec>${project.basedir}/src/main/resources/xplanvalidator.yaml</inputSpec> - <language>jaxrs-spec</language> - <packageName>${base.package.name}.api.validator.v2</packageName> - <modelPackage>${base.package.name}.api.validator.v2.model</modelPackage> - <apiPackage>${base.package.name}.api.validator.v2</apiPackage> - <configOptions> - <sourceFolder>${project.build}/generated-sources/swagger</sourceFolder> - </configOptions> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> <profile> <id>docker</id> <properties> diff --git a/xplan-validator/xplan-validator-api/src/main/resources/xplanvalidator.yaml b/xplan-validator/xplan-validator-api/src/main/resources/xplanvalidator.yaml deleted file mode 100644 index bcd1c86d14aa813179f9762474ba2d4f1e18ec2e..0000000000000000000000000000000000000000 --- a/xplan-validator/xplan-validator-api/src/main/resources/xplanvalidator.yaml +++ /dev/null @@ -1,282 +0,0 @@ -### -# #%L -# xplan-api-validator - Modul zur Gruppierung der REST-API -# %% -# Copyright (C) 2008 - 2023 Freie und Hansestadt Hamburg, developed by lat/lon gesellschaft für raumbezogene Informationssysteme mbH -# %% -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. -# #L% -### -openapi: 3.0.1 -info: - title: XPlanValidatorAPI - description: XPlanValidator REST API - termsOfService: http://xplanbox.lat-lon.de/terms/ - contact: - email: info@lat-lon.de - license: - name: Apache 2.0 - url: http://www.apache.org/licenses/LICENSE-2.0.html - version: 1.0.0 -servers: - - url: https://xplanbox.lat-lon.de/xvalidator/api/v1 - - url: http://xplanbox.lat-lon.de/xvalidator/api/v1 -tags: - - name: validate - description: Validate XPlanGML documents - externalDocs: - description: xPlanBox - url: http://xplanbox.lat-lon.de -paths: - /: - get: - summary: OpenAPI document - description: API documentation - operationId: openApi - responses: - 200: - description: successful operation - content: - application/json: - schema: - type: object - /info: - get: - summary: Show system and application configuration - description: Returns the system and application configuration - operationId: showConfig - responses: - 200: - description: successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/SystemConfig' - /validate: - post: - tags: - - validate - summary: Validate XPlanGML or XPlanArchive - description: Validates XPlanGML or XPlanArchive file - operationId: validate - parameters: - - name: X-Filename - in: header - description: Name of the file to be uploaded - schema: - pattern: '^[A-Za-z0-9.()_-]*$' - type: string - example: File names such as xplan.gml, xplan.xml, xplan.zip - - name: name - in: query - description: Name of the validation - schema: - type: string - example: 'xplan-1, Prüfbericht_Torstrasse_10, report#4223' - - name: skipSemantisch - in: query - description: skip semantische Validierung - schema: - type: boolean - default: false - - name: skipGeometrisch - in: query - description: skip geometrische Validierung - schema: - type: boolean - default: false - - name: skipFlaechenschluss - in: query - description: skip Flaechenschluss Ueberpruefung - schema: - type: boolean - default: false - - name: skipGeltungsbereich - in: query - description: skip Geltungsbereich Ueberpruefung - schema: - type: boolean - default: false - requestBody: - content: - application/octet-stream: - schema: - $ref: '#/components/schemas/XPlanArchive' - application/zip: - schema: - $ref: '#/components/schemas/XPlanArchive' - application/x-zip: - schema: - $ref: '#/components/schemas/XPlanArchive' - application/x-zip-compressed: - schema: - $ref: '#/components/schemas/XPlanArchive' - text/xml: - schema: - $ref: '#/components/schemas/XPlanGML' - application/gml+xml: - schema: - $ref: '#/components/schemas/XPlanGML' - required: true - responses: - 200: - description: ValidationReport - content: - application/json: - schema: - $ref: '#/components/schemas/ValidationReport' - application/xml: - schema: - $ref: '#/components/schemas/ValidationReport' - text/xml: - schema: - $ref: '#/components/schemas/ValidationReport' - application/pdf: - schema: - type: string - format: binary - application/zip: - schema: - type: string - format: binary - description: Contains validation report in PDF, SHAPE, PNG file format - 400: - description: Invalid input - 406: - description: Invalid content only XPlanGML or ZIP with XPlanGML is accepted -components: - schemas: - XPlanGML: - type: string - format: binary - description: 'XPlanGML to upload' - RulesMetadata: - type: object - properties: - version: - type: string - example: 0.9.14 - source: - type: string - example: 'https://bitbucket.org/geowerkstatt-hamburg/xplanung/get/v0.9.14.zip' - SystemConfig: - type: object - properties: - version: - type: string - description: Version der xPlanBox - example: 'v3.4.0' - rulesMetadata: - $ref: '#/components/schemas/RulesMetadata' - supportedXPlanGmlVersions: - type: array - items: - type: string - example: "XPLAN_51" - enum: [ XPLAN_40,XPLAN_41,XPLAN_50,XPLAN_51,XPLAN_52,XPLAN_53,XPLAN_54,XPLAN_60 ] - ValidationReport: - type: object - properties: - filename: - type: string - example: xplan52-test.gml - name: - type: string - example: xplan52-test - version: - type: string - example: "XPLAN_51" - enum: [ XPLAN_40,XPLAN_41,XPLAN_50,XPLAN_51,XPLAN_52,XPLAN_53,XPLAN_54,XPLAN_60 ] - date: - type: string - format: date-time - example: '2020-08-24T15:06:36.662Z' - valid: - type: boolean - example: false - externalReferences: - type: array - items: - type: string - example: 'stelling.png' - wmsUrl: - type: string - format: uri - example: https://xplanbox.lat-lon.de/xplan-validator-wms/services/wms?PLANWERK_MANAGERID=13 - rulesMetadata: - $ref: '#/components/schemas/RulesMetadata' - validationResult: - $ref: '#/components/schemas/ValidationReportValidationResult' - ValidationReportValidationResult: - type: object - properties: - semantisch: - $ref: '#/components/schemas/ValidationReportValidationResultSemantisch' - geometrisch: - $ref: '#/components/schemas/ValidationReportValidationResultGeometrisch' - syntaktisch: - $ref: '#/components/schemas/ValidationReportValidationResultSyntaktisch' - ValidationReportValidationResultGeometrisch: - type: object - properties: - valid: - type: boolean - example: false - errors: - type: array - items: - type: string - warnings: - type: array - items: - type: string - ValidationReportValidationResultSemantisch: - type: object - properties: - valid: - type: boolean - example: false - rules: - type: array - items: - $ref: '#/components/schemas/ValidationReportValidationResultSemantischRules' - ValidationReportValidationResultSemantischRules: - type: object - properties: - name: - type: string - isValid: - type: boolean - message: - type: string - invalidFeatures: - type: array - items: - type: string - description: GML-ID - example: GML_b4e47d29-d21c-42ab-85b7-b12ea57e89f2 - ValidationReportValidationResultSyntaktisch: - type: object - properties: - valid: - type: boolean - example: false - messages: - type: array - items: - type: string - XPlanArchive: - type: string - format: binary - description: XPlanArchive (application/zip) file to upload