diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/adapter/properties/ComponentListPropertyAdapter.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/adapter/properties/ComponentListPropertyAdapter.java deleted file mode 100644 index 66930ed8eb5805a13608320b0de9532abac16d47..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/adapter/properties/ComponentListPropertyAdapter.java +++ /dev/null @@ -1,30 +0,0 @@ -/*- - * Copyright 2022 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.adapter.properties; - -import de.hft.stuttgart.quality.model.properties.ComponentListProperty; -import org.xmlobjects.builder.ObjectBuildException; -import org.xmlobjects.gml.adapter.base.AbstractInlinePropertyAdapter; - -import javax.xml.namespace.QName; - -public class ComponentListPropertyAdapter extends AbstractInlinePropertyAdapter { - - @Override - public ComponentListProperty createObject(QName name, Object parent) throws ObjectBuildException { - return new ComponentListProperty(); - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/adapter/types/ComponentListAdapter.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/adapter/types/ComponentListAdapter.java deleted file mode 100644 index 017314eaafe083159aa860823ae9a6d1b554dac6..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/adapter/types/ComponentListAdapter.java +++ /dev/null @@ -1,58 +0,0 @@ -package de.hft.stuttgart.quality.adapter.types; - -import javax.xml.namespace.QName; - -import org.xmlobjects.annotation.XMLElement; -import org.xmlobjects.builder.ObjectBuildException; -import org.xmlobjects.builder.ObjectBuilder; -import org.xmlobjects.serializer.ObjectSerializeException; -import org.xmlobjects.serializer.ObjectSerializer; -import org.xmlobjects.stream.XMLReadException; -import org.xmlobjects.stream.XMLReader; -import org.xmlobjects.stream.XMLWriteException; -import org.xmlobjects.stream.XMLWriter; -import org.xmlobjects.xml.Attributes; -import org.xmlobjects.xml.Element; -import org.xmlobjects.xml.Namespaces; - -import de.hft.stuttgart.quality.QualityADEModule; -import de.hft.stuttgart.quality.adapter.properties.PolygonIdListPropertyAdapter; -import de.hft.stuttgart.quality.model.properties.PolygonIdListProperty; -import de.hft.stuttgart.quality.model.types.ComponentList; - -@XMLElement(name = "ComponentList", namespaceURI = QualityADEModule.NAMESPACE_URI) -public class ComponentListAdapter implements ObjectBuilder, ObjectSerializer { - - @Override - public ComponentList createObject(QName name, Object parent) throws ObjectBuildException { - return new ComponentList(); - } - - @Override - public void buildChildObject(ComponentList object, QName name, Attributes attributes, XMLReader reader) - throws ObjectBuildException, XMLReadException { - if (!QualityADEModule.NAMESPACE_URI.equals(name.getNamespaceURI())) { - return; - } - switch (name.getLocalPart()) { - case "component" -> object.getComponents() - .add(reader.getObjectUsingBuilder(PolygonIdListPropertyAdapter.class)); - default -> throw new IllegalStateException( - "Cannot handle name " + name + " when building ComponentList element"); - } - } - - @Override - public Element createElement(ComponentList object, Namespaces namespaces) throws ObjectSerializeException { - return Element.of(QualityADEModule.NAMESPACE_URI, "ComponentList"); - } - - @Override - public void writeChildElements(ComponentList object, Namespaces namespaces, XMLWriter writer) - throws ObjectSerializeException, XMLWriteException { - for (PolygonIdListProperty listProperty : object.getComponents()) { - writer.writeElementUsingSerializer(Element.of(QualityADEModule.NAMESPACE_URI, "component"), listProperty, - PolygonIdListPropertyAdapter.class, namespaces); - } - } -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/adapter/types/MultipleComponentsErrorAdapter.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/adapter/types/MultipleComponentsErrorAdapter.java index b5baafb9457c1aa55cb506e253cee69bd1d4a51e..87b22d6dbf1afe01742308c9fc8a436ec768b9f7 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/adapter/types/MultipleComponentsErrorAdapter.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/adapter/types/MultipleComponentsErrorAdapter.java @@ -14,8 +14,8 @@ import org.xmlobjects.xml.Element; import org.xmlobjects.xml.Namespaces; import de.hft.stuttgart.quality.QualityADEModule; -import de.hft.stuttgart.quality.adapter.properties.ComponentListPropertyAdapter; -import de.hft.stuttgart.quality.model.properties.ComponentListProperty; +import de.hft.stuttgart.quality.adapter.properties.PolygonIdListPropertyAdapter; +import de.hft.stuttgart.quality.model.properties.PolygonIdListProperty; import de.hft.stuttgart.quality.model.types.MultipleComponentsError; @XMLElement(name = "GE_S_MULTIPLE_CONNECTED_COMPONENTS", namespaceURI = QualityADEModule.NAMESPACE_URI) @@ -33,11 +33,11 @@ public class MultipleComponentsErrorAdapter extends AbstractSolidErrorAdapter object.getComponents().add(reader.getObjectUsingBuilder(ComponentListPropertyAdapter.class)); + case "component" -> object.getComponents().add(reader.getObjectUsingBuilder(PolygonIdListPropertyAdapter.class)); default -> super.buildChildObject(object, name, attributes, reader); } } - + @Override public Element createElement(MultipleComponentsError object, Namespaces namespaces) throws ObjectSerializeException { @@ -48,9 +48,9 @@ public class MultipleComponentsErrorAdapter extends AbstractSolidErrorAdapter implements ADEObject { - - @Serial - private static final long serialVersionUID = 3081945215746143126L; - - public ComponentListProperty() { - super(); - } - - public ComponentListProperty(ComponentList cl) { - super(cl); - } - - @Override - public Class getTargetType() { - return ComponentList.class; - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ComponentList.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ComponentList.java deleted file mode 100644 index 6ad6181e35f3cfb601509eef36647f9236563783..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ComponentList.java +++ /dev/null @@ -1,45 +0,0 @@ -/*- - * Copyright 2022 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.types; - -import java.io.Serial; -import java.util.List; - -import org.citygml4j.core.model.ade.ADEObject; -import org.xmlobjects.gml.model.GMLObject; -import org.xmlobjects.model.ChildList; - -import de.hft.stuttgart.quality.model.properties.PolygonIdListProperty; - -public class ComponentList extends GMLObject implements ADEObject { - - @Serial - private static final long serialVersionUID = 7846916128728837265L; - - private List components; - - public List getComponents() { - if (components == null) { - components = new ChildList<>(this); - } - return components; - } - - public void setComponents(List components) { - this.components = asChild(components); - } - -} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/MultipleComponentsError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/MultipleComponentsError.java index 9bb38d69ce5410c097b76674783ad3864d8beb13..c07804c540b6bc18ced007085ba87d76d1625209 100644 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/MultipleComponentsError.java +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/MultipleComponentsError.java @@ -20,23 +20,23 @@ import java.util.List; import org.xmlobjects.model.ChildList; -import de.hft.stuttgart.quality.model.properties.ComponentListProperty; +import de.hft.stuttgart.quality.model.properties.PolygonIdListProperty; public class MultipleComponentsError extends AbstractSolidError { @Serial private static final long serialVersionUID = 4322219502819024437L; - private List components; + private List components; - public List getComponents() { + public List getComponents() { if (components == null) { components = new ChildList<>(this); } return components; } - public void setComponents(List edges) { + public void setComponents(List edges) { this.components = asChild(edges); } diff --git a/citygml4j-quality-ade/src/main/resources/qualityAde.xsd b/citygml4j-quality-ade/src/main/resources/qualityAde.xsd index 6bfd61a443e83c0cb51b68fffa868de961001a7a..31d1e643f50ec2f0b28bcdd46e90da009c9629b4 100644 --- a/citygml4j-quality-ade/src/main/resources/qualityAde.xsd +++ b/citygml4j-quality-ade/src/main/resources/qualityAde.xsd @@ -94,17 +94,6 @@ - - - - - - - - - - - @@ -383,7 +372,7 @@ - + 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 index 10a3c931f484d4d8859d731c2de1e9dd82921303..6a58f064cc0d007934f35d09776e89a386755c65 100644 --- 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 @@ -63,7 +63,6 @@ import de.hft.stuttgart.quality.model.enums.RingSelfIntType; import de.hft.stuttgart.quality.model.enums.TopLevelFeatureType; import de.hft.stuttgart.quality.model.properties.AbstractErrorProperty; import de.hft.stuttgart.quality.model.properties.CheckingProperty; -import de.hft.stuttgart.quality.model.properties.ComponentListProperty; import de.hft.stuttgart.quality.model.properties.EdgeListProperty; import de.hft.stuttgart.quality.model.properties.EdgeProperty; import de.hft.stuttgart.quality.model.properties.FeatureStatisticsProperty; @@ -78,7 +77,6 @@ import de.hft.stuttgart.quality.model.properties.ValidationResultProperty; import de.hft.stuttgart.quality.model.types.AllPolygonsOrientedWrongError; import de.hft.stuttgart.quality.model.types.Checking; import de.hft.stuttgart.quality.model.types.CityObjectProperties; -import de.hft.stuttgart.quality.model.types.ComponentList; import de.hft.stuttgart.quality.model.types.ConsecutivePointsSameError; import de.hft.stuttgart.quality.model.types.Edge; import de.hft.stuttgart.quality.model.types.EdgeList; @@ -213,14 +211,10 @@ class QualityAdeTests { MultipleComponentsError err = new MultipleComponentsError(); err.setGeometryId("geomId"); - ComponentList comp = new ComponentList(); PolygonIdList polygons = new PolygonIdList(); polygons.getPolygonIds().add("test1"); polygons.getPolygonIds().add("test2"); - comp.getComponents().add(new PolygonIdListProperty(polygons)); - - err.getComponents().add(new ComponentListProperty(comp)); - + err.getComponents().add(new PolygonIdListProperty(polygons)); res.getErrors().add(new AbstractErrorProperty(err)); byte[] buf = writeModel(model);