From 4312b075c150b866916f957861e523d4b9cd7b7f Mon Sep 17 00:00:00 2001 From: Riegel <alexander.riegel@hft-stuttgart.de> Date: Thu, 23 Jan 2025 15:56:24 +0100 Subject: [PATCH] Fix: Disable QualityADE for new top-level types Disables writing to the QualityADE when parsing the newly added feature types as a temporary fix. The QualityADE is only compatible with CityGML Version 2.0, since the XML namespaces changed in Version 3.0. Updating the ADE to be compatible with 2.0 and 3.0 is a bigger task, a discussion if it should be updated vs. deprecation and removal is required. --- .../citydoctor2/check/StreamCityGmlConsumer.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/check/StreamCityGmlConsumer.java b/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/check/StreamCityGmlConsumer.java index 2ebf44d..f555a8e 100644 --- a/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/check/StreamCityGmlConsumer.java +++ b/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/check/StreamCityGmlConsumer.java @@ -29,6 +29,9 @@ import java.util.Set; import java.util.UUID; import java.util.concurrent.atomic.AtomicInteger; +import de.hft.stuttgart.citydoctor2.datastructure.AbstractTunnel; +import de.hft.stuttgart.citydoctor2.datastructure.CityFurniture; +import de.hft.stuttgart.citydoctor2.datastructure.GenericCityObject; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.citygml4j.core.model.core.AbstractFeatureProperty; @@ -139,8 +142,12 @@ public class StreamCityGmlConsumer implements CityGmlConsumer { pdfReporter.report(co); } - // store quality ade datastructures in cityobject - QualityADEUtils.writeQualityAde(co, val); + // TODO: Update QualityADE to be compatible with CityGML 3.0 or deprecate it, unhandled top-level feature types are just skipped for now + if (!(co instanceof AbstractTunnel || co instanceof CityFurniture || co instanceof GenericCityObject)) { + // store quality ade datastructures in cityobject + QualityADEUtils.writeQualityAde(co, val); + } + // recreate geometry co.reCreateGeometries(gmlFactory, config.getParserConfiguration()); -- GitLab