diff options
Diffstat (limited to 'subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/RelationalQuery.java')
-rw-r--r-- | subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/RelationalQuery.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/RelationalQuery.java b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/RelationalQuery.java index d34a7ace..98f71e11 100644 --- a/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/RelationalQuery.java +++ b/subprojects/store-query/src/main/java/tools/refinery/store/query/dnf/RelationalQuery.java | |||
@@ -5,6 +5,7 @@ | |||
5 | */ | 5 | */ |
6 | package tools.refinery.store.query.dnf; | 6 | package tools.refinery.store.query.dnf; |
7 | 7 | ||
8 | import tools.refinery.store.query.InvalidQueryException; | ||
8 | import tools.refinery.store.query.literal.CallLiteral; | 9 | import tools.refinery.store.query.literal.CallLiteral; |
9 | import tools.refinery.store.query.literal.CallPolarity; | 10 | import tools.refinery.store.query.literal.CallPolarity; |
10 | import tools.refinery.store.query.term.AssignedValue; | 11 | import tools.refinery.store.query.term.AssignedValue; |
@@ -19,7 +20,7 @@ public final class RelationalQuery extends Query<Boolean> { | |||
19 | for (var parameter : dnf.getSymbolicParameters()) { | 20 | for (var parameter : dnf.getSymbolicParameters()) { |
20 | var parameterType = parameter.tryGetType(); | 21 | var parameterType = parameter.tryGetType(); |
21 | if (parameterType.isPresent()) { | 22 | if (parameterType.isPresent()) { |
22 | throw new IllegalArgumentException("Expected parameter %s of %s to be a node variable, got %s instead" | 23 | throw new InvalidQueryException("Expected parameter %s of %s to be a node variable, got %s instead" |
23 | .formatted(parameter, dnf, parameterType.get().getName())); | 24 | .formatted(parameter, dnf, parameterType.get().getName())); |
24 | } | 25 | } |
25 | } | 26 | } |
@@ -40,6 +41,16 @@ public final class RelationalQuery extends Query<Boolean> { | |||
40 | return false; | 41 | return false; |
41 | } | 42 | } |
42 | 43 | ||
44 | @Override | ||
45 | protected RelationalQuery withDnfInternal(Dnf newDnf) { | ||
46 | return newDnf.asRelation(); | ||
47 | } | ||
48 | |||
49 | @Override | ||
50 | public RelationalQuery withDnf(Dnf newDnf) { | ||
51 | return (RelationalQuery) super.withDnf(newDnf); | ||
52 | } | ||
53 | |||
43 | public CallLiteral call(CallPolarity polarity, List<NodeVariable> arguments) { | 54 | public CallLiteral call(CallPolarity polarity, List<NodeVariable> arguments) { |
44 | return getDnf().call(polarity, Collections.unmodifiableList(arguments)); | 55 | return getDnf().call(polarity, Collections.unmodifiableList(arguments)); |
45 | } | 56 | } |