Commit d1ff5020 authored by Beuster's avatar Beuster
Browse files

Merge remote-tracking branch 'origin/dev' into dev_cpp_code_conversion

parents 06ad5a8e b50c5f13
Pipeline #11130 passed with stage
in 1 minute and 28 seconds
package de.hft.stuttgart.citydoctor2.gui.tree;
package de.hft.stuttgart.citydoctor2.gui.tree.node;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
......@@ -6,6 +6,7 @@ import java.text.DecimalFormatSymbols;
import de.hft.stuttgart.citydoctor2.datastructure.Edge;
import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
import de.hft.stuttgart.citydoctor2.gui.Renderer;
import de.hft.stuttgart.citydoctor2.gui.tree.Renderable;
public class EdgeNode extends Renderable {
......
package de.hft.stuttgart.citydoctor2.gui.tree;
package de.hft.stuttgart.citydoctor2.gui.tree.node;
import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.gui.Renderer;
import de.hft.stuttgart.citydoctor2.gui.tree.Renderable;
public class ErrorNode extends Renderable {
......
package de.hft.stuttgart.citydoctor2.gui.tree;
package de.hft.stuttgart.citydoctor2.gui.tree.node;
import de.hft.stuttgart.citydoctor2.datastructure.GenericAttribute;
import de.hft.stuttgart.citydoctor2.gui.Renderer;
import de.hft.stuttgart.citydoctor2.gui.tree.Renderable;
public class GenericAttributeNode extends Renderable {
......
package de.hft.stuttgart.citydoctor2.gui.tree;
package de.hft.stuttgart.citydoctor2.gui.tree.node;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry;
import de.hft.stuttgart.citydoctor2.datastructure.ImplicitGeometryHolder;
import de.hft.stuttgart.citydoctor2.gui.CheckStatus;
import de.hft.stuttgart.citydoctor2.gui.Renderer;
import de.hft.stuttgart.citydoctor2.gui.tree.Renderable;
public class GeometryNode extends Renderable {
......
package de.hft.stuttgart.citydoctor2.gui.tree;
package de.hft.stuttgart.citydoctor2.gui.tree.node;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import de.hft.stuttgart.citydoctor2.gui.CheckStatus;
import de.hft.stuttgart.citydoctor2.gui.Renderer;
import de.hft.stuttgart.citydoctor2.gui.tree.Renderable;
public class LinearRingNode extends Renderable {
......
package de.hft.stuttgart.citydoctor2.gui.tree;
package de.hft.stuttgart.citydoctor2.gui.tree.node;
import de.hft.stuttgart.citydoctor2.datastructure.Opening;
import de.hft.stuttgart.citydoctor2.gui.CheckStatus;
import de.hft.stuttgart.citydoctor2.gui.Renderer;
import de.hft.stuttgart.citydoctor2.gui.tree.Renderable;
public class OpeningNode extends Renderable {
......
package de.hft.stuttgart.citydoctor2.gui.tree;
package de.hft.stuttgart.citydoctor2.gui.tree.node;
import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
import de.hft.stuttgart.citydoctor2.gui.CheckStatus;
import de.hft.stuttgart.citydoctor2.gui.Renderer;
import de.hft.stuttgart.citydoctor2.gui.tree.Renderable;
public class PolygonNode extends Renderable {
......
package de.hft.stuttgart.citydoctor2.gui.tree;
package de.hft.stuttgart.citydoctor2.gui.tree.node;
import de.hft.stuttgart.citydoctor2.gui.Renderer;
import de.hft.stuttgart.citydoctor2.gui.tree.Renderable;
public class TextNode extends Renderable {
......
package de.hft.stuttgart.citydoctor2.gui.tree.node;
import de.hft.stuttgart.citydoctor2.datastructure.CityObject;
import de.hft.stuttgart.citydoctor2.gui.MainWindow;
import de.hft.stuttgart.citydoctor2.utils.Localization;
import javafx.scene.input.Clipboard;
import javafx.scene.input.ClipboardContent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import static javafx.scene.input.Clipboard.getSystemClipboard;
public class TopLevelCityObjectNode extends CityObjectNode {
private static final Logger logger = LogManager.getLogger(TopLevelCityObjectNode.class);
public TopLevelCityObjectNode(CityObject co) {
super(co);
}
@Override
public void getClipboardAction(MainWindow mainWindow) {
Clipboard clipboard = getSystemClipboard();
ClipboardContent content = new ClipboardContent();
content.putString(this.getFeature().getGmlId().toString());
if (!clipboard.setContent(content)) {
if (logger.isWarnEnabled()) {
logger.warn(Localization.getText("MainWindow.warnCopyIdFailed"));
}
}
}
@Override
public void getFeatureExportAction(MainWindow mainWindow) {
try {
mainWindow.getController().export(this.getFeature());
if (logger.isWarnEnabled()) {
logger.info(Localization.getText("CityDoctorController.exportSuccess"));
}
} catch (Exception e) {
logger.error("Export failed: Unexpected error occurred");
logger.error(e);
}
}
}
package de.hft.stuttgart.citydoctor2.gui.tree;
package de.hft.stuttgart.citydoctor2.gui.tree.node;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
import de.hft.stuttgart.citydoctor2.gui.Renderer;
import de.hft.stuttgart.citydoctor2.gui.tree.Renderable;
public class VertexNode extends Renderable {
......
package de.hft.stuttgart.citydoctor2.gui.tree;
package de.hft.stuttgart.citydoctor2.gui.tree.node;
import de.hft.stuttgart.citydoctor2.zip.CityGmlZipEntry;
import javafx.scene.paint.Color;
......
......@@ -6,7 +6,7 @@
<parent>
<groupId>de.hft.stuttgart</groupId>
<artifactId>CityDoctorParent</artifactId>
<version>3.17.0</version>
<version>3.17.2</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>CityDoctorHealer</artifactId>
......
......@@ -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.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.Checker;
import de.hft.stuttgart.citydoctor2.check.HealingMethod;
......@@ -263,7 +263,7 @@ public class Healer {
co.reCreateGeometries(factory, checker.getConfig().getParserConfiguration());
byte[] gml = writeCityGml(co.getGmlObject());
// remove them again to save memory
co.unsetGmlGeometries();
co.clearGmlGeometries();
SvrlContentHandler handler = Checker.executeSchematronValidationIfAvailable(config,
new ByteArrayInputStream(gml));
if (handler != null) {
......@@ -353,7 +353,7 @@ public class Healer {
private void filterOutDuplicateVertices(CityObject co) {
Map<Vertex, Vertex> map = new HashMap<>();
co.accept(new AbstractCheck() {
co.accept(new CheckableUtilsVisitor() {
@Override
public void check(LinearRing ring) {
for (int i = 0; i < ring.getVertices().size(); i++) {
......
......@@ -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.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<Polygon> collectPolygons(CityObject co) {
List<Polygon> polygons = new ArrayList<>();
AbstractCheck polygonCheck = new AbstractCheck() {
CheckableUtilsVisitor polygonCheck = new CheckableUtilsVisitor() {
@Override
public void check(Polygon p) {
if (!p.isLink()) {
......
......@@ -2,6 +2,8 @@ package de.hft.stuttgart.citydoctor2.healing;
import java.io.IOException;
import de.hft.stuttgart.citydoctor2.datastructure.BoundarySurface;
import de.hft.stuttgart.citydoctor2.datastructure.Building;
import org.junit.Assert;
import org.junit.Test;
......@@ -24,14 +26,14 @@ public class HealHoleOutsideErrorTest {
Checker c = new Checker(config, model);
c.runChecks();
Geometry geom = model.getBuildings().get(0).getGeometries().get(0);
Assert.assertTrue(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
Building building = model.getBuildings().get(0);
Assert.assertTrue(building.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
Healer healer = new Healer(c);
healer.healCityObject(model.getBuildings().get(0));
Assert.assertFalse(geom.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
Assert.assertFalse(building.containsError(CheckId.C_GE_P_HOLE_OUTSIDE));
}
}
......@@ -7,7 +7,7 @@
<parent>
<groupId>de.hft.stuttgart</groupId>
<artifactId>CityDoctorParent</artifactId>
<version>3.17.0</version>
<version>3.17.2</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>CityDoctorHealerGUI</artifactId>
......@@ -26,14 +26,14 @@
<groupId>de.hft.stuttgart</groupId>
<artifactId>CityDoctorAutoPro</artifactId>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
......
......@@ -4,7 +4,7 @@
<parent>
<groupId>de.hft.stuttgart</groupId>
<artifactId>CityDoctorParent</artifactId>
<version>3.17.0</version>
<version>3.17.2</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>CityDoctorHealerGenetic</artifactId>
......
......@@ -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.CheckableUtilsVisitor;
import de.hft.stuttgart.citydoctor2.check.CheckError;
import de.hft.stuttgart.citydoctor2.check.Checker;
import de.hft.stuttgart.citydoctor2.check.ValidationConfiguration;
......@@ -66,9 +64,9 @@ public class NonPlanarGenetic {
private static final int ERROR_PENALTY = 100000;
private Random r = new Random();
private Map<Integer, List<Long>> durationMap = new HashMap<>();
private Map<Integer, List<Long>> durationMap = new HashMap<>();
@Test
//@Test
public void findVerticesForNonPlanarTest() throws CityGmlParseException, InvalidGmlFileException, IOException {
ValidationConfiguration config = ValidationConfiguration.loadStandardValidationConfig();
config.setNumberOfRoundingPlacesInGlobalParameters(8);
......@@ -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 CheckableUtilsVisitor() {
@Override
public void check(Polygon p) {
......
......@@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>de.hft.stuttgart</groupId>
<artifactId>CityDoctorParent</artifactId>
<version>3.17.0</version>
<version>3.17.2</version>
<packaging>pom</packaging>
<name>CityDoctorParent</name>
<properties>
......@@ -15,8 +15,8 @@
<log4j.version>2.18.0</log4j.version>
<revision>${project.version}</revision>
<nonMavenLibsPath>${project.baseUri}../non-maven-libs</nonMavenLibsPath>
<jre-version-short>17.0.10</jre-version-short>
<jre-version>${jre-version-short}+13</jre-version>
<jre-version-short>17.0.14</jre-version-short>
<jre-version>${jre-version-short}+10</jre-version>
<jfx-version>17.0.12</jfx-version>
</properties>
<repositories>
......@@ -115,6 +115,12 @@
<artifactId>CityDoctorHealer</artifactId>
<version>${revision}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.16.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>net.sf.saxon</groupId>
<artifactId>Saxon-HE</artifactId>
......@@ -143,7 +149,7 @@
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId>
<version>2.7</version>
<version>2.10</version>
</dependency>
<dependency>
<groupId>org.jdom</groupId>
......@@ -248,22 +254,18 @@
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${jfx-version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>${jfx-version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>${jfx-version}</version>
</dependency>
<dependency>
<groupId>info.picocli</groupId>
<artifactId>picocli</artifactId>
<version>4.7.6</version>
</dependency>
</dependencies>
<modules>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment