aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--settings.gradle.kts1
-rw-r--r--subprojects/store-dse/build.gradle.kts16
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/ActionFactory.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/ActionFactory.java)2
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/DesignSpaceExplorationAdapter.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/DesignSpaceExplorationAdapter.java)10
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/DesignSpaceExplorationBuilder.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/DesignSpaceExplorationBuilder.java)7
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/DesignSpaceExplorationStoreAdapter.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/DesignSpaceExplorationStoreAdapter.java)2
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/Strategy.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/Strategy.java)18
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/Activation.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/Activation.java)2
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/DesignSpaceExplorationAdapterImpl.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/DesignSpaceExplorationAdapterImpl.java)14
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/DesignSpaceExplorationBuilderImpl.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/DesignSpaceExplorationBuilderImpl.java)8
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/DesignSpaceExplorationStoreAdapterImpl.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/DesignSpaceExplorationStoreAdapterImpl.java)8
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/TransformationRule.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/TransformationRule.java)4
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/AlwaysSatisfiedDummyHardObjective.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/AlwaysSatisfiedDummyHardObjective.java)4
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/BaseObjective.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/BaseObjective.java)4
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/Comparators.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/Comparators.java)2
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/Fitness.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/Fitness.java)2
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/Objective.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/Objective.java)4
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/ObjectiveComparatorHelper.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/ObjectiveComparatorHelper.java)2
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/strategy/BestFirstStrategy.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/strategy/BestFirstStrategy.java)12
-rw-r--r--subprojects/store-dse/src/main/java/tools/refinery/store/dse/strategy/DepthFirstStrategy.java (renamed from subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/strategy/DepthFirstStrategy.java)10
-rw-r--r--subprojects/store-dse/src/test/java/tools/refinery/store/dse/CRAExamplesTest.java (renamed from subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/dse/CRAExamplesTest.java)8
-rw-r--r--subprojects/store-dse/src/test/java/tools/refinery/store/dse/DebugTest.java (renamed from subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/dse/DebugTest.java)8
-rw-r--r--subprojects/store-dse/src/test/java/tools/refinery/store/dse/DesignSpaceExplorationTest.java (renamed from subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/dse/DesignSpaceExplorationTest.java)8
-rw-r--r--subprojects/store-dse/src/test/java/tools/refinery/store/dse/TransformationRuleTest.java (renamed from subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/dse/TransformationRuleTest.java)6
-rw-r--r--subprojects/store-dse/src/test/java/tools/refinery/store/dse/tests/QueryAssertions.java57
25 files changed, 145 insertions, 74 deletions
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 8b53e7f7..0eae2800 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -14,6 +14,7 @@ include(
14 "language-semantics", 14 "language-semantics",
15 "language-web", 15 "language-web",
16 "store", 16 "store",
17 "store-dse",
17 "store-query", 18 "store-query",
18 "store-query-viatra", 19 "store-query-viatra",
19 "store-reasoning", 20 "store-reasoning",
diff --git a/subprojects/store-dse/build.gradle.kts b/subprojects/store-dse/build.gradle.kts
new file mode 100644
index 00000000..bb1dee7d
--- /dev/null
+++ b/subprojects/store-dse/build.gradle.kts
@@ -0,0 +1,16 @@
1/*
2 * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors <https://refinery.tools/>
3 *
4 * SPDX-License-Identifier: EPL-2.0
5 */
6
7plugins {
8 id("tools.refinery.gradle.java-library")
9}
10
11dependencies {
12 api(project(":refinery-store-query"))
13 api(project(":refinery-store-query-viatra"))
14 api(project(":refinery-store-reasoning"))
15 api(project(":refinery-visualization"))
16}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/ActionFactory.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/ActionFactory.java
index e2f452c3..2af22963 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/ActionFactory.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/ActionFactory.java
@@ -1,4 +1,4 @@
1package tools.refinery.store.query.dse; 1package tools.refinery.store.dse;
2 2
3import org.eclipse.collections.api.block.procedure.Procedure; 3import org.eclipse.collections.api.block.procedure.Procedure;
4import tools.refinery.store.model.Model; 4import tools.refinery.store.model.Model;
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/DesignSpaceExplorationAdapter.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/DesignSpaceExplorationAdapter.java
index ca780855..729a6fc9 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/DesignSpaceExplorationAdapter.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/DesignSpaceExplorationAdapter.java
@@ -1,11 +1,11 @@
1package tools.refinery.store.query.dse; 1package tools.refinery.store.dse;
2 2
3import tools.refinery.store.adapter.ModelAdapter; 3import tools.refinery.store.adapter.ModelAdapter;
4import tools.refinery.store.map.Version; 4import tools.refinery.store.map.Version;
5import tools.refinery.store.query.dse.internal.Activation; 5import tools.refinery.store.dse.internal.Activation;
6import tools.refinery.store.query.dse.internal.DesignSpaceExplorationBuilderImpl; 6import tools.refinery.store.dse.internal.DesignSpaceExplorationBuilderImpl;
7import tools.refinery.store.query.dse.objectives.Fitness; 7import tools.refinery.store.dse.objectives.Fitness;
8import tools.refinery.store.query.dse.objectives.ObjectiveComparatorHelper; 8import tools.refinery.store.dse.objectives.ObjectiveComparatorHelper;
9import tools.refinery.store.tuple.Tuple; 9import tools.refinery.store.tuple.Tuple;
10import tools.refinery.store.tuple.Tuple1; 10import tools.refinery.store.tuple.Tuple1;
11 11
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/DesignSpaceExplorationBuilder.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/DesignSpaceExplorationBuilder.java
index 58eac681..8ca0037d 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/DesignSpaceExplorationBuilder.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/DesignSpaceExplorationBuilder.java
@@ -1,10 +1,9 @@
1package tools.refinery.store.query.dse; 1package tools.refinery.store.dse;
2 2
3import tools.refinery.store.adapter.ModelAdapterBuilder; 3import tools.refinery.store.adapter.ModelAdapterBuilder;
4import tools.refinery.store.query.dnf.AnyQuery;
5import tools.refinery.store.query.dnf.RelationalQuery; 4import tools.refinery.store.query.dnf.RelationalQuery;
6import tools.refinery.store.query.dse.internal.TransformationRule; 5import tools.refinery.store.dse.internal.TransformationRule;
7import tools.refinery.store.query.dse.objectives.Objective; 6import tools.refinery.store.dse.objectives.Objective;
8 7
9import java.util.Collection; 8import java.util.Collection;
10import java.util.List; 9import java.util.List;
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/DesignSpaceExplorationStoreAdapter.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/DesignSpaceExplorationStoreAdapter.java
index 21b10f0e..5964cd82 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/DesignSpaceExplorationStoreAdapter.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/DesignSpaceExplorationStoreAdapter.java
@@ -1,4 +1,4 @@
1package tools.refinery.store.query.dse; 1package tools.refinery.store.dse;
2 2
3import tools.refinery.store.adapter.ModelStoreAdapter; 3import tools.refinery.store.adapter.ModelStoreAdapter;
4 4
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/Strategy.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/Strategy.java
index 0aeea818..cef43386 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/Strategy.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/Strategy.java
@@ -1,10 +1,8 @@
1package tools.refinery.store.query.dse; 1package tools.refinery.store.dse;
2 2
3import tools.refinery.store.model.Model; 3public interface Strategy {
4 4
5public interface Strategy { 5 public void initStrategy(DesignSpaceExplorationAdapter designSpaceExplorationAdapter);
6 6
7 public void initStrategy(DesignSpaceExplorationAdapter designSpaceExplorationAdapter); 7 public void explore();
8 8}
9 public void explore();
10}
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/Activation.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/Activation.java
index 82a4c978..f1de00e6 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/Activation.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/Activation.java
@@ -1,4 +1,4 @@
1package tools.refinery.store.query.dse.internal; 1package tools.refinery.store.dse.internal;
2 2
3import tools.refinery.store.tuple.Tuple; 3import tools.refinery.store.tuple.Tuple;
4 4
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/DesignSpaceExplorationAdapterImpl.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/DesignSpaceExplorationAdapterImpl.java
index d2a8e6fa..5fb54da9 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/DesignSpaceExplorationAdapterImpl.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/DesignSpaceExplorationAdapterImpl.java
@@ -1,16 +1,16 @@
1package tools.refinery.store.query.dse.internal; 1package tools.refinery.store.dse.internal;
2 2
3import tools.refinery.store.map.Version; 3import tools.refinery.store.map.Version;
4import tools.refinery.store.model.Interpretation; 4import tools.refinery.store.model.Interpretation;
5import tools.refinery.store.model.Model; 5import tools.refinery.store.model.Model;
6import tools.refinery.store.query.ModelQueryAdapter; 6import tools.refinery.store.query.ModelQueryAdapter;
7import tools.refinery.store.query.dnf.RelationalQuery; 7import tools.refinery.store.query.dnf.RelationalQuery;
8import tools.refinery.store.query.dse.DesignSpaceExplorationAdapter; 8import tools.refinery.store.dse.DesignSpaceExplorationAdapter;
9import tools.refinery.store.query.dse.DesignSpaceExplorationStoreAdapter; 9import tools.refinery.store.dse.DesignSpaceExplorationStoreAdapter;
10import tools.refinery.store.query.dse.Strategy; 10import tools.refinery.store.dse.Strategy;
11import tools.refinery.store.query.dse.objectives.Fitness; 11import tools.refinery.store.dse.objectives.Fitness;
12import tools.refinery.store.query.dse.objectives.Objective; 12import tools.refinery.store.dse.objectives.Objective;
13import tools.refinery.store.query.dse.objectives.ObjectiveComparatorHelper; 13import tools.refinery.store.dse.objectives.ObjectiveComparatorHelper;
14import tools.refinery.store.query.resultset.ResultSet; 14import tools.refinery.store.query.resultset.ResultSet;
15import tools.refinery.store.representation.Symbol; 15import tools.refinery.store.representation.Symbol;
16import tools.refinery.store.tuple.Tuple; 16import tools.refinery.store.tuple.Tuple;
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/DesignSpaceExplorationBuilderImpl.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/DesignSpaceExplorationBuilderImpl.java
index 638ec641..03508adc 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/DesignSpaceExplorationBuilderImpl.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/DesignSpaceExplorationBuilderImpl.java
@@ -1,12 +1,12 @@
1package tools.refinery.store.query.dse.internal; 1package tools.refinery.store.dse.internal;
2 2
3import tools.refinery.store.adapter.AbstractModelAdapterBuilder; 3import tools.refinery.store.adapter.AbstractModelAdapterBuilder;
4import tools.refinery.store.model.ModelStore; 4import tools.refinery.store.model.ModelStore;
5import tools.refinery.store.model.ModelStoreBuilder; 5import tools.refinery.store.model.ModelStoreBuilder;
6import tools.refinery.store.query.dnf.RelationalQuery; 6import tools.refinery.store.query.dnf.RelationalQuery;
7import tools.refinery.store.query.dse.DesignSpaceExplorationBuilder; 7import tools.refinery.store.dse.DesignSpaceExplorationBuilder;
8import tools.refinery.store.query.dse.Strategy; 8import tools.refinery.store.dse.Strategy;
9import tools.refinery.store.query.dse.objectives.Objective; 9import tools.refinery.store.dse.objectives.Objective;
10 10
11import java.util.LinkedHashSet; 11import java.util.LinkedHashSet;
12import java.util.LinkedList; 12import java.util.LinkedList;
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/DesignSpaceExplorationStoreAdapterImpl.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/DesignSpaceExplorationStoreAdapterImpl.java
index f58715b7..b06462ce 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/DesignSpaceExplorationStoreAdapterImpl.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/DesignSpaceExplorationStoreAdapterImpl.java
@@ -1,12 +1,12 @@
1package tools.refinery.store.query.dse.internal; 1package tools.refinery.store.dse.internal;
2 2
3import tools.refinery.store.adapter.ModelAdapter; 3import tools.refinery.store.adapter.ModelAdapter;
4import tools.refinery.store.model.Model; 4import tools.refinery.store.model.Model;
5import tools.refinery.store.model.ModelStore; 5import tools.refinery.store.model.ModelStore;
6import tools.refinery.store.query.dnf.RelationalQuery; 6import tools.refinery.store.query.dnf.RelationalQuery;
7import tools.refinery.store.query.dse.DesignSpaceExplorationStoreAdapter; 7import tools.refinery.store.dse.DesignSpaceExplorationStoreAdapter;
8import tools.refinery.store.query.dse.Strategy; 8import tools.refinery.store.dse.Strategy;
9import tools.refinery.store.query.dse.objectives.Objective; 9import tools.refinery.store.dse.objectives.Objective;
10 10
11import java.util.LinkedHashSet; 11import java.util.LinkedHashSet;
12import java.util.List; 12import java.util.List;
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/TransformationRule.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/TransformationRule.java
index 950ca930..ed2e77f1 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/internal/TransformationRule.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/internal/TransformationRule.java
@@ -1,10 +1,10 @@
1package tools.refinery.store.query.dse.internal; 1package tools.refinery.store.dse.internal;
2 2
3import org.eclipse.collections.api.block.procedure.Procedure; 3import org.eclipse.collections.api.block.procedure.Procedure;
4import tools.refinery.store.model.Model; 4import tools.refinery.store.model.Model;
5import tools.refinery.store.query.ModelQueryAdapter; 5import tools.refinery.store.query.ModelQueryAdapter;
6import tools.refinery.store.query.dnf.RelationalQuery; 6import tools.refinery.store.query.dnf.RelationalQuery;
7import tools.refinery.store.query.dse.ActionFactory; 7import tools.refinery.store.dse.ActionFactory;
8import tools.refinery.store.query.resultset.OrderedResultSet; 8import tools.refinery.store.query.resultset.OrderedResultSet;
9import tools.refinery.store.query.resultset.ResultSet; 9import tools.refinery.store.query.resultset.ResultSet;
10import tools.refinery.store.tuple.Tuple; 10import tools.refinery.store.tuple.Tuple;
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/AlwaysSatisfiedDummyHardObjective.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/AlwaysSatisfiedDummyHardObjective.java
index 26744d94..82695704 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/AlwaysSatisfiedDummyHardObjective.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/AlwaysSatisfiedDummyHardObjective.java
@@ -6,9 +6,9 @@
6 * 6 *
7 * SPDX-License-Identifier: EPL-2.0 7 * SPDX-License-Identifier: EPL-2.0
8 *******************************************************************************/ 8 *******************************************************************************/
9package tools.refinery.store.query.dse.objectives; 9package tools.refinery.store.dse.objectives;
10 10
11import tools.refinery.store.query.dse.DesignSpaceExplorationAdapter; 11import tools.refinery.store.dse.DesignSpaceExplorationAdapter;
12 12
13/** 13/**
14 * This hard objective is fulfilled in any circumstances. Use it if all states should be regarded as a valid solution. 14 * This hard objective is fulfilled in any circumstances. Use it if all states should be regarded as a valid solution.
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/BaseObjective.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/BaseObjective.java
index db8d5d7e..24e3280d 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/BaseObjective.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/BaseObjective.java
@@ -6,9 +6,9 @@
6 * 6 *
7 * SPDX-License-Identifier: EPL-2.0 7 * SPDX-License-Identifier: EPL-2.0
8 *******************************************************************************/ 8 *******************************************************************************/
9package tools.refinery.store.query.dse.objectives; 9package tools.refinery.store.dse.objectives;
10 10
11import tools.refinery.store.query.dse.DesignSpaceExplorationAdapter; 11import tools.refinery.store.dse.DesignSpaceExplorationAdapter;
12 12
13import java.util.Comparator; 13import java.util.Comparator;
14import java.util.Objects; 14import java.util.Objects;
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/Comparators.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/Comparators.java
index 7fba6736..e64e04e8 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/Comparators.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/Comparators.java
@@ -6,7 +6,7 @@
6 * 6 *
7 * SPDX-License-Identifier: EPL-2.0 7 * SPDX-License-Identifier: EPL-2.0
8 *******************************************************************************/ 8 *******************************************************************************/
9package tools.refinery.store.query.dse.objectives; 9package tools.refinery.store.dse.objectives;
10 10
11import java.util.Comparator; 11import java.util.Comparator;
12 12
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/Fitness.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/Fitness.java
index ea80ed55..16caed85 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/Fitness.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/Fitness.java
@@ -1,4 +1,4 @@
1package tools.refinery.store.query.dse.objectives; 1package tools.refinery.store.dse.objectives;
2 2
3import java.util.HashMap; 3import java.util.HashMap;
4 4
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/Objective.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/Objective.java
index df86f36a..4e14c9a3 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/Objective.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/Objective.java
@@ -6,9 +6,9 @@
6 * 6 *
7 * SPDX-License-Identifier: EPL-2.0 7 * SPDX-License-Identifier: EPL-2.0
8 *******************************************************************************/ 8 *******************************************************************************/
9package tools.refinery.store.query.dse.objectives; 9package tools.refinery.store.dse.objectives;
10 10
11import tools.refinery.store.query.dse.DesignSpaceExplorationAdapter; 11import tools.refinery.store.dse.DesignSpaceExplorationAdapter;
12 12
13import java.util.Comparator; 13import java.util.Comparator;
14 14
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/ObjectiveComparatorHelper.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/ObjectiveComparatorHelper.java
index 0c925096..3184b8c4 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/objectives/ObjectiveComparatorHelper.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/objectives/ObjectiveComparatorHelper.java
@@ -6,7 +6,7 @@
6 * 6 *
7 * SPDX-License-Identifier: EPL-2.0 7 * SPDX-License-Identifier: EPL-2.0
8 *******************************************************************************/ 8 *******************************************************************************/
9package tools.refinery.store.query.dse.objectives; 9package tools.refinery.store.dse.objectives;
10 10
11import java.util.List; 11import java.util.List;
12 12
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/strategy/BestFirstStrategy.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/strategy/BestFirstStrategy.java
index 6264c502..05cc5bac 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/strategy/BestFirstStrategy.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/strategy/BestFirstStrategy.java
@@ -1,11 +1,11 @@
1package tools.refinery.store.query.dse.strategy; 1package tools.refinery.store.dse.strategy;
2 2
3import tools.refinery.store.map.Version; 3import tools.refinery.store.map.Version;
4import tools.refinery.store.query.dse.DesignSpaceExplorationAdapter; 4import tools.refinery.store.dse.DesignSpaceExplorationAdapter;
5import tools.refinery.store.query.dse.Strategy; 5import tools.refinery.store.dse.Strategy;
6import tools.refinery.store.query.dse.internal.Activation; 6import tools.refinery.store.dse.internal.Activation;
7import tools.refinery.store.query.dse.objectives.Fitness; 7import tools.refinery.store.dse.objectives.Fitness;
8import tools.refinery.store.query.dse.objectives.ObjectiveComparatorHelper; 8import tools.refinery.store.dse.objectives.ObjectiveComparatorHelper;
9 9
10import java.util.Collection; 10import java.util.Collection;
11import java.util.Iterator; 11import java.util.Iterator;
diff --git a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/strategy/DepthFirstStrategy.java b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/strategy/DepthFirstStrategy.java
index 8192048a..42985013 100644
--- a/subprojects/store-query-viatra/src/main/java/tools/refinery/store/query/dse/strategy/DepthFirstStrategy.java
+++ b/subprojects/store-dse/src/main/java/tools/refinery/store/dse/strategy/DepthFirstStrategy.java
@@ -1,9 +1,9 @@
1package tools.refinery.store.query.dse.strategy; 1package tools.refinery.store.dse.strategy;
2 2
3import tools.refinery.store.query.dse.DesignSpaceExplorationAdapter; 3import tools.refinery.store.dse.DesignSpaceExplorationAdapter;
4import tools.refinery.store.query.dse.Strategy; 4import tools.refinery.store.dse.Strategy;
5import tools.refinery.store.query.dse.internal.Activation; 5import tools.refinery.store.dse.internal.Activation;
6import tools.refinery.store.query.dse.objectives.Fitness; 6import tools.refinery.store.dse.objectives.Fitness;
7 7
8import java.util.Collection; 8import java.util.Collection;
9 9
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/dse/CRAExamplesTest.java b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/CRAExamplesTest.java
index 2effb353..e7cc60d6 100644
--- a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/dse/CRAExamplesTest.java
+++ b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/CRAExamplesTest.java
@@ -1,13 +1,13 @@
1package tools.refinery.store.query.dse; 1package tools.refinery.store.dse;
2 2
3import org.junit.jupiter.api.Test; 3import org.junit.jupiter.api.Test;
4import tools.refinery.store.model.ModelStore; 4import tools.refinery.store.model.ModelStore;
5import tools.refinery.store.query.ModelQueryAdapter; 5import tools.refinery.store.query.ModelQueryAdapter;
6import tools.refinery.store.query.dnf.Query; 6import tools.refinery.store.query.dnf.Query;
7import tools.refinery.store.query.dnf.RelationalQuery; 7import tools.refinery.store.query.dnf.RelationalQuery;
8import tools.refinery.store.query.dse.internal.TransformationRule; 8import tools.refinery.store.dse.internal.TransformationRule;
9import tools.refinery.store.query.dse.strategy.BestFirstStrategy; 9import tools.refinery.store.dse.strategy.BestFirstStrategy;
10import tools.refinery.store.query.dse.strategy.DepthFirstStrategy; 10import tools.refinery.store.dse.strategy.DepthFirstStrategy;
11import tools.refinery.store.query.viatra.ViatraModelQueryAdapter; 11import tools.refinery.store.query.viatra.ViatraModelQueryAdapter;
12import tools.refinery.store.query.view.AnySymbolView; 12import tools.refinery.store.query.view.AnySymbolView;
13import tools.refinery.store.query.view.KeyOnlyView; 13import tools.refinery.store.query.view.KeyOnlyView;
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/dse/DebugTest.java b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/DebugTest.java
index 821be7e6..911c0661 100644
--- a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/dse/DebugTest.java
+++ b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/DebugTest.java
@@ -1,12 +1,12 @@
1package tools.refinery.store.query.dse; 1package tools.refinery.store.dse;
2 2
3import org.junit.jupiter.api.Test; 3import org.junit.jupiter.api.Test;
4import tools.refinery.store.model.ModelStore; 4import tools.refinery.store.model.ModelStore;
5import tools.refinery.store.query.ModelQueryAdapter; 5import tools.refinery.store.query.ModelQueryAdapter;
6import tools.refinery.store.query.dnf.Query; 6import tools.refinery.store.query.dnf.Query;
7import tools.refinery.store.query.dse.internal.TransformationRule; 7import tools.refinery.store.dse.internal.TransformationRule;
8import tools.refinery.store.query.dse.strategy.BestFirstStrategy; 8import tools.refinery.store.dse.strategy.BestFirstStrategy;
9import tools.refinery.store.query.dse.strategy.DepthFirstStrategy; 9import tools.refinery.store.dse.strategy.DepthFirstStrategy;
10import tools.refinery.store.query.viatra.ViatraModelQueryAdapter; 10import tools.refinery.store.query.viatra.ViatraModelQueryAdapter;
11import tools.refinery.store.query.view.AnySymbolView; 11import tools.refinery.store.query.view.AnySymbolView;
12import tools.refinery.store.query.view.KeyOnlyView; 12import tools.refinery.store.query.view.KeyOnlyView;
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/dse/DesignSpaceExplorationTest.java b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/DesignSpaceExplorationTest.java
index 59775b43..c454f4ec 100644
--- a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/dse/DesignSpaceExplorationTest.java
+++ b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/DesignSpaceExplorationTest.java
@@ -1,12 +1,12 @@
1package tools.refinery.store.query.dse; 1package tools.refinery.store.dse;
2 2
3import org.junit.jupiter.api.Test; 3import org.junit.jupiter.api.Test;
4import tools.refinery.store.model.ModelStore; 4import tools.refinery.store.model.ModelStore;
5import tools.refinery.store.query.ModelQueryAdapter; 5import tools.refinery.store.query.ModelQueryAdapter;
6import tools.refinery.store.query.dnf.Query; 6import tools.refinery.store.query.dnf.Query;
7import tools.refinery.store.query.dse.internal.TransformationRule; 7import tools.refinery.store.dse.internal.TransformationRule;
8import tools.refinery.store.query.dse.strategy.BestFirstStrategy; 8import tools.refinery.store.dse.strategy.BestFirstStrategy;
9import tools.refinery.store.query.dse.strategy.DepthFirstStrategy; 9import tools.refinery.store.dse.strategy.DepthFirstStrategy;
10import tools.refinery.store.query.viatra.ViatraModelQueryAdapter; 10import tools.refinery.store.query.viatra.ViatraModelQueryAdapter;
11import tools.refinery.store.query.view.AnySymbolView; 11import tools.refinery.store.query.view.AnySymbolView;
12import tools.refinery.store.query.view.KeyOnlyView; 12import tools.refinery.store.query.view.KeyOnlyView;
diff --git a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/dse/TransformationRuleTest.java b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/TransformationRuleTest.java
index 1fb3421b..a32d392b 100644
--- a/subprojects/store-query-viatra/src/test/java/tools/refinery/store/query/dse/TransformationRuleTest.java
+++ b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/TransformationRuleTest.java
@@ -1,10 +1,10 @@
1package tools.refinery.store.query.dse; 1package tools.refinery.store.dse;
2 2
3import org.junit.jupiter.api.Test; 3import org.junit.jupiter.api.Test;
4import tools.refinery.store.model.ModelStore; 4import tools.refinery.store.model.ModelStore;
5import tools.refinery.store.query.ModelQueryAdapter; 5import tools.refinery.store.query.ModelQueryAdapter;
6import tools.refinery.store.query.dnf.Query; 6import tools.refinery.store.query.dnf.Query;
7import tools.refinery.store.query.dse.internal.TransformationRule; 7import tools.refinery.store.dse.internal.TransformationRule;
8import tools.refinery.store.query.viatra.ViatraModelQueryAdapter; 8import tools.refinery.store.query.viatra.ViatraModelQueryAdapter;
9import tools.refinery.store.query.view.AnySymbolView; 9import tools.refinery.store.query.view.AnySymbolView;
10import tools.refinery.store.query.view.KeyOnlyView; 10import tools.refinery.store.query.view.KeyOnlyView;
@@ -16,7 +16,7 @@ import java.util.Map;
16 16
17import static org.junit.jupiter.api.Assertions.assertEquals; 17import static org.junit.jupiter.api.Assertions.assertEquals;
18import static tools.refinery.store.query.literal.Literals.not; 18import static tools.refinery.store.query.literal.Literals.not;
19import static tools.refinery.store.query.viatra.tests.QueryAssertions.assertResults; 19import static tools.refinery.store.dse.tests.QueryAssertions.assertResults;
20 20
21public class TransformationRuleTest { 21public class TransformationRuleTest {
22 22
diff --git a/subprojects/store-dse/src/test/java/tools/refinery/store/dse/tests/QueryAssertions.java b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/tests/QueryAssertions.java
new file mode 100644
index 00000000..be514eaf
--- /dev/null
+++ b/subprojects/store-dse/src/test/java/tools/refinery/store/dse/tests/QueryAssertions.java
@@ -0,0 +1,57 @@
1/*
2 * SPDX-FileCopyrightText: 2021-2023 The Refinery Authors <https://refinery.tools/>
3 *
4 * SPDX-License-Identifier: EPL-2.0
5 */
6package tools.refinery.store.dse.tests;
7
8import org.junit.jupiter.api.function.Executable;
9import tools.refinery.store.query.resultset.ResultSet;
10import tools.refinery.store.tuple.Tuple;
11
12import java.util.*;
13
14import static org.hamcrest.MatcherAssert.assertThat;
15import static org.hamcrest.Matchers.is;
16import static org.hamcrest.Matchers.nullValue;
17import static org.junit.jupiter.api.Assertions.assertAll;
18
19public final class QueryAssertions {
20 private QueryAssertions() {
21 throw new IllegalStateException("This is a static utility class and should not be instantiated directly");
22 }
23
24 public static <T> void assertNullableResults(Map<Tuple, Optional<T>> expected, ResultSet<T> resultSet) {
25 var nullableValuesMap = new LinkedHashMap<Tuple, T>(expected.size());
26 for (var entry : expected.entrySet()) {
27 nullableValuesMap.put(entry.getKey(), entry.getValue().orElse(null));
28 }
29 assertResults(nullableValuesMap, resultSet);
30 }
31
32 public static <T> void assertResults(Map<Tuple, T> expected, ResultSet<T> resultSet) {
33 var defaultValue = resultSet.getQuery().defaultValue();
34 var filteredExpected = new LinkedHashMap<Tuple, T>();
35 var executables = new ArrayList<Executable>();
36 for (var entry : expected.entrySet()) {
37 var key = entry.getKey();
38 var value = entry.getValue();
39 if (!Objects.equals(value, defaultValue)) {
40 filteredExpected.put(key, value);
41 }
42 executables.add(() -> assertThat("value for key " + key,resultSet.get(key), is(value)));
43 }
44 executables.add(() -> assertThat("results size", resultSet.size(), is(filteredExpected.size())));
45
46 var actual = new LinkedHashMap<Tuple, T>();
47 var cursor = resultSet.getAll();
48 while (cursor.move()) {
49 var key = cursor.getKey();
50 var previous = actual.put(key, cursor.getValue());
51 assertThat("duplicate value for key " + key, previous, nullValue());
52 }
53 executables.add(() -> assertThat("results cursor", actual, is(filteredExpected)));
54
55 assertAll(executables);
56 }
57}