diff --git a/.gitignore b/.gitignore index bccafffa77e2660ae029a1bd0b7202da6c69f1ad..8b4f9f0291beadfb206d34c1571ce6884d367d7b 100644 --- a/.gitignore +++ b/.gitignore @@ -148,7 +148,7 @@ fabric.properties ### Intellij Patch ### # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 -# *.iml + *.iml modules.xml .idea/misc.xml *.ipr @@ -271,6 +271,6 @@ $RECYCLE.BIN/ # Windows shortcuts *.lnk -idea/ +**/.idea/ # End of https://www.gitignore.io/api/java,maven,macos,linux,eclipse,windows,netbeans,intellij diff --git a/citygml4j-quality-ade/.gitignore b/citygml4j-quality-ade/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..a2ca7a03ecc6d82159ead0f4ebbe153a08237050 --- /dev/null +++ b/citygml4j-quality-ade/.gitignore @@ -0,0 +1,2 @@ +/.apt_generated_tests/ +*.iml diff --git a/citygml4j-quality-ade/pom.xml b/citygml4j-quality-ade/pom.xml index 4c65c090ee5cdc7c243476c2c97a1108c03674f7..4e268329d6049368020c0fc924d9bb9d07de6e8c 100644 --- a/citygml4j-quality-ade/pom.xml +++ b/citygml4j-quality-ade/pom.xml @@ -8,16 +8,20 @@ UTF-8 - 1.8 - 1.8 + 17 + 17 - org.citygml4j - citygml4j - 2.10.2 + citygml4j-core + 3.0.0-SNAPSHOT + + + org.citygml4j + citygml4j-xml + 3.0.0-SNAPSHOT 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..f7b70bafdee1cdcfd3fc884b474a5a17b5061716 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 @@ -18,36 +18,23 @@ package de.hft.stuttgart.quality; import java.util.Collections; import java.util.List; -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.module.ade.ADEModule; +import org.citygml4j.core.visitor.ADEWalker; +import org.citygml4j.xml.ade.CityGMLADE; +import org.citygml4j.xml.module.ade.ADEModule; -import de.hft.stuttgart.quality.marshaller.QualityAdeMarshaller; -import de.hft.stuttgart.quality.marshaller.QualityAdeUnmarshaller; -public class QualityADEContext implements ADEContext { +public class QualityADEContext implements CityGMLADE { - private final List modules = Collections.singletonList(QualityADEModule.V0_1_3); + private final List modules = Collections.singletonList(QualityADEModule.V0_1_4); @Override public List getADEModules() { return modules; } - - @Override - public List getModelPackageNames() { - return Collections.singletonList("de.hft.stuttgart.quality.model"); - } - - @Override - public ADEMarshaller createADEMarshaller() { - return new QualityAdeMarshaller(); - } - + @Override - public ADEUnmarshaller createADEUnmarshaller() { - return new QualityAdeUnmarshaller(); + public ADEWalker getADEWalker() { + return new QualityADEWalker(); } } 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..58d389b7ca2d5da3a12d71cf1dc4f88d266737f2 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 @@ -16,66 +16,22 @@ package de.hft.stuttgart.quality; import java.net.URL; -import java.util.Collections; -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; +import org.citygml4j.core.model.CityGMLVersion; +import org.citygml4j.xml.module.ade.ADEModule; public class QualityADEModule extends ADEModule { - public static final String NAMESPACE_URI = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.3"; - - public static final QualityADEModule V0_1_3 = new QualityADEModule(); - - private static final long serialVersionUID = -8208579547274734280L; - - public QualityADEModule() { - super(NAMESPACE_URI, "qual", CityGMLVersion.v2_0_0); - } - - @Override - public URL getSchemaResource() { - return QualityADEContext.class.getResource("/qualityAde.xsd"); - } - - @Override - public List getJAXBPackageNames() { - return Collections.singletonList("de.hft.stuttgart.quality.model.jaxb"); - } + public static final String NAMESPACE_URI = "https://transfer.hft-stuttgart.de/pages/citydoctor/qualityade/0.1.4"; - @Override - public boolean hasFeatureProperty(String name) { - return false; - } + public static final QualityADEModule V0_1_4 = new QualityADEModule(); - @Override - public boolean hasFeature(String name) { - return false; - } - - @Override - public Class getFeatureClass(String name) { - throw new IllegalStateException("No feature classes available"); - } - - @Override - public QName getFeatureName(Class featureClass) { - return null; - } - - @Override - public Map> getFeatures() { - return Collections.emptyMap(); - } - - @Override - public boolean isTopLevelFeature(String name) { - return false; - } + public QualityADEModule() { + super(NAMESPACE_URI, "qual", CityGMLVersion.v2_0); + } + @Override + public URL getSchemaResource() { + return QualityADEContext.class.getResource("/qualityAde.xsd"); + } } 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/QualityADEWalker.java similarity index 72% 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/QualityADEWalker.java index a1b5a8e2faba36caba5ebc77e4c545f208573f2a..6c035a38f229166b4ed7bd88668405ea47c44a09 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/QualityADEWalker.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,9 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality; -public abstract class ValidationError extends ChildObject { +import org.citygml4j.core.visitor.ADEWalker; + +public class QualityADEWalker extends ADEWalker { + - private static final long serialVersionUID = -2995694676938108325L; } 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> elementMapper; - private TypeMapper typeMapper; - private ADEMarshallerHelper helper; - - private TypeMapper> getElementMapper() { - if (elementMapper == null) { - lock.lock(); - try { - if (elementMapper == null) { - elementMapper = TypeMapper.>create().with(Validation.class, this::createValidation) - .with(ValidationResult.class, this::createValidationResult); - } - } finally { - lock.unlock(); - } - } - - return elementMapper; - } - - private TypeMapper 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 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 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 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 typeMapper; - private ADEUnmarshallerHelper helper; - - private CheckedTypeMapper getTypeMapper() { - if (typeMapper == null) { - lock.lock(); - try { - if (typeMapper == null) { - typeMapper = CheckedTypeMapper.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 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 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 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 { - - @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/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/ChildObject.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ChildObject.java deleted file mode 100644 index 39aec6d0c286a30c3526f2c39535f820a7cb9d17..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ChildObject.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; -import org.citygml4j.model.citygml.ade.binding.ADEModelObject; -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; - } - - @Override - public void setParent(ModelObject parent) { - this.parent = parent; - } - - @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/HoleOutside.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/HoleOutside.java deleted file mode 100644 index 4804bb024b25ed1c9859e4fea7ca9e87249ee556..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/HoleOutside.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; - -import org.citygml4j.builder.copy.CopyBuilder; - -public class HoleOutside extends PolygonError { - - private static final long serialVersionUID = -3029497342950689843L; - - private String linearRingId; - - public void setLinearRingId(String linearRingId) { - this.linearRingId = linearRingId; - } - - public String getLinearRingId() { - return linearRingId; - } - - @Override - public String toString() { - return "HoleOutside [polygonId=" + getPolygonId() + ", linearRingId=" + linearRingId + "]"; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new HoleOutside(), 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 components; - - public boolean isSetComponents() { - return components != null && !components.isEmpty(); - } - - public List 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/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/OrientationRingsSame.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/OrientationRingsSame.java deleted file mode 100644 index 16ab55ead3b8e69e39f6f620439c592150f2071f..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/OrientationRingsSame.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; - -import org.citygml4j.builder.copy.CopyBuilder; - -public class OrientationRingsSame extends PolygonError { - - private static final long serialVersionUID = -6983324580253488854L; - - private String linearRingId; - - public void setLinearRingId(String linearRingId) { - this.linearRingId = linearRingId; - } - - public String getLinearRingId() { - return linearRingId; - } - - @Override - public String toString() { - return "OrientationRingsSame [polygonId=" + getPolygonId() + ", linearRingId=" + linearRingId + "]"; - } - - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new OrientationRingsSame(), 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 edges; - - public boolean isSetEdges() { - return edges != null && !edges.isEmpty(); - } - - public List 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/RingNotClosed.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingNotClosed.java deleted file mode 100644 index 4c52b24e2fadf1912c2290232eaea6032df58110..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingNotClosed.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 RingNotClosed extends RingError { - - private static final long serialVersionUID = 5502668444088395535L; - - @Override - public String toString() { - return "RingNotClosed [linearRingId=" + getLinearRingId() + "]"; - } - - @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/SolidSelfIntersection.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidSelfIntersection.java deleted file mode 100644 index 423512c6a5910d0c63c5d9c073800f6d6a0adb47..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidSelfIntersection.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 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); - } -} 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 deleted file mode 100644 index 2ee30ba0b6f0e4e9cb90aabf9fb996d27fffd63b..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Validation.java +++ /dev/null @@ -1,86 +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.time.ZonedDateTime; - -import org.citygml4j.builder.copy.CopyBuilder; - -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; - } -} 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 deleted file mode 100644 index c547d6119ce71b95dc62163e85922c617c01bbb0..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ValidationResult.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; - -import java.util.ArrayList; -import java.util.List; - -import org.citygml4j.builder.copy.CopyBuilder; - -import de.hft.stuttgart.quality.model.jaxb.ResultType; - -public class ValidationResult extends ChildObject { - - private static final long serialVersionUID = 1180762313908627342L; - - private ResultType result; - - private List errors; - - public boolean hasErrors() { - return errors != null && !errors.isEmpty(); - } - - public List getErrors() { - if (errors == null) { - errors = new ArrayList<>(2); - } - return errors; - } - - public void setResult(ResultType result) { - this.result = result; - } - - public ResultType getResult() { - return result; - } - - @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/jaxb/ErrorId.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/enums/ErrorId.java similarity index 88% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorId.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/enums/ErrorId.java index cb34d11c8af741170f2d89224cee993d8a4cebcd..3154031a58c8ce072b2a036120dd3f271130b2cd 100644 --- 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/enums/ErrorId.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,11 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.enums; -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, 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/enums/RequirementId.java similarity index 88% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RequirementId.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/enums/RequirementId.java index 851382c29b104f65c000aed4b4a0c5fc806150a2..19a065b8ca0f1395b6d4337fc6510a5214b349cd 100644 --- 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/enums/RequirementId.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,11 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.enums; -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, 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/enums/ResultType.java similarity index 80% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ResultType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/enums/ResultType.java index 70db92cc86dbf718883e15b2158e42cf63562a7c..a35c3164e3f21e241c0da50e584df282ab5280b4 100644 --- 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/enums/ResultType.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,11 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.enums; -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/RingSelfIntType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/enums/RingSelfIntType.java similarity index 81% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingSelfIntType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/enums/RingSelfIntType.java index 582bcc0c067e7d96bd235e4b8958a5ee930ca0bb..d6d5b83afe899f7939c7855622008f586d93b07d 100644 --- 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/enums/RingSelfIntType.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,11 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.enums; -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/TopLevelFeatureType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/enums/TopLevelFeatureType.java similarity index 81% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/TopLevelFeatureType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/enums/TopLevelFeatureType.java index b0fa42feadfdd2ab14aae4173045474b6a63783e..b046b6eb1328f370430a1f84ca66b6b2b0abe394 100644 --- 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/enums/TopLevelFeatureType.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,11 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.enums; -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/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/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/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/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/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 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 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/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 edges; - - public boolean isSetEdges() { - return edges != null && !edges.isEmpty(); - } - - public List 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 parameters; - - public RequirementId getName() { - return name; - } - - public List 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/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/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 edges; - - public boolean isSetEdges() { - return edges != null && !edges.isEmpty(); - } - - public List getEdges() { - if (edges == null) { - edges = new ArrayList<>(); - } - return edges; - } - -} 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; - - public List 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/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 globalParameters; - - @XmlElement(name = "requirement") - private List requirements; - - @XmlElementWrapper(name = "filter") - @XmlElement(name = "checking") - private List filter; - - public List getFilter() { - if (filter == null) { - filter = new ArrayList<>(); - } - return filter; - } - - public List getRequirements() { - if (requirements == null) { - requirements = new ArrayList<>(); - } - return requirements; - } - - public List 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 cadc930f72c9fe568c3873f780c8a305e99c6d72..0000000000000000000000000000000000000000 --- a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationResultType.java +++ /dev/null @@ -1,54 +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.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlElementRef; - -@XmlAccessorType(XmlAccessType.FIELD) -public class ValidationResultType { - - @XmlAttribute(name = "result") - private ResultType result; - - @XmlElementRef - private List errors; - - public List 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/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/model/properties/AbstractErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..154f16db4113ccd0604c672eec65ecd06f84eeef --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.AbstractError; + +public class AbstractErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 1411862623125946009L; + + public AbstractErrorProperty() { + super(); + } + + public AbstractErrorProperty(AbstractError ae) { + super(ae); + } + + @Override + public Class getTargetType() { + return AbstractError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractGeometryErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractGeometryErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..66789ee40639b338df1ca4e9a2ea63d23735acce --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractGeometryErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.AbstractGeometryError; + +public class AbstractGeometryErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 7034671234592671680L; + + public AbstractGeometryErrorProperty() { + super(); + } + + public AbstractGeometryErrorProperty(AbstractGeometryError age) { + super(age); + } + + @Override + public Class getTargetType() { + return AbstractGeometryError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractPolygonErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractPolygonErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..90dd4b0e03ce5c6a4b785779de899afae7fff6e0 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractPolygonErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.AbstractPolygonError; + +public class AbstractPolygonErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 70692012962059529L; + + public AbstractPolygonErrorProperty() { + super(); + } + + public AbstractPolygonErrorProperty(AbstractPolygonError ape) { + super(ape); + } + + @Override + public Class getTargetType() { + return AbstractPolygonError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractRingErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractRingErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..bd93ccbd8aa6b2902b1f51c92e8ce2744a466116 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractRingErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.AbstractRingError; + +public class AbstractRingErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 6934180997181643185L; + + public AbstractRingErrorProperty() { + super(); + } + + public AbstractRingErrorProperty(AbstractRingError are) { + super(are); + } + + @Override + public Class getTargetType() { + return AbstractRingError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractSemanticErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractSemanticErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..1cb46cada947146d35296489aed5edaa2024c7b8 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractSemanticErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.AbstractSemanticError; + +public class AbstractSemanticErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 8488922114751949334L; + + public AbstractSemanticErrorProperty() { + super(); + } + + public AbstractSemanticErrorProperty(AbstractSemanticError ase) { + super(ase); + } + + @Override + public Class getTargetType() { + return AbstractSemanticError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractSolidErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractSolidErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..bdee7d6eb8e425bd9c63a803068bac7b469facb8 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AbstractSolidErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.AbstractSolidError; + +public class AbstractSolidErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 4191279461525842687L; + + public AbstractSolidErrorProperty() { + super(); + } + + public AbstractSolidErrorProperty(AbstractSolidError ase) { + super(ase); + } + + @Override + public Class getTargetType() { + return AbstractSolidError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AllPolygonsOrientedWrongErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AllPolygonsOrientedWrongErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..19a004d7ab4eaf1ea7ae44477681e474a2e55159 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/AllPolygonsOrientedWrongErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.AllPolygonsOrientedWrongError; + +public class AllPolygonsOrientedWrongErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 441706560214349475L; + + public AllPolygonsOrientedWrongErrorProperty() { + super(); + } + + public AllPolygonsOrientedWrongErrorProperty(AllPolygonsOrientedWrongError apowe) { + super(apowe); + } + + @Override + public Class getTargetType() { + return AllPolygonsOrientedWrongError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/CheckingProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/CheckingProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..c6c4f109c29ae077dd7aea25e0932ebb5ee2e15c --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/CheckingProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.Checking; + +public class CheckingProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 2275964563754871682L; + + public CheckingProperty() { + super(); + } + + public CheckingProperty(Checking c) { + super(c); + } + + @Override + public Class getTargetType() { + return Checking.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ComponentListProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ComponentListProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..be09b6c52e8a3e92968d60064620d9c3de0ea1fb --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ComponentListProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.ComponentList; + +public class ComponentListProperty extends AbstractInlineProperty 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/properties/ConsecutivePointsSameErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ConsecutivePointsSameErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..38a1bc4cdc6a007424a5021c41cf7d644da23ea9 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ConsecutivePointsSameErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.ConsecutivePointsSameError; + +public class ConsecutivePointsSameErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 3869036308848839709L; + + public ConsecutivePointsSameErrorProperty() { + super(); + } + + public ConsecutivePointsSameErrorProperty(ConsecutivePointsSameError cpse) { + super(cpse); + } + + @Override + public Class getTargetType() { + return ConsecutivePointsSameError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/EdgeListProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/EdgeListProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..fce97f559d90872cd397eed352cda50da24f9640 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/EdgeListProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.EdgeList; + +public class EdgeListProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 2336457353379630637L; + + public EdgeListProperty() { + super(); + } + + public EdgeListProperty(EdgeList el) { + super(el); + } + + @Override + public Class getTargetType() { + return EdgeList.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/EdgeProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/EdgeProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..efdd34c169d9f22685c653e1b6f13a5820061b0a --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/EdgeProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.Edge; + +public class EdgeProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 3087019382945722678L; + + public EdgeProperty() { + super(); + } + + public EdgeProperty(Edge e) { + super(e); + } + + @Override + public Class getTargetType() { + return Edge.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..ca747db652bd637a4402813332cd5d0633ea8ac8 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.Error; + +public class ErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 1405693040162674820L; + + public ErrorProperty() { + super(); + } + + public ErrorProperty(Error e) { + super(e); + } + + @Override + public Class getTargetType() { + return Error.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/FeatureStatisticsProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/FeatureStatisticsProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..5d31a9bba075009ca04d21725dbdb9d994e920a6 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/FeatureStatisticsProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.FeatureStatistics; + +public class FeatureStatisticsProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 4725452691563906950L; + + public FeatureStatisticsProperty() { + super(); + } + + public FeatureStatisticsProperty(FeatureStatistics fs) { + super(fs); + } + + @Override + public Class getTargetType() { + return FeatureStatistics.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/FilterProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/FilterProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..8342179fee2ecb08672cf2e725df3c2bb30b47d6 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/FilterProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.Filter; + +public class FilterProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 2202767186145199981L; + + public FilterProperty() { + super(); + } + + public FilterProperty(Filter f) { + super(f); + } + + @Override + public Class getTargetType() { + return Filter.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/GlobalParametersProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/GlobalParametersProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..eba5b1ade67657aa2b0efc822fcc2fad9d9712da --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/GlobalParametersProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.GlobalParameters; + +public class GlobalParametersProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 4688667898762529244L; + + public GlobalParametersProperty() { + super(); + } + + public GlobalParametersProperty(GlobalParameters gp) { + super(gp); + } + + @Override + public Class getTargetType() { + return GlobalParameters.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/HoleOutsideErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/HoleOutsideErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..9a0a0b2663b613bfbdb86c872e8dafa1cbca445a --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/HoleOutsideErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.HoleOutsideError; + +public class HoleOutsideErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 4196743912365692331L; + + public HoleOutsideErrorProperty() { + super(); + } + + public HoleOutsideErrorProperty(HoleOutsideError gepholeoutside) { + super(gepholeoutside); + } + + @Override + public Class getTargetType() { + return HoleOutsideError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/InnerRingsNestedErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/InnerRingsNestedErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..9957c83acad2b733782af204231f7e630f128151 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/InnerRingsNestedErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.InnerRingsNestedError; + +public class InnerRingsNestedErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 3036689276151551958L; + + public InnerRingsNestedErrorProperty() { + super(); + } + + public InnerRingsNestedErrorProperty(InnerRingsNestedError irne) { + super(irne); + } + + @Override + public Class getTargetType() { + return InnerRingsNestedError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/InteriorDisconnectedErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/InteriorDisconnectedErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..f50d443dce49cdd4c958bc87930088479575bc89 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/InteriorDisconnectedErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.InteriorDisconnectedError; + +public class InteriorDisconnectedErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 84761615612278576L; + + public InteriorDisconnectedErrorProperty() { + super(); + } + + public InteriorDisconnectedErrorProperty(InteriorDisconnectedError ide) { + super(ide); + } + + @Override + public Class getTargetType() { + return InteriorDisconnectedError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/IntersectingRingsErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/IntersectingRingsErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..bc97fa0a5b4d25c9eea95997c3e8d107d4a6d8cb --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/IntersectingRingsErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.IntersectingRingsError; + +public class IntersectingRingsErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 1608106125509503698L; + + public IntersectingRingsErrorProperty() { + super(); + } + + public IntersectingRingsErrorProperty(IntersectingRingsError ire) { + super(ire); + } + + @Override + public Class getTargetType() { + return IntersectingRingsError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/MultipleComponentsErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/MultipleComponentsErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..32e18207b8f4528420060d58bd721791bf6b31ef --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/MultipleComponentsErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.MultipleComponentsError; + +public class MultipleComponentsErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 5294284044767336204L; + + public MultipleComponentsErrorProperty() { + super(); + } + + public MultipleComponentsErrorProperty(MultipleComponentsError mce) { + super(mce); + } + + @Override + public Class getTargetType() { + return MultipleComponentsError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/NonManifoldEdgeErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/NonManifoldEdgeErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..c033d344c4e587ef007e4395f1649f5119c1906b --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/NonManifoldEdgeErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.NonManifoldEdgeError; + +public class NonManifoldEdgeErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 8331219256576062664L; + + public NonManifoldEdgeErrorProperty() { + super(); + } + + public NonManifoldEdgeErrorProperty(NonManifoldEdgeError nmee) { + super(nmee); + } + + @Override + public Class getTargetType() { + return NonManifoldEdgeError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/NonManifoldVertexErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/NonManifoldVertexErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..e65044478e5f924ad31d119285e42d23b9999b00 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/NonManifoldVertexErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.NonManifoldVertexError; + +public class NonManifoldVertexErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 3582401333822811835L; + + public NonManifoldVertexErrorProperty() { + super(); + } + + public NonManifoldVertexErrorProperty(NonManifoldVertexError nmve) { + super(nmve); + } + + @Override + public Class getTargetType() { + return NonManifoldVertexError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/OrientationRingsSameErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/OrientationRingsSameErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..1a424b0d7f22e901003befbb31deee2b8601aecd --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/OrientationRingsSameErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.OrientationRingsSameError; + +public class OrientationRingsSameErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 7924476601392934115L; + + public OrientationRingsSameErrorProperty() { + super(); + } + + public OrientationRingsSameErrorProperty(OrientationRingsSameError orse) { + super(orse); + } + + @Override + public Class getTargetType() { + return OrientationRingsSameError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ParameterProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ParameterProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..25e07d1dfadb4fc27c5bcdb534116a90252e61f7 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ParameterProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.Parameter; + +public class ParameterProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 3826499653407209573L; + + public ParameterProperty() { + super(); + } + + public ParameterProperty(Parameter p) { + super(p); + } + + @Override + public Class getTargetType() { + return Parameter.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PlanarDistancePlaneErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PlanarDistancePlaneErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..e1932b80992b8907ef3b59c0e9f8d52638b1b820 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PlanarDistancePlaneErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.PlanarDistancePlaneError; + +public class PlanarDistancePlaneErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 805859214704441973L; + + public PlanarDistancePlaneErrorProperty() { + super(); + } + + public PlanarDistancePlaneErrorProperty(PlanarDistancePlaneError pdpe) { + super(pdpe); + } + + @Override + public Class getTargetType() { + return PlanarDistancePlaneError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PlanarNormalsDeviationErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PlanarNormalsDeviationErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..bb2483366d72930385381421ccea168e7e47cf16 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PlanarNormalsDeviationErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.PlanarNormalsDeviationError; + +public class PlanarNormalsDeviationErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 2464000011383104477L; + + public PlanarNormalsDeviationErrorProperty() { + super(); + } + + public PlanarNormalsDeviationErrorProperty(PlanarNormalsDeviationError pnde) { + super(pnde); + } + + @Override + public Class getTargetType() { + return PlanarNormalsDeviationError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PolygonIdListProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PolygonIdListProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..5b8cf323271579343781ff84b688d1a14fc48d16 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PolygonIdListProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.PolygonIdList; + +public class PolygonIdListProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 8212792040324739831L; + + public PolygonIdListProperty() { + super(); + } + + public PolygonIdListProperty(PolygonIdList pil) { + super(pil); + } + + @Override + public Class getTargetType() { + return PolygonIdList.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PolygonWrongOrientationErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PolygonWrongOrientationErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..b915a46aed40b9793d094ccabd0acd26c249737a --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/PolygonWrongOrientationErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.PolygonWrongOrientationError; + +public class PolygonWrongOrientationErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 1919616461719834613L; + + public PolygonWrongOrientationErrorProperty() { + super(); + } + + public PolygonWrongOrientationErrorProperty(PolygonWrongOrientationError pwoe) { + super(pwoe); + } + + @Override + public Class getTargetType() { + return PolygonWrongOrientationError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RequirementProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RequirementProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..5819eddb1b8f9c5411423445d304ba1c0d357e00 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RequirementProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.Requirement; + +public class RequirementProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 1084132873819307011L; + + public RequirementProperty() { + super(); + } + + public RequirementProperty(Requirement r) { + super(r); + } + + @Override + public Class getTargetType() { + return Requirement.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingNotClosedErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingNotClosedErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..e12a96a73d7575d1bda4c2a6be596fcad067a63b --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingNotClosedErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.RingNotClosedError; + +public class RingNotClosedErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 4846831546489598508L; + + public RingNotClosedErrorProperty() { + super(); + } + + public RingNotClosedErrorProperty(RingNotClosedError rnce) { + super(rnce); + } + + @Override + public Class getTargetType() { + return RingNotClosedError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingSelfIntersectionErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingSelfIntersectionErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..20eacca81bab1918d48e199719737250e5fe8923 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingSelfIntersectionErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.RingSelfIntersectionError; + +public class RingSelfIntersectionErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 3588871792641629601L; + + public RingSelfIntersectionErrorProperty() { + super(); + } + + public RingSelfIntersectionErrorProperty(RingSelfIntersectionError rsie) { + super(rsie); + } + + @Override + public Class getTargetType() { + return RingSelfIntersectionError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingTooFewPointsErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingTooFewPointsErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..b42eb980374cba3d08c7bf22b22a736befe665cc --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/RingTooFewPointsErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.RingTooFewPointsError; + +public class RingTooFewPointsErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 3447025584248177548L; + + public RingTooFewPointsErrorProperty() { + super(); + } + + public RingTooFewPointsErrorProperty(RingTooFewPointsError rtfpep) { + super(rtfpep); + } + + @Override + public Class getTargetType() { + return RingTooFewPointsError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SemanticAttributeMissingErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SemanticAttributeMissingErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..6d917b5d81e1917d72cffdf6b26f7dd9de84c082 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SemanticAttributeMissingErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.SemanticAttributeMissingError; + +public class SemanticAttributeMissingErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 5697199293825250908L; + + public SemanticAttributeMissingErrorProperty() { + super(); + } + + public SemanticAttributeMissingErrorProperty(SemanticAttributeMissingError same) { + super(same); + } + + @Override + public Class getTargetType() { + return SemanticAttributeMissingError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SemanticAttributeWrongValueErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SemanticAttributeWrongValueErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..9a567d1d7b49a42078043fd1efe55b6727636168 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SemanticAttributeWrongValueErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.SemanticAttributeWrongValueError; + +public class SemanticAttributeWrongValueErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 7617151896616913019L; + + public SemanticAttributeWrongValueErrorProperty() { + super(); + } + + public SemanticAttributeWrongValueErrorProperty(SemanticAttributeWrongValueError sawve) { + super(sawve); + } + + @Override + public Class getTargetType() { + return SemanticAttributeWrongValueError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidNotClosedErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidNotClosedErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..23a72dee06738f1f388c593089e1545dd55011d6 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidNotClosedErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.SolidNotClosedError; + +public class SolidNotClosedErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 1268531869052860508L; + + public SolidNotClosedErrorProperty() { + super(); + } + + public SolidNotClosedErrorProperty(SolidNotClosedError snce) { + super(snce); + } + + @Override + public Class getTargetType() { + return SolidNotClosedError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidSelfIntersectionErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidSelfIntersectionErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..5199803e3ab2bce334fb859b91a65e7f5f730cc5 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidSelfIntersectionErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.SolidSelfIntersectionError; + +public class SolidSelfIntersectionErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 6578584720594833303L; + + public SolidSelfIntersectionErrorProperty() { + super(); + } + + public SolidSelfIntersectionErrorProperty(SolidSelfIntersectionError ssie) { + super(ssie); + } + + @Override + public Class getTargetType() { + return SolidSelfIntersectionError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidTooFewPolygonsErrorProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidTooFewPolygonsErrorProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..56f7e1f04c5f7f854f6c4a43bb1c29191b15ac20 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/SolidTooFewPolygonsErrorProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.SolidTooFewPolygonsError; + +public class SolidTooFewPolygonsErrorProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 998050793852068510L; + + public SolidTooFewPolygonsErrorProperty() { + super(); + } + + public SolidTooFewPolygonsErrorProperty(SolidTooFewPolygonsError stfpe) { + super(stfpe); + } + + @Override + public Class getTargetType() { + return SolidTooFewPolygonsError.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/StatisticsProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/StatisticsProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..d67173dc0ad76616e6897bd83170fd6c65d3716e --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/StatisticsProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.Statistics; + +public class StatisticsProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 4264016075264322157L; + + public StatisticsProperty() { + super(); + } + + public StatisticsProperty(Statistics s) { + super(s); + } + + @Override + public Class getTargetType() { + return Statistics.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ValidationPlanProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ValidationPlanProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..60190a6397c53984f65138443c0bf44163b963c8 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ValidationPlanProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.ValidationPlan; + +public class ValidationPlanProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 4542660904311227314L; + + public ValidationPlanProperty() { + super(); + } + + public ValidationPlanProperty(ValidationPlan vp) { + super(vp); + } + + @Override + public Class getTargetType() { + return ValidationPlan.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ValidationProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ValidationProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..afe41270bb67b78bc4973beaa582c0a8807d763c --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ValidationProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.Validation; + +public class ValidationProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 3423466580266018906L; + + public ValidationProperty() { + super(); + } + + public ValidationProperty(Validation v) { + super(v); + } + + @Override + public Class getTargetType() { + return Validation.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ValidationResultProperty.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ValidationResultProperty.java new file mode 100644 index 0000000000000000000000000000000000000000..c7e45d07ab514e8a644062b7747a5c4034559dbc --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/properties/ValidationResultProperty.java @@ -0,0 +1,43 @@ +/*- + * 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.properties; + +import java.io.Serial; + +import org.citygml4j.core.model.ade.ADEObject; +import org.xmlobjects.gml.model.base.AbstractInlineProperty; + +import de.hft.stuttgart.quality.model.types.ValidationResult; + +public class ValidationResultProperty extends AbstractInlineProperty implements ADEObject { + + @Serial + private static final long serialVersionUID = 765825311371672821L; + + public ValidationResultProperty() { + super(); + } + + public ValidationResultProperty(ValidationResult vr) { + super(vr); + } + + @Override + public Class getTargetType() { + return ValidationResult.class; + } + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AbstractError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AbstractError.java new file mode 100644 index 0000000000000000000000000000000000000000..520b6a9eef086acdbd7ebab44388dde71946ba1b --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AbstractError.java @@ -0,0 +1,27 @@ +/*- + * 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 org.xmlobjects.gml.model.GMLObject; + +public abstract class AbstractError extends GMLObject { + + @Serial + private static final long serialVersionUID = 4456303926951620441L; + +} 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/types/AbstractGeometryError.java similarity index 67% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/InteriorDisconnectedType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AbstractGeometryError.java index a8daaf0c305b1f397a5236274dd752016f196039..58234e2f6250ff83e5511917b684847c06e88493 100644 --- 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/types/AbstractGeometryError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,11 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serial; -@XmlRootElement(name = "GE_P_INTERIOR_DISCONNECTED") -public class InteriorDisconnectedType extends PolygonErrorType { +public abstract class AbstractGeometryError extends AbstractError { + + @Serial + private static final long serialVersionUID = 5584980708521134866L; } 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/types/AbstractPolygonError.java similarity index 71% 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/types/AbstractPolygonError.java index 12e9c5eae238e1a222884df32594ab1372f4de11..47d3c46448e5d8f3f0cb4ae82751b1cf4e35dca9 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/types/AbstractPolygonError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,19 +13,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; -public abstract class PolygonError extends ValidationError { +import java.io.Serial; - private static final long serialVersionUID = 4694297467768369526L; - +public abstract class AbstractPolygonError extends AbstractGeometryError { + + @Serial + private static final long serialVersionUID = 8765755615504522764L; + private String polygonId; + public String getPolygonId() { + return 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/OrientationRingsSameType.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AbstractRingError.java similarity index 69% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/OrientationRingsSameType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AbstractRingError.java index a625724ee85acdbc0001bfc45dbede07a820da75..41f9f90d3ed3764670570b5ef2dda295d6ff817f 100644 --- 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/types/AbstractRingError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,21 +13,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serial; -@XmlRootElement(name = "GE_P_ORIENTATION_RINGS_SAME") -public class OrientationRingsSameType extends PolygonErrorType { +public abstract class AbstractRingError extends AbstractGeometryError { - private String linearRingId; - - public void setLinearRingId(String linearRingId) { - this.linearRingId = linearRingId; - } + @Serial + private static final long serialVersionUID = 6406932524599157467L; + + 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/SemanticError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AbstractSemanticError.java similarity index 67% 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/types/AbstractSemanticError.java index b2741c3cc8dd868a0b5725dc4074f05d241cd69a..8a2bc67d973636f6eef5df29a0d0b253772a0e55 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/types/AbstractSemanticError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,10 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; -public abstract class SemanticError extends ValidationError { +import java.io.Serial; - private static final long serialVersionUID = 8986289777859562928L; +public abstract class AbstractSemanticError extends AbstractError { + + @Serial + private static final long serialVersionUID = 3754322190455789991L; } 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/types/AbstractSolidError.java similarity index 69% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidError.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AbstractSolidError.java index d20493c4cfb7d97553a8b140577626d29837bb4b..3c326b5a8e8fa84808bc9aaab1530bb708267d71 100644 --- 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/types/AbstractSolidError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,18 +13,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; -public abstract class SolidError extends ValidationError { - private static final long serialVersionUID = 6430138970493794998L; - - private String geometryId; +import java.io.Serial; - public void setGeometryId(String geometryId) { - this.geometryId = geometryId; - } +public abstract class AbstractSolidError extends AbstractGeometryError { + + @Serial + private static final long serialVersionUID = 8616094562996823088L; + + private String geometryId; public String getGeometryId() { return geometryId; } + + public void setGeometryId(String geometryId) { + this.geometryId = geometryId; + } + } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AllPolygonsOrientedWrongError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AllPolygonsOrientedWrongError.java new file mode 100644 index 0000000000000000000000000000000000000000..68dba4ff2b35fc1d87de0e57335c48290fa51a22 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/AllPolygonsOrientedWrongError.java @@ -0,0 +1,25 @@ +/*- + * 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; + +public abstract class AllPolygonsOrientedWrongError extends AbstractSolidError { + + @Serial + private static final long serialVersionUID = 4295306777217062184L; + +} 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/types/Checking.java similarity index 50% 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/types/Checking.java index 0b384b735f8fe70961198da21773642cac5ba538..b8031f9a5aabec6337c70ce6163ce4027e215bf2 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/types/Checking.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,22 +13,27 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; -import org.citygml4j.builder.copy.CopyBuilder; +import java.io.Serial; -public class AllPolygonsWrongOrientation extends SolidError { +import org.xmlobjects.gml.model.GMLObject; - private static final long serialVersionUID = 3817224755569965908L; +import de.hft.stuttgart.quality.model.enums.TopLevelFeatureType; - @Override - public String toString() { - return "AllPolygonsWrongOrientation [geometryId=" + getGeometryId() + "]"; +public abstract class Checking extends GMLObject { + + @Serial + private static final long serialVersionUID = 8248598807454312291L; + + private TopLevelFeatureType featureType; + + public TopLevelFeatureType getFeatureType() { + return featureType; } - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new AllPolygonsWrongOrientation(), copyBuilder); + public void setFeatureType(TopLevelFeatureType featureType) { + this.featureType = featureType; } } 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/types/ComponentList.java similarity index 54% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/MultipleConnectedComponentsType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ComponentList.java index 0507eb04aa021306b9c2756c906de508850b730c..6e05df8066a3098a11ec2defe545aec0026bc762 100644 --- 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/types/ComponentList.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,31 +13,32 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; +import java.io.Serial; 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 components; - - public boolean isSetComponents() { - return components != null && !components.isEmpty(); - } - - public List getComponents() { +import org.xmlobjects.gml.model.GMLObject; + +import de.hft.stuttgart.quality.model.properties.PolygonIdListProperty; + +public abstract class ComponentList extends GMLObject { + + @Serial + private static final long serialVersionUID = 7846916128728837265L; + + private List components; + + public List getComponents() { if (components == null) { components = new ArrayList<>(); } return components; } + public void setComponents(List components) { + this.components = components; + } + } 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/types/ConsecutivePointsSameError.java similarity index 61% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/ConsecutivePointsSame.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ConsecutivePointsSameError.java index 91cb869ba018047a5f6232a27c9f86b7ba6d321d..203ec2af8dae7ef6c6cd301aa2314e6d92c2e766 100644 --- 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/types/ConsecutivePointsSameError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,43 +13,39 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; -import org.citygml4j.builder.copy.CopyBuilder; -import org.citygml4j.model.gml.geometry.primitives.DirectPosition; +import java.io.Serial; + +import org.xmlobjects.gml.model.geometry.DirectPosition; + +public abstract class ConsecutivePointsSameError extends AbstractRingError { + + @Serial + private static final long serialVersionUID = 960107689338308020L; -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 void setVertex1(DirectPosition vertex1) { + this.vertex1 = vertex1; + } + public DirectPosition getVertex2() { return vertex2; } - @Override - public String toString() { - return "ConsecutivePointsSame [linearRingId=" + getLinearRingId() + ", vertex1=" + vertex1 + ", vertex2=" + vertex2 - + "]"; + public void setVertex2(DirectPosition vertex2) { + this.vertex2 = vertex2; } @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new ConsecutivePointsSame(), copyBuilder); + public String toString() { + return "ConsecutivePointsSameError [vertex1=" + vertex1 + ", vertex2=" + vertex2 + "]"; } } 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/types/Edge.java similarity index 65% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/Edge.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Edge.java index d78e694882fe346eac94da0f8ae48fd765e3e7ec..a81ded643ab78883c66b0df48357f7a151afacd6 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/types/Edge.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,33 +13,40 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; -import java.io.Serializable; +import java.io.Serial; -import org.citygml4j.model.gml.geometry.primitives.DirectPosition; +import org.xmlobjects.gml.model.GMLObject; +import org.xmlobjects.gml.model.geometry.DirectPosition; + +public abstract class Edge extends GMLObject { + + @Serial + private static final long serialVersionUID = 8021062845313752146L; -public class Edge implements Serializable { - - private static final long serialVersionUID = -5076265818764666094L; - private DirectPosition from; private DirectPosition to; - + + public DirectPosition getFrom() { + return from; + } + public void setFrom(DirectPosition from) { this.from = from; } - + + public DirectPosition getTo() { + return to; + } + public void setTo(DirectPosition to) { this.to = to; } - - public DirectPosition getFrom() { - return from; - } - - public DirectPosition getTo() { - return to; + + @Override + public String toString() { + return "Edge [from=" + from + ", to=" + to + "]"; } } 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/types/EdgeList.java similarity index 57% 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/types/EdgeList.java index 3d07d3111256a064a9de756ffd1870ef891da5c9..472ca7767aeb38877d429244707c363230b7787c 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/types/EdgeList.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,32 +13,32 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; +import java.io.Serial; import java.util.ArrayList; import java.util.List; -import org.citygml4j.builder.copy.CopyBuilder; +import org.xmlobjects.gml.model.GMLObject; -public class NonManifoldEdge extends SolidError { +import de.hft.stuttgart.quality.model.properties.EdgeProperty; - private static final long serialVersionUID = -4312748985706248178L; +public abstract class EdgeList extends GMLObject { - private List edges; + @Serial + private static final long serialVersionUID = 5900643456940461301L; + + private List edges; - public boolean isSetEdges() { - return edges != null && !edges.isEmpty(); - } - - public List getEdges() { + public List getEdges() { if (edges == null) { edges = new ArrayList<>(); } return edges; } - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new NonPlanarNormalsDeviation(), copyBuilder); + public void setEdges(List edges) { + this.edges = edges; } + } 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/types/Error.java similarity index 51% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ErrorStatistics.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Error.java index 8b00693904fa0eaa97c7dbf0188770c0edf921d2..3f08fe820112fb67fccee35840a7b988687a9b12 100644 --- 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/types/Error.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,45 +13,41 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import java.io.Serializable; +import java.io.Serial; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlValue; +import org.xmlobjects.gml.model.GMLObject; -@XmlAccessorType(XmlAccessType.FIELD) -public class ErrorStatistics implements Serializable { - - private static final long serialVersionUID = -1007447539987946146L; +import de.hft.stuttgart.quality.model.enums.ErrorId; - @XmlAttribute +public abstract class Error extends GMLObject { + + @Serial + private static final long serialVersionUID = 2447962257841143458L; + + private int occurences; private ErrorId name; - - @XmlValue - private int amount; - - public void setName(ErrorId name) { - this.name = name; + + public int getOccurences() { + return occurences; + } + + public void setOccurences(int occurences) { + this.occurences = occurences; } - + public ErrorId getName() { return name; } - - public void setAmount(int amount) { - this.amount = amount; - } - - public int getAmount() { - return amount; + + public void setName(ErrorId name) { + this.name = name; } @Override public String toString() { - return "ErrorStatistics [name=" + name + ", amount=" + amount + "]"; + return "Error [occurences=" + occurences + ", name=" + name + "]"; } } 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/types/FeatureStatistics.java similarity index 52% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/FeatureStatistics.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/FeatureStatistics.java index 3cc3227a54aceae42e7c133b3d1c2f6770705433..6355a188a586c506a648b1e904a9bda157f6717a 100644 --- 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/types/FeatureStatistics.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,52 +13,34 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import java.io.Serializable; +import java.io.Serial; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlValue; +import org.xmlobjects.gml.model.GMLObject; -@XmlAccessorType(XmlAccessType.FIELD) -public class FeatureStatistics implements Serializable { +public abstract class FeatureStatistics extends GMLObject { - private static final long serialVersionUID = 5794335930507488398L; + @Serial + private static final long serialVersionUID = 5835765260535725839L; - @XmlAttribute private int numChecked; - - @XmlValue private int numErrors; - - public FeatureStatistics() { - } - - public FeatureStatistics(int numChecked, int numErrors) { - this.numChecked = numChecked; - this.numErrors = numErrors; + + public int getNumChecked() { + return numChecked; } 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 + "]"; + public void setNumErrors(int numErrors) { + this.numErrors = numErrors; } + } 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/types/Filter.java similarity index 50% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonManifoldEdgeType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Filter.java index aac1ac8fe9a66c95ab27a81fc51f30e8285e6fc7..7e9539b18812ab99514340c8baeaaa3947823121 100644 --- 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/types/Filter.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,31 +13,32 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; +import java.io.Serial; 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; +import org.xmlobjects.gml.model.GMLObject; -@XmlRootElement(name = "GE_S_NON_MANIFOLD_EDGE") -public class NonManifoldEdgeType extends SolidErrorType { +import de.hft.stuttgart.quality.model.properties.CheckingProperty; - @XmlElementWrapper - @XmlElement(name = "edge") - private List edges; +public abstract class Filter extends GMLObject { - public boolean isSetEdges() { - return edges != null && !edges.isEmpty(); - } + @Serial + private static final long serialVersionUID = 2766323821940477659L; + + private List checking; - public List getEdges() { - if (edges == null) { - edges = new ArrayList<>(); + public List getChecking() { + if (checking == null) { + checking = new ArrayList<>(); } - return edges; + return checking; + } + + public void setChecking(List checking) { + this.checking = checking; } } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/GlobalParameters.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/GlobalParameters.java new file mode 100644 index 0000000000000000000000000000000000000000..95473f04af16e2ff5abd0bb95f1f3df7ff427563 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/GlobalParameters.java @@ -0,0 +1,44 @@ +/*- + * 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.ArrayList; +import java.util.List; + +import org.xmlobjects.gml.model.GMLObject; + +import de.hft.stuttgart.quality.model.properties.ParameterProperty; + +public abstract class GlobalParameters extends GMLObject { + + @Serial + private static final long serialVersionUID = 5470016232480954926L; + + private List parameters; + + public List getParameters() { + if (parameters == null) { + parameters = new ArrayList<>(); + } + return parameters; + } + + public void setParameters(List parameters) { + this.parameters = parameters; + } + +} 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/types/HoleOutsideError.java similarity index 66% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/HoleOutsideType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/HoleOutsideError.java index 17d09fcd42b57e81aa43045f7a962e5b61cd8e31..ce6080e918b630dee2dca877006485b81bce53ba 100644 --- 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/types/HoleOutsideError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,21 +13,28 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serial; -@XmlRootElement(name = "GE_P_HOLE_OUTSIDE") -public class HoleOutsideType extends PolygonErrorType { +public abstract class HoleOutsideError extends AbstractPolygonError { + + @Serial + private static final long serialVersionUID = 7823516103018988170L; private String linearRingId; + public String getLinearRingId() { + return linearRingId; + } + public void setLinearRingId(String linearRingId) { this.linearRingId = linearRingId; } - public String getLinearRingId() { - return linearRingId; + @Override + public String toString() { + return "HoleOutsideError [linearRingId=" + linearRingId + "]"; } } 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/types/InnerRingsNestedError.java similarity index 70% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/InnerRingsNested.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/InnerRingsNestedError.java index b1f886d7fcf62c4f71f5755a7fe577d64dc33c52..aa34d177fb32c8a4d6cb1e9aae350d48e0ac7753 100644 --- 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/types/InnerRingsNestedError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,35 +13,37 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; -import org.citygml4j.builder.copy.CopyBuilder; +import java.io.Serial; -public class InnerRingsNested extends PolygonError { +public abstract class InnerRingsNestedError extends AbstractPolygonError { - private static final long serialVersionUID = 2291087505629924993L; + @Serial + private static final long serialVersionUID = 6801491749796411678L; 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 void setLinearRingId1(String linearRingId1) { + this.linearRingId1 = linearRingId1; + } + public String getLinearRingId2() { return linearRingId2; } + public void setLinearRingId2(String linearRingId2) { + this.linearRingId2 = linearRingId2; + } + @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new InnerRingsNested(), copyBuilder); + public String toString() { + return "InnerRingsNestedError [linearRingId1=" + linearRingId1 + ", linearRingId2=" + linearRingId2 + "]"; } + } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/InteriorDisconnectedError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/InteriorDisconnectedError.java new file mode 100644 index 0000000000000000000000000000000000000000..ebacc2b260cbd31e9a6d843139e8a48b48fea003 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/InteriorDisconnectedError.java @@ -0,0 +1,25 @@ +/*- + * 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; + +public abstract class InteriorDisconnectedError extends AbstractPolygonError { + + @Serial + private static final long serialVersionUID = 8270468563578479182L; + +} 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/types/IntersectingRingsError.java similarity index 69% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/IntersectingRingsType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/IntersectingRingsError.java index 7f47eef519d77e2d9938160a5a1e9732bad6502f..4341c8ec0b18428dadf18f7bc566a528b65d5d6c 100644 --- 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/types/IntersectingRingsError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,30 +13,37 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serial; -@XmlRootElement(name = "GE_P_INTERSECTING_RINGS") -public class IntersectingRingsType extends PolygonErrorType { +public abstract class IntersectingRingsError extends AbstractPolygonError { + + @Serial + private static final long serialVersionUID = 4733342962974436966L; private String linearRingId1; private String linearRingId2; + public String getLinearRingId1() { + return linearRingId1; + } + public void setLinearRingId1(String linearRingId1) { this.linearRingId1 = linearRingId1; } - public String getLinearRingId1() { - return linearRingId1; + public String getLinearRingId2() { + return linearRingId2; } public void setLinearRingId2(String linearRingId2) { this.linearRingId2 = linearRingId2; } - public String getLinearRingId2() { - return linearRingId2; + @Override + public String toString() { + return "IntersectingRingsError [linearRingId1=" + linearRingId1 + ", linearRingId2=" + linearRingId2 + "]"; } } 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/types/MultipleComponentsError.java similarity index 57% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/SolidNotClosed.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/MultipleComponentsError.java index 71a9b13521997340c7e9b488cd54f5e7b7eda6b8..fb6c0eb074e6bfd0bfda3226ad4876177c9e8b5a 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/types/MultipleComponentsError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,32 +13,30 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; +import java.io.Serial; import java.util.ArrayList; import java.util.List; -import org.citygml4j.builder.copy.CopyBuilder; +import de.hft.stuttgart.quality.model.properties.ComponentListProperty; -public class SolidNotClosed extends SolidError { +public abstract class MultipleComponentsError extends AbstractSolidError { - private static final long serialVersionUID = 4609395125395073697L; + @Serial + private static final long serialVersionUID = 4322219502819024437L; - private List edges; + private List edges; - public boolean isSetEdges() { - return edges != null && !edges.isEmpty(); - } - - public List getEdges() { + public List getEdges() { if (edges == null) { edges = new ArrayList<>(); } return edges; } - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new SolidNotClosed(), copyBuilder); + public void setEdges(List edges) { + this.edges = edges; } + } 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/types/NonManifoldEdgeError.java similarity index 54% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/TooFewPoints.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldEdgeError.java index 7e1272228341b9adb212f2b3af5066f349ffd51b..7d0ba0ab7976eedd3b5a33e8e8dc708c6f8b8726 100644 --- 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/types/NonManifoldEdgeError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,21 +13,25 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; -import org.citygml4j.builder.copy.CopyBuilder; +import java.io.Serial; -public class TooFewPoints extends RingError { +import de.hft.stuttgart.quality.model.properties.EdgeListProperty; - private static final long serialVersionUID = -904319347280328865L; - - @Override - public String toString() { - return "TooFewPoints [linearRingId=" + getLinearRingId() + "]"; +public abstract class NonManifoldEdgeError extends AbstractSolidError { + + @Serial + private static final long serialVersionUID = 3499800929524507025L; + + private EdgeListProperty edges; + + public EdgeListProperty getEdges() { + return edges; } - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new TooFewPoints(), copyBuilder); + public void setEdges(EdgeListProperty edges) { + this.edges = 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/types/NonManifoldVertexError.java similarity index 57% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonManifoldVertexType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldVertexError.java index 7b8f3a277b86f4e28f128e5eff363f7c04cb274c..b7f33e037c1cd8b7441bee892e123e5cf345c1c3 100644 --- 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/types/NonManifoldVertexError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,23 +13,25 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serial; -import net.opengis.gml.DirectPositionType; +import org.xmlobjects.gml.model.geometry.DirectPosition; -@XmlRootElement(name = "GE_S_NON_MANIFOLD_VERTEX") -public class NonManifoldVertexType extends SolidErrorType { +public abstract class NonManifoldVertexError extends AbstractSolidError { - private DirectPositionType vertex; + @Serial + private static final long serialVersionUID = 6428627491730618046L; + + private DirectPosition vertex; - public void setVertex(DirectPositionType vertex) { - this.vertex = vertex; + public DirectPosition getVertex() { + return vertex; } - public DirectPositionType getVertex() { - return vertex; + public void setVertex(DirectPosition vertex) { + this.vertex = vertex; } } 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/types/OrientationRingsSameError.java similarity index 56% 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/types/OrientationRingsSameError.java index d17e5077910c25029d05929979e9f098609e59ab..b86a289b23dc63ad2f68a3bee9acfe3665894130 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/types/OrientationRingsSameError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,19 +13,23 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; -public abstract class RingError extends ValidationError { +import java.io.Serial; - private static final long serialVersionUID = -8610600028811350500L; - - private String linearRingId; +public abstract class OrientationRingsSameError extends AbstractPolygonError { - public void setLinearRingId(String linearRingId) { - this.linearRingId = linearRingId; + @Serial + private static final long serialVersionUID = 5732797947859046889L; + + private String linearRing; + + public String getLinearRing() { + return linearRing; } - public String getLinearRingId() { - return linearRingId; + public void setLinearRing(String linearRing) { + this.linearRing = linearRing; } + } 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/types/Parameter.java similarity index 58% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Parameter.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Parameter.java index cb12193ec05223f6d248a2f085abde27d6a3c57e..3431064e31811e77144918cf1668dd4dccc6db5f 100644 --- 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/types/Parameter.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,58 +13,48 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import java.io.Serializable; +import java.io.Serial; -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; +import org.xmlobjects.gml.model.GMLObject; -@XmlType(name = "parameter") -@XmlAccessorType(XmlAccessType.FIELD) -public class Parameter implements Serializable { +public abstract class Parameter extends GMLObject { - private static final long serialVersionUID = 3704749975901280058L; + @Serial + private static final long serialVersionUID = 3493525795867922745L; - @XmlAttribute(name = "name") private String name; - - @XmlAttribute(required = false) private String uom; - - @XmlValue private String value; + public String getName() { + return name; + } + public void setName(String name) { this.name = name; } - public String getName() { - return name; + public String getUom() { + return uom; } 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; } + public void setValue(String value) { + this.value = value; + } + @Override public String toString() { - return "ParameterType [name=" + name + ", uom=" + uom + ", value=" + value + "]"; + return "Parameter [name=" + name + ", uom=" + uom + ", value=" + value + "]"; } } 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/types/PlanarDistancePlaneError.java similarity index 59% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/NonPlanarDistancePlane.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarDistancePlaneError.java index fd0292fbc5e762e71c9367bdcead7515c629364e..58d20c81e87b3d0ad85ffc57dc3218b128ee10da 100644 --- 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/types/PlanarDistancePlaneError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,43 +13,40 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; -import org.citygml4j.builder.copy.CopyBuilder; -import org.citygml4j.model.gml.geometry.primitives.DirectPosition; -import org.citygml4j.model.gml.measures.Length; +import java.io.Serial; -public class NonPlanarDistancePlane extends PolygonError { +import org.xmlobjects.gml.model.geometry.DirectPosition; +import org.xmlobjects.gml.model.measures.Length; + +public abstract class PlanarDistancePlaneError extends AbstractPolygonError { + + @Serial + private static final long serialVersionUID = 9186823395923829178L; - private static final long serialVersionUID = -3428574131554438219L; - private DirectPosition vertex; private Length distance; + public DirectPosition getVertex() { + return vertex; + } 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 + "]"; + public void setDistance(Length distance) { + this.distance = distance; } @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new NonPlanarDistancePlane(), copyBuilder); + public String toString() { + return "PlanarDistancePlaneError [vertex=" + vertex + ", distance=" + 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/types/PlanarNormalsDeviationError.java similarity index 59% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/NonPlanarNormalsDeviationType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarNormalsDeviationError.java index 5471ad6b9a6d68c29bdc42ae0bc2bb18a5dba15c..058c52ea1abb2ae5bf4a1bc0db71ecf3a6d423cf 100644 --- 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/types/PlanarNormalsDeviationError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,23 +13,25 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serial; -import net.opengis.gml.AngleType; +import org.xmlobjects.gml.model.measures.Angle; -@XmlRootElement(name = "GE_P_NON_PLANAR_POLYGON_NORMALS_DEVIATION") -public class NonPlanarNormalsDeviationType extends PolygonErrorType { +public abstract class PlanarNormalsDeviationError extends AbstractPolygonError { - private AngleType deviation; + @Serial + private static final long serialVersionUID = 5914728363336771016L; - public void setDeviation(AngleType deviation) { - this.deviation = deviation; - } + private Angle deviation; - public AngleType getDeviation() { + public Angle getDeviation() { return deviation; } + public void setDeviation(Angle deviation) { + this.deviation = deviation; + } + } 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/types/PolygonIdList.java similarity index 63% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/Component.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PolygonIdList.java index f1b220902dc02af373078c9158823815288077e8..2bf6f9dc4534b5f7279713db1e5ca0f447cf6232 100644 --- 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/types/PolygonIdList.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,25 +13,30 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import java.io.Serializable; +import java.io.Serial; import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlElement; +import org.xmlobjects.gml.model.GMLObject; -public class Component implements Serializable { +public abstract class PolygonIdList extends GMLObject { - private static final long serialVersionUID = 75005650370135888L; + @Serial + private static final long serialVersionUID = 4396447239956257299L; + + private List polygonIds; - @XmlElement(name = "polygonId") - private List polygonIds; - public List getPolygonIds() { if (polygonIds == null) { polygonIds = new ArrayList<>(); } return polygonIds; } + + public void setPolygonIds(List polygonIds) { + this.polygonIds = polygonIds; + } + } 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/types/PolygonWrongOrientationError.java similarity index 76% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/SolidSelfIntersectionType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PolygonWrongOrientationError.java index 58e37bc4334f62f11b84c902332a51aedb1603cb..efc3f9c43057d03a0c67568556b13a03a55caf98 100644 --- 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/types/PolygonWrongOrientationError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,30 +13,32 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serial; -@XmlRootElement(name = "GE_S_SELF_INTERSECTION") -public class SolidSelfIntersectionType extends SolidErrorType { +public abstract class PolygonWrongOrientationError extends AbstractSolidError { + + @Serial + private static final long serialVersionUID = 4975827693656963892L; 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 void setPolygonId1(String polygonId1) { + this.polygonId1 = polygonId1; + } + public String getPolygonId2() { return polygonId2; } + public void setPolygonId2(String polygonId2) { + this.polygonId2 = polygonId2; + } + } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Requirement.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Requirement.java new file mode 100644 index 0000000000000000000000000000000000000000..53767e6a5bca165ed4fe9ee4aee7cbf4383b7a37 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Requirement.java @@ -0,0 +1,63 @@ +/*- + * 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.ArrayList; +import java.util.List; + +import org.xmlobjects.gml.model.GMLObject; + +import de.hft.stuttgart.quality.model.enums.RequirementId; +import de.hft.stuttgart.quality.model.properties.ParameterProperty; + +public abstract class Requirement extends GMLObject { + + @Serial + private static final long serialVersionUID = 4428291416242684642L; + + private boolean enabled; + private RequirementId requirementType; + private List parameters; + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public RequirementId getRequirementType() { + return requirementType; + } + + public void setRequirementType(RequirementId requirementType) { + this.requirementType = requirementType; + } + + public List getParameters() { + if (parameters == null) { + parameters = new ArrayList<>(); + } + return parameters; + } + + public void setParameters(List parameters) { + this.parameters = parameters; + } + +} 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/types/RingNotClosedError.java similarity index 67% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/RingNotClosedType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/RingNotClosedError.java index e6b9e259a32fac9c22ffcdc8188c77948e4e3157..76e1d2491d674399de2d88d94de171eac398f709 100644 --- 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/types/RingNotClosedError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,11 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serial; -@XmlRootElement(name = "GE_R_NOT_CLOSED") -public class RingNotClosedType extends RingErrorType { +public abstract class RingNotClosedError extends AbstractRingError { + + @Serial + private static final long serialVersionUID = 3327214274004406000L; } 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/types/RingSelfIntersectionError.java similarity index 58% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/RingSelfIntersection.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/RingSelfIntersectionError.java index fd11024ea0a336e5573fb1afacf04a75d968dcbe..6b92bd37ff5a77f63bd4361db8b03ba0584f3e82 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/types/RingSelfIntersectionError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,71 +13,70 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; -import org.citygml4j.builder.copy.CopyBuilder; -import org.citygml4j.model.gml.geometry.primitives.DirectPosition; +import java.io.Serial; -import de.hft.stuttgart.quality.model.jaxb.RingSelfIntType; +import org.xmlobjects.gml.model.geometry.DirectPosition; -public class RingSelfIntersection extends RingError { +import de.hft.stuttgart.quality.model.enums.RingSelfIntType; +import de.hft.stuttgart.quality.model.properties.EdgeProperty; + +public abstract class RingSelfIntersectionError extends AbstractRingError { + + @Serial + private static final long serialVersionUID = 9103800366580888883L; - private static final long serialVersionUID = -4426615638983209222L; - private RingSelfIntType type; - private Edge edge1; - private Edge edge2; + private EdgeProperty edge1; + private EdgeProperty edge2; private DirectPosition vertex1; private DirectPosition vertex2; + public RingSelfIntType getType() { + return type; + } + public void setType(RingSelfIntType type) { this.type = type; } - public void setEdge1(Edge edge1) { - this.edge1 = edge1; + public EdgeProperty getEdge1() { + return edge1; } - public void setEdge2(Edge edge2) { - this.edge2 = edge2; + public void setEdge1(EdgeProperty edge1) { + this.edge1 = edge1; } - public void setVertex1(DirectPosition vertex1) { - this.vertex1 = vertex1; - } - - public void setVertex2(DirectPosition vertex2) { - this.vertex2 = vertex2; + public EdgeProperty getEdge2() { + return edge2; } - public RingSelfIntType getType() { - return type; + public void setEdge2(EdgeProperty edge2) { + this.edge2 = edge2; } - public Edge getEdge1() { - return edge1; + public DirectPosition getVertex1() { + return vertex1; } - public Edge getEdge2() { - return edge2; + public void setVertex1(DirectPosition vertex1) { + this.vertex1 = vertex1; } - public DirectPosition getVertex1() { - return vertex1; - } - public DirectPosition getVertex2() { return vertex2; } - @Override - public String toString() { - return "RingSelfIntersection [linearRingId=" + getLinearRingId() + ", type=" + type + ", edge1=" + edge1 + ", edge2=" - + edge2 + ", vertex1=" + vertex1 + ", vertex2=" + vertex2 + "]"; + public void setVertex2(DirectPosition vertex2) { + this.vertex2 = vertex2; } @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new RingSelfIntersection(), copyBuilder); + public String toString() { + return "RingSelfIntersectionError [type=" + type + ", edge1=" + edge1 + ", edge2=" + edge2 + ", vertex1=" + + vertex1 + ", vertex2=" + vertex2 + "]"; } + } 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/types/RingTooFewPointsError.java similarity index 67% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/AllPolygonsWrongOrientationType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/RingTooFewPointsError.java index f582f221a54f4c970bf5b76adea520c74ffb8c7e..0b8fa9c7a6bfef27dfd3f76d7cb4ed72ad31502c 100644 --- 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/types/RingTooFewPointsError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,11 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serial; -@XmlRootElement(name = "GE_S_ALL_POLYGONS_WRONG_ORIENTATION") -public class AllPolygonsWrongOrientationType extends SolidErrorType { +public abstract class RingTooFewPointsError extends AbstractRingError { + + @Serial + private static final long serialVersionUID = 8057350098649982235L; } 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/types/SemanticAttributeMissingError.java similarity index 79% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/AttributeWrongValueType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SemanticAttributeMissingError.java index a3596b92ee5886aa065df1f5d9bee703e30b0f23..11a14fa38b278853e48ba6b95d00254ba107525c 100644 --- 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/types/SemanticAttributeMissingError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,12 +13,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serial; -@XmlRootElement(name = "SE_ATTRIBUTE_WRONG_VALUE") -public class AttributeWrongValueType extends SemanticErrorType { +public abstract class SemanticAttributeMissingError extends AbstractSemanticError { + + @Serial + private static final long serialVersionUID = 7157884749606290596L; private String childId; private String attributeName; 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/types/SemanticAttributeWrongValueError.java similarity index 78% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/AttributeMissingType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SemanticAttributeWrongValueError.java index ce13091d5f2c4ce991088f9e8c8c54039886fef9..1695fb28721d47074b6e3a26a117cf1c37ff6231 100644 --- 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/types/SemanticAttributeWrongValueError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,13 +13,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; -import javax.xml.bind.annotation.XmlRootElement; +import java.io.Serial; -@XmlRootElement(name = "SE_ATTRIBUTE_MISSING") -public class AttributeMissingType extends SemanticErrorType { - +public abstract class SemanticAttributeWrongValueError extends AbstractSemanticError { + + @Serial + private static final long serialVersionUID = 3478578364446339884L; + private String childId; private String attributeName; private boolean generic; 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/types/SolidNotClosedError.java similarity index 54% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/TooFewPolygons.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SolidNotClosedError.java index 19abc235bc8a9dacf4513b6cd6d8f498d3211688..30ad8c93a45224d512813a8de39d8b382c45b85c 100644 --- 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/types/SolidNotClosedError.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,21 +13,25 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model; +package de.hft.stuttgart.quality.model.types; -import org.citygml4j.builder.copy.CopyBuilder; +import java.io.Serial; -public class TooFewPolygons extends SolidError { +import de.hft.stuttgart.quality.model.properties.EdgeListProperty; - private static final long serialVersionUID = -51591095439740599L; +public abstract class SolidNotClosedError extends AbstractSolidError { - @Override - public String toString() { - return "TooFewPolygons [geometryId=" + getGeometryId() + "]"; + @Serial + private static final long serialVersionUID = 297029245173578437L; + + private EdgeListProperty edges; + + public EdgeListProperty getEdges() { + return edges; } - @Override - public Object copy(CopyBuilder copyBuilder) { - return copyTo(new TooFewPolygons(), copyBuilder); + public void setEdges(EdgeListProperty edges) { + this.edges = edges; } + } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SolidSelfIntersectionError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SolidSelfIntersectionError.java new file mode 100644 index 0000000000000000000000000000000000000000..01a8df0a4b5892c47ee1aed18cc9f6816a1ef698 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SolidSelfIntersectionError.java @@ -0,0 +1,25 @@ +/*- + * 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; + +public abstract class SolidSelfIntersectionError extends AbstractSolidError { + + @Serial + private static final long serialVersionUID = 5070991901664859830L; + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SolidTooFewPolygonsError.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SolidTooFewPolygonsError.java new file mode 100644 index 0000000000000000000000000000000000000000..3ac118c993d1270bc65d7d8a5754f7637f962f55 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SolidTooFewPolygonsError.java @@ -0,0 +1,25 @@ +/*- + * 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; + +public abstract class SolidTooFewPolygonsError extends AbstractSolidError { + + @Serial + private static final long serialVersionUID = 1987841643971824973L; + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Statistics.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Statistics.java new file mode 100644 index 0000000000000000000000000000000000000000..834900ef21e6c5a5406e321cedb9e7cd39e966e1 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Statistics.java @@ -0,0 +1,99 @@ +/*- + * 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.ArrayList; +import java.util.List; + +import org.xmlobjects.gml.model.GMLObject; + +import de.hft.stuttgart.quality.model.properties.ErrorProperty; +import de.hft.stuttgart.quality.model.properties.FeatureStatisticsProperty; + +public abstract class Statistics extends GMLObject { + + @Serial + private static final long serialVersionUID = 2935590283116950203L; + + private FeatureStatisticsProperty numErrorBuildings; + private FeatureStatisticsProperty numErrorVegetation; + private FeatureStatisticsProperty numErrorLandObjects; + private FeatureStatisticsProperty numErrorBridgeObjects; + private FeatureStatisticsProperty numErrorWaterObjects; + private FeatureStatisticsProperty numErrorTransportation; + private List errors; + + public FeatureStatisticsProperty getNumErrorBuildings() { + return numErrorBuildings; + } + + public void setNumErrorBuildings(FeatureStatisticsProperty numErrorBuildings) { + this.numErrorBuildings = numErrorBuildings; + } + + public FeatureStatisticsProperty getNumErrorVegetation() { + return numErrorVegetation; + } + + public void setNumErrorVegetation(FeatureStatisticsProperty numErrorVegetation) { + this.numErrorVegetation = numErrorVegetation; + } + + public FeatureStatisticsProperty getNumErrorLandObjects() { + return numErrorLandObjects; + } + + public void setNumErrorLandObjects(FeatureStatisticsProperty numErrorLandObjects) { + this.numErrorLandObjects = numErrorLandObjects; + } + + public FeatureStatisticsProperty getNumErrorBridgeObjects() { + return numErrorBridgeObjects; + } + + public void setNumErrorBridgeObjects(FeatureStatisticsProperty numErrorBridgeObjects) { + this.numErrorBridgeObjects = numErrorBridgeObjects; + } + + public FeatureStatisticsProperty getNumErrorWaterObjects() { + return numErrorWaterObjects; + } + + public void setNumErrorWaterObjects(FeatureStatisticsProperty numErrorWaterObjects) { + this.numErrorWaterObjects = numErrorWaterObjects; + } + + public FeatureStatisticsProperty getNumErrorTransportation() { + return numErrorTransportation; + } + + public void setNumErrorTransportation(FeatureStatisticsProperty numErrorTransportation) { + this.numErrorTransportation = numErrorTransportation; + } + + public List getErrors() { + if (errors == null) { + errors = new ArrayList<>(); + } + return errors; + } + + public void setErrors(List errors) { + this.errors = errors; + } + +} 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/types/Validation.java similarity index 59% rename from citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/jaxb/ValidationType.java rename to citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Validation.java index af233c97ed5747347f605e10ebfba3e21ee6b566..b1338cfb93464a51222cad855ebc57bb05bff202 100644 --- 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/types/Validation.java @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -13,45 +13,25 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package de.hft.stuttgart.quality.model.jaxb; +package de.hft.stuttgart.quality.model.types; +import java.io.Serial; import java.time.ZonedDateTime; -import javax.xml.bind.annotation.XmlAccessType; -import javax.xml.bind.annotation.XmlAccessorType; -import javax.xml.bind.annotation.XmlType; -import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; +import org.citygml4j.core.model.core.AbstractFeature; -import de.hft.stuttgart.quality.marshaller.ZonedDateTimeAdapter; +import de.hft.stuttgart.quality.model.properties.StatisticsProperty; +import de.hft.stuttgart.quality.model.properties.ValidationPlanProperty; -@XmlType(name = "validation") -@XmlAccessorType(XmlAccessType.FIELD) -public class ValidationType { +public abstract class Validation extends AbstractFeature { - @XmlJavaTypeAdapter(ZonedDateTimeAdapter.class) - private ZonedDateTime validationDate; + @Serial + private static final long serialVersionUID = 7821104529898548535L; + 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; - } + private StatisticsProperty statistics; + private ValidationPlanProperty validationPlan; public ZonedDateTime getValidationDate() { return validationDate; @@ -69,4 +49,20 @@ public class ValidationType { this.validationSoftware = validationSoftware; } + public StatisticsProperty getStatistics() { + return statistics; + } + + public void setStatistics(StatisticsProperty statistics) { + this.statistics = statistics; + } + + public ValidationPlanProperty getValidationPlan() { + return validationPlan; + } + + public void setValidationPlan(ValidationPlanProperty validationPlan) { + this.validationPlan = validationPlan; + } + } diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationPlan.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationPlan.java new file mode 100644 index 0000000000000000000000000000000000000000..72225a9070324aa0a1b1e60211fa587c21984df5 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationPlan.java @@ -0,0 +1,65 @@ +/*- + * 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.ArrayList; +import java.util.List; + +import org.xmlobjects.gml.model.GMLObject; + +import de.hft.stuttgart.quality.model.properties.FilterProperty; +import de.hft.stuttgart.quality.model.properties.GlobalParametersProperty; +import de.hft.stuttgart.quality.model.properties.RequirementProperty; + +public abstract class ValidationPlan extends GMLObject { + + @Serial + private static final long serialVersionUID = 434443226848485642L; + + private GlobalParametersProperty globalParameters; + private FilterProperty filter; + private List requirement; + + public GlobalParametersProperty getGlobalParameters() { + return globalParameters; + } + + public void setGlobalParameters(GlobalParametersProperty globalParameters) { + this.globalParameters = globalParameters; + } + + public FilterProperty getFilter() { + return filter; + } + + public void setFilter(FilterProperty filter) { + this.filter = filter; + } + + public List getRequirement() { + if (requirement == null) { + requirement = new ArrayList<>(); + } + return requirement; + } + + public void setRequirement(List requirement) { + this.requirement = requirement; + } + + +} diff --git a/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationResult.java b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationResult.java new file mode 100644 index 0000000000000000000000000000000000000000..9b8eb6eecdf117474e64e49c6ada3ed55fc6d5a7 --- /dev/null +++ b/citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationResult.java @@ -0,0 +1,64 @@ +/*- + * 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.ArrayList; +import java.util.List; + +import org.xmlobjects.gml.model.GMLObject; +import org.xmlobjects.gml.model.base.Reference; + +import de.hft.stuttgart.quality.model.enums.ResultType; +import de.hft.stuttgart.quality.model.properties.AbstractErrorProperty; + +public abstract class ValidationResult extends GMLObject { + + @Serial + private static final long serialVersionUID = 4867627296196445082L; + + private Reference validationPlanID; + private List errors; + private ResultType resultType; + + public Reference getValidationPlanID() { + return validationPlanID; + } + + public void setValidationPlanID(Reference validationPlanID) { + this.validationPlanID = validationPlanID; + } + + public List getErrors() { + if (errors == null) { + errors = new ArrayList<>(); + } + return errors; + } + + public void setErrors(List errors) { + this.errors = errors; + } + + public ResultType getResultType() { + return resultType; + } + + public void setResultType(ResultType resultType) { + this.resultType = resultType; + } + +} 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 index f710f93e453b449ff57590cadcca0f417687ff87..f0a31acbdd2cdd508a68da182cc66988f4373d59 100644 --- 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 @@ -15,7 +15,8 @@ */ package de.hft.stuttgart.quality.util; -import org.citygml4j.xml.io.reader.MissingADESchemaException; + +import org.citygml4j.xml.reader.MissingADESchemaException; public class UncheckedMissingADESchemaException extends RuntimeException { 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 @@ - - - - - - - - - - - - - Enumeration for status of check result - - - - - One or more errors were found - - - - - Feature was not checked - - - - - No errors were found - - - - - - - - - - - - - - - - - - - - - Consecutive point are the same - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A planarity error with a point too far from the - regression plane - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Data structure containing validation results for - features - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Enumeration for available requirements - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Requirement structure for configuration purposes - - - - - - - - - - - - Validation plan structure containing information about - the parameters used to perform the checks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Statistics structure containing information about end - result of checking process - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Data structure containing the validation plan and - statistics of a validation process - - - - - - - - - - \ 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 index 1eff2866148f92db5f4fedf0d1da531dbb082b96..62a4b8779282b2f3c573707bae5be501f67044e6 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 @@ -1,5 +1,5 @@ /*- - * Copyright 2020 Hochschule für Technik Stuttgart + * 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. @@ -15,87 +15,56 @@ */ 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 testValidationPlan() throws ADEException, CityGMLContextException, CityGMLWriteException { + CityModel model = new CityModel(); + + Validation v = new Validation(); + model.getFeatureMembers().add(new AbstractFeatureProperty(v)); + v.setValidationSoftware("testSoftware"); + v.setValidationDate(ZonedDateTime.now()); + ValidationPlan plan = new ValidationPlan(); + Requirement req = new Requirement(); + req.setEnabled(true); + req.setName(RequirementId.R_GE_P_HOLE_OUTSIDE); + plan.getRequirements().add(req); + + Checking checking = new Checking(); + checking.setFeatureType(TopLevelFeatureType.BRIDGE); + plan.getFilter().add(checking); + + Parameter param = new Parameter(); + param.setName("test"); + param.setUom("uom"); + param.setValue("5"); + plan.getGlobalParameters().add(param); + + v.setValidationPlan(plan); + + + ADERegistry.getInstance().loadADE(new QualityADEContext()); + + CityGMLContext context = CityGMLContext.newInstance(); + CityGMLVersion version = CityGMLVersion.v2_0; + CityGMLOutputFactory out = context.createCityGMLOutputFactory(version); + + + try (CityGMLChunkWriter writer = out.createCityGMLChunkWriter(Paths.get("test.gml"), StandardCharsets.UTF_8.name())) { + writer.withIndent(" ") + .withSchemaLocation(QualityADEModule.NAMESPACE_URI, getClass().getResource("/qualityAde.xsd").toString()) + .withDefaultPrefixes() + .withDefaultNamespace(CoreModule.of(version).getNamespaceURI()) + .writeMember(v); + } + + } + + + @Test void testReadingConsecutiveSameError() throws ADEException, CityGMLBuilderException, CityGMLReadException, FileNotFoundException { @@ -557,7 +526,7 @@ class QualityAdeTests { 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 { @@ -588,7 +557,7 @@ class QualityAdeTests { assertEquals(error.getChildId(), error2.getChildId()); assertEquals(error.isGeneric(), error2.isGeneric()); } - + @Test void testWritingAttributeWrongValueError() throws ADEException, CityGMLBuilderException, CityGMLWriteException, CityGMLReadException { @@ -1303,11 +1272,15 @@ class QualityAdeTests { System.out.println(event.getMessage()); throw new IllegalStateException(event.getLinkedException()); }); - CityModel cityModel; try (CityGMLReader reader = in.createCityGMLReader("?", input)) { - cityModel = (CityModel) reader.nextFeature(); + while (reader.hasNext()) { + CityGML nextFeature = reader.nextFeature(); + if (nextFeature instanceof CityModel) { + return (CityModel) nextFeature; + } + } } - return cityModel; + throw new IllegalStateException("No CityModel found in GML file"); } private CityModel readCityGml(File f) @@ -1399,11 +1372,11 @@ class QualityAdeTests { writer.setPrefixes(CityGMLVersion.DEFAULT); writer.setPrefix("qual", QualityADEModule.NAMESPACE_URI); writer.setSchemaLocation(QualityADEModule.NAMESPACE_URI, - QualityADEModule.NAMESPACE_URI + "/qualityAde.xsd"); + QualityADEModule.NAMESPACE_URI + "/qualityAdeOld.xsd"); writer.setSchemaLocations(CityGMLVersion.DEFAULT); writer.write(model); return out.toByteArray(); } - } + } */ } diff --git a/citygml4j-quality-ade/src/test/resources/SimpleSolid_Error_QualityADE.gml b/citygml4j-quality-ade/src/test/resources/SimpleSolid_Error_QualityADE.gml index 3334930d3ee44c59205c842a1ee7bb28787681dd..26300b9cd97dc2039f1c04109b4eeb5e685e2d92 100644 --- a/citygml4j-quality-ade/src/test/resources/SimpleSolid_Error_QualityADE.gml +++ b/citygml4j-quality-ade/src/test/resources/SimpleSolid_Error_QualityADE.gml @@ -1,41 +1,43 @@  - + - + - - - _Simple_BD.1_PG.6_LR.1 - 11.5 10.0 4.5 - 11.5 10.0 4.5 - + + + + + + _Simple_BD.1_PG.6_LR.1 + 11.5 10.0 4.5 + 11.5 10.0 4.5 + + + OK + - - - - - - - + + + + + + + @@ -77,7 +79,8 @@ Lizenz: 11.5 15.0 4.5 13.0 15.0 3.0 13.0 15.0 0.0 - 10.0 15.0 0.0 + 10.0 + 15.0 0.0 @@ -124,7 +127,8 @@ Lizenz: 11.5 10.0 4.5 10.0 10.0 3.0 10.0 10.0 0.0 - 13.0 10.0 0.0 + 13.0 + 10.0 0.0 @@ -148,8 +152,9 @@ Lizenz: 11.5 10.0 4.5 11.5 15.0 4.5 10.0 15.0 3.0 - 10.0 10.0 3.0 - + 10.0 + 10.0 3.0 + @@ -199,59 +204,245 @@ Lizenz: - - 2002-05-30T09:00:00 - CityDoctor2 - - - 8 - 0.0001 - - - - - - - - - distance - 0.01 - 1 - 0.0000 - - - - - - - - - - - - - - - - - BUILDING - TRANSPORTATION - VEGETATION - BRIDGE - WATER - LAND - - - - 1 - 0 - 0 - 0 - 0 - 0 - - 1 - - - + + + 2002-05-30T09:00:00 + CityDoctor2 + + + + + 1 + 1 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 1 + GE_R_CONSECUTIVE_POINTS_SAME + + + + + + + + + + + numberOfRoundingPlaces + 8 + + + + + minVertexDistance + m + 0.0001 + + + + + schematronFile + + + + + + + + + + BUILDING + + + + + TRANSPORTATION + + + + + VEGETATION + + + + + BRIDGE + + + + + WATER + + + + + LAND + + + + + + + true + R_GE_R_TOO_FEW_POINTS + + + + + true + R_GE_R_NOT_CLOSED + + + + + true + R_GE_R_CONSECUTIVE_POINTS_SAME + + + + + true + R_GE_R_SELF_INTERSECTION + + + + + true + R_GE_P_NON_PLANAR + + + type + distance + + + + + distanceTolerance + m + 0.01 + + + + + angleTolerance + deg + 1 + + + + + + + true + R_GE_P_INTERIOR_DISCONNECTED + + + + + true + R_GE_P_INTERSECTING_RINGS + + + + + true + R_GE_P_HOLE_OUTSIDE + + + + + true + R_GE_P_ORIENTATION_RINGS_SAME + + + + + true + R_GE_P_INNER_RINGS_NESTED + + + + + true + R_GE_S_TOO_FEW_POLYGONS + + + + + true + R_GE_S_NOT_CLOSED + + + + + true + R_GE_S_NON_MANIFOLD_EDGE + + + + + true + R_GE_S_POLYGON_WRONG_ORIENTATION + + + + + true + R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION + + + + + true + R_GE_S_NON_MANIFOLD_VERTEX + + + + + true + R_GE_S_SELF_INTERSECTION + + + + + true + R_GE_S_MULTIPLE_CONNECTED_COMPONENTS + + + + + + \ No newline at end of file diff --git a/citygml4j-quality-ade/test.gml b/citygml4j-quality-ade/test.gml new file mode 100644 index 0000000000000000000000000000000000000000..9e3fd3e6d46887707f9614e03f9cc3a8181bd17b --- /dev/null +++ b/citygml4j-quality-ade/test.gml @@ -0,0 +1,18 @@ + + + + + 2022-03-29T12:31:57.2173659+02:00 + testSoftware + + + 5 + + + + BRIDGE + + + + + \ No newline at end of file