From 74cdade3ceee8c8019c1b7d81607aef3a96db161 Mon Sep 17 00:00:00 2001 From: Riegel Date: Wed, 14 May 2025 11:52:05 +0200 Subject: [PATCH 1/4] Refactor: Rename AbstractCheck --- .../{AbstractCheck.java => AbstractVisitor.java} | 2 +- .../hft/stuttgart/citydoctor2/check/Checkable.java | 4 ++-- .../citydoctor2/datastructure/CityDoctorModel.java | 4 ++-- .../utils/visitors/CheckableErrorCollector.java | 4 ++-- .../utils/visitors/CityObjectCollector.java | 4 ++-- .../utils/visitors/ClearMetaInformationVisitor.java | 4 ++-- ...sVisitor.java => ClearVisitorResultsVisitor.java} | 4 ++-- .../utils/visitors/ContainsAnyErrorVisitor.java | 4 ++-- .../utils/visitors/ContainsErrorVisitor.java | 4 ++-- .../utils/visitors/GmlGeometryRebuilder.java | 4 ++-- .../utils/visitors/PrepareForCheckingVisitor.java | 4 ++-- .../utils/visitors/UnsetGeometriesVisitor.java | 4 ++-- .../datastructure/AbstractBuildingTest.java | 11 ++++------- .../citydoctor2/datastructure/AbstractRoomTest.java | 4 ++-- .../datastructure/AbstractTunnelTest.java | 4 ++-- .../datastructure/BoundarySurfaceTest.java | 12 ++++++------ .../citydoctor2/datastructure/BridgeObjectTest.java | 8 ++++---- .../citydoctor2/datastructure/BuildingTest.java | 4 ++-- .../citydoctor2/datastructure/CityObjectTest.java | 4 ++-- .../datastructure/GenericCityObjectTest.java | 4 ++-- .../citydoctor2/datastructure/GeometryTest.java | 8 ++++---- .../datastructure/ImplicitGeometryTest.java | 4 ++-- .../citydoctor2/datastructure/ReliefObjectTest.java | 4 ++-- .../citydoctor2/datastructure/TinObjectTest.java | 4 ++-- .../datastructure/TopLevelTransportFeatureTest.java | 4 ++-- .../citydoctor2/datastructure/TrafficSpaceTest.java | 8 ++++---- .../datastructure/TransportationSpaceTest.java | 4 ++-- .../citydoctor2/datastructure/WaterTest.java | 4 ++-- .../de/hft/stuttgart/citydoctor2/healer/Healer.java | 4 ++-- .../citydoctor2/healing/HealMissingSolid.java | 4 ++-- .../citydoctor2/healer/genetic/NonPlanarGenetic.java | 6 ++---- 31 files changed, 73 insertions(+), 78 deletions(-) rename CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/{AbstractCheck.java => AbstractVisitor.java} (96%) rename CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/{ClearCheckResultsVisitor.java => ClearVisitorResultsVisitor.java} (72%) diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractCheck.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractVisitor.java similarity index 96% rename from CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractCheck.java rename to CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractVisitor.java index 7910cdb0..138a4f35 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractCheck.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractVisitor.java @@ -30,7 +30,7 @@ import java.util.Set; * @author Matthias Betz * */ -public abstract class AbstractCheck extends Check { +public abstract class AbstractVisitor extends Check { @Override public Set appliesToRequirements() { diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Checkable.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Checkable.java index eee6292b..c71fb306 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Checkable.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Checkable.java @@ -26,7 +26,7 @@ import java.util.Map; import de.hft.stuttgart.citydoctor2.utils.CheckErrorFound; import de.hft.stuttgart.citydoctor2.utils.visitors.CheckableErrorCollector; -import de.hft.stuttgart.citydoctor2.utils.visitors.ClearCheckResultsVisitor; +import de.hft.stuttgart.citydoctor2.utils.visitors.ClearVisitorResultsVisitor; import de.hft.stuttgart.citydoctor2.utils.visitors.ClearMetaInformationVisitor; import de.hft.stuttgart.citydoctor2.utils.visitors.ContainsAnyErrorVisitor; import de.hft.stuttgart.citydoctor2.utils.visitors.ContainsErrorVisitor; @@ -232,7 +232,7 @@ public abstract class Checkable implements Serializable { * Clears the checkResults list of this checkable and all child objects in its datastructure. */ public final void clearAllContainedCheckResults() { - this.accept(new ClearCheckResultsVisitor()); + this.accept(new ClearVisitorResultsVisitor()); } /** diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java index 91818898..0714863e 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.exceptions.CityDoctorWriteException; @@ -147,7 +147,7 @@ public class CityDoctorModel { folder.mkdirs(); createFeatureStream().forEach(co -> { Map> polygonMap = new EnumMap<>(Lod.class); - Check c = new AbstractCheck() { + Check c = new AbstractVisitor() { @Override public void check(Geometry geom) { diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CheckableErrorCollector.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CheckableErrorCollector.java index d6af6749..b9125972 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CheckableErrorCollector.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CheckableErrorCollector.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.Checkable; @@ -9,7 +9,7 @@ import java.util.List; /** * This Visitor collects all CheckErrors in the datastructure of a checkable. */ -public class CheckableErrorCollector extends AbstractCheck { +public class CheckableErrorCollector extends AbstractVisitor { List errors; diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CityObjectCollector.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CityObjectCollector.java index 31948813..18cf4d14 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CityObjectCollector.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CityObjectCollector.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.datastructure.CityObject; import java.util.HashSet; @@ -9,7 +9,7 @@ import java.util.Set; /** * This Visitor collects all sub-CityObjects that are in the datastructure of a CityObject (including itself) in a Set. */ -public class CityObjectCollector extends AbstractCheck { +public class CityObjectCollector extends AbstractVisitor { private final Set objects = new HashSet<>(); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearMetaInformationVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearMetaInformationVisitor.java index b08ed136..06d45396 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearMetaInformationVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearMetaInformationVisitor.java @@ -1,12 +1,12 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.datastructure.Geometry; /** * This Visitor removes the metadata created by the {@link PrepareForCheckingVisitor} for the low-memory consumption mode. */ -public class ClearMetaInformationVisitor extends AbstractCheck { +public class ClearMetaInformationVisitor extends AbstractVisitor { @Override public void check(Geometry geometry) { diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearCheckResultsVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearVisitorResultsVisitor.java similarity index 72% rename from CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearCheckResultsVisitor.java rename to CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearVisitorResultsVisitor.java index 18019a70..2fd476bd 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearCheckResultsVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearVisitorResultsVisitor.java @@ -1,12 +1,12 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.Checkable; /** * This Visitor removes the check results from a CityObject and the objects in its datastructure. */ -public class ClearCheckResultsVisitor extends AbstractCheck { +public class ClearVisitorResultsVisitor extends AbstractVisitor { @Override public void check(Checkable checkable) { diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsAnyErrorVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsAnyErrorVisitor.java index 02a9a5b2..ba50579a 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsAnyErrorVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsAnyErrorVisitor.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.Checkable; import de.hft.stuttgart.citydoctor2.utils.CheckErrorFound; import de.hft.stuttgart.citydoctor2.utils.ThrowUtils; @@ -11,7 +11,7 @@ import de.hft.stuttgart.citydoctor2.utils.ThrowUtils; * This visitor's check method terminates early by throwing an unchecked {@link CheckErrorFound}, * use {@link #checkObject(Checkable) ContainsAnyErrorVisitor.checkObject(Checkable)} to handle the Throwable. */ -public class ContainsAnyErrorVisitor extends AbstractCheck { +public class ContainsAnyErrorVisitor extends AbstractVisitor { /** * Checks if a Checkable, or any Object in its datastructure, contains any error. diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsErrorVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsErrorVisitor.java index 9ddc69c5..8a5237a1 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsErrorVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsErrorVisitor.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.Checkable; import de.hft.stuttgart.citydoctor2.utils.CheckErrorFound; @@ -12,7 +12,7 @@ import de.hft.stuttgart.citydoctor2.utils.ThrowUtils; * This visitor's check method terminates early by throwing an unchecked {@link CheckErrorFound}, * use {@link #checkObject(Checkable, CheckId) ContainsAnyErrorVisitor.checkObject(Checkable, CheckId)} to handle the Throwable. */ -public class ContainsErrorVisitor extends AbstractCheck { +public class ContainsErrorVisitor extends AbstractVisitor { private CheckId checkId; diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/GmlGeometryRebuilder.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/GmlGeometryRebuilder.java index cd74226b..f4f6583f 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/GmlGeometryRebuilder.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/GmlGeometryRebuilder.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.datastructure.CityObject; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import org.citygml4j.core.util.geometry.GeometryFactory; @@ -11,7 +11,7 @@ import java.util.Objects; * This Visitor recreates the Geometries of the original CityGml object from the associated Geometries in CityDoctor's * internal model. */ -public class GmlGeometryRebuilder extends AbstractCheck { +public class GmlGeometryRebuilder extends AbstractVisitor { private final GeometryFactory factory; private final ParserConfiguration config; diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/PrepareForCheckingVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/PrepareForCheckingVisitor.java index 3388da78..849a1db6 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/PrepareForCheckingVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/PrepareForCheckingVisitor.java @@ -1,12 +1,12 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.datastructure.Geometry; /** * This Visitor prepares the {@link Geometry Geometries} in a Checkable for low-memory consumption mode. */ -public class PrepareForCheckingVisitor extends AbstractCheck { +public class PrepareForCheckingVisitor extends AbstractVisitor { @Override public void check(Geometry geom) { diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/UnsetGeometriesVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/UnsetGeometriesVisitor.java index d24948d6..2150678a 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/UnsetGeometriesVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/UnsetGeometriesVisitor.java @@ -1,13 +1,13 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.datastructure.CityObject; /** * This Visitor removes the GmlGeometries from the linked original GmlObjects in a CityObject's datastructure to reduce * memory bloat. */ -public class UnsetGeometriesVisitor extends AbstractCheck { +public class UnsetGeometriesVisitor extends AbstractVisitor { @Override diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingTest.java index 0c8e436c..1ed3ff10 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingTest.java @@ -24,7 +24,6 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; @@ -32,9 +31,7 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; -import de.hft.stuttgart.citydoctor2.utils.visitors.ClearCheckResultsVisitor; import de.hft.stuttgart.citydoctor2.utils.visitors.GmlGeometryRebuilder; -import de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor; import org.citygml4j.core.model.construction.WallSurface; import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; import org.citygml4j.core.util.geometry.GeometryFactory; @@ -43,7 +40,7 @@ import org.mockito.Mockito; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -62,7 +59,7 @@ public class AbstractBuildingTest { AtomicInteger abCounter = new AtomicInteger(0); AtomicInteger bsCounter = new AtomicInteger(0); AtomicInteger biCounter = new AtomicInteger(0); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { @Override public void check(AbstractBuilding ab) { @@ -79,7 +76,7 @@ public class AbstractBuildingTest { assertEquals(1, bsCounter.intValue()); assertEquals(0, biCounter.intValue()); - AbstractCheck c2 = new AbstractCheck() { + AbstractVisitor c2 = new AbstractVisitor() { @Override public void check(Installation bi) { @@ -109,7 +106,7 @@ public class AbstractBuildingTest { ab.addBoundarySurface(mockBSurface); ab.addGeometry(mockGeometry); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; ab.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoomTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoomTest.java index 5f575179..f512b264 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoomTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoomTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -50,7 +50,7 @@ public class AbstractRoomTest { abRoom.addBoundarySurface(mockBoundarySurface); abRoom.addGeometry(geometry); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; abRoom.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnelTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnelTest.java index ee3f289a..2ff3bb94 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnelTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnelTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -52,7 +52,7 @@ public class AbstractTunnelTest { at.addBoundarySurface(mockBoundarySurface); at.addGeometry(mockGeometry); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; at.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurfaceTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurfaceTest.java index 458739ac..3e9da364 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurfaceTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurfaceTest.java @@ -30,7 +30,7 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; -import de.hft.stuttgart.citydoctor2.utils.visitors.ClearCheckResultsVisitor; +import de.hft.stuttgart.citydoctor2.utils.visitors.ClearVisitorResultsVisitor; import de.hft.stuttgart.citydoctor2.utils.visitors.GmlGeometryRebuilder; import de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor; import org.citygml4j.core.model.construction.AbstractConstructionSurface; @@ -41,7 +41,7 @@ import org.junit.Test; import org.mockito.Mockito; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -58,7 +58,7 @@ public class BoundarySurfaceTest { Opening oMock = Mockito.mock(Opening.class); bs.addOpening(oMock); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; bs.accept(c); @@ -71,7 +71,7 @@ public class BoundarySurfaceTest { Opening oMock = Mockito.mock(Opening.class); bs.addOpening(oMock); AtomicInteger bsCounter = new AtomicInteger(0); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { @Override public void check(BoundarySurface bs) { @@ -89,7 +89,7 @@ public class BoundarySurfaceTest { Opening oMock = Mockito.mock(Opening.class); bs.addOpening(oMock); AtomicInteger bsCounter = new AtomicInteger(0); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { @Override public void check(BridgeObject bo) { @@ -142,7 +142,7 @@ public class BoundarySurfaceTest { assertFalse(bs.getAllCheckResults().isEmpty()); bs.addOpening(oMock); bs.clearAllContainedCheckResults(); - verify(oMock).accept(any(ClearCheckResultsVisitor.class)); + verify(oMock).accept(any(ClearVisitorResultsVisitor.class)); assertTrue(bs.getAllCheckResults().isEmpty()); } diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObjectTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObjectTest.java index d8e23400..a6ca3c82 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObjectTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObjectTest.java @@ -39,7 +39,7 @@ import org.citygml4j.core.util.geometry.GeometryFactory; import org.citygml4j.core.visitor.ObjectVisitor; import org.junit.Test; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -58,7 +58,7 @@ public class BridgeObjectTest { bo.addBoundarySurface(new BoundarySurface(null)); AtomicInteger boCounter = new AtomicInteger(0); AtomicInteger bsCounter = new AtomicInteger(0); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { @Override public void check(BridgeObject bo) { @@ -75,7 +75,7 @@ public class BridgeObjectTest { assertEquals(1, bsCounter.intValue()); AtomicInteger boCounter2 = new AtomicInteger(0); - c = new AbstractCheck() { + c = new AbstractVisitor() { }; bo.accept(c); assertEquals(0, boCounter2.intValue()); @@ -101,7 +101,7 @@ public class BridgeObjectTest { bo.addBoundarySurface(bsMock); bo.addGeometry(geomMock); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; bo.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingTest.java index 45855654..92de7c89 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingTest.java @@ -26,7 +26,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import org.citygml4j.core.model.construction.RoofSurface; import org.junit.Test; import org.mockito.Mockito; @@ -151,7 +151,7 @@ public class BuildingTest { bp.addStorey(mockStorey); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; b.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityObjectTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityObjectTest.java index e0d7dae4..b833060b 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityObjectTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityObjectTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -31,7 +31,7 @@ public class CityObjectTest { Geometry mockGeometry = mock(Geometry.class); co.addGeometry(mockGeometry); - AbstractCheck check = new AbstractCheck() { + AbstractVisitor check = new AbstractVisitor() { }; co.accept(check); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObjectTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObjectTest.java index 00aab2b1..313d8810 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObjectTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObjectTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -30,7 +30,7 @@ public class GenericCityObjectTest { gco.addBoundarySurface(mockSurface); gco.addGeometry(mockGeometry); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; gco.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GeometryTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GeometryTest.java index dde2b7df..7d96f09e 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GeometryTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GeometryTest.java @@ -32,8 +32,8 @@ import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.List; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; -import de.hft.stuttgart.citydoctor2.utils.visitors.ClearCheckResultsVisitor; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.utils.visitors.ClearVisitorResultsVisitor; import org.citygml4j.core.model.construction.AbstractConstructionSurface; import org.citygml4j.core.model.construction.WallSurface; import org.citygml4j.core.util.geometry.GeometryFactory; @@ -63,7 +63,7 @@ public class GeometryTest { geom.addPolygon(mockPolygon); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; geom.accept(c); @@ -300,7 +300,7 @@ public class GeometryTest { Polygon p = mock(Polygon.class); geom.addPolygon(p); geom.clearAllContainedCheckResults(); - verify(p).accept(any(ClearCheckResultsVisitor.class)); + verify(p).accept(any(ClearVisitorResultsVisitor.class)); assertFalse(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); } diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryTest.java index 6050b20f..f2b39f9e 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -150,7 +150,7 @@ public class ImplicitGeometryTest { AtomicInteger loCounter = new AtomicInteger(0); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { @Override public void check(Polygon lo) { loCounter.incrementAndGet(); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObjectTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObjectTest.java index d97059d1..44ca0393 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObjectTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObjectTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import org.citygml4j.core.model.relief.ReliefFeature; import org.junit.Test; @@ -16,7 +16,7 @@ public class ReliefObjectTest { TinObject mockTin = mock(TinObject.class); relief.addComponent(mockTin); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; relief.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TinObjectTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TinObjectTest.java index b635e2a6..56541bf4 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TinObjectTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TinObjectTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -32,7 +32,7 @@ public class TinObjectTest { tin.addGeometry(mockGeometry); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; tin.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TopLevelTransportFeatureTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TopLevelTransportFeatureTest.java index 0f3a1572..859c4f10 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TopLevelTransportFeatureTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TopLevelTransportFeatureTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -54,7 +54,7 @@ public class TopLevelTransportFeatureTest { top.addSection(mockSection); top.addIntersection(mockIntersection); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; top.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficSpaceTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficSpaceTest.java index bb6c592e..4967e60a 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficSpaceTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficSpaceTest.java @@ -1,12 +1,12 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; import de.hft.stuttgart.citydoctor2.check.ResultStatus; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import de.hft.stuttgart.citydoctor2.utils.visitors.ClearCheckResultsVisitor; +import de.hft.stuttgart.citydoctor2.utils.visitors.ClearVisitorResultsVisitor; import org.citygml4j.core.model.core.AbstractSpaceBoundary; import org.citygml4j.core.model.core.AbstractUnoccupiedSpace; import org.citygml4j.core.model.deprecated.core.DeprecatedPropertiesOfAbstractCityObject; @@ -37,7 +37,7 @@ public class TrafficSpaceTest { TrafficAreaObject areaMock = mock(TrafficAreaObject.class); tso.addTrafficArea(areaMock); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; tso.accept(c); @@ -91,7 +91,7 @@ public class TrafficSpaceTest { tso.clearAllContainedCheckResults(); assertFalse(tso.containsError(CheckId.C_GE_P_HOLE_OUTSIDE)); - verify(taMock).accept(any(ClearCheckResultsVisitor.class)); + verify(taMock).accept(any(ClearVisitorResultsVisitor.class)); } @Test diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpaceTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpaceTest.java index e30557c2..0b77c6e3 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpaceTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpaceTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -32,7 +32,7 @@ public class TransportationSpaceTest { space.addTrafficSpace(mockSpace); space.addAuxTrafficSpace(auxMockSpace); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; space.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/WaterTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/WaterTest.java index b0289228..217d75f2 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/WaterTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/WaterTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -33,7 +33,7 @@ public class WaterTest { water.addBoundarySurface(bsMock); water.addBoundarySurface(bsMock2); - AbstractCheck c = new AbstractCheck() { + AbstractVisitor c = new AbstractVisitor() { }; water.accept(c); diff --git a/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healer/Healer.java b/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healer/Healer.java index 544a6856..5342f752 100644 --- a/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healer/Healer.java +++ b/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healer/Healer.java @@ -26,7 +26,7 @@ import org.citygml4j.xml.writer.CityGMLWriteException; import org.citygml4j.xml.writer.CityGMLWriter; import de.hft.stuttgart.citydoctor2.CityDoctorValidation; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.Checker; import de.hft.stuttgart.citydoctor2.check.HealingMethod; @@ -353,7 +353,7 @@ public class Healer { private void filterOutDuplicateVertices(CityObject co) { Map map = new HashMap<>(); - co.accept(new AbstractCheck() { + co.accept(new AbstractVisitor() { @Override public void check(LinearRing ring) { for (int i = 0; i < ring.getVertices().size(); i++) { diff --git a/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healing/HealMissingSolid.java b/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healing/HealMissingSolid.java index 301d639b..b02cb681 100644 --- a/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healing/HealMissingSolid.java +++ b/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healing/HealMissingSolid.java @@ -24,7 +24,7 @@ import java.util.List; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.HealingID; import de.hft.stuttgart.citydoctor2.check.HealingMethod; import de.hft.stuttgart.citydoctor2.check.ModificationListener; @@ -103,7 +103,7 @@ public class HealMissingSolid implements HealingMethod { private List collectPolygons(CityObject co) { List polygons = new ArrayList<>(); - AbstractCheck polygonCheck = new AbstractCheck() { + AbstractVisitor polygonCheck = new AbstractVisitor() { @Override public void check(Polygon p) { if (!p.isLink()) { diff --git a/CityDoctorParent/Extensions/CityDoctorHealerGenetic/src/test/java/de/hft/stuttgart/citydoctor2/healer/genetic/NonPlanarGenetic.java b/CityDoctorParent/Extensions/CityDoctorHealerGenetic/src/test/java/de/hft/stuttgart/citydoctor2/healer/genetic/NonPlanarGenetic.java index aad5053d..f5d4b880 100644 --- a/CityDoctorParent/Extensions/CityDoctorHealerGenetic/src/test/java/de/hft/stuttgart/citydoctor2/healer/genetic/NonPlanarGenetic.java +++ b/CityDoctorParent/Extensions/CityDoctorHealerGenetic/src/test/java/de/hft/stuttgart/citydoctor2/healer/genetic/NonPlanarGenetic.java @@ -36,10 +36,8 @@ import java.util.Map.Entry; import java.util.Random; import java.util.Set; -import org.junit.Test; - import Jama.EigenvalueDecomposition; -import de.hft.stuttgart.citydoctor2.check.AbstractCheck; +import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.Checker; import de.hft.stuttgart.citydoctor2.check.ValidationConfiguration; @@ -448,7 +446,7 @@ public class NonPlanarGenetic { private Polygon findPolygonInFeature(CityObject copy, Polygon polygon) { Polygon[] result = new Polygon[1]; - copy.accept(new AbstractCheck() { + copy.accept(new AbstractVisitor() { @Override public void check(Polygon p) { -- GitLab From 40ffb6177cee07418259b3bcef6bf8041c2da683 Mon Sep 17 00:00:00 2001 From: Riegel Date: Thu, 15 May 2025 13:36:54 +0200 Subject: [PATCH 2/4] Refactor: Cleanup AbstractVisitor implementation --- .../citydoctor2/check/AbstractVisitor.java | 129 ++++++++++++++++-- .../stuttgart/citydoctor2/check/Check.java | 7 +- .../citydoctor2/check/Checkable.java | 2 +- .../citydoctor2/check/CheckableVisitor.java | 69 ++++++++++ .../datastructure/AbstractBuilding.java | 4 +- .../AbstractBuildingSubdivision.java | 4 +- .../datastructure/AbstractFurniture.java | 5 +- .../datastructure/AbstractRoom.java | 4 +- .../datastructure/AbstractTunnel.java | 4 +- .../datastructure/BoundarySurface.java | 4 +- .../BridgeConstructiveElement.java | 4 +- .../datastructure/BridgeObject.java | 4 +- .../citydoctor2/datastructure/Building.java | 4 +- .../datastructure/BuildingUnit.java | 6 +- .../datastructure/CityDoctorModel.java | 3 +- .../datastructure/CityFurniture.java | 4 +- .../citydoctor2/datastructure/CityObject.java | 4 +- .../datastructure/ConcretePolygon.java | 4 +- .../datastructure/GenericCityObject.java | 4 +- .../citydoctor2/datastructure/Geometry.java | 5 +- .../datastructure/ImplicitGeometryHolder.java | 7 +- .../datastructure/Installation.java | 5 +- .../citydoctor2/datastructure/LandObject.java | 4 +- .../citydoctor2/datastructure/LinearRing.java | 4 +- .../datastructure/LinkedPolygon.java | 3 +- .../citydoctor2/datastructure/Opening.java | 4 +- .../datastructure/ReliefObject.java | 4 +- .../citydoctor2/datastructure/Storey.java | 4 +- .../citydoctor2/datastructure/TinObject.java | 4 +- .../TopLevelTransportFeature.java | 4 +- .../datastructure/TrafficSpaceObject.java | 4 +- .../datastructure/TransportationSpace.java | 4 +- .../citydoctor2/datastructure/Tunnel.java | 4 +- .../TunnelConstructiveElement.java | 4 +- .../citydoctor2/datastructure/Vegetation.java | 7 +- .../datastructure/WaterObject.java | 4 +- 36 files changed, 253 insertions(+), 91 deletions(-) create mode 100644 CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableVisitor.java diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractVisitor.java index 138a4f35..4f7840b2 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractVisitor.java @@ -18,7 +18,29 @@ */ package de.hft.stuttgart.citydoctor2.check; +import de.hft.stuttgart.citydoctor2.datastructure.AbstractBuilding; +import de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface; +import de.hft.stuttgart.citydoctor2.datastructure.BridgeObject; +import de.hft.stuttgart.citydoctor2.datastructure.Building; +import de.hft.stuttgart.citydoctor2.datastructure.BuildingPart; +import de.hft.stuttgart.citydoctor2.datastructure.CityFurniture; +import de.hft.stuttgart.citydoctor2.datastructure.CityObject; +import de.hft.stuttgart.citydoctor2.datastructure.GenericCityObject; +import de.hft.stuttgart.citydoctor2.datastructure.Geometry; +import de.hft.stuttgart.citydoctor2.datastructure.Installation; +import de.hft.stuttgart.citydoctor2.datastructure.LandObject; +import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; +import de.hft.stuttgart.citydoctor2.datastructure.Opening; +import de.hft.stuttgart.citydoctor2.datastructure.Polygon; +import de.hft.stuttgart.citydoctor2.datastructure.ReliefObject; +import de.hft.stuttgart.citydoctor2.datastructure.TinObject; +import de.hft.stuttgart.citydoctor2.datastructure.TransportationObject; +import de.hft.stuttgart.citydoctor2.datastructure.Vegetation; +import de.hft.stuttgart.citydoctor2.datastructure.WaterObject; +import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; + import java.util.Collections; +import java.util.Map; import java.util.Set; /** @@ -30,31 +52,116 @@ import java.util.Set; * @author Matthias Betz * */ -public abstract class AbstractVisitor extends Check { +public abstract non-sealed class AbstractVisitor implements CheckableVisitor { + + //Util Visitors have no dependencies + public boolean canExecute(Checkable c) { + return true; + } @Override - public Set appliesToRequirements() { - return Collections.emptySet(); + public final boolean isValidator() { + return false; } @Override - public CheckId getCheckId() { - return null; + public void check(Checkable checkable) { + } @Override - public RequirementType getType() { - return null; + public void check(AbstractBuilding ab) { + } @Override - public Check createNewInstance() { - return null; + public void check(BoundarySurface bs) { + } @Override - public final boolean isValidator() { - return false; + public void check(BridgeObject bo) { + + } + + @Override + public void check(Building b) { + + } + + @Override + public void check(Installation bi) { + + } + + @Override + public void check(BuildingPart bp) { + + } + + @Override + public void check(CityObject co) { + + } + + @Override + public void check(LandObject lo) { + + } + + @Override + public void check(Opening o) { + + } + + @Override + public void check(TransportationObject to) { + + } + + @Override + public void check(Vegetation veg) { + + } + + @Override + public void check(WaterObject wo) { + + } + + @Override + public void check(Geometry geom) { + + } + + @Override + public void check(Polygon poly) { + + } + + @Override + public void check(LinearRing ring) { + + } + + @Override + public void check(TinObject tin) { + + } + + @Override + public void check(ReliefObject relief) { + + } + + @Override + public void check(CityFurniture cf) { + + } + + @Override + public void check(GenericCityObject gco) { + } } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java index a50d6bcf..5b26eae3 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java @@ -49,7 +49,7 @@ import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; * @author Matthias Betz * */ -public abstract class Check { +public abstract non-sealed class Check implements CheckableVisitor { private final List> applicableToClasses = new ArrayList<>(2); @@ -67,11 +67,6 @@ public abstract class Check { } } - /** - * Returns all classes for which the check needs to be executed - * - * @return a list of classes which the check applies to - */ public List> getApplicableToClasses() { return applicableToClasses; } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Checkable.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Checkable.java index c71fb306..c9b94124 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Checkable.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Checkable.java @@ -74,7 +74,7 @@ public abstract class Checkable implements Serializable { * @param c the check from which the check method is called with the Checkable * instance as parameter. */ - public void accept(Check c) { + public void accept(CheckableVisitor c) { if (c.canExecute(this)) { c.check(this); } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableVisitor.java new file mode 100644 index 00000000..17651c34 --- /dev/null +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableVisitor.java @@ -0,0 +1,69 @@ +package de.hft.stuttgart.citydoctor2.check; + +import de.hft.stuttgart.citydoctor2.datastructure.AbstractBuilding; +import de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface; +import de.hft.stuttgart.citydoctor2.datastructure.BridgeObject; +import de.hft.stuttgart.citydoctor2.datastructure.Building; +import de.hft.stuttgart.citydoctor2.datastructure.BuildingPart; +import de.hft.stuttgart.citydoctor2.datastructure.CityFurniture; +import de.hft.stuttgart.citydoctor2.datastructure.CityObject; +import de.hft.stuttgart.citydoctor2.datastructure.GenericCityObject; +import de.hft.stuttgart.citydoctor2.datastructure.Geometry; +import de.hft.stuttgart.citydoctor2.datastructure.Installation; +import de.hft.stuttgart.citydoctor2.datastructure.LandObject; +import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; +import de.hft.stuttgart.citydoctor2.datastructure.Opening; +import de.hft.stuttgart.citydoctor2.datastructure.Polygon; +import de.hft.stuttgart.citydoctor2.datastructure.ReliefObject; +import de.hft.stuttgart.citydoctor2.datastructure.TinObject; +import de.hft.stuttgart.citydoctor2.datastructure.TransportationObject; +import de.hft.stuttgart.citydoctor2.datastructure.Vegetation; +import de.hft.stuttgart.citydoctor2.datastructure.WaterObject; + +public sealed interface CheckableVisitor permits Check, AbstractVisitor { + + boolean isValidator(); + + boolean canExecute(Checkable c); + + void check(Checkable checkable); + + void check(AbstractBuilding ab); + + void check(BoundarySurface bs); + + void check(BridgeObject bo); + + void check(Building b); + + void check(Installation bi); + + void check(BuildingPart bp); + + void check(CityObject co); + + void check(LandObject lo); + + void check(Opening o); + + void check(TransportationObject to); + + void check(Vegetation veg); + + void check(WaterObject wo); + + void check(Geometry geom); + + void check(Polygon poly); + + void check(LinearRing ring); + + void check(TinObject tin); + + void check(ReliefObject relief); + + void check(CityFurniture cf); + + void check(GenericCityObject gco); + +} diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuilding.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuilding.java index e1923ece..4d6029f9 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuilding.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuilding.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import org.apache.logging.log4j.LogManager; @@ -160,7 +160,7 @@ public abstract class AbstractBuilding extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingSubdivision.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingSubdivision.java index 6142cb32..7ada0f2d 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingSubdivision.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingSubdivision.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import org.apache.logging.log4j.LogManager; @@ -136,7 +136,7 @@ public abstract class AbstractBuildingSubdivision extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractFurniture.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractFurniture.java index 774ca2bb..002ac4f7 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractFurniture.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractFurniture.java @@ -1,7 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; - +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -30,7 +29,7 @@ public abstract class AbstractFurniture extends CityObject { private org.citygml4j.core.model.construction.AbstractFurniture af; @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoom.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoom.java index 79c08f54..b656ae69 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoom.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoom.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import org.citygml4j.core.model.core.AbstractCityObject; @@ -32,7 +32,7 @@ public abstract class AbstractRoom extends CityObject { @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnel.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnel.java index 7da0c979..0ea9909b 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnel.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnel.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -143,7 +143,7 @@ public abstract class AbstractTunnel extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurface.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurface.java index 97720249..9fa5066c 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurface.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurface.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -145,7 +145,7 @@ public class BoundarySurface extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeConstructiveElement.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeConstructiveElement.java index 6eeea1c7..01b892c7 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeConstructiveElement.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeConstructiveElement.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -95,7 +95,7 @@ public class BridgeConstructiveElement extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObject.java index 0fcad336..b87b232e 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObject.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -191,7 +191,7 @@ public class BridgeObject extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Building.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Building.java index dcd6073e..f21df6e3 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Building.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Building.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import org.citygml4j.core.model.building.BuildingInstallation; import org.citygml4j.core.model.building.BuildingInstallationProperty; import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; @@ -45,7 +45,7 @@ public class Building extends AbstractBuilding { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingUnit.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingUnit.java index 9a9bd5c8..785d9cd6 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingUnit.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingUnit.java @@ -1,8 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; -import org.citygml4j.core.util.geometry.GeometryFactory; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import java.io.Serial; import java.util.ArrayList; @@ -16,7 +14,7 @@ public class BuildingUnit extends AbstractBuildingSubdivision { private final List storeys = new ArrayList<>(); @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); for (Storey storey : storeys) { storey.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java index 0714863e..bbfa5551 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java @@ -21,6 +21,7 @@ package de.hft.stuttgart.citydoctor2.datastructure; import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.check.CheckError; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.exceptions.CityDoctorWriteException; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.writer.CityGMLWriterUtils; @@ -147,7 +148,7 @@ public class CityDoctorModel { folder.mkdirs(); createFeatureStream().forEach(co -> { Map> polygonMap = new EnumMap<>(Lod.class); - Check c = new AbstractVisitor() { + CheckableVisitor c = new AbstractVisitor() { @Override public void check(Geometry geom) { diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityFurniture.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityFurniture.java index b92ace7b..8e7002b2 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityFurniture.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityFurniture.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -21,7 +21,7 @@ public class CityFurniture extends CityObject { private org.citygml4j.core.model.cityfurniture.CityFurniture cgmlCityFurniture; @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityObject.java index 1291a8de..19eadd87 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityObject.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.visitors.GmlGeometryRebuilder; import de.hft.stuttgart.citydoctor2.utils.visitors.UnsetGeometriesVisitor; @@ -185,7 +185,7 @@ public abstract class CityObject extends GmlElement { public abstract FeatureType getFeatureType(); @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ConcretePolygon.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ConcretePolygon.java index c5c99a5e..3aa734d4 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ConcretePolygon.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ConcretePolygon.java @@ -18,8 +18,8 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.check.Checkable; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.math.Vector3d; import de.hft.stuttgart.citydoctor2.tesselation.JoglTesselator; import de.hft.stuttgart.citydoctor2.tesselation.TesselatedPolygon; @@ -180,7 +180,7 @@ public class ConcretePolygon extends Polygon { * citydoctor2.check.Check) */ @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObject.java index e55e6363..34a0d022 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObject.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -33,7 +33,7 @@ public class GenericCityObject extends CityObject { private final List boundarySurfaceList = new ArrayList<>(); @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Geometry.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Geometry.java index 5525115c..fde39d1a 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Geometry.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Geometry.java @@ -18,8 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; - +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.math.Triangle3d; import de.hft.stuttgart.citydoctor2.math.Vector3d; import de.hft.stuttgart.citydoctor2.tesselation.TesselatedPolygon; @@ -206,7 +205,7 @@ public class Geometry extends GmlElement { @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryHolder.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryHolder.java index 49e07c81..b5819762 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryHolder.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryHolder.java @@ -1,13 +1,10 @@ package de.hft.stuttgart.citydoctor2.datastructure; import java.io.Serial; -import java.util.List; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import org.citygml4j.core.model.core.ImplicitGeometry; -import de.hft.stuttgart.citydoctor2.check.Check; -import de.hft.stuttgart.citydoctor2.check.CheckError; -import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.math.TransformationMatrix; /** @@ -58,7 +55,7 @@ public class ImplicitGeometryHolder extends Geometry { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { prototypeGeometry.accept(c); } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Installation.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Installation.java index 7258df5a..cbe4459b 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Installation.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Installation.java @@ -18,8 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; - +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -130,7 +129,7 @@ public class Installation extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LandObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LandObject.java index d4ab4aca..d77b9e51 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LandObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LandObject.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -89,7 +89,7 @@ public class LandObject extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinearRing.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinearRing.java index 2f48bcdc..88d62167 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinearRing.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinearRing.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.math.*; import java.io.Serial; @@ -226,7 +226,7 @@ public class LinearRing extends GmlElement { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinkedPolygon.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinkedPolygon.java index 1c940c1a..c34adb1c 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinkedPolygon.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/LinkedPolygon.java @@ -21,6 +21,7 @@ package de.hft.stuttgart.citydoctor2.datastructure; import de.hft.stuttgart.citydoctor2.check.Check; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.math.Vector3d; import de.hft.stuttgart.citydoctor2.tesselation.TesselatedPolygon; import javafx.scene.paint.Color; @@ -105,7 +106,7 @@ public class LinkedPolygon extends Polygon { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { // linked polygons are not checked setValidated(true); } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Opening.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Opening.java index 19990e96..b64487de 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Opening.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Opening.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -114,7 +114,7 @@ public class Opening extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObject.java index b27b485e..7400731b 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObject.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import javafx.scene.paint.Color; import org.citygml4j.core.model.relief.ReliefFeature; @@ -42,7 +42,7 @@ public class ReliefObject extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Storey.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Storey.java index c5cea9b5..7978ade2 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Storey.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Storey.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import org.citygml4j.core.util.geometry.GeometryFactory; @@ -22,7 +22,7 @@ public class Storey extends AbstractBuildingSubdivision { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); for (BuildingUnit buildingUnit : buildingUnits) { buildingUnit.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TinObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TinObject.java index 4fde9c9e..e01a7bf9 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TinObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TinObject.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -50,7 +50,7 @@ public class TinObject extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TopLevelTransportFeature.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TopLevelTransportFeature.java index 8b41c699..1e52a55d 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TopLevelTransportFeature.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TopLevelTransportFeature.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import org.citygml4j.core.model.deprecated.transportation.TransportationComplex; import org.citygml4j.core.model.transportation.Railway; import org.citygml4j.core.model.transportation.Road; @@ -76,7 +76,7 @@ public class TopLevelTransportFeature extends TransportationSpace { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficSpaceObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficSpaceObject.java index fb60aa91..bfc06e71 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficSpaceObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficSpaceObject.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import org.citygml4j.core.model.core.AbstractSpace; @@ -95,7 +95,7 @@ public class TrafficSpaceObject extends TransportationObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpace.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpace.java index 16e7ef94..38811717 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpace.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpace.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import org.citygml4j.core.model.core.AbstractSpace; @@ -121,7 +121,7 @@ public abstract class TransportationSpace extends TransportationObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Tunnel.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Tunnel.java index 54013c4a..72c7b341 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Tunnel.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Tunnel.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import org.citygml4j.core.model.core.AbstractSpaceBoundaryProperty; import org.citygml4j.core.model.tunnel.TunnelInstallation; import org.citygml4j.core.model.tunnel.TunnelInstallationProperty; @@ -27,7 +27,7 @@ public class Tunnel extends AbstractTunnel { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelConstructiveElement.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelConstructiveElement.java index d1f896b9..0284f2b5 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelConstructiveElement.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/TunnelConstructiveElement.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -87,7 +87,7 @@ public class TunnelConstructiveElement extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Vegetation.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Vegetation.java index 79aec2a5..62d75bb7 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Vegetation.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/Vegetation.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -27,15 +27,12 @@ import org.citygml4j.core.model.vegetation.AbstractVegetationObject; import org.citygml4j.core.model.vegetation.PlantCover; import org.citygml4j.core.model.vegetation.SolitaryVegetationObject; import org.citygml4j.core.util.geometry.GeometryFactory; -import org.xmlobjects.gml.model.geometry.aggregates.MultiSolid; -import org.xmlobjects.gml.model.geometry.aggregates.MultiSolidProperty; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurface; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; import org.xmlobjects.gml.model.geometry.primitives.Solid; import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; import java.io.Serial; -import java.util.Collections; /** * Representation of CityGML vegetation objects @@ -172,7 +169,7 @@ public class Vegetation extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/WaterObject.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/WaterObject.java index 278a8fad..035d303e 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/WaterObject.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/WaterObject.java @@ -18,7 +18,7 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.utils.CityGmlUtils; import javafx.scene.paint.Color; @@ -141,7 +141,7 @@ public class WaterObject extends CityObject { } @Override - public void accept(Check c) { + public void accept(CheckableVisitor c) { super.accept(c); if (c.canExecute(this)) { c.check(this); -- GitLab From 3358f91e398e261b3b9f32f02b709c1caf250d87 Mon Sep 17 00:00:00 2001 From: Riegel Date: Thu, 15 May 2025 13:49:08 +0200 Subject: [PATCH 3/4] Refactor: Rename AbstractVisitor --- .../{AbstractVisitor.java => CheckableUtilsVisitor.java} | 7 +------ .../hft/stuttgart/citydoctor2/check/CheckableVisitor.java | 2 +- .../citydoctor2/datastructure/CityDoctorModel.java | 6 ++---- .../utils/visitors/CheckableErrorCollector.java | 4 ++-- .../citydoctor2/utils/visitors/CityObjectCollector.java | 4 ++-- .../utils/visitors/ClearMetaInformationVisitor.java | 4 ++-- .../utils/visitors/ClearVisitorResultsVisitor.java | 4 ++-- .../utils/visitors/ContainsAnyErrorVisitor.java | 4 ++-- .../citydoctor2/utils/visitors/ContainsErrorVisitor.java | 4 ++-- .../citydoctor2/utils/visitors/GmlGeometryRebuilder.java | 4 ++-- .../utils/visitors/PrepareForCheckingVisitor.java | 4 ++-- .../utils/visitors/UnsetGeometriesVisitor.java | 4 ++-- .../citydoctor2/datastructure/AbstractBuildingTest.java | 8 ++++---- .../citydoctor2/datastructure/AbstractRoomTest.java | 4 ++-- .../citydoctor2/datastructure/AbstractTunnelTest.java | 4 ++-- .../citydoctor2/datastructure/BoundarySurfaceTest.java | 8 ++++---- .../citydoctor2/datastructure/BridgeObjectTest.java | 8 ++++---- .../stuttgart/citydoctor2/datastructure/BuildingTest.java | 4 ++-- .../citydoctor2/datastructure/CityObjectTest.java | 4 ++-- .../citydoctor2/datastructure/GenericCityObjectTest.java | 4 ++-- .../stuttgart/citydoctor2/datastructure/GeometryTest.java | 4 ++-- .../citydoctor2/datastructure/ImplicitGeometryTest.java | 4 ++-- .../citydoctor2/datastructure/ReliefObjectTest.java | 4 ++-- .../citydoctor2/datastructure/TinObjectTest.java | 4 ++-- .../datastructure/TopLevelTransportFeatureTest.java | 4 ++-- .../citydoctor2/datastructure/TrafficSpaceTest.java | 4 ++-- .../datastructure/TransportationSpaceTest.java | 4 ++-- .../stuttgart/citydoctor2/datastructure/WaterTest.java | 4 ++-- .../java/de/hft/stuttgart/citydoctor2/healer/Healer.java | 4 ++-- .../stuttgart/citydoctor2/healing/HealMissingSolid.java | 4 ++-- .../citydoctor2/healer/genetic/NonPlanarGenetic.java | 4 ++-- 31 files changed, 66 insertions(+), 73 deletions(-) rename CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/{AbstractVisitor.java => CheckableUtilsVisitor.java} (94%) diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableUtilsVisitor.java similarity index 94% rename from CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractVisitor.java rename to CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableUtilsVisitor.java index 4f7840b2..5bb111d3 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/AbstractVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableUtilsVisitor.java @@ -37,11 +37,6 @@ import de.hft.stuttgart.citydoctor2.datastructure.TinObject; import de.hft.stuttgart.citydoctor2.datastructure.TransportationObject; import de.hft.stuttgart.citydoctor2.datastructure.Vegetation; import de.hft.stuttgart.citydoctor2.datastructure.WaterObject; -import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; - -import java.util.Collections; -import java.util.Map; -import java.util.Set; /** * @@ -52,7 +47,7 @@ import java.util.Set; * @author Matthias Betz * */ -public abstract non-sealed class AbstractVisitor implements CheckableVisitor { +public abstract non-sealed class CheckableUtilsVisitor implements CheckableVisitor { //Util Visitors have no dependencies public boolean canExecute(Checkable c) { diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableVisitor.java index 17651c34..2ef630fa 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableVisitor.java @@ -20,7 +20,7 @@ import de.hft.stuttgart.citydoctor2.datastructure.TransportationObject; import de.hft.stuttgart.citydoctor2.datastructure.Vegetation; import de.hft.stuttgart.citydoctor2.datastructure.WaterObject; -public sealed interface CheckableVisitor permits Check, AbstractVisitor { +public sealed interface CheckableVisitor permits Check, CheckableUtilsVisitor { boolean isValidator(); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java index bbfa5551..41b2b003 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/datastructure/CityDoctorModel.java @@ -18,10 +18,8 @@ */ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; -import de.hft.stuttgart.citydoctor2.check.Check; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; -import de.hft.stuttgart.citydoctor2.check.CheckableVisitor; import de.hft.stuttgart.citydoctor2.exceptions.CityDoctorWriteException; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import de.hft.stuttgart.citydoctor2.writer.CityGMLWriterUtils; @@ -148,7 +146,7 @@ public class CityDoctorModel { folder.mkdirs(); createFeatureStream().forEach(co -> { Map> polygonMap = new EnumMap<>(Lod.class); - CheckableVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { @Override public void check(Geometry geom) { diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CheckableErrorCollector.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CheckableErrorCollector.java index b9125972..1f6c05c3 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CheckableErrorCollector.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CheckableErrorCollector.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.Checkable; @@ -9,7 +9,7 @@ import java.util.List; /** * This Visitor collects all CheckErrors in the datastructure of a checkable. */ -public class CheckableErrorCollector extends AbstractVisitor { +public class CheckableErrorCollector extends CheckableUtilsVisitor { List errors; diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CityObjectCollector.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CityObjectCollector.java index 18cf4d14..a504462f 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CityObjectCollector.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/CityObjectCollector.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.datastructure.CityObject; import java.util.HashSet; @@ -9,7 +9,7 @@ import java.util.Set; /** * This Visitor collects all sub-CityObjects that are in the datastructure of a CityObject (including itself) in a Set. */ -public class CityObjectCollector extends AbstractVisitor { +public class CityObjectCollector extends CheckableUtilsVisitor { private final Set objects = new HashSet<>(); diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearMetaInformationVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearMetaInformationVisitor.java index 06d45396..42449d74 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearMetaInformationVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearMetaInformationVisitor.java @@ -1,12 +1,12 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.datastructure.Geometry; /** * This Visitor removes the metadata created by the {@link PrepareForCheckingVisitor} for the low-memory consumption mode. */ -public class ClearMetaInformationVisitor extends AbstractVisitor { +public class ClearMetaInformationVisitor extends CheckableUtilsVisitor { @Override public void check(Geometry geometry) { diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearVisitorResultsVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearVisitorResultsVisitor.java index 2fd476bd..15436a7e 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearVisitorResultsVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ClearVisitorResultsVisitor.java @@ -1,12 +1,12 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.Checkable; /** * This Visitor removes the check results from a CityObject and the objects in its datastructure. */ -public class ClearVisitorResultsVisitor extends AbstractVisitor { +public class ClearVisitorResultsVisitor extends CheckableUtilsVisitor { @Override public void check(Checkable checkable) { diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsAnyErrorVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsAnyErrorVisitor.java index ba50579a..5dd9cf01 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsAnyErrorVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsAnyErrorVisitor.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.Checkable; import de.hft.stuttgart.citydoctor2.utils.CheckErrorFound; import de.hft.stuttgart.citydoctor2.utils.ThrowUtils; @@ -11,7 +11,7 @@ import de.hft.stuttgart.citydoctor2.utils.ThrowUtils; * This visitor's check method terminates early by throwing an unchecked {@link CheckErrorFound}, * use {@link #checkObject(Checkable) ContainsAnyErrorVisitor.checkObject(Checkable)} to handle the Throwable. */ -public class ContainsAnyErrorVisitor extends AbstractVisitor { +public class ContainsAnyErrorVisitor extends CheckableUtilsVisitor { /** * Checks if a Checkable, or any Object in its datastructure, contains any error. diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsErrorVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsErrorVisitor.java index 8a5237a1..e4e4ee7f 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsErrorVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/ContainsErrorVisitor.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.Checkable; import de.hft.stuttgart.citydoctor2.utils.CheckErrorFound; @@ -12,7 +12,7 @@ import de.hft.stuttgart.citydoctor2.utils.ThrowUtils; * This visitor's check method terminates early by throwing an unchecked {@link CheckErrorFound}, * use {@link #checkObject(Checkable, CheckId) ContainsAnyErrorVisitor.checkObject(Checkable, CheckId)} to handle the Throwable. */ -public class ContainsErrorVisitor extends AbstractVisitor { +public class ContainsErrorVisitor extends CheckableUtilsVisitor { private CheckId checkId; diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/GmlGeometryRebuilder.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/GmlGeometryRebuilder.java index f4f6583f..fb199eac 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/GmlGeometryRebuilder.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/GmlGeometryRebuilder.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.datastructure.CityObject; import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration; import org.citygml4j.core.util.geometry.GeometryFactory; @@ -11,7 +11,7 @@ import java.util.Objects; * This Visitor recreates the Geometries of the original CityGml object from the associated Geometries in CityDoctor's * internal model. */ -public class GmlGeometryRebuilder extends AbstractVisitor { +public class GmlGeometryRebuilder extends CheckableUtilsVisitor { private final GeometryFactory factory; private final ParserConfiguration config; diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/PrepareForCheckingVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/PrepareForCheckingVisitor.java index 849a1db6..8cc4d2e4 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/PrepareForCheckingVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/PrepareForCheckingVisitor.java @@ -1,12 +1,12 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.datastructure.Geometry; /** * This Visitor prepares the {@link Geometry Geometries} in a Checkable for low-memory consumption mode. */ -public class PrepareForCheckingVisitor extends AbstractVisitor { +public class PrepareForCheckingVisitor extends CheckableUtilsVisitor { @Override public void check(Geometry geom) { diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/UnsetGeometriesVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/UnsetGeometriesVisitor.java index 2150678a..4c65708a 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/UnsetGeometriesVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/utils/visitors/UnsetGeometriesVisitor.java @@ -1,13 +1,13 @@ package de.hft.stuttgart.citydoctor2.utils.visitors; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.datastructure.CityObject; /** * This Visitor removes the GmlGeometries from the linked original GmlObjects in a CityObject's datastructure to reduce * memory bloat. */ -public class UnsetGeometriesVisitor extends AbstractVisitor { +public class UnsetGeometriesVisitor extends CheckableUtilsVisitor { @Override diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingTest.java index 1ed3ff10..d5e23ce6 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractBuildingTest.java @@ -40,7 +40,7 @@ import org.mockito.Mockito; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; import org.xmlobjects.gml.model.geometry.primitives.SolidProperty; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -59,7 +59,7 @@ public class AbstractBuildingTest { AtomicInteger abCounter = new AtomicInteger(0); AtomicInteger bsCounter = new AtomicInteger(0); AtomicInteger biCounter = new AtomicInteger(0); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { @Override public void check(AbstractBuilding ab) { @@ -76,7 +76,7 @@ public class AbstractBuildingTest { assertEquals(1, bsCounter.intValue()); assertEquals(0, biCounter.intValue()); - AbstractVisitor c2 = new AbstractVisitor() { + CheckableUtilsVisitor c2 = new CheckableUtilsVisitor() { @Override public void check(Installation bi) { @@ -106,7 +106,7 @@ public class AbstractBuildingTest { ab.addBoundarySurface(mockBSurface); ab.addGeometry(mockGeometry); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; ab.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoomTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoomTest.java index f512b264..dcab6ed3 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoomTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractRoomTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -50,7 +50,7 @@ public class AbstractRoomTest { abRoom.addBoundarySurface(mockBoundarySurface); abRoom.addGeometry(geometry); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; abRoom.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnelTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnelTest.java index 2ff3bb94..4deedb36 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnelTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/AbstractTunnelTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -52,7 +52,7 @@ public class AbstractTunnelTest { at.addBoundarySurface(mockBoundarySurface); at.addGeometry(mockGeometry); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; at.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurfaceTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurfaceTest.java index 3e9da364..b414511d 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurfaceTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BoundarySurfaceTest.java @@ -41,7 +41,7 @@ import org.junit.Test; import org.mockito.Mockito; import org.xmlobjects.gml.model.geometry.aggregates.MultiSurfaceProperty; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -58,7 +58,7 @@ public class BoundarySurfaceTest { Opening oMock = Mockito.mock(Opening.class); bs.addOpening(oMock); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; bs.accept(c); @@ -71,7 +71,7 @@ public class BoundarySurfaceTest { Opening oMock = Mockito.mock(Opening.class); bs.addOpening(oMock); AtomicInteger bsCounter = new AtomicInteger(0); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { @Override public void check(BoundarySurface bs) { @@ -89,7 +89,7 @@ public class BoundarySurfaceTest { Opening oMock = Mockito.mock(Opening.class); bs.addOpening(oMock); AtomicInteger bsCounter = new AtomicInteger(0); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { @Override public void check(BridgeObject bo) { diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObjectTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObjectTest.java index a6ca3c82..57d27a17 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObjectTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BridgeObjectTest.java @@ -39,7 +39,7 @@ import org.citygml4j.core.util.geometry.GeometryFactory; import org.citygml4j.core.visitor.ObjectVisitor; import org.junit.Test; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -58,7 +58,7 @@ public class BridgeObjectTest { bo.addBoundarySurface(new BoundarySurface(null)); AtomicInteger boCounter = new AtomicInteger(0); AtomicInteger bsCounter = new AtomicInteger(0); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { @Override public void check(BridgeObject bo) { @@ -75,7 +75,7 @@ public class BridgeObjectTest { assertEquals(1, bsCounter.intValue()); AtomicInteger boCounter2 = new AtomicInteger(0); - c = new AbstractVisitor() { + c = new CheckableUtilsVisitor() { }; bo.accept(c); assertEquals(0, boCounter2.intValue()); @@ -101,7 +101,7 @@ public class BridgeObjectTest { bo.addBoundarySurface(bsMock); bo.addGeometry(geomMock); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; bo.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingTest.java index 92de7c89..7a499874 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/BuildingTest.java @@ -26,7 +26,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import org.citygml4j.core.model.construction.RoofSurface; import org.junit.Test; import org.mockito.Mockito; @@ -151,7 +151,7 @@ public class BuildingTest { bp.addStorey(mockStorey); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; b.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityObjectTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityObjectTest.java index b833060b..b1ec552f 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityObjectTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/CityObjectTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -31,7 +31,7 @@ public class CityObjectTest { Geometry mockGeometry = mock(Geometry.class); co.addGeometry(mockGeometry); - AbstractVisitor check = new AbstractVisitor() { + CheckableUtilsVisitor check = new CheckableUtilsVisitor() { }; co.accept(check); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObjectTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObjectTest.java index 313d8810..bca67f1c 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObjectTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GenericCityObjectTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -30,7 +30,7 @@ public class GenericCityObjectTest { gco.addBoundarySurface(mockSurface); gco.addGeometry(mockGeometry); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; gco.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GeometryTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GeometryTest.java index 7d96f09e..fadaa5cb 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GeometryTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/GeometryTest.java @@ -32,7 +32,7 @@ import static org.mockito.Mockito.when; import java.util.ArrayList; import java.util.List; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.utils.visitors.ClearVisitorResultsVisitor; import org.citygml4j.core.model.construction.AbstractConstructionSurface; import org.citygml4j.core.model.construction.WallSurface; @@ -63,7 +63,7 @@ public class GeometryTest { geom.addPolygon(mockPolygon); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; geom.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryTest.java index f2b39f9e..42d0f073 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ImplicitGeometryTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -150,7 +150,7 @@ public class ImplicitGeometryTest { AtomicInteger loCounter = new AtomicInteger(0); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { @Override public void check(Polygon lo) { loCounter.incrementAndGet(); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObjectTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObjectTest.java index 44ca0393..80656460 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObjectTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/ReliefObjectTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import org.citygml4j.core.model.relief.ReliefFeature; import org.junit.Test; @@ -16,7 +16,7 @@ public class ReliefObjectTest { TinObject mockTin = mock(TinObject.class); relief.addComponent(mockTin); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; relief.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TinObjectTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TinObjectTest.java index 56541bf4..a93e87b9 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TinObjectTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TinObjectTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -32,7 +32,7 @@ public class TinObjectTest { tin.addGeometry(mockGeometry); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; tin.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TopLevelTransportFeatureTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TopLevelTransportFeatureTest.java index 859c4f10..f5bd5b8e 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TopLevelTransportFeatureTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TopLevelTransportFeatureTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -54,7 +54,7 @@ public class TopLevelTransportFeatureTest { top.addSection(mockSection); top.addIntersection(mockIntersection); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; top.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficSpaceTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficSpaceTest.java index 4967e60a..42759031 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficSpaceTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TrafficSpaceTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -37,7 +37,7 @@ public class TrafficSpaceTest { TrafficAreaObject areaMock = mock(TrafficAreaObject.class); tso.addTrafficArea(areaMock); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; tso.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpaceTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpaceTest.java index 0b77c6e3..827f9896 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpaceTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/TransportationSpaceTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -32,7 +32,7 @@ public class TransportationSpaceTest { space.addTrafficSpace(mockSpace); space.addAuxTrafficSpace(auxMockSpace); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; space.accept(c); diff --git a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/WaterTest.java b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/WaterTest.java index 217d75f2..3dd2077d 100644 --- a/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/WaterTest.java +++ b/CityDoctorParent/CityDoctorModel/src/test/java/de/hft/stuttgart/citydoctor2/datastructure/WaterTest.java @@ -1,6 +1,6 @@ package de.hft.stuttgart.citydoctor2.datastructure; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.CheckId; import de.hft.stuttgart.citydoctor2.check.CheckResult; @@ -33,7 +33,7 @@ public class WaterTest { water.addBoundarySurface(bsMock); water.addBoundarySurface(bsMock2); - AbstractVisitor c = new AbstractVisitor() { + CheckableUtilsVisitor c = new CheckableUtilsVisitor() { }; water.accept(c); diff --git a/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healer/Healer.java b/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healer/Healer.java index 5342f752..98a7c883 100644 --- a/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healer/Healer.java +++ b/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healer/Healer.java @@ -26,7 +26,7 @@ import org.citygml4j.xml.writer.CityGMLWriteException; import org.citygml4j.xml.writer.CityGMLWriter; import de.hft.stuttgart.citydoctor2.CityDoctorValidation; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.Checker; import de.hft.stuttgart.citydoctor2.check.HealingMethod; @@ -353,7 +353,7 @@ public class Healer { private void filterOutDuplicateVertices(CityObject co) { Map map = new HashMap<>(); - co.accept(new AbstractVisitor() { + co.accept(new CheckableUtilsVisitor() { @Override public void check(LinearRing ring) { for (int i = 0; i < ring.getVertices().size(); i++) { diff --git a/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healing/HealMissingSolid.java b/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healing/HealMissingSolid.java index b02cb681..090e7f73 100644 --- a/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healing/HealMissingSolid.java +++ b/CityDoctorParent/Extensions/CityDoctorHealer/src/main/java/de/hft/stuttgart/citydoctor2/healing/HealMissingSolid.java @@ -24,7 +24,7 @@ import java.util.List; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.HealingID; import de.hft.stuttgart.citydoctor2.check.HealingMethod; import de.hft.stuttgart.citydoctor2.check.ModificationListener; @@ -103,7 +103,7 @@ public class HealMissingSolid implements HealingMethod { private List collectPolygons(CityObject co) { List polygons = new ArrayList<>(); - AbstractVisitor polygonCheck = new AbstractVisitor() { + CheckableUtilsVisitor polygonCheck = new CheckableUtilsVisitor() { @Override public void check(Polygon p) { if (!p.isLink()) { diff --git a/CityDoctorParent/Extensions/CityDoctorHealerGenetic/src/test/java/de/hft/stuttgart/citydoctor2/healer/genetic/NonPlanarGenetic.java b/CityDoctorParent/Extensions/CityDoctorHealerGenetic/src/test/java/de/hft/stuttgart/citydoctor2/healer/genetic/NonPlanarGenetic.java index f5d4b880..f4711cc3 100644 --- a/CityDoctorParent/Extensions/CityDoctorHealerGenetic/src/test/java/de/hft/stuttgart/citydoctor2/healer/genetic/NonPlanarGenetic.java +++ b/CityDoctorParent/Extensions/CityDoctorHealerGenetic/src/test/java/de/hft/stuttgart/citydoctor2/healer/genetic/NonPlanarGenetic.java @@ -37,7 +37,7 @@ import java.util.Random; import java.util.Set; import Jama.EigenvalueDecomposition; -import de.hft.stuttgart.citydoctor2.check.AbstractVisitor; +import de.hft.stuttgart.citydoctor2.check.CheckableUtilsVisitor; import de.hft.stuttgart.citydoctor2.check.CheckError; import de.hft.stuttgart.citydoctor2.check.Checker; import de.hft.stuttgart.citydoctor2.check.ValidationConfiguration; @@ -446,7 +446,7 @@ public class NonPlanarGenetic { private Polygon findPolygonInFeature(CityObject copy, Polygon polygon) { Polygon[] result = new Polygon[1]; - copy.accept(new AbstractVisitor() { + copy.accept(new CheckableUtilsVisitor() { @Override public void check(Polygon p) { -- GitLab From bc6e18178a659103e15ea252b6c311ba4d793084 Mon Sep 17 00:00:00 2001 From: Riegel Date: Tue, 20 May 2025 09:03:43 +0200 Subject: [PATCH 4/4] Docs: Update javadoc --- .../hft/stuttgart/citydoctor2/check/Check.java | 15 +++++++-------- .../check/CheckableUtilsVisitor.java | 18 ++++++++++++------ .../citydoctor2/check/CheckableVisitor.java | 3 +++ 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java index 5b26eae3..e81369a1 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Check.java @@ -103,22 +103,21 @@ public abstract non-sealed class Check implements CheckableVisitor { * * @return true if it validates, false otherwise */ + @Override public boolean isValidator() { return true; } /** - * Checks whether the check can be executed on this checkable, meaning the - * checkable or its content can not have any error of any check dependent on - * this check.
- * If the check cannot be executed a CheckResult will be created with the + * Checks whether this Check can execute on the Checkable, meaning the Checkable contains no error from + * this Check's dependencies and is applicable to this Check.
+ * If the check cannot be executed due to not fulfilling the dependencies a CheckResult will be created with the * ResultStatus = DEPENDENCIES_NOT_MET. - * + * * @param c the checkable - * @param crc container for all check results - * @return true if the check can be executed, false if the checkable itself or - * one of its containing checkables have an error. + * @return true if the check can be executed, false otherwise */ + @Override public boolean canExecute(Checkable c) { // ignore objects where this check doesn't apply to if (!canBeApplied(c)) { diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableUtilsVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableUtilsVisitor.java index 5bb111d3..0034c8c0 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableUtilsVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableUtilsVisitor.java @@ -40,16 +40,22 @@ import de.hft.stuttgart.citydoctor2.datastructure.WaterObject; /** * - * This class serves as a Parent for non-validating checks that want to use the CheckEngine's Visitor-pattern for the - * implementation of utility functions like e.g. collecting the sub-CityObjects in a Feature. - * - * - * @author Matthias Betz + * This class serves as the base for CheckableVisitors which fulfill utility functions, like e.g. collecting all + * sub-CityObjects in the datastructure of a CityObject. + *

+ * Visitors extending from this class will not change the validated-flag of the visited Checkables. * */ public abstract non-sealed class CheckableUtilsVisitor implements CheckableVisitor { - //Util Visitors have no dependencies + /** + * This function is used for checking of dependencies in {@link Check}. Since UtilsVisitors do not have + * dependencies this function will always return true. + * + * @param c a Checkable + * @return true + */ + @Override public boolean canExecute(Checkable c) { return true; } diff --git a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableVisitor.java b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableVisitor.java index 2ef630fa..7830c5a8 100644 --- a/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableVisitor.java +++ b/CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/CheckableVisitor.java @@ -22,6 +22,9 @@ import de.hft.stuttgart.citydoctor2.datastructure.WaterObject; public sealed interface CheckableVisitor permits Check, CheckableUtilsVisitor { + /** + * Returns whether a Checkable should be flagged as validated after accepting this Visitor. + */ boolean isValidator(); boolean canExecute(Checkable c); -- GitLab