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