Commit 5677924a authored by Luna Riegel's avatar Luna Riegel
Browse files

Refactor: Move function

parent 0dd7b9e3
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
*/ */
package de.hft.stuttgart.citydoctor2.datastructure; package de.hft.stuttgart.citydoctor2.datastructure;
import de.hft.stuttgart.quality.model.enums.TopLevelFeatureType;
/** /**
* Possible feature types in CityGML * Possible feature types in CityGML
* *
...@@ -27,5 +29,17 @@ public enum FeatureType { ...@@ -27,5 +29,17 @@ public enum FeatureType {
BUILDING, TRANSPORTATION, VEGETATION, BRIDGE, LAND, WATER, BOUNDARY_SURFACE, INSTALLATION, OPENING, BUILDING, TRANSPORTATION, VEGETATION, BRIDGE, LAND, WATER, BOUNDARY_SURFACE, INSTALLATION, OPENING,
BUILDING_PART, BUILDING_SUBDIVISION, BRIDGE_CONSTRUCTION_ELEMENT, BRIDGE_INSTALLATION, ROOM, FURNITURE, CITY_FURNITURE, BUILDING_PART, BUILDING_SUBDIVISION, BRIDGE_CONSTRUCTION_ELEMENT, BRIDGE_INSTALLATION, ROOM, FURNITURE, CITY_FURNITURE,
OTHER_CITY_OBJECT, TUNNEL, TUNNEL_PART, TUNNEL_CONSTRUCTION_ELEMENT, TUNNEL_INSTALLATION, OTHER_CITY_OBJECT, TUNNEL, TUNNEL_PART, TUNNEL_CONSTRUCTION_ELEMENT, TUNNEL_INSTALLATION;
public TopLevelFeatureType mapToTopLevelFeatureType() {
return switch (this) {
case BRIDGE -> TopLevelFeatureType.BRIDGE;
case BUILDING -> TopLevelFeatureType.BUILDING;
case LAND -> TopLevelFeatureType.LAND;
case TRANSPORTATION -> TopLevelFeatureType.TRANSPORTATION;
case VEGETATION -> TopLevelFeatureType.VEGETATION;
case WATER -> TopLevelFeatureType.WATER;
default -> null;
};
}
} }
...@@ -150,6 +150,7 @@ public class Checker { ...@@ -150,6 +150,7 @@ public class Checker {
if (!model.isValidated() || xmlOutput == null) { if (!model.isValidated() || xmlOutput == null) {
return; return;
} }
Checker c = new Checker(null, null);
File xmlFile = new File(xmlOutput); File xmlFile = new File(xmlOutput);
if (xmlFile.getParentFile() != null && xmlFile.getParentFile().mkdirs()) { if (xmlFile.getParentFile() != null && xmlFile.getParentFile().mkdirs()) {
logger.trace("Xml dir created"); logger.trace("Xml dir created");
...@@ -389,12 +390,11 @@ public class Checker { ...@@ -389,12 +390,11 @@ public class Checker {
if (excludeFilters != null) { if (excludeFilters != null) {
for (Filter f : excludeFilters) { for (Filter f : excludeFilters) {
if (f instanceof TypeFilter tf) { if (f instanceof TypeFilter tf) {
FeatureType type = tf.getType(); TopLevelFeatureType type = tf.getType().mapToTopLevelFeatureType();
TopLevelFeatureType tlft = mapToTopLevelFeatureType(type); if (type == null) {
if (tlft == null) {
continue; continue;
} }
removeFilter(tlft, filter); removeFilter(type, filter);
} }
} }
} }
...@@ -408,13 +408,12 @@ public class Checker { ...@@ -408,13 +408,12 @@ public class Checker {
} else { } else {
for (Filter f : includeFilters) { for (Filter f : includeFilters) {
if (f instanceof TypeFilter tf) { if (f instanceof TypeFilter tf) {
FeatureType type = tf.getType(); TopLevelFeatureType type = tf.getType().mapToTopLevelFeatureType();
TopLevelFeatureType tlft = mapToTopLevelFeatureType(type); if (type == null) {
if (tlft == null) {
continue; continue;
} }
Checking c = new Checking(); Checking c = new Checking();
c.setFeatureType(tlft); c.setFeatureType(type);
filter.getChecking().add(new CheckingProperty(c)); filter.getChecking().add(new CheckingProperty(c));
} }
} }
...@@ -462,18 +461,6 @@ public class Checker { ...@@ -462,18 +461,6 @@ public class Checker {
} }
} }
private TopLevelFeatureType mapToTopLevelFeatureType(FeatureType type) {
return switch (type) {
case BRIDGE -> TopLevelFeatureType.BRIDGE;
case BUILDING -> TopLevelFeatureType.BUILDING;
case LAND -> TopLevelFeatureType.LAND;
case TRANSPORTATION -> TopLevelFeatureType.TRANSPORTATION;
case VEGETATION -> TopLevelFeatureType.VEGETATION;
case WATER -> TopLevelFeatureType.WATER;
default -> null;
};
}
private RequirementId mapToRequirement(String requirementName) { private RequirementId mapToRequirement(String requirementName) {
try { try {
return RequirementId.valueOf(requirementName); return RequirementId.valueOf(requirementName);
......
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