Commit 81be0b1d authored by Riegel's avatar Riegel
Browse files

Merge branch 'dev_GUI' into 'dev'

Open source release of CityDoctorGUI and other extensions.

See merge request !6
parents 12d96d95 5a4d0a74
Pipeline #10056 passed with stage
in 1 minute and 6 seconds
......@@ -67,7 +67,7 @@ import de.hft.stuttgart.citydoctor2.parser.ParserConfiguration;
*/
public abstract class Check {
private List<Class<Checkable>> applicableToClasses = new ArrayList<>(2);
private final List<Class<Checkable>> applicableToClasses = new ArrayList<>(2);
@SuppressWarnings("unchecked")
protected Check() {
......
......@@ -39,7 +39,7 @@ public interface CheckError extends Serializable {
*
* @return the error type
*/
public ErrorType getType();
public ErrorType getType();
/**
* Getter for the error id
......@@ -79,7 +79,7 @@ public interface CheckError extends Serializable {
* implementor of the error decides which information is written into the report
* or shown on the GUI.
*
* @param report
* @param report the ErrorReport.
*/
public void report(ErrorReport report);
......
......@@ -18,12 +18,14 @@
*/
package de.hft.stuttgart.citydoctor2.check;
import java.io.Serial;
import java.io.Serializable;
public class CheckId implements Serializable {
public record CheckId(String name) implements Serializable {
@Serial
private static final long serialVersionUID = -6267337828874296004L;
public static final CheckId C_GE_R_TOO_FEW_POINTS = new CheckId("C_GE_R_TOO_FEW_POINTS");
public static final CheckId C_GE_R_NOT_CLOSED = new CheckId("C_GE_R_NOT_CLOSED");
public static final CheckId C_GE_S_MULTIPLE_CONNECTED_COMPONENTS = new CheckId(
......@@ -54,24 +56,7 @@ public class CheckId implements Serializable {
public static final CheckId C_GE_S_NOT_CLOSED = new CheckId("C_GE_S_NOT_CLOSED");
public static final CheckId C_GE_P_ORIENTATION_RINGS_SAME = new CheckId("C_GE_P_ORIENTATION_RINGS_SAME");
public static final CheckId C_SE_POLYGON_WITHOUT_SURFACE = new CheckId("C_SE_POLYGON_WITHOUT_SURFACE");
private String name;
public CheckId(String name) {
this.name = name;
}
public String getName() {
return name;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
......@@ -83,12 +68,9 @@ public class CheckId implements Serializable {
return false;
CheckId other = (CheckId) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
return other.name == null;
} else return name.equals(other.name);
}
@Override
public String toString() {
......
......@@ -18,6 +18,7 @@
*/
package de.hft.stuttgart.citydoctor2.check;
import java.io.Serial;
import java.io.Serializable;
/**
......@@ -29,6 +30,7 @@ import java.io.Serializable;
*/
public class CheckResult implements Serializable {
@Serial
private static final long serialVersionUID = -8775678793477525693L;
private final CheckId id;
......@@ -38,7 +40,7 @@ public class CheckResult implements Serializable {
/**
* Constructor for this container
*
* @param c the check which produced this result
* @param id the check which produced this result
* @param s the status of the result
* @param err an optional error object
*/
......@@ -66,15 +68,7 @@ public class CheckResult implements Serializable {
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("CheckResult [id=");
builder.append(id);
builder.append(", status=");
builder.append(status);
builder.append(", error=");
builder.append(err);
builder.append("]");
return builder.toString();
return String.format("CheckResult [id=%s, status=%s, error=%s]", id, status, err);
}
}
......@@ -18,6 +18,7 @@
*/
package de.hft.stuttgart.citydoctor2.check;
import java.io.Serial;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
......@@ -36,11 +37,12 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlId;
*/
public abstract class Checkable implements Serializable {
@Serial
private static final long serialVersionUID = -1707871839265057882L;
private static final Logger logger = LogManager.getLogger(Checkable.class);
private Map<CheckId, CheckResult> checkResults = new HashMap<>();
private final Map<CheckId, CheckResult> checkResults = new HashMap<>();
private boolean isValidated = false;
protected void setValidated(boolean validated) {
......
......@@ -18,6 +18,7 @@
*/
package de.hft.stuttgart.citydoctor2.check;
import java.io.Serial;
import java.io.Serializable;
/**
......@@ -30,11 +31,12 @@ import java.io.Serializable;
*/
public class DefaultParameter implements Serializable {
@Serial
private static final long serialVersionUID = -4587211298078974066L;
private String name;
private String value;
private Unit unitType;
private final String name;
private final String value;
private final Unit unitType;
public DefaultParameter(String name, String defaultValue, Unit unitType) {
this.name = name;
......@@ -71,13 +73,7 @@ public class DefaultParameter implements Serializable {
*/
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("DefaultParameter [name=");
builder.append(name);
builder.append(", value=");
builder.append(value);
builder.append("]");
return builder.toString();
return "DefaultParameter [name=" + name + ", value=" + value + "]";
}
}
......@@ -18,6 +18,7 @@
*/
package de.hft.stuttgart.citydoctor2.check;
import java.io.Serial;
import java.io.Serializable;
/**
......@@ -27,8 +28,9 @@ import java.io.Serializable;
* @author Matthias Betz
*
*/
public class ErrorId implements Serializable {
public record ErrorId(String name) implements Serializable {
@Serial
private static final long serialVersionUID = -2598466667746276560L;
public static final ErrorId DEPENDENCIES_NOT_MET = new ErrorId("Dependencies_not_met");
......@@ -65,11 +67,8 @@ public class ErrorId implements Serializable {
public static final ErrorId GE_P_DEGENERATED_RING = new ErrorId("GE_P_DEGENERATED_POLYGON");
public static final ErrorId SE_POLYGON_WITHOUT_SURFACE = new ErrorId("SE_POLYGON_WITHOUT_SURFACE");
private String name;
public ErrorId(String name) {
this.name = name;
}
@Override
public int hashCode() {
......@@ -89,12 +88,9 @@ public class ErrorId implements Serializable {
return false;
ErrorId other = (ErrorId) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
return other.name == null;
} else return name.equals(other.name);
}
@Override
public String toString() {
......
......@@ -18,52 +18,17 @@
*/
package de.hft.stuttgart.citydoctor2.check;
import java.io.Serial;
import java.io.Serializable;
import de.hft.stuttgart.citydoctor2.datastructure.Polygon;
import de.hft.stuttgart.citydoctor2.math.Triangle3d;
public class GeometrySelfIntersection implements Serializable {
public record GeometrySelfIntersection(Polygon p1, Polygon p2, Triangle3d t1, Triangle3d t2) implements Serializable {
@Serial
private static final long serialVersionUID = -6308847898942670140L;
private Polygon p1;
private Polygon p2;
private Triangle3d t1;
private Triangle3d t2;
public GeometrySelfIntersection(Polygon p1, Polygon p2, Triangle3d t1, Triangle3d t2) {
super();
this.p1 = p1;
this.p2 = p2;
this.t1 = t1;
this.t2 = t2;
}
public Polygon getP1() {
return p1;
}
public void setP1(Polygon p1) {
this.p1 = p1;
}
public Polygon getP2() {
return p2;
}
public void setP2(Polygon p2) {
this.p2 = p2;
}
public Triangle3d getT1() {
return t1;
}
public Triangle3d getT2() {
return t2;
}
@Override
public String toString() {
......
......@@ -18,7 +18,7 @@
*/
package de.hft.stuttgart.citydoctor2.check;
public class HealingID {
public record HealingID(String idString) {
public static final HealingID S_GEOMETRIC_SIMPLIFIER = new HealingID("S_GEOMETRIC_SIMPLIFIER");
public static final HealingID S_ALL_POLYGONS_WRONG_ORIENTATION = new HealingID("S_ALL_POLYGONS_WRONG_ORIENTATION");
......@@ -37,12 +37,6 @@ public class HealingID {
public static final HealingID P_NON_PLANAR_POLYGON_CPP = new HealingID("P_NON_PLANAR_POLYGON_CPP");
public static final HealingID S_NOT_CLOSED_CPP = new HealingID("S_NOT_CLOSED_CPP");
public static final HealingID SE_POLYGON_WITHOUT_SURFACE = new HealingID("SE_POLYGON_WITHOUT_SURFACE");
private String idString;
public HealingID(String idString) {
this.idString = idString;
}
@Override
public String toString() {
......@@ -67,12 +61,9 @@ public class HealingID {
return false;
HealingID other = (HealingID) obj;
if (idString == null) {
if (other.idString != null)
return false;
} else if (!idString.equals(other.idString))
return false;
return true;
}
return other.idString == null;
} else return idString.equals(other.idString);
}
......
......@@ -60,6 +60,7 @@ import de.hft.stuttgart.citydoctor2.check.error.UnknownCheckError;
* @author Matthias Betz
*
*/
@SuppressWarnings("unused")
public interface HealingMethod {
......@@ -68,7 +69,7 @@ public interface HealingMethod {
default boolean visit(CheckError e, ModificationListener l) {
return false;
}
default boolean visit(DegeneratedRingError e, ModificationListener l) {
return false;
}
......@@ -184,11 +185,11 @@ public interface HealingMethod {
default boolean visit(NotGroundError err, ModificationListener l) {
return false;
}
default boolean visit(SchematronError err, ModificationListener l) {
default boolean visit(SchematronError err, ModificationListener l) {
return false;
}
default boolean visit(SurfaceUnfragmentedError err, ModificationListener l) {
return false;
}
......
......@@ -91,7 +91,7 @@ import de.hft.stuttgart.quality.model.types.ValidationResult;
public class QualityAdeErrorVisitor implements ErrorVisitor {
private ValidationResult res;
private final ValidationResult res;
public QualityAdeErrorVisitor(ValidationResult res) {
this.res = res;
......
......@@ -18,6 +18,7 @@
*/
package de.hft.stuttgart.citydoctor2.check;
import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
......@@ -25,6 +26,7 @@ import java.util.List;
public class Requirement implements Serializable {
@Serial
private static final long serialVersionUID = -590639811553512803L;
private static final String DISTANCE_TOLERANCE = "distanceTolerance";
......@@ -90,8 +92,8 @@ public class Requirement implements Serializable {
}
private String id;
private RequirementType type;
private final String id;
private final RequirementType type;
private List<DefaultParameter> parameters;
public Requirement(String id, RequirementType type) {
......@@ -126,12 +128,9 @@ public class Requirement implements Serializable {
return false;
Requirement other = (Requirement) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
return true;
}
return other.id == null;
} else return id.equals(other.id);
}
@Override
public String toString() {
......
......@@ -31,8 +31,8 @@ public enum Unit {
KWH("kWh", "kWh"), METER("m", "m"), SQUARE_METER("m²", "m2"), CUBIC_METER("m³", "m3"), RADIAN(Localization.getText("Unit.Radian"), "rad"), NONE("", null), DEGREE(Localization.getText("Unit.Degree"), "deg");
private String representation;
private String gmlRep;
private final String representation;
private final String gmlRep;
private Unit(String rep, String gmlRep) {
representation = rep;
......
......@@ -28,6 +28,8 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.Geometry;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import java.io.Serial;
/**
* Error when all polygons are oriented wrong.
*
......@@ -36,9 +38,10 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
*/
public class AllPolygonsWrongOrientationError implements CheckError {
@Serial
private static final long serialVersionUID = 2263993313732858840L;
private Geometry geom;
private final Geometry geom;
public AllPolygonsWrongOrientationError(Geometry geom) {
this.geom = geom;
......
......@@ -28,15 +28,18 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.CityObject;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import java.io.Serial;
public class AttributeInvalidError implements CheckError {
@Serial
private static final long serialVersionUID = 346311592089394220L;
public static final ErrorId ID = new ErrorId("SE_ATTRIBUTE_INVALID");
private CityObject co;
private String childId;
private String nameOfAttribute;
private final CityObject co;
private final String childId;
private final String nameOfAttribute;
public AttributeInvalidError(CityObject co, String childId, String nameOfAttribute) {
this.co = co;
......
......@@ -28,15 +28,18 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.CityObject;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import java.io.Serial;
public class AttributeMissingError implements CheckError {
@Serial
private static final long serialVersionUID = 185026674309965067L;
public static final ErrorId ID = new ErrorId("SE_ATTRIBUTE_MISSING");
private CityObject co;
private String childId;
private String nameOfAttribute;
private final CityObject co;
private final String childId;
private final String nameOfAttribute;
public AttributeMissingError(CityObject co, String childId, String nameOfAttribute) {
this.co = co;
......
......@@ -28,15 +28,18 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.CityObject;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import java.io.Serial;
public class AttributeValueWrongError implements CheckError {
@Serial
private static final long serialVersionUID = 6106964709204961560L;
public static final ErrorId ID = new ErrorId("SE_ATTRIBUTE_WRONG_VALUE");
private CityObject co;
private String childId;
private String nameOfAttribute;
private final CityObject co;
private final String childId;
private final String nameOfAttribute;
public AttributeValueWrongError(CityObject co, String childId, String nameOfAttribute) {
this.co = co;
......
......@@ -29,6 +29,8 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
import java.io.Serial;
/**
* When two points are too close to each other and are consecutive in a linear
* ring, this error is created.
......@@ -38,11 +40,12 @@ import de.hft.stuttgart.citydoctor2.datastructure.Vertex;
*/
public class ConsecutivePointSameError implements CheckError {
@Serial
private static final long serialVersionUID = -6355935751554777494L;
private LinearRing lr;
private Vertex p1;
private Vertex p2;
private final LinearRing lr;
private final Vertex p1;
private final Vertex p2;
public ConsecutivePointSameError(LinearRing lr, Vertex p1, Vertex p2) {
this.lr = lr;
......
......@@ -28,11 +28,14 @@ import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import de.hft.stuttgart.citydoctor2.datastructure.LinearRing;
import java.io.Serial;
public class DegeneratedRingError implements CheckError {
@Serial
private static final long serialVersionUID = 865493182529055651L;
private LinearRing lr;
private final LinearRing lr;
public DegeneratedRingError(LinearRing lr) {
this.lr = lr;
......
......@@ -28,6 +28,8 @@ import de.hft.stuttgart.citydoctor2.check.HealingMethod;
import de.hft.stuttgart.citydoctor2.check.ModificationListener;
import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
import java.io.Serial;
/**
* When a check checks if it can be executed but one or more dependency has
* found an error this check can also not be executed. This error is created in
......@@ -39,9 +41,10 @@ import de.hft.stuttgart.citydoctor2.datastructure.GmlElement;
*/
public class DependenciesNotMetError implements CheckError {
@Serial
private static final long serialVersionUID = -851655185949574160L;
private CheckId dependency;
private final CheckId dependency;
public DependenciesNotMetError(CheckId dependency) {
this.dependency = dependency;
......
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