Commit 85cf93b6 authored by Matthias Betz's avatar Matthias Betz
Browse files

reworked check engine now working on requirements

parent 35577785
Pipeline #2108 passed with stage
in 3 minutes and 6 seconds
......@@ -23,7 +23,6 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import de.hft.stuttgart.citydoctor2.check.CheckId;
import de.hft.stuttgart.citydoctor2.check.Checker;
import de.hft.stuttgart.citydoctor2.check.ValidationConfiguration;
import de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel;
......@@ -52,7 +51,7 @@ public class TestUtil {
public static CityDoctorModel loadAndCheckCityModel(String path, int numberOfRoundingPlaces)
throws CityGmlParseException, IOException, InvalidGmlFileException {
ValidationConfiguration config = ValidationConfiguration.loadStandardValidationConfig();
config.setNumberOfRoundingPlaces(numberOfRoundingPlaces);
config.setNumberOfRoundingPlacesInGlobalParameters(numberOfRoundingPlaces);
CityDoctorModel m = CityGmlParser.parseCityGmlFile(path, config.getParserConfiguration());
Checker c = new Checker(config, m);
c.runChecks();
......@@ -63,8 +62,8 @@ public class TestUtil {
public static CityDoctorModel loadAndCheckCityModel(String path, int numberOfRoundingPlaces, double minVertexDistance)
throws CityGmlParseException, IOException, InvalidGmlFileException {
ValidationConfiguration config = ValidationConfiguration.loadStandardValidationConfig();
config.setNumberOfRoundingPlaces(numberOfRoundingPlaces);
config.setMinVertexDistance(minVertexDistance);
config.setNumberOfRoundingPlacesInGlobalParameters(numberOfRoundingPlaces);
config.setMinVertexDistanceInGlobalParameters(minVertexDistance);
CityDoctorModel m = CityGmlParser.parseCityGmlFile(path, config.getParserConfiguration());
Checker c = new Checker(config, m);
c.runChecks();
......@@ -72,11 +71,11 @@ public class TestUtil {
}
public static CityDoctorModel loadAndCheckCityModel(String path, Map<CheckId, Map<String, String>> paramMap)
public static CityDoctorModel loadAndCheckCityModel(String path, Map<String, Map<String, String>> paramMap)
throws CityGmlParseException, IOException, InvalidGmlFileException {
ValidationConfiguration valConfig = ValidationConfiguration.loadStandardValidationConfig();
for (Entry<CheckId, Map<String, String>> e : paramMap.entrySet()) {
valConfig.getChecks().get(e.getKey()).setParameters(e.getValue());
for (Entry<String, Map<String, String>> e : paramMap.entrySet()) {
valConfig.getRequirements().get(e.getKey()).getParameters().putAll(e.getValue());
}
CityDoctorModel m = CityGmlParser.parseCityGmlFile(path, valConfig.getParserConfiguration());
Checker c = new Checker(valConfig, m);
......
numberOfRoundingPlaces: 8
globalParameters:
numberOfRoundingPlaces: 8
# in m
minVertexDistance: 0.0001
schematronFilePath: ''
useStreaming: false
xmlValidation: false
checks:
C_GE_R_TOO_FEW_POINTS:
requirements:
R_GE_R_TOO_FEW_POINTS:
enabled: true
C_GE_R_NOT_CLOSED:
R_GE_R_NOT_CLOSED:
enabled: true
C_GE_R_DUPLICATE_POINT:
R_GE_R_CONSECUTIVE_POINTS_SAME:
enabled: true
C_GE_R_SELF_INTERSECTION:
R_GE_R_SELF_INTERSECTION:
enabled: true
C_GE_S_MULTIPLE_CONNECTED_COMPONENTS:
R_GE_S_MULTIPLE_CONNECTED_COMPONENTS:
enabled: true
C_GE_P_INTERIOR_DISCONNECTED:
R_GE_P_INTERIOR_DISCONNECTED:
enabled: true
C_GE_P_INTERSECTING_RINGS:
R_GE_P_INTERSECTING_RINGS:
enabled: true
C_GE_P_NON_PLANAR:
R_GE_P_NON_PLANAR:
enabled: false
parameters:
# one of ("distance", "angle", "both")
type: distance
# in m
distanceTolerance: 0.01
angleTolerance: 0.1
C_GE_P_HOLE_OUTSIDE:
# in degree
angleTolerance: 1
# in m
degeneratedPolygonTolerance: 0
R_GE_P_HOLE_OUTSIDE:
enabled: true
C_GE_P_ORIENTATION_RINGS_SAME:
R_GE_P_ORIENTATION_RINGS_SAME:
enabled: true
C_GE_P_INNER_RINGS_NESTED:
R_GE_P_INNER_RINGS_NESTED:
enabled: true
C_GE_S_TOO_FEW_POLYGONS:
R_GE_S_TOO_FEW_POLYGONS:
enabled: true
C_GE_S_NOT_CLOSED:
R_GE_S_NOT_CLOSED:
enabled: true
C_GE_S_NON_MANIFOLD_EDGE:
R_GE_S_NON_MANIFOLD_EDGE:
enabled: true
C_GE_S_POLYGON_WRONG_ORIENTATION:
R_GE_S_POLYGON_WRONG_ORIENTATION:
enabled: true
C_GE_S_ALL_POLYGONS_WRONG_ORIENTATION:
R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION:
enabled: true
C_GE_S_NON_MANIFOLD_VERTEX:
R_GE_S_NON_MANIFOLD_VERTEX:
enabled: true
C_GE_S_SELF_INTERSECTION:
R_GE_S_SELF_INTERSECTION:
enabled: true
\ No newline at end of file
numberOfRoundingPlaces: 8
globalParameters:
numberOfRoundingPlaces: 8
minVertexDistance: 0.0001
filter:
exclude:
# available types: BUILDING, VEGETATION, TRANSPORTATION, BRIDGE, LAND, WATER
......@@ -6,45 +8,47 @@ filter:
- BUILDING
# exlude matching ids (Regex)
ids:
checks:
C_GE_R_TOO_FEW_POINTS:
requirements:
R_GE_R_TOO_FEW_POINTS:
enabled: true
C_GE_R_NOT_CLOSED:
R_GE_R_NOT_CLOSED:
enabled: true
C_GE_R_DUPLICATE_POINT:
R_GE_R_CONSECUTIVE_POINTS_SAME:
enabled: true
C_GE_R_SELF_INTERSECTION:
R_GE_R_SELF_INTERSECTION:
enabled: true
C_GE_S_MULTIPLE_CONNECTED_COMPONENTS:
R_GE_S_MULTIPLE_CONNECTED_COMPONENTS:
enabled: true
C_GE_P_INTERIOR_DISCONNECTED:
R_GE_P_INTERIOR_DISCONNECTED:
enabled: true
C_GE_P_INTERSECTING_RINGS:
R_GE_P_INTERSECTING_RINGS:
enabled: true
C_GE_P_NON_PLANAR:
R_GE_P_NON_PLANAR:
enabled: false
parameters:
# one of ("distance", "angle", "both")
type: distance
# in m
distanceTolerance: 0.01
angleTolerance: 0.1
C_GE_P_HOLE_OUTSIDE:
# in degree
angleTolerance: 1
R_GE_P_HOLE_OUTSIDE:
enabled: true
C_GE_P_ORIENTATION_RINGS_SAME:
R_GE_P_ORIENTATION_RINGS_SAME:
enabled: true
C_GE_P_INNER_RINGS_NESTED:
R_GE_P_INNER_RINGS_NESTED:
enabled: true
C_GE_S_TOO_FEW_POLYGONS:
R_GE_S_TOO_FEW_POLYGONS:
enabled: true
C_GE_S_NOT_CLOSED:
R_GE_S_NOT_CLOSED:
enabled: true
C_GE_S_NON_MANIFOLD_EDGE:
R_GE_S_NON_MANIFOLD_EDGE:
enabled: true
C_GE_S_POLYGON_WRONG_ORIENTATION:
R_GE_S_POLYGON_WRONG_ORIENTATION:
enabled: true
C_GE_S_ALL_POLYGONS_WRONG_ORIENTATION:
R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION:
enabled: true
C_GE_S_NON_MANIFOLD_VERTEX:
R_GE_S_NON_MANIFOLD_VERTEX:
enabled: true
C_GE_S_SELF_INTERSECTION:
R_GE_S_SELF_INTERSECTION:
enabled: true
\ No newline at end of file
numberOfRoundingPlaces: 8
globalParameters:
numberOfRoundingPlaces: 8
# in m
minVertexDistance: 0.0001
filter:
include:
# available types: BUILDING, VEGETATION, TRANSPORTATION, BRIDGE, LAND, WATER
......@@ -27,45 +30,47 @@ filter:
- UUID-8972-kghf-asgv
- UUID-567-asdf-GEGH
- UUID.*
checks:
C_GE_R_TOO_FEW_POINTS:
requirements:
R_GE_R_TOO_FEW_POINTS:
enabled: true
C_GE_R_NOT_CLOSED:
R_GE_R_NOT_CLOSED:
enabled: true
C_GE_R_DUPLICATE_POINT:
R_GE_R_CONSECUTIVE_POINTS_SAME:
enabled: true
C_GE_R_SELF_INTERSECTION:
R_GE_R_SELF_INTERSECTION:
enabled: true
C_GE_S_MULTIPLE_CONNECTED_COMPONENTS:
R_GE_S_MULTIPLE_CONNECTED_COMPONENTS:
enabled: true
C_GE_P_INTERIOR_DISCONNECTED:
R_GE_P_INTERIOR_DISCONNECTED:
enabled: true
C_GE_P_INTERSECTING_RINGS:
R_GE_P_INTERSECTING_RINGS:
enabled: true
C_GE_P_NON_PLANAR:
R_GE_P_NON_PLANAR:
enabled: false
parameters:
# one of ("distance", "angle", "both")
type: distance
# in m
distanceTolerance: 0.01
angleTolerance: 0.1
C_GE_P_HOLE_OUTSIDE:
# in degree
angleTolerance: 1
R_GE_P_HOLE_OUTSIDE:
enabled: true
C_GE_P_ORIENTATION_RINGS_SAME:
R_GE_P_ORIENTATION_RINGS_SAME:
enabled: true
C_GE_P_INNER_RINGS_NESTED:
R_GE_P_INNER_RINGS_NESTED:
enabled: true
C_GE_S_TOO_FEW_POLYGONS:
R_GE_S_TOO_FEW_POLYGONS:
enabled: true
C_GE_S_NOT_CLOSED:
R_GE_S_NOT_CLOSED:
enabled: true
C_GE_S_NON_MANIFOLD_EDGE:
R_GE_S_NON_MANIFOLD_EDGE:
enabled: true
C_GE_S_POLYGON_WRONG_ORIENTATION:
R_GE_S_POLYGON_WRONG_ORIENTATION:
enabled: true
C_GE_S_ALL_POLYGONS_WRONG_ORIENTATION:
R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION:
enabled: true
C_GE_S_NON_MANIFOLD_VERTEX:
R_GE_S_NON_MANIFOLD_VERTEX:
enabled: true
C_GE_S_SELF_INTERSECTION:
R_GE_S_SELF_INTERSECTION:
enabled: true
\ No newline at end of file
numberOfRoundingPlaces: 8
globalParameters:
numberOfRoundingPlaces: 8
filter:
include:
# available types: BUILDING, VEGETATION, TRANSPORTATION, BRIDGE, LAND, WATER
types:
- TRANSPORTATION
checks:
C_GE_R_TOO_FEW_POINTS:
requirements:
R_GE_R_TOO_FEW_POINTS:
enabled: true
C_GE_R_NOT_CLOSED:
R_GE_R_NOT_CLOSED:
enabled: true
C_GE_R_DUPLICATE_POINT:
R_GE_R_CONSECUTIVE_POINTS_SAME:
enabled: true
C_GE_R_SELF_INTERSECTION:
R_GE_R_SELF_INTERSECTION:
enabled: true
C_GE_S_MULTIPLE_CONNECTED_COMPONENTS:
R_GE_S_MULTIPLE_CONNECTED_COMPONENTS:
enabled: true
C_GE_P_INTERIOR_DISCONNECTED:
R_GE_P_INTERIOR_DISCONNECTED:
enabled: true
C_GE_P_INTERSECTING_RINGS:
R_GE_P_INTERSECTING_RINGS:
enabled: true
C_GE_P_NON_PLANAR:
R_GE_P_NON_PLANAR:
enabled: false
parameters:
# one of ("distance", "angle", "both")
type: distance
distanceTolerance: 0.01
angleTolerance: 0.1
C_GE_P_HOLE_OUTSIDE:
R_GE_P_HOLE_OUTSIDE:
enabled: true
C_GE_P_ORIENTATION_RINGS_SAME:
R_GE_P_ORIENTATION_RINGS_SAME:
enabled: true
C_GE_P_INNER_RINGS_NESTED:
R_GE_P_INNER_RINGS_NESTED:
enabled: true
C_GE_S_TOO_FEW_POLYGONS:
R_GE_S_TOO_FEW_POLYGONS:
enabled: true
C_GE_S_NOT_CLOSED:
R_GE_S_NOT_CLOSED:
enabled: true
C_GE_S_NON_MANIFOLD_EDGE:
R_GE_S_NON_MANIFOLD_EDGE:
enabled: true
C_GE_S_POLYGON_WRONG_ORIENTATION:
R_GE_S_POLYGON_WRONG_ORIENTATION:
enabled: true
C_GE_S_ALL_POLYGONS_WRONG_ORIENTATION:
R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION:
enabled: true
C_GE_S_NON_MANIFOLD_VERTEX:
R_GE_S_NON_MANIFOLD_VERTEX:
enabled: true
C_GE_S_SELF_INTERSECTION:
R_GE_S_SELF_INTERSECTION:
enabled: true
\ No newline at end of file
numberOfRoundingPlaces: 8
globalParameters:
numberOfRoundingPlaces: 8
schematronFilePath: src/test/resources/schematronTest.xml
useStreaming: true
schematronFilePath: src/test/resources/schematronTest.xml
checks:
C_GE_R_TOO_FEW_POINTS:
requirements:
R_GE_R_TOO_FEW_POINTS:
enabled: true
C_GE_R_NOT_CLOSED:
R_GE_R_NOT_CLOSED:
enabled: true
C_GE_R_DUPLICATE_POINT:
R_GE_R_CONSECUTIVE_POINTS_SAME:
enabled: true
C_GE_R_SELF_INTERSECTION:
R_GE_R_SELF_INTERSECTION:
enabled: true
C_GE_S_MULTIPLE_CONNECTED_COMPONENTS:
R_GE_S_MULTIPLE_CONNECTED_COMPONENTS:
enabled: true
C_GE_P_INTERIOR_DISCONNECTED:
R_GE_P_INTERIOR_DISCONNECTED:
enabled: true
C_GE_P_INTERSECTING_RINGS:
R_GE_P_INTERSECTING_RINGS:
enabled: true
C_GE_P_NON_PLANAR:
R_GE_P_NON_PLANAR:
enabled: false
parameters:
# one of ("distance", "angle", "both")
type: distance
distanceTolerance: 0.01
angleTolerance: 0.1
C_GE_P_HOLE_OUTSIDE:
R_GE_P_HOLE_OUTSIDE:
enabled: true
C_GE_P_ORIENTATION_RINGS_SAME:
R_GE_P_ORIENTATION_RINGS_SAME:
enabled: true
C_GE_P_INNER_RINGS_NESTED:
R_GE_P_INNER_RINGS_NESTED:
enabled: true
C_GE_S_TOO_FEW_POLYGONS:
R_GE_S_TOO_FEW_POLYGONS:
enabled: true
C_GE_S_NOT_CLOSED:
R_GE_S_NOT_CLOSED:
enabled: true
C_GE_S_NON_MANIFOLD_EDGE:
R_GE_S_NON_MANIFOLD_EDGE:
enabled: true
C_GE_S_POLYGON_WRONG_ORIENTATION:
R_GE_S_POLYGON_WRONG_ORIENTATION:
enabled: true
C_GE_S_ALL_POLYGONS_WRONG_ORIENTATION:
R_GE_S_ALL_POLYGONS_WRONG_ORIENTATION:
enabled: true
C_GE_S_NON_MANIFOLD_VERTEX:
R_GE_S_NON_MANIFOLD_VERTEX:
enabled: true
C_GE_S_SELF_INTERSECTION:
R_GE_S_SELF_INTERSECTION:
enabled: true
\ No newline at end of file
Markdown is supported
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