Commit 9add63da authored by Matthias Betz's avatar Matthias Betz
Browse files

fixing various code maintenance issues

parents a1602768 6f8a8ee4
Pipeline #10970 passed with stage
in 1 minute and 11 seconds
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"> <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>de.hft.stuttgart</groupId> <groupId>de.hft.stuttgart</groupId>
...@@ -45,6 +47,18 @@ ...@@ -45,6 +47,18 @@
<groupId>org.apache.logging.log4j</groupId> <groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j18-impl</artifactId> <artifactId>log4j-slf4j18-impl</artifactId>
</dependency> </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-swing</artifactId>
</dependency>
</dependencies> </dependencies>
<profiles> <profiles>
<profile> <profile>
...@@ -68,9 +82,11 @@ ...@@ -68,9 +82,11 @@
<goal>wget</goal> <goal>wget</goal>
</goals> </goals>
<configuration> <configuration>
<uri>https://download.bell-sw.com/java/${jre-version}/bellsoft-jre${jre-version}-windows-amd64-full.zip</uri> <uri>
https://download.bell-sw.com/java/${jre-version}/bellsoft-jre${jre-version}-windows-amd64-full.zip</uri>
<unpack>false</unpack> <unpack>false</unpack>
<outputDirectory>${project.build.directory}/jre/jre-win</outputDirectory> <outputDirectory>
${project.build.directory}/jre/jre-win</outputDirectory>
<outputFileName>win-runtime.zip</outputFileName> <outputFileName>win-runtime.zip</outputFileName>
</configuration> </configuration>
</execution> </execution>
...@@ -81,9 +97,11 @@ ...@@ -81,9 +97,11 @@
<goal>wget</goal> <goal>wget</goal>
</goals> </goals>
<configuration> <configuration>
<uri>https://download.bell-sw.com/java/${jre-version}/bellsoft-jre${jre-version}-linux-amd64-full.tar.gz</uri> <uri>
https://download.bell-sw.com/java/${jre-version}/bellsoft-jre${jre-version}-linux-amd64-full.tar.gz</uri>
<unpack>false</unpack> <unpack>false</unpack>
<outputDirectory>${project.build.directory}/jre/jre-lin</outputDirectory> <outputDirectory>
${project.build.directory}/jre/jre-lin</outputDirectory>
<outputFileName>lin-runtime.tar.gz</outputFileName> <outputFileName>lin-runtime.tar.gz</outputFileName>
</configuration> </configuration>
</execution> </execution>
...@@ -94,9 +112,11 @@ ...@@ -94,9 +112,11 @@
<goal>wget</goal> <goal>wget</goal>
</goals> </goals>
<configuration> <configuration>
<uri>https://download.bell-sw.com/java/${jre-version}/bellsoft-jre${jre-version}-macos-amd64-full.zip</uri> <uri>
https://download.bell-sw.com/java/${jre-version}/bellsoft-jre${jre-version}-macos-amd64-full.zip</uri>
<unpack>false</unpack> <unpack>false</unpack>
<outputDirectory>${project.build.directory}/jre/jre-mac</outputDirectory> <outputDirectory>
${project.build.directory}/jre/jre-mac</outputDirectory>
<outputFileName>mac-runtime.zip</outputFileName> <outputFileName>mac-runtime.zip</outputFileName>
</configuration> </configuration>
</execution> </execution>
...@@ -112,9 +132,16 @@ ...@@ -112,9 +132,16 @@
<phase>install</phase> <phase>install</phase>
<configuration> <configuration>
<target name="unpack"> <target name="unpack">
<untar src="${project.build.directory}/jre/jre-lin/lin-runtime.tar.gz" dest="${project.build.directory}/jre/jre-lin/runtime" compression="gzip"></untar> <untar
<unzip src="${project.build.directory}/jre/jre-win/win-runtime.zip" dest="${project.build.directory}/jre/jre-win/runtime"></unzip> src="${project.build.directory}/jre/jre-lin/lin-runtime.tar.gz"
<unzip src="${project.build.directory}/jre/jre-mac/mac-runtime.zip" dest="${project.build.directory}/jre/jre-mac/runtime"></unzip> dest="${project.build.directory}/jre/jre-lin/runtime"
compression="gzip"></untar>
<unzip
src="${project.build.directory}/jre/jre-win/win-runtime.zip"
dest="${project.build.directory}/jre/jre-win/runtime"></unzip>
<unzip
src="${project.build.directory}/jre/jre-mac/mac-runtime.zip"
dest="${project.build.directory}/jre/jre-mac/runtime"></unzip>
</target> </target>
</configuration> </configuration>
<goals> <goals>
...@@ -136,9 +163,11 @@ ...@@ -136,9 +163,11 @@
<goal>single</goal> <goal>single</goal>
</goals> </goals>
<configuration> <configuration>
<finalName>${project.artifactId}-${project.version}-no-runtime</finalName> <finalName>
${project.artifactId}-${project.version}-no-runtime</finalName>
<descriptors> <descriptors>
<descriptor>${project.basedir}/src/assembly/no_runtime/assembly.xml</descriptor> <descriptor>
${project.basedir}/src/assembly/no_runtime/assembly.xml</descriptor>
</descriptors> </descriptors>
</configuration> </configuration>
</execution> </execution>
...@@ -149,9 +178,11 @@ ...@@ -149,9 +178,11 @@
<goal>single</goal> <goal>single</goal>
</goals> </goals>
<configuration> <configuration>
<finalName>${project.artifactId}-${project.version}-win</finalName> <finalName>
${project.artifactId}-${project.version}-win</finalName>
<descriptors> <descriptors>
<descriptor>${project.basedir}/src/assembly/win/assembly.xml</descriptor> <descriptor>
${project.basedir}/src/assembly/win/assembly.xml</descriptor>
</descriptors> </descriptors>
</configuration> </configuration>
</execution> </execution>
...@@ -162,9 +193,11 @@ ...@@ -162,9 +193,11 @@
<goal>single</goal> <goal>single</goal>
</goals> </goals>
<configuration> <configuration>
<finalName>${project.artifactId}-${project.version}-lin</finalName> <finalName>
${project.artifactId}-${project.version}-lin</finalName>
<descriptors> <descriptors>
<descriptor>${project.basedir}/src/assembly/lin/assembly.xml</descriptor> <descriptor>
${project.basedir}/src/assembly/lin/assembly.xml</descriptor>
</descriptors> </descriptors>
</configuration> </configuration>
</execution> </execution>
...@@ -175,9 +208,11 @@ ...@@ -175,9 +208,11 @@
<goal>single</goal> <goal>single</goal>
</goals> </goals>
<configuration> <configuration>
<finalName>${project.artifactId}-${project.version}-mac</finalName> <finalName>
${project.artifactId}-${project.version}-mac</finalName>
<descriptors> <descriptors>
<descriptor>${project.basedir}/src/assembly/mac/assembly.xml</descriptor> <descriptor>
${project.basedir}/src/assembly/mac/assembly.xml</descriptor>
</descriptors> </descriptors>
</configuration> </configuration>
</execution> </execution>
......
...@@ -43,6 +43,7 @@ import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError; ...@@ -43,6 +43,7 @@ import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError;
import de.hft.stuttgart.citydoctor2.datastructure.Edge; import de.hft.stuttgart.citydoctor2.datastructure.Edge;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing; import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import de.hft.stuttgart.citydoctor2.datastructure.Vertex; import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection;
import javafx.scene.paint.Color; import javafx.scene.paint.Color;
public class ListErrorVisitor implements ErrorVisitor { public class ListErrorVisitor implements ErrorVisitor {
...@@ -171,7 +172,11 @@ public class ListErrorVisitor implements ErrorVisitor { ...@@ -171,7 +172,11 @@ public class ListErrorVisitor implements ErrorVisitor {
@Override @Override
public void visit(SolidSelfIntError err) { public void visit(SolidSelfIntError err) {
// nothing to display for now controller.clearHighlights();
for (PolygonIntersection intersection : err.getIntersections()) {
controller.addHighlight(intersection.getP1(), geom);
controller.addHighlight(intersection.getP2(), geom);
}
} }
@Override @Override
...@@ -208,22 +213,22 @@ public class ListErrorVisitor implements ErrorVisitor { ...@@ -208,22 +213,22 @@ public class ListErrorVisitor implements ErrorVisitor {
@Override @Override
public void visit(NotCeilingError err) { public void visit(NotCeilingError err) {
// nothing to display controller.highlight(err.getPolygon(), geom);
} }
@Override @Override
public void visit(NotFloorError err) { public void visit(NotFloorError err) {
// nothing to display controller.highlight(err.getPolygon(), geom);
} }
@Override @Override
public void visit(NotWallError err) { public void visit(NotWallError err) {
// nothing to display controller.highlight(err.getPolygon(), geom);
} }
@Override @Override
public void visit(NotGroundError err) { public void visit(NotGroundError err) {
// nothing to display controller.highlight(err.getPolygon(), geom);
} }
@Override @Override
......
...@@ -39,16 +39,23 @@ import de.hft.stuttgart.citydoctor2.check.error.SurfaceUnfragmentedError; ...@@ -39,16 +39,23 @@ import de.hft.stuttgart.citydoctor2.check.error.SurfaceUnfragmentedError;
import de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError; import de.hft.stuttgart.citydoctor2.check.error.DegeneratedRingError;
import de.hft.stuttgart.citydoctor2.check.error.TooFewPolygonsError; import de.hft.stuttgart.citydoctor2.check.error.TooFewPolygonsError;
import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError; import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError;
import de.hft.stuttgart.citydoctor2.datastructure.ConcretePolygon;
import de.hft.stuttgart.citydoctor2.datastructure.Edge; import de.hft.stuttgart.citydoctor2.datastructure.Edge;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing.LinearRingType;
import de.hft.stuttgart.citydoctor2.datastructure.Polygon; import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
import de.hft.stuttgart.citydoctor2.datastructure.Vertex; import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
import de.hft.stuttgart.citydoctor2.gui.CheckStatus; import de.hft.stuttgart.citydoctor2.gui.CheckStatus;
import de.hft.stuttgart.citydoctor2.math.Triangle3d;
import de.hft.stuttgart.citydoctor2.utils.Localization;
import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection;
import de.hft.stuttgart.citydoctor2.utils.PolygonIntersection.IntersectionType;
import javafx.scene.control.TreeItem; import javafx.scene.control.TreeItem;
public class ErrorItemVisitor implements ErrorVisitor { public class ErrorItemVisitor implements ErrorVisitor {
private static final String NAME_OF_ATTRIBUTE = "Name of Attribute: "; private static String nameOfAttribute = Localization.getText("ErrorItemVisitor.nameOfAttribute") + ": ";
private static final String CHILD_ID = "ChildId: "; private static String childId = Localization.getText("ErrorItemVisitor.childId") + ": ";
private final TreeItem<Renderable> root; private final TreeItem<Renderable> root;
public ErrorItemVisitor(TreeItem<Renderable> root) { public ErrorItemVisitor(TreeItem<Renderable> root) {
...@@ -74,7 +81,7 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -74,7 +81,7 @@ public class ErrorItemVisitor implements ErrorVisitor {
@Override @Override
public void visit(MultipleConnectedComponentsError err) { public void visit(MultipleConnectedComponentsError err) {
for (int i = 0; i < err.getComponents().size(); i++) { for (int i = 0; i < err.getComponents().size(); i++) {
TextNode textNode = new TextNode("Component " + i); TextNode textNode = new TextNode(Localization.getText("ErrorItemVisitor.component") + " " + i);
TreeItem<Renderable> textItem = new TreeItem<>(textNode); TreeItem<Renderable> textItem = new TreeItem<>(textNode);
root.getChildren().add(textItem); root.getChildren().add(textItem);
List<Polygon> component = err.getComponents().get(i); List<Polygon> component = err.getComponents().get(i);
...@@ -99,7 +106,7 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -99,7 +106,7 @@ public class ErrorItemVisitor implements ErrorVisitor {
TreeItem<Renderable> vertexItem = new TreeItem<>(vertexNode); TreeItem<Renderable> vertexItem = new TreeItem<>(vertexNode);
root.getChildren().add(vertexItem); root.getChildren().add(vertexItem);
for (int i = 0; i < err.getComponents().size(); i++) { for (int i = 0; i < err.getComponents().size(); i++) {
TextNode textNode = new TextNode("Component " + i); TextNode textNode = new TextNode(Localization.getText("ErrorItemVisitor.component") + " " + i);
TreeItem<Renderable> textItem = new TreeItem<>(textNode); TreeItem<Renderable> textItem = new TreeItem<>(textNode);
root.getChildren().add(textItem); root.getChildren().add(textItem);
List<Polygon> component = err.getComponents().get(i); List<Polygon> component = err.getComponents().get(i);
...@@ -144,7 +151,7 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -144,7 +151,7 @@ public class ErrorItemVisitor implements ErrorVisitor {
@Override @Override
public void visit(UnknownCheckError err) { public void visit(UnknownCheckError err) {
// not displayed // not displayed
} }
@Override @Override
...@@ -159,11 +166,11 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -159,11 +166,11 @@ public class ErrorItemVisitor implements ErrorVisitor {
LinearRingNode ringNode = new LinearRingNode(err.getRing(), CheckStatus.NOT_CHECKED); LinearRingNode ringNode = new LinearRingNode(err.getRing(), CheckStatus.NOT_CHECKED);
TreeItem<Renderable> ringItem = new TreeItem<>(ringNode); TreeItem<Renderable> ringItem = new TreeItem<>(ringNode);
root.getChildren().add(ringItem); root.getChildren().add(ringItem);
VertexNode vertexNode = new VertexNode(err.getVertex1()); VertexNode vertexNode = new VertexNode(err.getVertex1());
TreeItem<Renderable> vertexItem = new TreeItem<>(vertexNode); TreeItem<Renderable> vertexItem = new TreeItem<>(vertexNode);
root.getChildren().add(vertexItem); root.getChildren().add(vertexItem);
vertexNode = new VertexNode(err.getVertex2()); vertexNode = new VertexNode(err.getVertex2());
vertexItem = new TreeItem<>(vertexNode); vertexItem = new TreeItem<>(vertexNode);
root.getChildren().add(vertexItem); root.getChildren().add(vertexItem);
...@@ -193,7 +200,7 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -193,7 +200,7 @@ public class ErrorItemVisitor implements ErrorVisitor {
LinearRingNode ringNode = new LinearRingNode(err.getRing(), CheckStatus.NOT_CHECKED); LinearRingNode ringNode = new LinearRingNode(err.getRing(), CheckStatus.NOT_CHECKED);
TreeItem<Renderable> ringItem = new TreeItem<>(ringNode); TreeItem<Renderable> ringItem = new TreeItem<>(ringNode);
root.getChildren().add(ringItem); root.getChildren().add(ringItem);
if (err.getRing().getGmlId().isGenerated()) { if (err.getRing().getGmlId().isGenerated()) {
PolygonNode polyNode = new PolygonNode(err.getRing().getParent(), CheckStatus.NOT_CHECKED); PolygonNode polyNode = new PolygonNode(err.getRing().getParent(), CheckStatus.NOT_CHECKED);
TreeItem<Renderable> polyItem = new TreeItem<>(polyNode); TreeItem<Renderable> polyItem = new TreeItem<>(polyNode);
...@@ -206,8 +213,9 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -206,8 +213,9 @@ public class ErrorItemVisitor implements ErrorVisitor {
PolygonNode polyNode = new PolygonNode(err.getPolygon(), CheckStatus.NOT_CHECKED); PolygonNode polyNode = new PolygonNode(err.getPolygon(), CheckStatus.NOT_CHECKED);
TreeItem<Renderable> polyItem = new TreeItem<>(polyNode); TreeItem<Renderable> polyItem = new TreeItem<>(polyNode);
root.getChildren().add(polyItem); root.getChildren().add(polyItem);
TextNode textNode = new TextNode("Deviation: " + err.getDeviation()); TextNode textNode = new TextNode(
Localization.getText("ErrorItemVisitor.deviation") + ": " + err.getDeviation());
TreeItem<Renderable> textItem = new TreeItem<>(textNode); TreeItem<Renderable> textItem = new TreeItem<>(textNode);
root.getChildren().add(textItem); root.getChildren().add(textItem);
} }
...@@ -217,15 +225,16 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -217,15 +225,16 @@ public class ErrorItemVisitor implements ErrorVisitor {
PolygonNode polyNode = new PolygonNode(err.getPolygon(), CheckStatus.NOT_CHECKED); PolygonNode polyNode = new PolygonNode(err.getPolygon(), CheckStatus.NOT_CHECKED);
TreeItem<Renderable> polyItem = new TreeItem<>(polyNode); TreeItem<Renderable> polyItem = new TreeItem<>(polyNode);
root.getChildren().add(polyItem); root.getChildren().add(polyItem);
VertexNode vertexNode = new VertexNode(err.getVertex()); VertexNode vertexNode = new VertexNode(err.getVertex());
TreeItem<Renderable> vertexItem = new TreeItem<>(vertexNode); TreeItem<Renderable> vertexItem = new TreeItem<>(vertexNode);
root.getChildren().add(vertexItem); root.getChildren().add(vertexItem);
TextNode textNode = new TextNode("Distance: " + err.getDistance() + "m"); TextNode textNode = new TextNode(
Localization.getText("ErrorItemVisitor.distance") + ": " + err.getDistance() + "m");
TreeItem<Renderable> textItem = new TreeItem<>(textNode); TreeItem<Renderable> textItem = new TreeItem<>(textNode);
root.getChildren().add(textItem); root.getChildren().add(textItem);
} }
@Override @Override
...@@ -237,18 +246,54 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -237,18 +246,54 @@ public class ErrorItemVisitor implements ErrorVisitor {
@Override @Override
public void visit(SolidSelfIntError err) { public void visit(SolidSelfIntError err) {
PolygonNode polyNode1 = new PolygonNode(err.getIntersections().get(0).getP1(), CheckStatus.NOT_CHECKED); List<PolygonIntersection> intersections = err.getIntersections();
TreeItem<Renderable> polyItem1 = new TreeItem<>(polyNode1); for (int i = 0; i < intersections.size(); i++) {
root.getChildren().add(polyItem1); PolygonIntersection pi = intersections.get(i);
PolygonNode polyNode2 = new PolygonNode(err.getIntersections().get(0).getP2(), CheckStatus.NOT_CHECKED); TextNode intersectionNode = new TextNode(Localization.getText("ErrorItemVisitor.intersection") + " " + i);
TreeItem<Renderable> polyItem2 = new TreeItem<>(polyNode2); TreeItem<Renderable> intersectionItem = new TreeItem<>(intersectionNode);
root.getChildren().add(polyItem2); root.getChildren().add(intersectionItem);
PolygonNode polyNode1 = new PolygonNode(pi.getP1(), CheckStatus.NOT_CHECKED);
TreeItem<Renderable> polyItem1 = new TreeItem<>(polyNode1);
intersectionItem.getChildren().add(polyItem1);
PolygonNode polyNode2 = new PolygonNode(pi.getP2(), CheckStatus.NOT_CHECKED);
TreeItem<Renderable> polyItem2 = new TreeItem<>(polyNode2);
intersectionItem.getChildren().add(polyItem2);
PolygonIntersection intersection = err.getIntersections().get(0);
if (intersection.getType() == IntersectionType.TRIANGLES) {
TextNode trianglesNode = new TextNode(Localization.getText("ErrorItemVisitor.triangles"));
TreeItem<Renderable> trianglesItem = new TreeItem<>(trianglesNode);
intersectionItem.getChildren().add(trianglesItem);
ConcretePolygon c = createPolygonForTriangle(intersection.getT1());
PolygonNode pN1 = new PolygonNode(c, CheckStatus.NOT_CHECKED);
TreeItem<Renderable> pI1 = new TreeItem<>(pN1);
trianglesItem.getChildren().add(pI1);
ConcretePolygon c2 = createPolygonForTriangle(intersection.getT2());
PolygonNode pN2 = new PolygonNode(c2, CheckStatus.NOT_CHECKED);
TreeItem<Renderable> pI2 = new TreeItem<>(pN2);
trianglesItem.getChildren().add(pI2);
}
}
}
private ConcretePolygon createPolygonForTriangle(Triangle3d t) {
ConcretePolygon c = new ConcretePolygon();
LinearRing extRing = new LinearRing(LinearRingType.EXTERIOR);
Vertex start = new Vertex(t.getP1());
extRing.getVertices().add(start);
extRing.getVertices().add(new Vertex(t.getP2()));
extRing.getVertices().add(new Vertex(t.getP3()));
extRing.getVertices().add(start);
c.setExteriorRing(extRing);
return c;
} }
@Override @Override
public void visit(TooFewPolygonsError err) { public void visit(TooFewPolygonsError err) {
// not displayed // not displayed
} }
@Override @Override
...@@ -256,11 +301,11 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -256,11 +301,11 @@ public class ErrorItemVisitor implements ErrorVisitor {
LinearRingNode ringNode = new LinearRingNode(err.getRing(), CheckStatus.NOT_CHECKED); LinearRingNode ringNode = new LinearRingNode(err.getRing(), CheckStatus.NOT_CHECKED);
TreeItem<Renderable> ringItem = new TreeItem<>(ringNode); TreeItem<Renderable> ringItem = new TreeItem<>(ringNode);
root.getChildren().add(ringItem); root.getChildren().add(ringItem);
VertexNode vertexNode = new VertexNode(err.getVertex1()); VertexNode vertexNode = new VertexNode(err.getVertex1());
TreeItem<Renderable> vertexItem = new TreeItem<>(vertexNode); TreeItem<Renderable> vertexItem = new TreeItem<>(vertexNode);
root.getChildren().add(vertexItem); root.getChildren().add(vertexItem);
vertexNode = new VertexNode(err.getVertex2()); vertexNode = new VertexNode(err.getVertex2());
vertexItem = new TreeItem<>(vertexNode); vertexItem = new TreeItem<>(vertexNode);
root.getChildren().add(vertexItem); root.getChildren().add(vertexItem);
...@@ -272,11 +317,11 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -272,11 +317,11 @@ public class ErrorItemVisitor implements ErrorVisitor {
LinearRingNode ringNode = new LinearRingNode(err.getRing(), CheckStatus.NOT_CHECKED); LinearRingNode ringNode = new LinearRingNode(err.getRing(), CheckStatus.NOT_CHECKED);
TreeItem<Renderable> ringItem = new TreeItem<>(ringNode); TreeItem<Renderable> ringItem = new TreeItem<>(ringNode);
root.getChildren().add(ringItem); root.getChildren().add(ringItem);
EdgeNode edgeNode = new EdgeNode(err.getEdge1()); EdgeNode edgeNode = new EdgeNode(err.getEdge1());
TreeItem<Renderable> edgeItem = new TreeItem<>(edgeNode); TreeItem<Renderable> edgeItem = new TreeItem<>(edgeNode);
root.getChildren().add(edgeItem); root.getChildren().add(edgeItem);
EdgeNode edge2Node = new EdgeNode(err.getEdge2()); EdgeNode edge2Node = new EdgeNode(err.getEdge2());
TreeItem<Renderable> edge2Item = new TreeItem<>(edge2Node); TreeItem<Renderable> edge2Item = new TreeItem<>(edge2Node);
root.getChildren().add(edge2Item); root.getChildren().add(edge2Item);
...@@ -288,18 +333,18 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -288,18 +333,18 @@ public class ErrorItemVisitor implements ErrorVisitor {
@Override @Override
public void visit(PointTouchesEdgeError err) { public void visit(PointTouchesEdgeError err) {
TextNode textNode = new TextNode("Point touches edge"); TextNode textNode = new TextNode(Localization.getText("ErrorItemVisitor.pointTouchesEdge"));
TreeItem<Renderable> textItem = new TreeItem<>(textNode); TreeItem<Renderable> textItem = new TreeItem<>(textNode);
root.getChildren().add(textItem); root.getChildren().add(textItem);
VertexNode vertexNode = new VertexNode(err.getVertex()); VertexNode vertexNode = new VertexNode(err.getVertex());
TreeItem<Renderable> vertexItem = new TreeItem<>(vertexNode); TreeItem<Renderable> vertexItem = new TreeItem<>(vertexNode);
root.getChildren().add(vertexItem); root.getChildren().add(vertexItem);
EdgeNode edgeNode = new EdgeNode(err.getEdge()); EdgeNode edgeNode = new EdgeNode(err.getEdge());
TreeItem<Renderable> edgeItem = new TreeItem<>(edgeNode); TreeItem<Renderable> edgeItem = new TreeItem<>(edgeNode);
root.getChildren().add(edgeItem); root.getChildren().add(edgeItem);
LinearRingNode ringNode = new LinearRingNode(err.getRing(), CheckStatus.NOT_CHECKED); LinearRingNode ringNode = new LinearRingNode(err.getRing(), CheckStatus.NOT_CHECKED);
TreeItem<Renderable> ringItem = new TreeItem<>(ringNode); TreeItem<Renderable> ringItem = new TreeItem<>(ringNode);
root.getChildren().add(ringItem); root.getChildren().add(ringItem);
...@@ -337,7 +382,7 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -337,7 +382,7 @@ public class ErrorItemVisitor implements ErrorVisitor {
public void visit(CheckError err) { public void visit(CheckError err) {
// not used // not used
} }
@Override @Override
public void visit(SchematronError err) { public void visit(SchematronError err) {
TextNode textNode = new TextNode(err.getErrorIdString()); TextNode textNode = new TextNode(err.getErrorIdString());
...@@ -347,17 +392,18 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -347,17 +392,18 @@ public class ErrorItemVisitor implements ErrorVisitor {
@Override @Override
public void visit(SurfaceUnfragmentedError err) { public void visit(SurfaceUnfragmentedError err) {
TextNode textNode = new TextNode("Deviation: " + err.getAngleDeviation()); TextNode textNode = new TextNode(
Localization.getText("ErrorItemVisitor.deviation") + ": " + err.getAngleDeviation());
TreeItem<Renderable> textItem = new TreeItem<>(textNode); TreeItem<Renderable> textItem = new TreeItem<>(textNode);
root.getChildren().add(textItem); root.getChildren().add(textItem);
} }
@Override @Override
public void visit(DegeneratedRingError err) { public void visit(DegeneratedRingError err) {
TextNode textNode = new TextNode("Type: degenerated ring"); TextNode textNode = new TextNode(Localization.getText("ErrorItemVisitor.degeneratedRing"));
TreeItem<Renderable> textItem = new TreeItem<>(textNode); TreeItem<Renderable> textItem = new TreeItem<>(textNode);
root.getChildren().add(textItem); root.getChildren().add(textItem);
LinearRingNode polyNode = new LinearRingNode(err.getRing(), CheckStatus.NOT_CHECKED); LinearRingNode polyNode = new LinearRingNode(err.getRing(), CheckStatus.NOT_CHECKED);
TreeItem<Renderable> polyItem = new TreeItem<>(polyNode); TreeItem<Renderable> polyItem = new TreeItem<>(polyNode);
root.getChildren().add(polyItem); root.getChildren().add(polyItem);
...@@ -366,11 +412,11 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -366,11 +412,11 @@ public class ErrorItemVisitor implements ErrorVisitor {
@Override @Override
public void visit(AttributeMissingError err) { public void visit(AttributeMissingError err) {
if (!err.getChildId().isEmpty()) { if (!err.getChildId().isEmpty()) {
TextNode textNode = new TextNode(CHILD_ID + err.getChildId()); TextNode textNode = new TextNode(childId + err.getChildId());
TreeItem<Renderable> textItem = new TreeItem<>(textNode); TreeItem<Renderable> textItem = new TreeItem<>(textNode);
root.getChildren().add(textItem); root.getChildren().add(textItem);
} }
TextNode nameNode = new TextNode(NAME_OF_ATTRIBUTE + err.getNameOfAttribute()); TextNode nameNode = new TextNode(nameOfAttribute + err.getNameOfAttribute());
TreeItem<Renderable> nameItem = new TreeItem<>(nameNode); TreeItem<Renderable> nameItem = new TreeItem<>(nameNode);
root.getChildren().add(nameItem); root.getChildren().add(nameItem);
...@@ -379,23 +425,23 @@ public class ErrorItemVisitor implements ErrorVisitor { ...@@ -379,23 +425,23 @@ public class ErrorItemVisitor implements ErrorVisitor {
@Override @Override
public void visit(AttributeValueWrongError err) { public void visit(AttributeValueWrongError err) {
if (!err.getChildId().isEmpty()) { if (!err.getChildId().isEmpty()) {
TextNode textNode = new TextNode(CHILD_ID + err.getChildId()); TextNode textNode = new TextNode(childId + err.getChildId());
TreeItem<Renderable> textItem = new TreeItem<>(textNode); TreeItem<Renderable> textItem = new TreeItem<>(textNode);
root.getChildren().add(textItem); root.getChildren().add(textItem);
} }
TextNode nameNode = new TextNode(NAME_OF_ATTRIBUTE + err.getNameOfAttribute()); TextNode nameNode = new TextNode(nameOfAttribute + err.getNameOfAttribute());
TreeItem<Renderable> nameItem = new TreeItem<>(nameNode); TreeItem<Renderable> nameItem = new TreeItem<>(nameNode);
root.getChildren().add(nameItem); root.getChildren().add(nameItem);
} }
@Override @Override
public void visit(AttributeInvalidError err) { public void visit(AttributeInvalidError err) {
if (!err.getChildId().isEmpty()) { if (!err.getChildId().isEmpty()) {
TextNode textNode = new TextNode(CHILD_ID + err.getChildId()); TextNode textNode = new TextNode(childId + err.getChildId());
TreeItem<Renderable> textItem = new TreeItem<>(textNode); TreeItem<Renderable> textItem = new TreeItem<>(textNode);
root.getChildren().add(textItem); root.getChildren().add(textItem);
} }
TextNode nameNode = new TextNode(NAME_OF_ATTRIBUTE + err.getNameOfAttribute()); TextNode nameNode = new TextNode(nameOfAttribute + err.getNameOfAttribute());
TreeItem<Renderable> nameItem = new TreeItem<>(nameNode); TreeItem<Renderable> nameItem = new TreeItem<>(nameNode);
root.getChildren().add(nameItem); root.getChildren().add(nameItem);
} }
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"> <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>de.hft.stuttgart</groupId> <groupId>de.hft.stuttgart</groupId>
...@@ -8,7 +10,7 @@ ...@@ -8,7 +10,7 @@
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<artifactId>CityDoctorHealer</artifactId> <artifactId>CityDoctorHealer</artifactId>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>de.hft.stuttgart</groupId> <groupId>de.hft.stuttgart</groupId>
...@@ -37,9 +39,12 @@ ...@@ -37,9 +39,12 @@
<extensions>true</extensions> <extensions>true</extensions>
<configuration> <configuration>
<javahClassNames> <javahClassNames>
<javahClassName>de.hft.stuttgart.citydoctor2.connect.edge.CppFeature</javahClassName> <javahClassName>
<javahClassName>de.hft.stuttgart.citydoctor2.CppInitializer</javahClassName> de.hft.stuttgart.citydoctor2.connect.edge.CppFeature</javahClassName>
<javahClassName>de.hft.stuttgart.citydoctor2.connect.edge.CppHealResult</javahClassName> <javahClassName>
de.hft.stuttgart.citydoctor2.CppInitializer</javahClassName>
<javahClassName>
de.hft.stuttgart.citydoctor2.connect.edge.CppHealResult</javahClassName>
</javahClassNames> </javahClassNames>
</configuration> </configuration>
</plugin> </plugin>
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>de.hft.stuttgart</groupId> <groupId>de.hft.stuttgart</groupId>
...@@ -24,6 +26,14 @@ ...@@ -24,6 +26,14 @@
<groupId>de.hft.stuttgart</groupId> <groupId>de.hft.stuttgart</groupId>
<artifactId>CityDoctorAutoPro</artifactId> <artifactId>CityDoctorAutoPro</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>
<plugins> <plugins>
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"> <project xmlns="http://maven.apache.org/POM/4.0.0"
<modelVersion>4.0.0</modelVersion> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<groupId>de.hft.stuttgart</groupId> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<artifactId>CityDoctorParent</artifactId> <modelVersion>4.0.0</modelVersion>
<version>3.16.0</version> <groupId>de.hft.stuttgart</groupId>
<packaging>pom</packaging> <artifactId>CityDoctorParent</artifactId>
<name>CityDoctorParent</name> <version>3.16.0</version>
<properties> <packaging>pom</packaging>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <name>CityDoctorParent</name>
<maven.compiler.source>17</maven.compiler.source> <properties>
<maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<log4j.version>2.18.0</log4j.version> <maven.compiler.source>17</maven.compiler.source>
<revision>${project.version}</revision> <maven.compiler.target>17</maven.compiler.target>
<nonMavenLibsPath>${project.baseUri}../non-maven-libs</nonMavenLibsPath> <log4j.version>2.18.0</log4j.version>
<jre-version-short>17.0.10</jre-version-short> <revision>${project.version}</revision>
<jre-version>${jre-version-short}+13</jre-version> <nonMavenLibsPath>${project.baseUri}../non-maven-libs</nonMavenLibsPath>
<jfx-version>17.0.12</jfx-version> <jre-version-short>17.0.10</jre-version-short>
</properties> <jre-version>${jre-version-short}+13</jre-version>
<repositories> <jfx-version>17.0.12</jfx-version>
<repository> </properties>
<id>non-maven-libs</id> <repositories>
<url>${nonMavenLibsPath}</url> <repository>
</repository> <id>non-maven-libs</id>
<repository> <url>${nonMavenLibsPath}</url>
<id>sonartype</id> </repository>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url> <repository>
</repository> <id>sonartype</id>
</repositories> <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
<build> </repository>
<pluginManagement> </repositories>
<plugins> <build>
<plugin> <pluginManagement>
<groupId>org.apache.maven.plugins</groupId> <plugins>
<artifactId>maven-surefire-plugin</artifactId> <plugin>
<version>2.22.0</version> <groupId>org.apache.maven.plugins</groupId>
<configuration> <artifactId>maven-surefire-plugin</artifactId>
<testFailureIgnore>false</testFailureIgnore> <version>2.22.0</version>
<excludes> <configuration>
<exclude>**/SolidSelfIntCheckFalsePositiveBigMeshTest.java</exclude> <testFailureIgnore>false</testFailureIgnore>
</excludes> <excludes>
</configuration> <exclude>
</plugin> **/SolidSelfIntCheckFalsePositiveBigMeshTest.java</exclude>
</plugins> </excludes>
</pluginManagement> </configuration>
<plugins> </plugin>
<plugin> </plugins>
<artifactId>maven-compiler-plugin</artifactId> </pluginManagement>
<version>3.13.0</version> <plugins>
<configuration> <plugin>
<showWarnings>true</showWarnings> <artifactId>maven-compiler-plugin</artifactId>
<showDeprecation>true</showDeprecation> <version>3.13.0</version>
</configuration> <configuration>
</plugin> <showWarnings>true</showWarnings>
<plugin> <showDeprecation>true</showDeprecation>
<groupId>org.codehaus.plexus</groupId> </configuration>
<artifactId>plexus-compiler-api</artifactId> </plugin>
<version>2.15.0</version> <plugin>
</plugin> <groupId>org.codehaus.plexus</groupId>
<plugin> <artifactId>plexus-compiler-api</artifactId>
<groupId>org.codehaus.plexus</groupId> <version>2.15.0</version>
<artifactId>plexus-compiler-manager</artifactId> </plugin>
<version>2.15.0</version> <plugin>
</plugin> <groupId>org.codehaus.plexus</groupId>
<plugin> <artifactId>plexus-compiler-manager</artifactId>
<groupId>org.codehaus.plexus</groupId> <version>2.15.0</version>
<artifactId>plexus-compiler-eclipse</artifactId> </plugin>
<version>2.15.0</version> <plugin>
</plugin> <groupId>org.codehaus.plexus</groupId>
<plugin> <artifactId>plexus-compiler-eclipse</artifactId>
<groupId>org.openjfx</groupId> <version>2.15.0</version>
<artifactId>javafx-maven-plugin</artifactId> </plugin>
<version>0.0.8</version> <plugin>
</plugin> <groupId>org.openjfx</groupId>
</plugins> <artifactId>javafx-maven-plugin</artifactId>
</build> <version>0.0.8</version>
<dependencyManagement> </plugin>
<dependencies> </plugins>
<dependency> </build>
<groupId>org.openjfx</groupId> <dependencyManagement>
<artifactId>javafx-controls</artifactId> <dependencies>
<version>${jfx-version}</version> <dependency>
</dependency> <groupId>org.openjfx</groupId>
<dependency> <artifactId>javafx-controls</artifactId>
<groupId>org.openjfx</groupId> <version>${jfx-version}</version>
<artifactId>javafx-fxml</artifactId> </dependency>
<version>${jfx-version}</version> <dependency>
</dependency> <groupId>org.openjfx</groupId>
<dependency> <artifactId>javafx-fxml</artifactId>
<groupId>org.openjfx</groupId> <version>${jfx-version}</version>
<artifactId>javafx-swing</artifactId> </dependency>
<version>${jfx-version}</version> <dependency>
</dependency> <groupId>org.openjfx</groupId>
<dependency> <artifactId>javafx-swing</artifactId>
<groupId>de.hft.stuttgart</groupId> <version>${jfx-version}</version>
<artifactId>CityDoctorModel</artifactId> </dependency>
<version>${revision}</version> <dependency>
</dependency> <groupId>de.hft.stuttgart</groupId>
<dependency> <artifactId>CityDoctorModel</artifactId>
<groupId>de.hft.stuttgart</groupId> <version>${revision}</version>
<artifactId>CityDoctorAutoPro</artifactId> </dependency>
<version>${revision}</version> <dependency>
</dependency> <groupId>de.hft.stuttgart</groupId>
<dependency> <artifactId>CityDoctorAutoPro</artifactId>
<groupId>de.hft.stuttgart</groupId> <version>${revision}</version>
<artifactId>CityDoctorValidation</artifactId> </dependency>
<version>${revision}</version> <dependency>
</dependency> <groupId>de.hft.stuttgart</groupId>
<dependency> <artifactId>CityDoctorValidation</artifactId>
<groupId>de.hft.stuttgart</groupId> <version>${revision}</version>
<artifactId>CityDoctorGUI</artifactId> </dependency>
<version>${revision}</version> <dependency>
</dependency> <groupId>de.hft.stuttgart</groupId>
<dependency> <artifactId>CityDoctorGUI</artifactId>
<groupId>de.hft.stuttgart</groupId> <version>${revision}</version>
<artifactId>CityDoctorEdge</artifactId> </dependency>
<version>${revision}</version> <dependency>
</dependency> <groupId>de.hft.stuttgart</groupId>
<dependency> <artifactId>CityDoctorEdge</artifactId>
<groupId>de.hft.stuttgart</groupId> <version>${revision}</version>
<artifactId>CityDoctorCheckResult</artifactId> </dependency>
<version>${revision}</version> <dependency>
</dependency> <groupId>de.hft.stuttgart</groupId>
<dependency> <artifactId>CityDoctorCheckResult</artifactId>
<groupId>de.hft.stuttgart</groupId> <version>${revision}</version>
<artifactId>CityDoctorHealer</artifactId> </dependency>
<version>${revision}</version> <dependency>
</dependency> <groupId>de.hft.stuttgart</groupId>
<dependency> <artifactId>CityDoctorHealer</artifactId>
<groupId>net.sf.saxon</groupId> <version>${revision}</version>
<artifactId>Saxon-HE</artifactId> </dependency>
<version>12.2</version> <dependency>
</dependency> <groupId>net.sf.saxon</groupId>
<dependency> <artifactId>Saxon-HE</artifactId>
<groupId>org.hibernate</groupId> <version>12.2</version>
<artifactId>hibernate-core</artifactId> </dependency>
<version>5.6.9.Final</version> <dependency>
</dependency> <groupId>org.hibernate</groupId>
<dependency> <artifactId>hibernate-core</artifactId>
<groupId>org.citygml4j</groupId> <version>5.6.9.Final</version>
<artifactId>citygml4j-core</artifactId> </dependency>
<version>3.2.0</version> <dependency>
</dependency> <groupId>org.citygml4j</groupId>
<dependency> <artifactId>citygml4j-core</artifactId>
<groupId>org.citygml4j</groupId> <version>3.2.0</version>
<artifactId>citygml4j-xml</artifactId> </dependency>
<version>3.2.0</version> <dependency>
</dependency> <groupId>org.citygml4j</groupId>
<dependency> <artifactId>citygml4j-xml</artifactId>
<groupId>de.hft.stuttgart</groupId> <version>3.2.0</version>
<artifactId>citygml4j-quality-ade</artifactId> </dependency>
<version>3.2.0</version> <dependency>
</dependency> <groupId>de.hft.stuttgart</groupId>
<dependency> <artifactId>citygml4j-quality-ade</artifactId>
<groupId>org.apache.xmlgraphics</groupId> <version>3.2.0</version>
<artifactId>fop</artifactId> </dependency>
<version>2.7</version> <dependency>
</dependency> <groupId>org.apache.xmlgraphics</groupId>
<dependency> <artifactId>fop</artifactId>
<groupId>org.jdom</groupId> <version>2.7</version>
<artifactId>jdom2</artifactId> </dependency>
<version>2.0.6.1</version> <dependency>
</dependency> <groupId>org.jdom</groupId>
<dependency> <artifactId>jdom2</artifactId>
<groupId>junit</groupId> <version>2.0.6.1</version>
<artifactId>junit</artifactId> </dependency>
<version>4.13.2</version> <dependency>
<scope>test</scope> <groupId>junit</groupId>
</dependency> <artifactId>junit</artifactId>
<dependency> <version>4.13.2</version>
<groupId>org.jogamp.gluegen</groupId> <scope>test</scope>
<artifactId>gluegen-rt-main</artifactId> </dependency>
<version>2.3.2</version> <dependency>
</dependency> <groupId>org.jogamp.gluegen</groupId>
<dependency> <artifactId>gluegen-rt-main</artifactId>
<groupId>gov.nist.math</groupId> <version>2.3.2</version>
<artifactId>jama</artifactId> </dependency>
<version>1.0.3</version> <dependency>
</dependency> <groupId>gov.nist.math</groupId>
<dependency> <artifactId>jama</artifactId>
<groupId>org.jogamp.jogl</groupId> <version>1.0.3</version>
<artifactId>jogl-all-main</artifactId> </dependency>
<version>2.3.2</version> <dependency>
</dependency> <groupId>org.jogamp.jogl</groupId>
<dependency> <artifactId>jogl-all-main</artifactId>
<groupId>org.apache.logging.log4j</groupId> <version>2.3.2</version>
<artifactId>log4j-api</artifactId> </dependency>
<version>${log4j.version}</version> <dependency>
</dependency> <groupId>org.apache.logging.log4j</groupId>
<dependency> <artifactId>log4j-api</artifactId>
<groupId>org.apache.logging.log4j</groupId> <version>${log4j.version}</version>
<artifactId>log4j-core</artifactId> </dependency>
<version>${log4j.version}</version> <dependency>
</dependency> <groupId>org.apache.logging.log4j</groupId>
<dependency> <artifactId>log4j-core</artifactId>
<groupId>org.apache.logging.log4j</groupId> <version>${log4j.version}</version>
<artifactId>log4j-jul</artifactId> </dependency>
<version>${log4j.version}</version> <dependency>
</dependency> <groupId>org.apache.logging.log4j</groupId>
<dependency> <artifactId>log4j-jul</artifactId>
<groupId>org.yaml</groupId> <version>${log4j.version}</version>
<artifactId>snakeyaml</artifactId> </dependency>
<version>2.0</version> <dependency>
</dependency> <groupId>org.yaml</groupId>
<dependency> <artifactId>snakeyaml</artifactId>
<groupId>org.apache.logging.log4j</groupId> <version>2.0</version>
<artifactId>log4j-slf4j18-impl</artifactId> </dependency>
<version>${log4j.version}</version> <dependency>
</dependency> <groupId>org.apache.logging.log4j</groupId>
<dependency> <artifactId>log4j-slf4j18-impl</artifactId>
<groupId>org.locationtech.proj4j</groupId> <version>${log4j.version}</version>
<artifactId>proj4j</artifactId> </dependency>
<version>1.1.5</version> <dependency>
</dependency> <groupId>org.locationtech.proj4j</groupId>
<dependency> <artifactId>proj4j</artifactId>
<groupId>org.hibernate</groupId> <version>1.1.5</version>
<artifactId>hibernate-search-orm</artifactId> </dependency>
<version>5.11.9.Final</version> <dependency>
</dependency> <groupId>org.hibernate</groupId>
<dependency> <artifactId>hibernate-search-orm</artifactId>
<groupId>org.locationtech.jts</groupId> <version>5.11.9.Final</version>
<artifactId>jts-core</artifactId> </dependency>
<version>1.19.0</version> <dependency>
</dependency> <groupId>org.locationtech.jts</groupId>
<dependency> <artifactId>jts-core</artifactId>
<groupId>com.sun.xml.bind</groupId> <version>1.20.0</version>
<artifactId>jaxb-impl</artifactId> </dependency>
<version>2.3.3</version> <dependency>
</dependency> <groupId>com.sun.xml.bind</groupId>
<dependency> <artifactId>jaxb-impl</artifactId>
<groupId>jakarta.xml.bind</groupId> <version>2.3.3</version>
<artifactId>jakarta.xml.bind-api</artifactId> </dependency>
<version>2.3.3</version> <dependency>
</dependency> <groupId>jakarta.xml.bind</groupId>
</dependencies> <artifactId>jakarta.xml.bind-api</artifactId>
</dependencyManagement> <version>2.3.3</version>
<dependencies> </dependency>
<dependency> <dependency>
<groupId>org.mockito</groupId> <groupId>io.github.earcut4j</groupId>
<artifactId>mockito-core</artifactId> <artifactId>earcut4j</artifactId>
<version>4.6.1</version> <version>2.2.2</version>
<scope>test</scope> </dependency>
</dependency> </dependencies>
<dependency> </dependencyManagement>
<groupId>org.openjfx</groupId> <dependencies>
<artifactId>javafx-controls</artifactId> <dependency>
<version>${jfx-version}</version> <groupId>org.mockito</groupId>
</dependency> <artifactId>mockito-core</artifactId>
<dependency> <version>4.6.1</version>
<groupId>org.openjfx</groupId> <scope>test</scope>
<artifactId>javafx-fxml</artifactId> </dependency>
<version>${jfx-version}</version> </dependencies>
</dependency> <modules>
<dependency> <!--CityDoctor2 Core Modules-->
<groupId>org.openjfx</groupId> <module>CityDoctorModel</module>
<artifactId>javafx-swing</artifactId> <module>CityDoctorValidation</module>
<version>${jfx-version}</version> <module>CityDoctorEdge</module>
</dependency> <module>CityDoctorCheckResult</module>
</dependencies>
<modules>
<!--CityDoctor2 Core Modules-->
<module>CityDoctorModel</module>
<module>CityDoctorValidation</module>
<module>CityDoctorEdge</module>
<module>CityDoctorCheckResult</module>
<!--CityDoctor2 Extension Modules--> <!--CityDoctor2 Extension Modules-->
<module>Extensions/CityDoctorGUI</module> <module>Extensions/CityDoctorGUI</module>
<!-- <!--
<module>Extensions/CityDoctorAutoPro</module> <module>Extensions/CityDoctorAutoPro</module>
<module>Extensions/CityDoctorHealer</module> <module>Extensions/CityDoctorHealer</module>
<module>Extensions/CityDoctorHealerGenetic</module> <module>Extensions/CityDoctorHealerGenetic</module>
<module>Extensions/CityDoctorHealerGUI</module> <module>Extensions/CityDoctorHealerGUI</module>
<module>Extensions/CityDoctorWebService</module> <module>Extensions/CityDoctorWebService</module>
--> -->
</modules> </modules>
</project> </project>
\ No newline at end of file
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