aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/store-reasoning
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2023-06-22 21:52:53 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2023-06-22 22:03:13 +0200
commitf2ab0e12838efe5a23abb79fd7228f89dc3ba8ef (patch)
treea11fe1e4663563dfee094aae08fc03cbbab89839 /subprojects/store-reasoning
parentrefactor: remove Rule (diff)
downloadrefinery-f2ab0e12838efe5a23abb79fd7228f89dc3ba8ef.tar.gz
refinery-f2ab0e12838efe5a23abb79fd7228f89dc3ba8ef.tar.zst
refinery-f2ab0e12838efe5a23abb79fd7228f89dc3ba8ef.zip
fix: FilteredView default value
The filer can't return true for the default value, because tuples with default value cannot be enumerated.
Diffstat (limited to 'subprojects/store-reasoning')
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMayTypeView.java18
-rw-r--r--subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMustTypeView.java18
2 files changed, 34 insertions, 2 deletions
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMayTypeView.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMayTypeView.java
index ce2d6ff3..40de4644 100644
--- a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMayTypeView.java
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMayTypeView.java
@@ -9,6 +9,8 @@ import tools.refinery.store.reasoning.representation.PartialRelation;
9import tools.refinery.store.query.view.TuplePreservingView; 9import tools.refinery.store.query.view.TuplePreservingView;
10import tools.refinery.store.tuple.Tuple; 10import tools.refinery.store.tuple.Tuple;
11 11
12import java.util.Objects;
13
12class InferredMayTypeView extends TuplePreservingView<InferredType> { 14class InferredMayTypeView extends TuplePreservingView<InferredType> {
13 private final PartialRelation type; 15 private final PartialRelation type;
14 16
@@ -18,7 +20,21 @@ class InferredMayTypeView extends TuplePreservingView<InferredType> {
18 } 20 }
19 21
20 @Override 22 @Override
21 public boolean filter(Tuple key, InferredType value) { 23 protected boolean doFilter(Tuple key, InferredType value) {
22 return value.mayConcreteTypes().contains(type); 24 return value.mayConcreteTypes().contains(type);
23 } 25 }
26
27 @Override
28 public boolean equals(Object o) {
29 if (this == o) return true;
30 if (o == null || getClass() != o.getClass()) return false;
31 if (!super.equals(o)) return false;
32 InferredMayTypeView that = (InferredMayTypeView) o;
33 return Objects.equals(type, that.type);
34 }
35
36 @Override
37 public int hashCode() {
38 return Objects.hash(super.hashCode(), type);
39 }
24} 40}
diff --git a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMustTypeView.java b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMustTypeView.java
index beda1796..1a121547 100644
--- a/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMustTypeView.java
+++ b/subprojects/store-reasoning/src/main/java/tools/refinery/store/reasoning/translator/typehierarchy/InferredMustTypeView.java
@@ -9,6 +9,8 @@ import tools.refinery.store.reasoning.representation.PartialRelation;
9import tools.refinery.store.query.view.TuplePreservingView; 9import tools.refinery.store.query.view.TuplePreservingView;
10import tools.refinery.store.tuple.Tuple; 10import tools.refinery.store.tuple.Tuple;
11 11
12import java.util.Objects;
13
12class InferredMustTypeView extends TuplePreservingView<InferredType> { 14class InferredMustTypeView extends TuplePreservingView<InferredType> {
13 private final PartialRelation type; 15 private final PartialRelation type;
14 16
@@ -18,7 +20,21 @@ class InferredMustTypeView extends TuplePreservingView<InferredType> {
18 } 20 }
19 21
20 @Override 22 @Override
21 public boolean filter(Tuple key, InferredType value) { 23 protected boolean doFilter(Tuple key, InferredType value) {
22 return value.mustTypes().contains(type); 24 return value.mustTypes().contains(type);
23 } 25 }
26
27 @Override
28 public boolean equals(Object o) {
29 if (this == o) return true;
30 if (o == null || getClass() != o.getClass()) return false;
31 if (!super.equals(o)) return false;
32 InferredMustTypeView that = (InferredMustTypeView) o;
33 return Objects.equals(type, that.type);
34 }
35
36 @Override
37 public int hashCode() {
38 return Objects.hash(super.hashCode(), type);
39 }
24} 40}