You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by jo...@apache.org on 2021/10/22 16:00:59 UTC
[isis] 01/03: ISIS-2348 EventStore refactored from object
(Singleton) to class
This is an automated email from the ASF dual-hosted git repository.
joergrade pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 59ec70a50d31d8f8765b52b9deca6d5460722744
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Fri Oct 22 12:44:01 2021 +0200
ISIS-2348 EventStore refactored from object (Singleton) to class
---
.../org/apache/isis/client/kroviz/core/Session.kt | 2 +
.../kroviz/core/aggregator/ErrorDispatcher.kt | 4 +-
.../isis/client/kroviz/core/event/EventStore.kt | 2 +-
.../isis/client/kroviz/core/event/ReplayCommand.kt | 6 +-
.../isis/client/kroviz/core/event/ResourceProxy.kt | 13 +-
.../client/kroviz/core/event/RoXmlHttpRequest.kt | 12 +-
.../isis/client/kroviz/core/model/ObjectDM.kt | 48 +++----
.../isis/client/kroviz/ui/core/MenuFactory.kt | 2 +-
.../apache/isis/client/kroviz/ui/core/RoIconBar.kt | 2 +-
.../apache/isis/client/kroviz/ui/core/RoMenuBar.kt | 2 +-
.../apache/isis/client/kroviz/ui/core/UiManager.kt | 10 +-
.../client/kroviz/ui/diagram/LinkTreeDiagram.kt | 2 +-
.../isis/client/kroviz/ui/dialog/DiagramDialog.kt | 2 +-
.../client/kroviz/ui/dialog/EventExportDialog.kt | 7 +-
.../isis/client/kroviz/ui/dialog/EventLogDetail.kt | 3 +-
.../client/kroviz/ui/panel/DynamicMenuBuilder.kt | 2 +-
.../apache/isis/client/kroviz/IntegrationTest.kt | 5 +-
.../core/aggregator/CollectionAggregatorTest.kt | 9 +-
.../client/kroviz/core/event/EventStoreTest.kt | 140 +++++++++++----------
.../org/apache/isis/client/kroviz/to/ActionTest.kt | 7 +-
.../isis/client/kroviz/to/ResultValueTest.kt | 3 +-
.../client/kroviz/ui/table/LinkTreeDiagramTest.kt | 24 ++--
22 files changed, 168 insertions(+), 139 deletions(-)
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/Session.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/Session.kt
index eee34ee..feb12f0 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/Session.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/Session.kt
@@ -18,6 +18,7 @@
*/
package org.apache.isis.client.kroviz.core
+import org.apache.isis.client.kroviz.core.event.EventStore
import org.apache.isis.client.kroviz.ui.core.UiManager
import org.apache.isis.client.kroviz.utils.StringUtils
@@ -28,6 +29,7 @@ class Session {
private var user: String = ""
private var pw: String = ""
var url: String = ""
+ val eventStore = EventStore()
fun login(url: String, user: String, pw: String) {
this.user = user
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/ErrorDispatcher.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/ErrorDispatcher.kt
index 89ccc28..35add14 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/ErrorDispatcher.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/ErrorDispatcher.kt
@@ -18,10 +18,10 @@
*/
package org.apache.isis.client.kroviz.core.aggregator
-import org.apache.isis.client.kroviz.core.event.EventStore
import org.apache.isis.client.kroviz.core.event.LogEntry
import org.apache.isis.client.kroviz.core.event.ResourceSpecification
import org.apache.isis.client.kroviz.to.HttpError
+import org.apache.isis.client.kroviz.ui.core.UiManager
import org.apache.isis.client.kroviz.ui.dialog.ErrorDialog
class ErrorDispatcher : BaseAggregator() {
@@ -31,7 +31,7 @@ class ErrorDispatcher : BaseAggregator() {
val url = logEntry.url
val message = error.message
val reSpec = ResourceSpecification(url)
- EventStore.fault(reSpec, message)
+ UiManager.getEventStore().fault(reSpec, message)
ErrorDialog(logEntry).open()
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/EventStore.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/EventStore.kt
index 75f6bec..a0ae52b 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/EventStore.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/EventStore.kt
@@ -37,7 +37,7 @@ import org.w3c.files.Blob
* @see "https://en.wikipedia.org/wiki/Proxy_pattern"
* @see "https://martinfowler.com/eaaDev/EventSourcing.html"
*/
-object EventStore {
+class EventStore {
var log = observableListOf<LogEntry>()
var logStartTime: Int = 0
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/ReplayCommand.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/ReplayCommand.kt
index d7b7ce6..4aa7604 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/ReplayCommand.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/ReplayCommand.kt
@@ -27,14 +27,16 @@ import org.apache.isis.client.kroviz.main
import org.apache.isis.client.kroviz.to.Link
import org.apache.isis.client.kroviz.to.Represention
import org.apache.isis.client.kroviz.to.TObject
+import org.apache.isis.client.kroviz.ui.core.UiManager
val AppScope = CoroutineScope(window.asCoroutineDispatcher())
class ReplayCommand {
fun execute() {
- val expectedEvents = copyEvents(EventStore.log)
- EventStore.reset()
+ val es = UiManager.getEventStore()
+ val expectedEvents = copyEvents(es.log)
+ es.reset()
main() // re-creates the UI, but keeps the UiManager(singleton/object) and the session
val replayEvents = filterReplayEvents(expectedEvents)
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/ResourceProxy.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/ResourceProxy.kt
index 5254e05..aeb5f2d 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/ResourceProxy.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/ResourceProxy.kt
@@ -26,6 +26,7 @@ import org.apache.isis.client.kroviz.handler.ResponseHandler
import org.apache.isis.client.kroviz.to.Link
import org.apache.isis.client.kroviz.to.TObject
import org.apache.isis.client.kroviz.ui.core.Constants
+import org.apache.isis.client.kroviz.ui.core.UiManager
import org.apache.isis.client.kroviz.ui.diagram.Node
import org.apache.isis.client.kroviz.ui.diagram.Tree
@@ -45,11 +46,12 @@ class ResourceProxy {
fun load(tObject: TObject) {
val aggregator = ObjectAggregator(tObject.title)
// ASSUMPTION: there can be max one LogEntry for an Object
- val le = EventStore.findBy(tObject)
+ val es = UiManager.getEventStore()
+ val le = es.findBy(tObject)
if (le != null) {
le.addAggregator(aggregator)
aggregator.update(le, le.subType)
- EventStore.addUserAction(aggregator, tObject)
+ es.addUserAction(aggregator, tObject)
}
}
@@ -59,7 +61,7 @@ class ResourceProxy {
isRest: Boolean = true,
referrer: String = "") {
val rs = ResourceSpecification(link.href, subType = subType, referrerUrl = referrer)
- val isCached = when (val le = EventStore.findBy(rs)) {
+ val isCached = when (val le = UiManager.getEventStore().findBy(rs)) {
null -> false
else -> le.isCached(rs, link.method)
}
@@ -83,7 +85,8 @@ class ResourceProxy {
}
private fun processCached(rs: ResourceSpecification, aggregator: BaseAggregator?) {
- val le = EventStore.findBy(rs)!!
+ val es = UiManager.getEventStore()
+ val le = es.findBy(rs)!!
le.retrieveResponse()
if (aggregator == null) {
ResponseHandler.handle(le)
@@ -91,7 +94,7 @@ class ResourceProxy {
aggregator.update(le, le.subType)
}
le.setCached()
- EventStore.updateStatus(le)
+ es.updateStatus(le)
}
fun invokeKroki(pumlCode: String, aggregator: SvgDispatcher) {
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/RoXmlHttpRequest.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/RoXmlHttpRequest.kt
index 00b933f..5f77a1e 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/RoXmlHttpRequest.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/RoXmlHttpRequest.kt
@@ -65,14 +65,14 @@ class RoXmlHttpRequest(val aggregator: BaseAggregator?) {
body.isEmpty() -> xhr.send()
else -> xhr.send(body)
}
- EventStore.start(rs, method, body, aggregator)
+ UiManager.getEventStore().start(rs, method, body, aggregator)
}
private fun buildBody(link: Link): String {
return when {
link.hasArguments() -> StringUtils.argumentsAsBody(link)
link.method == Method.PUT.operation -> {
- val logEntry = EventStore.findBy(aggregator!!)
+ val logEntry = UiManager.getEventStore().findBy(aggregator!!)
when (val obj = logEntry?.obj) {
is TObject -> StringUtils.propertiesAsBody(obj)
else -> ""
@@ -94,7 +94,7 @@ class RoXmlHttpRequest(val aggregator: BaseAggregator?) {
xhr.send(body)
val rs = buildResourceSpecificationAndSetupHandler(url, subType, body)
- EventStore.start(rs, method, body, aggregator)
+ UiManager.getEventStore().start(rs, method, body, aggregator)
}
internal fun invokeKroki(pumlCode: String) {
@@ -108,7 +108,7 @@ class RoXmlHttpRequest(val aggregator: BaseAggregator?) {
val rs = buildResourceSpecificationAndSetupHandler(url, Constants.subTypeJson, pumlCode)
xhr.send(pumlCode)
- EventStore.start(rs, method, pumlCode, aggregator)
+ UiManager.getEventStore().start(rs, method, pumlCode, aggregator)
}
private fun buildResourceSpecificationAndSetupHandler(
@@ -124,7 +124,7 @@ class RoXmlHttpRequest(val aggregator: BaseAggregator?) {
private fun handleResult(rs: ResourceSpecification, body: String) {
val response: Any? = xhr.response
- val le: LogEntry? = EventStore.end(rs, body, response)
+ val le: LogEntry? = UiManager.getEventStore().end(rs, body, response)
if (le != null) {
when {
aggregator == null -> ResponseHandler.handle(le)
@@ -137,7 +137,7 @@ class RoXmlHttpRequest(val aggregator: BaseAggregator?) {
private fun handleError(rs: ResourceSpecification) {
val responseText = xhr.responseText
- EventStore.fault(rs, responseText)
+ UiManager.getEventStore().fault(rs, responseText)
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/ObjectDM.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/ObjectDM.kt
index ec80bfb..94f4e07 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/ObjectDM.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/ObjectDM.kt
@@ -18,11 +18,10 @@
*/
package org.apache.isis.client.kroviz.core.model
-import org.apache.isis.client.kroviz.core.event.EventStore
-import org.apache.isis.client.kroviz.core.event.EventStore.findBy
import org.apache.isis.client.kroviz.core.event.ResourceProxy
import org.apache.isis.client.kroviz.core.event.ResourceSpecification
import org.apache.isis.client.kroviz.to.*
+import org.apache.isis.client.kroviz.ui.core.UiManager
class ObjectDM(override val title: String) : DisplayModelWithLayout() {
var data: Exposer? = null
@@ -30,7 +29,7 @@ class ObjectDM(override val title: String) : DisplayModelWithLayout() {
private var dirty: Boolean = false
override fun canBeDisplayed(): Boolean {
- // debug()
+ // debug()
return when {
isRendered -> false
(layout == null) && (grid == null) -> false
@@ -38,7 +37,7 @@ class ObjectDM(override val title: String) : DisplayModelWithLayout() {
}
}
- private fun debug() {
+ private fun debug() {
console.log("[]")
console.log("[ODM.debug] data / collections / layout / grid / properties / icon / aggregator / logEntries")
console.log(data)
@@ -51,10 +50,11 @@ class ObjectDM(override val title: String) : DisplayModelWithLayout() {
val delegate = (data as Exposer).delegate
val selfLink = delegate.getSelfLink()
val rs = ResourceSpecification(selfLink.href)
- val le = EventStore.findBy(rs)!!
+ val es = UiManager.getEventStore()
+ val le = es.findBy(rs)!!
val aggt = le.getAggregator()
console.log(aggt)
- val logEntries = EventStore.findAllBy(aggt)
+ val logEntries = es.findAllBy(aggt)
logEntries.forEach {
console.log(it)
}
@@ -94,12 +94,13 @@ class ObjectDM(override val title: String) : DisplayModelWithLayout() {
val getLink = tObject.links.first()
val href = getLink.href
val reSpec = ResourceSpecification(href)
+ val es = UiManager.getEventStore()
//WATCHOUT this is sequence dependent: GET and PUT share the same URL - if called after PUTting, it may fail
- val getLogEntry = findBy(reSpec)!!
+ val getLogEntry = es.findBy(reSpec)!!
getLogEntry.setReload()
val putLink = Link(method = Method.PUT.operation, href = href)
- val logEntry = findBy(reSpec)
+ val logEntry = es.findBy(reSpec)
val aggregator = logEntry?.getAggregator()!!
// there may be more than one aggt - which may break this code
@@ -117,27 +118,28 @@ class ObjectDM(override val title: String) : DisplayModelWithLayout() {
private fun createPropertyFrom(m: Member): Property {
return Property(
- id = m.id,
- memberType = m.memberType,
- links = m.links,
- optional = m.optional,
- title = m.id,
- value = m.value,
- extensions = m.extensions,
- format = m.format,
- disabledReason = m.disabledReason
+ id = m.id,
+ memberType = m.memberType,
+ links = m.links,
+ optional = m.optional,
+ title = m.id,
+ value = m.value,
+ extensions = m.extensions,
+ format = m.format,
+ disabledReason = m.disabledReason
)
}
private fun createObjectFrom(resultObject: ResultObject): TObject {
val r = resultObject.result!!
return TObject(
- links = r.links,
- extensions = r.extensions!!,
- title = r.title,
- domainType = r.domainType,
- instanceId = r.instanceId.toString(),
- members = r.members)
+ links = r.links,
+ extensions = r.extensions!!,
+ title = r.title,
+ domainType = r.domainType,
+ instanceId = r.instanceId.toString(),
+ members = r.members
+ )
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/MenuFactory.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/MenuFactory.kt
index 22e9cdb..3658bcf 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/MenuFactory.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/MenuFactory.kt
@@ -104,7 +104,7 @@ object MenuFactory {
}
private fun findMenuByTitle(menuTitle: String): Menu? {
- val menuBars = EventStore.findMenuBars()!!.obj as Menubars
+ val menuBars = UiManager.getEventStore().findMenuBars()!!.obj as Menubars
var menu = findMenu(menuBars.primary, menuTitle)
if (menu == null) menu = findMenu(menuBars.secondary, menuTitle)
if (menu == null) menu = findMenu(menuBars.tertiary, menuTitle)
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoIconBar.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoIconBar.kt
index ceece35..ddc7cff 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoIconBar.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoIconBar.kt
@@ -101,7 +101,7 @@ class RoIconBar : SimplePanel() {
private fun createObjectIcon(url: String): DropDown? {
val reSpec = ResourceSpecification(url)
- val logEntry = EventStore.findBy(reSpec)!!
+ val logEntry = UiManager.getEventStore().findBy(reSpec)!!
return when (val obj = logEntry.obj) {
(obj == null) -> null
is TObject -> {
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoMenuBar.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoMenuBar.kt
index c5903da..13f1610 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoMenuBar.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoMenuBar.kt
@@ -87,7 +87,7 @@ class RoMenuBar : SimplePanel() {
)
mainMenu.add(
- buildMenuEntry("Event Log", "History", { UiManager.add("Event Log", EventLogTable(EventStore.log)) })
+ buildMenuEntry("Event Log", "History", { UiManager.add("Event Log", EventLogTable(UiManager.getEventStore().log)) })
)
val chartTitle = "Sample Chart"
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/UiManager.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/UiManager.kt
index 16fa92f..d6f9ac7 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/UiManager.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/UiManager.kt
@@ -96,7 +96,7 @@ object UiManager {
fun add(title: String, panel: SimplePanel, aggregator: BaseAggregator = UndefinedDispatcher()) {
getRoView().addTab(title, panel)
- EventStore.addView(title, aggregator, panel)
+ getEventStore().addView(title, aggregator, panel)
}
fun remove(panel: SimplePanel) {
@@ -126,13 +126,13 @@ object UiManager {
tab.svg = svg
val aggregator: BaseAggregator = UndefinedDispatcher()
- EventStore.addView(title, aggregator, panel)
+ getEventStore().addView(title, aggregator, panel)
}
fun closeView(tab: SimplePanel) {
val tt = tab.title
if (tt != null) {
- EventStore.closeView(tt)
+ getEventStore().closeView(tt)
}
}
@@ -189,6 +189,10 @@ object UiManager {
}
}
+ fun getEventStore() : EventStore {
+ return getSession().eventStore
+ }
+
fun loadDomainTypes(): Boolean {
val k = "loadDomainTypes"
return when {
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/diagram/LinkTreeDiagram.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/diagram/LinkTreeDiagram.kt
index decb7c1..eae17e8 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/diagram/LinkTreeDiagram.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/diagram/LinkTreeDiagram.kt
@@ -48,7 +48,7 @@ object LinkTreeDiagram {
private fun toPumlCode(node: Node, level: Int): String {
val url = node.name
val rs = ResourceSpecification(url)
- val le = EventStore.findBy(rs)
+ val le = UiManager.getEventStore().findBy(rs)
val pc = PumlCode()
if (le != null) {
val title = StringUtils.shortTitle(url, protocolHostPort)
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/DiagramDialog.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/DiagramDialog.kt
index ed239bc..c04544b 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/DiagramDialog.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/DiagramDialog.kt
@@ -67,7 +67,7 @@ class DiagramDialog(
}
private fun getDiagramCode(): String {
- val logEntry = EventStore.findByDispatcher(callBack as UUID)
+ val logEntry = UiManager.getEventStore().findByDispatcher(callBack as UUID)
return logEntry.getResponse()
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/EventExportDialog.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/EventExportDialog.kt
index 445b9af..b41f475 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/EventExportDialog.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/EventExportDialog.kt
@@ -27,6 +27,7 @@ import org.apache.isis.client.kroviz.ui.core.RoDialog
import io.kvision.core.StringPair
import io.kvision.form.select.SimpleSelect
import org.apache.isis.client.kroviz.ui.core.FormItem
+import org.apache.isis.client.kroviz.ui.core.UiManager
class EventExportDialog() : Command() {
@@ -36,7 +37,7 @@ class EventExportDialog() : Command() {
val events = mutableListOf<ReplayEvent>()
private fun collectReplayEvents() {
- EventStore.log.forEach { it ->
+ UiManager.getEventStore().log.forEach { it ->
val re = buildExportEvent(it)
when (it.state) {
EventState.SUCCESS_JS -> events.add(re)
@@ -102,7 +103,7 @@ class EventExportDialog() : Command() {
}
private fun collectUnfinishedEvents() {
- EventStore.log.forEach { it ->
+ UiManager.getEventStore().log.forEach { it ->
val re = buildExportEvent(it)
when (it.state) {
EventState.RUNNING -> events.add(re)
@@ -114,7 +115,7 @@ class EventExportDialog() : Command() {
}
private fun collectAllEvents() {
- EventStore.log.forEach { it ->
+ UiManager.getEventStore().log.forEach { it ->
val re = buildExportEvent(it)
events.add(re)
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/EventLogDetail.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/EventLogDetail.kt
index cf63a15..8b49cc3 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/EventLogDetail.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/EventLogDetail.kt
@@ -26,6 +26,7 @@ import org.apache.isis.client.kroviz.to.bs3.Grid
import org.apache.isis.client.kroviz.ui.core.Constants
import org.apache.isis.client.kroviz.ui.core.FormItem
import org.apache.isis.client.kroviz.ui.core.RoDialog
+import org.apache.isis.client.kroviz.ui.core.UiManager
import org.apache.isis.client.kroviz.ui.diagram.JsonDiagram
import org.apache.isis.client.kroviz.ui.diagram.LayoutDiagram
import org.apache.isis.client.kroviz.ui.diagram.LinkTreeDiagram
@@ -41,7 +42,7 @@ class EventLogDetail(val logEntryFromTabulator: LogEntry) : Command() {
// For a yet unknown reason, aggregators are not transmitted via tabulator.
// As a WORKAROUND, we fetch the full blown LogEntry from the EventStore again.
val rs = ResourceSpecification(logEntryFromTabulator.title)
- logEntry = EventStore.findBy(rs) ?: logEntryFromTabulator // in case of xml, we use the entry passed in
+ logEntry = UiManager.getEventStore().findBy(rs) ?: logEntryFromTabulator // in case of xml, we use the entry passed in
}
// callback parameter
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/panel/DynamicMenuBuilder.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/panel/DynamicMenuBuilder.kt
index 7f01d61..6e9aba0 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/panel/DynamicMenuBuilder.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/panel/DynamicMenuBuilder.kt
@@ -60,7 +60,7 @@ class DynamicMenuBuilder {
val title = "Chart"
val a4 = buildMenuEntry(title, title, {
- UiManager.add(title, ChartFactory().build(EventStore.log))
+ UiManager.add(title, ChartFactory().build(UiManager.getEventStore().log))
})
menu.add(a4)
diff --git a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/IntegrationTest.kt b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/IntegrationTest.kt
index 8e15ff0..8214df4 100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/IntegrationTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/IntegrationTest.kt
@@ -67,12 +67,13 @@ open class IntegrationTest {
else -> Constants.subTypeJson
}
val reSpec = ResourceSpecification(response.url, subType)
- EventStore.start(
+ val es = EventStore()
+ es.start(
reSpec,
Method.GET.operation,
"",
aggregator)
- val le = EventStore.end(reSpec, str)!!
+ val le = es.end(reSpec, str)!!
ResponseHandler.handle(le)
wait(100)
return le
diff --git a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/aggregator/CollectionAggregatorTest.kt b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/aggregator/CollectionAggregatorTest.kt
index fd60757..557b0a6 100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/aggregator/CollectionAggregatorTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/aggregator/CollectionAggregatorTest.kt
@@ -19,12 +19,12 @@
package org.apache.isis.client.kroviz.core.aggregator
import org.apache.isis.client.kroviz.IntegrationTest
-import org.apache.isis.client.kroviz.core.event.EventStore
import org.apache.isis.client.kroviz.core.event.ResourceSpecification
import org.apache.isis.client.kroviz.core.model.CollectionDM
import org.apache.isis.client.kroviz.snapshots.simpleapp1_16_0.*
import org.apache.isis.client.kroviz.to.Property
import org.apache.isis.client.kroviz.to.Relation
+import org.apache.isis.client.kroviz.ui.core.UiManager
import kotlin.test.assertEquals
import kotlin.test.assertNotNull
import kotlin.test.assertTrue
@@ -37,14 +37,15 @@ class CollectionAggregatorTest : IntegrationTest() {
fun testFixtureResult() {
if (isAppAvailable()) {
// given
- EventStore.reset()
+ val es = UiManager.getEventStore()
+ es.reset()
val obs = CollectionAggregator("test")
// when
mockResponse(FR_OBJECT, obs)
mockResponse(FR_OBJECT_LAYOUT, obs)
mockResponse(FR_OBJECT_PROPERTY, obs)
val reSpec = ResourceSpecification(FR_OBJECT_PROPERTY.url)
- val pLe = EventStore.findBy(reSpec)!!
+ val pLe = es.findBy(reSpec)!!
val pdLe = mockResponse(FR_PROPERTY_DESCRIPTION, obs)
val layoutLe = mockResponse(FR_OBJECT_LAYOUT, obs)
@@ -81,7 +82,7 @@ class CollectionAggregatorTest : IntegrationTest() {
fun testService() {
if (isAppAvailable()) {
// given
- EventStore.reset()
+ UiManager.getEventStore().reset()
val obs = CollectionAggregator("test")
// when
mockResponse(SO_LIST_ALL, obs)
diff --git a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/event/EventStoreTest.kt b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/event/EventStoreTest.kt
index 8ab2beb..3513b45 100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/event/EventStoreTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/event/EventStoreTest.kt
@@ -39,21 +39,22 @@ class EventStoreTest : IntegrationTest() {
val url2 = Constants.krokiUrl + "plantuml"
val rs2 = ResourceSpecification(url2)
val body2 = "zwoa"
+ val es = EventStore()
// when
- EventStore.reset()
- EventStore.start(rs1, Method.POST.operation, body = body1)
- EventStore.start(rs2, Method.POST.operation, body = body2)
+ es.reset()
+ es.start(rs1, Method.POST.operation, body = body1)
+ es.start(rs2, Method.POST.operation, body = body2)
// then
- assertEquals(2, EventStore.log.size) //1
+ assertEquals(2, es.log.size) //1
console.log("[EST.testFindPlantuml]")
- val le1 = EventStore.findBy(rs1, body1)
+ val le1 = es.findBy(rs1, body1)
assertNotNull(le1) //2
console.log("le1: ${le1.toString()}")
- val le2 = EventStore.findBy(rs2, body2)
+ val le2 = es.findBy(rs2, body2)
assertNotNull(le2) //3
console.log("le2: ${le2.toString()}")
@@ -66,7 +67,8 @@ class EventStoreTest : IntegrationTest() {
fun testLayout() {
if (isAppAvailable()) {
// given
- EventStore.reset()
+ val es = EventStore()
+ es.reset()
val obs = CollectionAggregator("test")
//when
@@ -80,25 +82,26 @@ class EventStoreTest : IntegrationTest() {
mockResponse(SO_LAYOUT_XML, obs)
// then
- val soListLe = EventStore.findBy(soList)!!
+ val soListLe = es.findBy(soList)!!
assertEquals(Constants.subTypeJson, soListLe.subType) // 1
- val leJson = EventStore.findBy(rsJson)!!
+ val leJson = es.findBy(rsJson)!!
assertEquals(Constants.subTypeJson, leJson.subType) // 2
- val leXml = EventStore.findBy(rsXml)!!
+ val leXml = es.findBy(rsXml)!!
assertEquals(Constants.subTypeXml, leXml.subType) // 3
assertTrue(XmlHelper.isXml(leXml.response)) // 4
- assertTrue(EventStore.log.size > 3)
+ assertTrue(es.log.size > 3)
}
}
@Test
fun testSecondEntry() {
// given
- EventStore.reset()
- val initialSize: Int = EventStore.log.size
+ val es = EventStore()
+ es.reset()
+ val initialSize: Int = es.log.size
val myFirst = "1"
val myLast = "n"
val method = Method.GET.operation
@@ -111,24 +114,24 @@ class EventStoreTest : IntegrationTest() {
val selfSpec = ResourceSpecification(selfUrl)
val upSpec = ResourceSpecification(upUrl)
// when
- EventStore.start(selfSpec, method, body = myFirst)
- EventStore.start(upSpec, method, body = myFirst)
- EventStore.end(selfSpec, selfStr)
- EventStore.end(upSpec, upStr)
- EventStore.start(selfSpec, method, body = myLast)
- EventStore.start(upSpec, method, body = myLast)
+ es.start(selfSpec, method, body = myFirst)
+ es.start(upSpec, method, body = myFirst)
+ es.end(selfSpec, selfStr)
+ es.end(upSpec, upStr)
+ es.start(selfSpec, method, body = myLast)
+ es.start(upSpec, method, body = myLast)
// then
- val currentSize: Int = EventStore.log.size
+ val currentSize: Int = es.log.size
assertEquals(4 + initialSize, currentSize) //1
// Entries with the same key can be written, but when updated or retrieved the first (oldest) entry should be used
//when
- val le2 = EventStore.findBy(selfSpec)!!
+ val le2 = es.findBy(selfSpec)!!
//then
assertEquals(myFirst, le2.request) //2
assertEquals(selfStr.length, le2.response.length) //3
//when
- val leU = EventStore.findBy(upSpec)!!
+ val leU = es.findBy(upSpec)!!
//then
assertEquals(myFirst, leU.request) //4
assertEquals(upStr.length, leU.response.length) //5
@@ -143,31 +146,33 @@ class EventStoreTest : IntegrationTest() {
val i1 = "Test (1)"
val i2 = "Test (2)"
val agg = ObjectAggregator("testFindView")
+ val es = EventStore()
// construct list with urls
- EventStore.add(h1Spec)
- EventStore.addView(i1, agg, VPanel())
- EventStore.add(h2Spec)
- EventStore.addView(i2, agg, VPanel())
+ es.add(h1Spec)
+ es.addView(i1, agg, VPanel())
+ es.add(h2Spec)
+ es.addView(i2, agg, VPanel())
- val le1 = EventStore.findBy(h1Spec)!!
+ val le1 = es.findBy(h1Spec)!!
assertEquals(h1, le1.url) //1
- val le2 = EventStore.findBy(h2Spec)!!
+ val le2 = es.findBy(h2Spec)!!
assertEquals(h2, le2.url) //2
- val le3 = EventStore.findView(i2)
+ val le3 = es.findView(i2)
assertNotNull(le3) //3
- val le4 = EventStore.findView(i1)
+ val le4 = es.findView(i1)
assertNotNull(le4) //4
- EventStore.closeView(i1)
+ es.closeView(i1)
assertTrue(le4.isClosedView())
}
@Test
fun testFind() {
- EventStore.reset()
+ val es = EventStore()
+ es.reset()
val ol1 = "http://localhost:8080/restful/objects/simple.SimpleObject/51/object-layout"
val ol1Spec = ResourceSpecification(ol1)
val ol2 = "http://localhost:8080/restful/objects/simple.SimpleObject/52/object-layout"
@@ -177,25 +182,25 @@ class EventStoreTest : IntegrationTest() {
val olx = "http://localhost:8080/restful/objects/simple.SimpleObject/object-layout"
// construct list with urls
- EventStore.add(ol1Spec)
- EventStore.add(ResourceSpecification(ol2))
- EventStore.add(ResourceSpecification(ol3))
+ es.add(ol1Spec)
+ es.add(ResourceSpecification(ol2))
+ es.add(ResourceSpecification(ol3))
- val le1 = EventStore.findBy(ol1Spec)
+ val le1 = es.findBy(ol1Spec)
assertNotNull(le1) //1
- val le2 = EventStore.findExact(ol9Spec)
+ val le2 = es.findExact(ol9Spec)
assertEquals(null, le2) //2
- val le3 = EventStore.findEquivalent(ol9Spec)
+ val le3 = es.findEquivalent(ol9Spec)
assertNotNull(le3) //3
assertEquals(ol1, le3.url) //4
- val le4 = EventStore.findBy(ol9Spec)
+ val le4 = es.findBy(ol9Spec)
assertEquals(le3, le4) //5
val olxSpec = ResourceSpecification(olx)
- val le5 = EventStore.findEquivalent(olxSpec)
+ val le5 = es.findEquivalent(olxSpec)
assertNull(le5) //6
val p1 = "http://localhost:8080/restful/objects/simple.SimpleObject/11/properties/name"
@@ -204,10 +209,10 @@ class EventStoreTest : IntegrationTest() {
val p2Spec = ResourceSpecification(p2)
val p3 = "http://localhost:8080/restful/objects/simple.SimpleObject/13/properties/name"
val p3Spec = ResourceSpecification(p3)
- EventStore.add(p1Spec)
- EventStore.add(p2Spec)
- EventStore.add(p3Spec)
- val le6 = EventStore.findBy(p3Spec)
+ es.add(p1Spec)
+ es.add(p2Spec)
+ es.add(p3Spec)
+ val le6 = es.findBy(p3Spec)
assertNotNull(le6) //7
assertEquals(le6.url, p1) //8
@@ -215,29 +220,30 @@ class EventStoreTest : IntegrationTest() {
val pNameSpec = ResourceSpecification(pName)
val pNotes = "http://localhost:8080/restful/domain-types/simple.SimpleObject/properties/notes"
val pNotesSpec = ResourceSpecification(pNotes)
- EventStore.add(pNameSpec)
- EventStore.add(pNotesSpec)
- val le7 = EventStore.findBy(pNotesSpec)
+ es.add(pNameSpec)
+ es.add(pNotesSpec)
+ val le7 = es.findBy(pNotesSpec)
assertNotNull(le7) //9
assertEquals(le7.url, pNotes) //10
}
@Test
fun testFindEquivalent_ConfigurationLayout() {
- EventStore.reset()
+ val es = EventStore()
+ es.reset()
val ol1 = "http://localhost:8080/restful/objects/isisApplib.ConfigurationProperty/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI_Pgo8Y29uZmlndXJhdGlvblByb3BlcnR5PgogICAgPGtleT5pc2lzLnBlcnNpc3Rvci5kYXRhbnVjbGV1cy5pbXBsLmRhdGFudWNsZXVzLmNhY2hlLmxldmVsMi50eXBlPC9rZXk-CiAgICA8dmFsdWU-bm9uZTwvdmFsdWU-CjwvY29uZmlndXJhdGlvblByb3BlcnR5Pgo=/object-layout"
val ol1Spec = ResourceSpecification(ol1)
val ol2 = "http://localhost:8080/restful/objects/isisApplib.ConfigurationProperty/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9InllcyI_Pgo8Y29uZmlndXJhdGlvblByb3BlcnR5PgogICAgPGtleT5pc2lzLnJlZmxlY3Rvci52YWxpZGF0b3Iuc2VydmljZUFjdGlvbnNPbmx5PC9rZXk-CiAgICA8dmFsdWU-dHJ1ZTwvdmFsdWU-CjwvY29uZmlndXJhdGlvblByb3BlcnR5Pgo=/object-layout"
val ol2Spec = ResourceSpecification(ol2)
// construct list with urls
- EventStore.add(ol1Spec)
- EventStore.add(ol2Spec)
+ es.add(ol1Spec)
+ es.add(ol2Spec)
- val le1 = EventStore.findBy(ol1Spec)
+ val le1 = es.findBy(ol1Spec)
assertNotNull(le1) //1
- val le2 = EventStore.findEquivalent(ol2Spec)
+ val le2 = es.findEquivalent(ol2Spec)
assertNotNull(le2) //2
assertEquals(ol1, le2.url) //3
}
@@ -245,18 +251,19 @@ class EventStoreTest : IntegrationTest() {
@Test
fun testAnonymousEntry() {
// given
- EventStore.reset()
+ val es = EventStore()
+ es.reset()
val method = Method.POST.operation
val url = Constants.krokiUrl
val rs = ResourceSpecification(url)
// when
- EventStore.start(rs, method, body = "first invocation")
- EventStore.start(rs, method, body = "second invocation")
- EventStore.end(rs, "first response")
+ es.start(rs, method, body = "first invocation")
+ es.start(rs, method, body = "second invocation")
+ es.end(rs, "first response")
// then
- val currentSize: Int = EventStore.log.size
+ val currentSize: Int = es.log.size
assertEquals(2, currentSize) //1
- val le = EventStore.findBy(rs)!!
+ val le = es.findBy(rs)!!
assertEquals("first response", le.response)
}
@@ -269,19 +276,20 @@ class EventStoreTest : IntegrationTest() {
val rs2 = ResourceSpecification(url2)
//when
- EventStore.reset()
- EventStore.add(rs1)
- EventStore.add(rs2)
- val le1 = EventStore.findBy(rs1)
- val le2 = EventStore.findBy(rs2)
+ val es = EventStore()
+ es.reset()
+ es.add(rs1)
+ es.add(rs2)
+ val le1 = es.findBy(rs1)
+ val le2 = es.findBy(rs2)
//then
- assertEquals(2, EventStore.log.size)
+ assertEquals(2, es.log.size)
assertNotEquals(le1, le2)
//when
- val le1eq = EventStore.findEquivalent(rs1)
- val le2eq = EventStore.findEquivalent(rs2)
+ val le1eq = es.findEquivalent(rs1)
+ val le2eq = es.findEquivalent(rs2)
//then
assertNotEquals(le1eq, le2eq)
diff --git a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ActionTest.kt b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ActionTest.kt
index 26dea78..11abd50 100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ActionTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ActionTest.kt
@@ -20,11 +20,11 @@ package org.apache.isis.client.kroviz.to
import org.apache.isis.client.kroviz.IntegrationTest
import org.apache.isis.client.kroviz.core.aggregator.ActionDispatcher
-import org.apache.isis.client.kroviz.core.event.EventStore
import org.apache.isis.client.kroviz.core.event.ResourceProxy
import org.apache.isis.client.kroviz.core.event.ResourceSpecification
import org.apache.isis.client.kroviz.handler.ActionHandler
import org.apache.isis.client.kroviz.snapshots.simpleapp1_16_0.*
+import org.apache.isis.client.kroviz.ui.core.UiManager
import org.apache.isis.client.kroviz.utils.StringUtils
import kotlin.test.Test
import kotlin.test.assertEquals
@@ -64,8 +64,9 @@ class ActionTest : IntegrationTest() {
console.log(json)
ResourceProxy().fetch(link, ActionDispatcher())
val urlSpec = ResourceSpecification(url)
- val le = EventStore.findBy(urlSpec)!!
- console.log(EventStore.log)
+ val es = UiManager.getEventStore()
+ val le = es.findBy(urlSpec)!!
+ console.log(es.log)
console.log(le)
assertTrue(!le.isError())
}
diff --git a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ResultValueTest.kt b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ResultValueTest.kt
index e84cf73..29a93ff 100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ResultValueTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ResultValueTest.kt
@@ -25,6 +25,7 @@ import org.apache.isis.client.kroviz.core.event.EventStore
import org.apache.isis.client.kroviz.handler.ResultValueHandler
import org.apache.isis.client.kroviz.snapshots.simpleapp1_16_0.ACTIONS_DOWNLOAD_VALUE
import org.apache.isis.client.kroviz.snapshots.simpleapp1_16_0.ACTIONS_OPEN_SWAGGER_UI
+import org.apache.isis.client.kroviz.ui.core.UiManager
import kotlin.test.Test
import kotlin.test.assertEquals
@@ -48,7 +49,7 @@ class ResultValueTest : IntegrationTest() {
// given
val aggregator = ObjectAggregator("object test")
// when
- EventStore.reset()
+ UiManager.getEventStore().reset()
val logEntry = mockResponse(ACTIONS_DOWNLOAD_VALUE, aggregator)
val ro = logEntry.getTransferObject() as ResultValue
val type = ro.resulttype
diff --git a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/ui/table/LinkTreeDiagramTest.kt b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/ui/table/LinkTreeDiagramTest.kt
index 90bdf8e..f1bc3c7 100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/ui/table/LinkTreeDiagramTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/ui/table/LinkTreeDiagramTest.kt
@@ -34,19 +34,21 @@ class LinkTreeDiagramTest {
//@Test //TODO rework test to use AggregatorWithLayout
fun testLinkTreeDiagram() {
+ // given
+ val es = EventStore()
//when
val aggregator = SystemAggregator()
- load(RESTFUL, "", RestfulHandler(), aggregator)
+ load(RESTFUL, "", RestfulHandler(), aggregator, es)
val referer = RESTFUL.url
- load(RESTFUL_SERVICES, referer, ServiceHandler(), aggregator)
- load(RESTFUL_USER, referer, UserHandler(), aggregator)
- load(RESTFUL_MENUBARS, referer, MenuBarsHandler(), aggregator)
- load(RESTFUL_VERSION, referer, VersionHandler(), aggregator)
- load(RESTFUL_DOMAIN_TYPES, referer, DomainTypesHandler(), aggregator)
+ load(RESTFUL_SERVICES, referer, ServiceHandler(), aggregator, es)
+ load(RESTFUL_USER, referer, UserHandler(), aggregator, es)
+ load(RESTFUL_MENUBARS, referer, MenuBarsHandler(), aggregator, es)
+ load(RESTFUL_VERSION, referer, VersionHandler(), aggregator, es)
+ load(RESTFUL_DOMAIN_TYPES, referer, DomainTypesHandler(), aggregator, es)
// then
- assertTrue(EventStore.log.size >= 6)
+ assertTrue(es.log.size >= 6)
val rootRs = ResourceSpecification(RESTFUL.url)
- val rootLogEntry = EventStore.findBy(rootRs)
+ val rootLogEntry = es.findBy(rootRs)
assertNotNull(rootLogEntry) //1
// when
@@ -60,10 +62,10 @@ class LinkTreeDiagramTest {
assertTrue(code.contains("http://localhost:8080/restful/menuBars"))
}
- private fun load(response: Response, referer: String, handler: BaseHandler, aggregator: SystemAggregator) {
+ private fun load(response: Response, referer: String, handler: BaseHandler, aggregator: SystemAggregator, es: EventStore) {
val rs = ResourceSpecification(response.url, referrerUrl = referer)
- EventStore.start(rs, Method.GET.operation, aggregator = aggregator)
- val le = EventStore.end(rs, response.str)!!
+ es.start(rs, Method.GET.operation, aggregator = aggregator)
+ val le = es.end(rs, response.str)!!
val tObj = handler.parse(response.str)!!
le.setTransferObject(tObj)
}