handlers();
}
diff --git a/reactor/Core/src/jetbrains/mps/logic/reactor/program/Handler.java b/reactor/Core/src/jetbrains/mps/logic/reactor/program/RulesList.java
similarity index 87%
rename from reactor/Core/src/jetbrains/mps/logic/reactor/program/Handler.java
rename to reactor/Core/src/jetbrains/mps/logic/reactor/program/RulesList.java
index 625fef21..c2169f3f 100644
--- a/reactor/Core/src/jetbrains/mps/logic/reactor/program/Handler.java
+++ b/reactor/Core/src/jetbrains/mps/logic/reactor/program/RulesList.java
@@ -17,12 +17,11 @@
package jetbrains.mps.logic.reactor.program;
/**
- * A handler is a container of rules.
- *
- * FIXME to be renamed to RulesList
+ * A container for rules.
+ *
* @author Fedor Isakov
*/
-public abstract class Handler {
+public abstract class RulesList {
public abstract String name();
diff --git a/reactor/Test/src/program/MockProgram.kt b/reactor/Test/src/program/MockProgram.kt
index dc61a41b..22b44da3 100644
--- a/reactor/Test/src/program/MockProgram.kt
+++ b/reactor/Test/src/program/MockProgram.kt
@@ -2,7 +2,6 @@
* @author Fedor Isakov
*/
-import jetbrains.mps.logic.reactor.evaluation.EvaluationFeedback
import jetbrains.mps.logic.reactor.evaluation.InvocationContext
import jetbrains.mps.logic.reactor.evaluation.Supervisor
import jetbrains.mps.logic.reactor.logical.LogicalContext
@@ -14,13 +13,13 @@ import kotlin.collections.LinkedHashMap
class ProgramBuilder(val registry: MockConstraintRegistry) {
- fun program(name: String, handlers: List): Program {
- for (h in handlers) {
+ fun program(name: String, rulesLists: List): Program {
+ for (h in rulesLists) {
for (r in h.rules()) {
registry.update(r)
}
}
- return MockProgram(name, handlers, registry)
+ return MockProgram(name, rulesLists, registry)
}
}
@@ -29,8 +28,8 @@ class HandlerBuilder(val name: String) {
val rules = LinkedHashMap()
- constructor(name: String, handler: Handler) : this(name) {
- for (r in handler.rules()) {
+ constructor(name: String, rulesList: RulesList) : this(name) {
+ for (r in rulesList.rules()) {
appendRule(r)
}
}
@@ -39,7 +38,7 @@ class HandlerBuilder(val name: String) {
rules[rule.tag()] = rule
}
- fun toHandler(): Handler = MockHandler(name, rules.values.toList())
+ fun toHandler(): RulesList = MockHandler(name, rules.values.toList())
}
class RuleBuilder(val tag: String) {
@@ -66,7 +65,7 @@ class RuleBuilder(val tag: String) {
class MockHandler(
val name: String,
- val rules: List) : Handler() {
+ val rules: List) : RulesList() {
override fun name(): String = name
@@ -97,11 +96,11 @@ class MockRule(
else (kept + replaced).map { it as AndItem } + guard + body.flatten()
}
-class MockProgram(val name: String, val handlers: List, val registry: MockConstraintRegistry) : Program() {
+class MockProgram(val name: String, val rulesLists: List, val registry: MockConstraintRegistry) : Program() {
override fun name(): String = name
- override fun handlers(): Iterable = unmodifiableCollection(handlers)
+ override fun handlers(): Iterable = unmodifiableCollection(rulesLists)
}
diff --git a/reactor/Test/test/RulesHelper.kt b/reactor/Test/test/RulesHelper.kt
index 5a3819d4..0a5e05a2 100644
--- a/reactor/Test/test/RulesHelper.kt
+++ b/reactor/Test/test/RulesHelper.kt
@@ -10,14 +10,14 @@ import kotlin.collections.HashMap
* @author Fedor Isakov
*/
-class Builder(var handlers: List) : RuleLookup {
+class Builder(var rulesLists: List) : RuleLookup {
val tag2rule = HashMap()
val programBuilder = ProgramBuilder(MockConstraintRegistry())
init {
- handlers
+ rulesLists
.flatMap { it.rules() }
.forEach { r -> tag2rule[r.tag()] = r }
}
@@ -29,28 +29,28 @@ class Builder(var handlers: List) : RuleLookup {
fun ruleMatcher(): RuleMatcher = createRuleMatcher(this, rules.first().tag())
- fun program(name: String): Program = programBuilder.program(name, handlers)
+ fun program(name: String): Program = programBuilder.program(name, rulesLists)
}
-private fun createBuilder(handlerBlocks: Array Handler>): Builder {
- val handlers = ArrayList()
- for (block in handlerBlocks) {
+private fun createBuilder(rulesListBlocks: Array RulesList>): Builder {
+ val handlers = ArrayList()
+ for (block in rulesListBlocks) {
handlers.add(block())
}
return Builder(handlers)
}
-private fun updateBuilder(builder:Builder, handlerBlocks: Array Handler>): Builder {
- val name2handler = HashMap(builder.handlers.map { it.name() to it }.toMap())
- for (block in handlerBlocks) {
+private fun updateBuilder(builder:Builder, rulesListBlocks: Array RulesList>): Builder {
+ val name2handler = HashMap(builder.rulesLists.map { it.name() to it }.toMap())
+ for (block in rulesListBlocks) {
val h = block()
name2handler[h.name()] = h
}
return Builder(name2handler.values.toList())
}
-private fun createHandler(name: String, vararg ruleBlocks: () -> Rule): () -> Handler = {
+private fun createHandler(name: String, vararg ruleBlocks: () -> Rule): () -> RulesList = {
val hb = HandlerBuilder(name)
for (block in ruleBlocks) {
hb.appendRule(block())
@@ -58,8 +58,8 @@ private fun createHandler(name: String, vararg ruleBlocks: () -> Rule): () -> Ha
hb.toHandler()
}
-private fun updateHandler(name: String, handler: Handler, vararg ruleBlocks: () -> Rule): () -> Handler = {
- val hb = HandlerBuilder(name, handler)
+private fun updateHandler(name: String, rulesList: RulesList, vararg ruleBlocks: () -> Rule): () -> RulesList = {
+ val hb = HandlerBuilder(name, rulesList)
for (block in ruleBlocks) {
hb.appendRule(block())
}
@@ -72,7 +72,7 @@ fun programWithRules(vararg ruleBuilders: () -> Rule): Builder =
createBuilder(arrayOf(createHandler("test", * ruleBuilders)))
fun Builder.programWithRules(vararg ruleBuilders: () -> Rule): Builder =
- updateBuilder(this, arrayOf(updateHandler("test", handlers.first(), * ruleBuilders)))
+ updateBuilder(this, arrayOf(updateHandler("test", rulesLists.first(), * ruleBuilders)))
fun rule(tag: String, vararg component: RuleBuilder.() -> Unit): () -> Rule = {
val rb = RuleBuilder(tag)
diff --git a/reactor/Test/test/TestController.kt b/reactor/Test/test/TestController.kt
index a5e02e26..6e0a89a1 100644
--- a/reactor/Test/test/TestController.kt
+++ b/reactor/Test/test/TestController.kt
@@ -58,22 +58,22 @@ class TestController {
}
private fun Builder.controller(vararg occurrences: ConstraintOccurrence): Controller {
- val program = MockProgram("test", handlers, registry = MockConstraintRegistry())
+ val program = MockProgram("test", rulesLists, registry = MockConstraintRegistry())
MockSession.init(program, MockSupervisor())
- val controller = createController(MockSupervisor(), RuleIndex(program.handlers), storeView = MockStoreView(listOf(* occurrences)))
+ val controller = createController(MockSupervisor(), RuleIndex(program.rulesLists), storeView = MockStoreView(listOf(* occurrences)))
MockSession.ourBackend.session.controller = controller
return controller
}
private fun Builder.controllerWithFeedback(feedbackHandler: (Rule, EvaluationFeedback) -> Boolean,
vararg occurrences: ConstraintOccurrence): Controller {
- val program = MockProgram("test", handlers, registry = MockConstraintRegistry())
+ val program = MockProgram("test", rulesLists, registry = MockConstraintRegistry())
val supervisor = object : MockSupervisor() {
override fun handleFeedback(rule: Rule, feedback: EvaluationFeedback): Boolean =
feedbackHandler(rule, feedback)
}
MockSession.init(program, supervisor)
- val controller = createController(supervisor, RuleIndex(program.handlers), storeView = MockStoreView(listOf(* occurrences)))
+ val controller = createController(supervisor, RuleIndex(program.rulesLists), storeView = MockStoreView(listOf(* occurrences)))
MockSession.ourBackend.session.controller = controller
return controller
}
diff --git a/reactor/Test/test/TestRuleMatcher.kt b/reactor/Test/test/TestRuleMatcher.kt
index 6551f4dd..c55b44bc 100644
--- a/reactor/Test/test/TestRuleMatcher.kt
+++ b/reactor/Test/test/TestRuleMatcher.kt
@@ -545,7 +545,7 @@ class TestRuleMatcher {
constraint("qux")
))))
{
- with(Dispatcher(RuleIndex(handlers)).front()) {
+ with(Dispatcher(RuleIndex(rulesLists)).front()) {
expand(occurrence("foo")) }.apply {
matches().count() shouldBe 0 }.run {
@@ -587,7 +587,7 @@ class TestRuleMatcher {
constraint("qux")
))))
{
- with(Dispatcher(RuleIndex(handlers)).front()) {
+ with(Dispatcher(RuleIndex(rulesLists)).front()) {
expand(occurrence("foo")) }.apply {
matches().count() shouldBe 0 }.run {
@@ -656,7 +656,7 @@ class TestRuleMatcher {
constraint("qux")
))))
{
- with(Dispatcher(RuleIndex(handlers)).front()) {
+ with(Dispatcher(RuleIndex(rulesLists)).front()) {
expand(occurrence("blin")) }.apply {
matches().count() shouldBe 0 }.run {
@@ -706,7 +706,7 @@ class TestRuleMatcher {
constraint("qux")
))))
{
- with(Dispatcher(RuleIndex(handlers)).front()) {
+ with(Dispatcher(RuleIndex(rulesLists)).front()) {
expand(occurrence("foo")) }.apply {
matches().count() shouldBe 0 }.run {
@@ -759,7 +759,7 @@ class TestRuleMatcher {
))))
{
val bar = occurrence("bar")
- with(Dispatcher(RuleIndex(handlers)).front()) {
+ with(Dispatcher(RuleIndex(rulesLists)).front()) {
expand(occurrence("foo")) }.apply {
matches().count() shouldBe 0 }.run {