Commit 934b4f19 authored by Matthias Betz's avatar Matthias Betz
Browse files

fixed an issue with checks that apply to superclasses instead of actual instances

parent a0ff9ed7
No related merge requests found
Pipeline #1381 passed with stage
in 1 minute and 58 seconds
Showing with 20 additions and 1 deletion
+20 -1
......@@ -126,7 +126,7 @@ public abstract class Check {
*/
public boolean canExecute(Checkable c) {
// ignore objects where this check doesn't apply to
if (!getApplicableToClasses().contains(c.getCheckClass())) {
if (!canBeApplied(c)) {
return false;
}
// check that object doesn't have errors for dependencies of this check
......@@ -145,6 +145,15 @@ public abstract class Check {
}
return true;
}
private boolean canBeApplied(Checkable c) {
for (Class<Checkable> checkableClass : getApplicableToClasses()) {
if (checkableClass.isAssignableFrom(c.getCheckClass())) {
return true;
}
}
return false;
}
/**
* check anything
......
......@@ -74,6 +74,11 @@ public abstract class Checkable implements Serializable {
* @return the GML-ID
*/
public abstract GmlId getGmlId();
public boolean hasGmlId() {
return false;
}
/**
* This should be called before executing a check if low memory consumption
......
......@@ -73,4 +73,9 @@ public abstract class GmlElement extends Checkable {
}
return gmlId;
}
@Override
public boolean hasGmlId() {
return gmlId != null;
}
}
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