This is an automated email from the ASF dual-hosted git repository. joergrade pushed a commit to branch ISIS-3171 in repository https://gitbox.apache.org/repos/asf/isis.git
commit ae4d83d6a9b92ff26851b1d90c0797cd2287acba Author: Jörg Rade <[email protected]> AuthorDate: Thu Dec 29 00:35:04 2022 +0100 ISIS-3171 columns in parented collections not hidden by default --- .../partials/design/class-diagram_aggregator.adoc | 10 +- .../partials/design/class-diagram_layout.adoc | 101 +++++++++++++++++++++ incubator/clients/kroviz/build.gradle.kts | 2 +- .../kroviz/core/aggregator/AggregatorWithLayout.kt | 12 +-- .../kroviz/core/aggregator/CollectionAggregator.kt | 10 +- .../kroviz/core/aggregator/ObjectAggregator.kt | 9 +- .../causeway/client/kroviz/core/event/LogEntry.kt | 25 +++-- .../client/kroviz/core/model/CollectionDM.kt | 2 + .../kroviz/core/model/CollectionProperties.kt | 88 ++++++++++-------- ...CollectionProperties.kt => ColumnProperties.kt} | 72 +++------------ .../kroviz/core/model/DisplayModelWithLayout.kt | 31 +++---- .../causeway/client/kroviz/core/model/ObjectDM.kt | 6 +- .../client/kroviz/handler/LayoutXmlHandler.kt | 4 +- .../kroviz/to/{bs3/Action.kt => bs/ActionBs.kt} | 8 +- .../client/kroviz/to/{bs3/Col.kt => bs/ColBs.kt} | 32 +++---- .../to/{bs3/Collection.kt => bs/CollectionBs.kt} | 8 +- .../{bs3/DomainObject.kt => bs/DomainObjectBs.kt} | 4 +- .../to/{bs3/FieldSet.kt => bs/FieldSetBs.kt} | 12 +-- .../client/kroviz/to/{bs3/Grid.kt => bs/GridBs.kt} | 12 +-- .../client/kroviz/to/{bs3/Link.kt => bs/LinkBs.kt} | 4 +- .../to/{bs3/Property.kt => bs/PropertyBs.kt} | 10 +- .../client/kroviz/to/{bs3/Row.kt => bs/RowBs.kt} | 12 +-- .../client/kroviz/to/{bs3/Tab.kt => bs/TabBs.kt} | 12 +-- .../to/{bs3/TabGroup.kt => bs/TabGroupBs.kt} | 12 +-- .../client/kroviz/to/{bs3 => bs}/XmlLayout.kt | 2 +- .../client/kroviz/ui/builder/ColBuilder.kt | 8 +- .../client/kroviz/ui/builder/FieldSetBuilder.kt | 23 ++--- .../client/kroviz/ui/builder/LayoutBuilder.kt | 4 +- .../client/kroviz/ui/builder/RowBuilder.kt | 17 ++-- .../client/kroviz/ui/builder/TabBuilder.kt | 6 +- .../client/kroviz/ui/builder/TabGroupBuilder.kt | 6 +- .../client/kroviz/ui/core/ColumnFactory.kt | 2 +- .../client/kroviz/ui/diagram/LayoutDiagram.kt | 12 +-- .../client/kroviz/ui/dialog/EventLogDetail.kt | 9 +- .../core/aggregator/CollectionAggregatorTest.kt | 4 +- .../client/kroviz/core/model/CollectionDMTest.kt | 6 +- .../client/kroviz/to/{bs3 => bs}/LayoutXmlTest.kt | 8 +- 37 files changed, 339 insertions(+), 266 deletions(-) diff --git a/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_aggregator.adoc b/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_aggregator.adoc index 0b4462c025..a410388c44 100644 --- a/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_aggregator.adoc +++ b/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_aggregator.adoc @@ -31,10 +31,10 @@ package "to" { TransferObject <|-- TObject TransferObject <|-- Icon - package "bs3" { - class Grid{} + package "bs" { + class GridBs{} } - TransferObject <|- Grid + TransferObject <|- GridBs } package "aggregator" { @@ -98,8 +98,8 @@ package "model" { abstract class DisplayModelWithLayout { layout: Layout - grid: Grid - properties: CollectionProperties + grid: GridBs + collectionProperties: CollectionProperties icon: Icon + canBeDisplayed() } diff --git a/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_layout.adoc b/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_layout.adoc new file mode 100644 index 0000000000..b1cc26b987 --- /dev/null +++ b/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_layout.adoc @@ -0,0 +1,101 @@ +:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...] + +.Layout Diagram +[plantuml,file="class-diagram_layout.png"] +---- +@startuml + +class Property{ +} +class PropertyLt{ +} +class PropertyBs{ +} + +class ColumnProperties{ + property: Property + friendlyName: String + layout: PropertyLt + grid: PropertyBs + hidden: Boolean +} +ColumnProperties o-- Property +ColumnProperties o-- PropertyLt +ColumnProperties o-- PropertyBs +class CollectionProperties { + list : List<ColumnProperties> + propertyDescriptionList : List<Property> + propertyLayoutList : List<PropertyLt> + propertyGridList : List<PropertyBs> + propertyList : List<Property> + descriptionsComplete:Boolean +} +CollectionProperties o-- Property +CollectionProperties o-- PropertyLt +CollectionProperties o-- PropertyBs +CollectionProperties o-- ColumnProperties + +class Exposer { + delegate: TObject + iconName: String + + dynamise() + + get(propertyName: String) + + setIcon(icon: Icon) +} +note as ExposerNote +dynamise() and get() +use <b>Kotlin/JS</b> function +<b>asDynamic()</b> +end note +Exposer..ExposerNote + +abstract class BaseDisplayModel { + isRendered:Boolean + title:String + {abstract} canBeDisplayed():Boolean +} + +abstract class DisplayModelWithLayout { + layout: Layout + grid: Grid + collectionProperties: CollectionProperties + icon: Icon + + canBeDisplayed() +} + +DisplayModelWithLayout --> CollectionProperties + +class ObjectDM { + + data:Exposer + + collections:Map<String,CollectionDM> + - dirty:Boolean + + canBeDisplayed() +} +note left of ObjectDM::dirty +Used in +UI editing +to signal +object +change. +end note + +class CollectionDM { + data:List<Exposer> + - rawData:List<TransferObject> +} + +ObjectDM --> Exposer +CollectionDM o-- Exposer + +BaseDisplayModel <|-- DisplayModelWithLayout +DisplayModelWithLayout <|-- CollectionDM +DisplayModelWithLayout <|-- ObjectDM +ObjectDM o-- CollectionDM +note left on link +An <b>ObjectDM</b> +can have zero or more +<b><i>parented collections</i></b>. +end note + +@enduml +---- diff --git a/incubator/clients/kroviz/build.gradle.kts b/incubator/clients/kroviz/build.gradle.kts index 0b4c1b2210..8101aa2faa 100644 --- a/incubator/clients/kroviz/build.gradle.kts +++ b/incubator/clients/kroviz/build.gradle.kts @@ -108,7 +108,7 @@ kotlin { implementation(npm("xterm", "4.15.0", false)) implementation(npm("pdfjs", "2.4.7", false)) implementation(npm("vega", "5.22.1", false)) - implementation(npm("vega-lite", "5.4.0", true)) +// implementation(npm("vega-lite", "5.6.0", true)) implementation(npm("element-resize-event", "3.0.6", false)) } sourceSets["test"].dependencies { diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/AggregatorWithLayout.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/AggregatorWithLayout.kt index 5fc5c9eb77..36abb3376e 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/AggregatorWithLayout.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/AggregatorWithLayout.kt @@ -21,10 +21,9 @@ package org.apache.causeway.client.kroviz.core.aggregator import org.apache.causeway.client.kroviz.core.event.LogEntry import org.apache.causeway.client.kroviz.core.event.ResourceProxy import org.apache.causeway.client.kroviz.core.model.DisplayModelWithLayout -import org.apache.causeway.client.kroviz.core.model.ObjectDM import org.apache.causeway.client.kroviz.layout.Layout import org.apache.causeway.client.kroviz.to.* -import org.apache.causeway.client.kroviz.to.bs3.Grid +import org.apache.causeway.client.kroviz.to.bs.GridBs import org.apache.causeway.client.kroviz.ui.core.Constants import org.apache.causeway.client.kroviz.ui.diagram.Tree @@ -43,7 +42,7 @@ abstract class AggregatorWithLayout : BaseAggregator() { console.log(layout) if (dm.layout == null) { dm.addLayout(layout) - dm.properties.propertyLayoutList.forEach { p -> + dm.collectionProperties.propertyLayoutList.forEach { p -> val l = p.link if (l == null) { console.log(p.id + " link empty") // ISIS-2846 @@ -59,8 +58,7 @@ abstract class AggregatorWithLayout : BaseAggregator() { } } - protected fun handleGrid(grid: Grid, dm: DisplayModelWithLayout, referrer: String) { - (dpm as ObjectDM).grid = grid + protected fun handleGrid(grid: GridBs, dm: DisplayModelWithLayout, referrer: String) { grid.getPropertyList().forEach { val link = it.link!! ResourceProxy().fetch(link, this, subType = Constants.subTypeJson, referrer = referrer) @@ -68,7 +66,7 @@ abstract class AggregatorWithLayout : BaseAggregator() { //FIXME if (dm.grid == null) { dm.addGrid(grid) - dm.properties.propertyLayoutList.forEach { p -> + dm.collectionProperties.propertyLayoutList.forEach { p -> val l = p.link if (l == null) { console.log(p.id + " link empty") // ISIS-2846 @@ -99,7 +97,7 @@ abstract class AggregatorWithLayout : BaseAggregator() { } protected fun Property.getDescriptionLink(): Link? { - return this.links.firstOrNull() { + return this.links.firstOrNull { it.rel == Relation.DESCRIBED_BY.type } } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregator.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregator.kt index b1f6f75118..095482251d 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregator.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregator.kt @@ -23,9 +23,10 @@ import org.apache.causeway.client.kroviz.core.event.LogEntry import org.apache.causeway.client.kroviz.core.event.ResourceProxy import org.apache.causeway.client.kroviz.core.event.ResourceSpecification import org.apache.causeway.client.kroviz.core.model.CollectionDM +import org.apache.causeway.client.kroviz.core.model.DisplayModelWithLayout import org.apache.causeway.client.kroviz.layout.Layout import org.apache.causeway.client.kroviz.to.* -import org.apache.causeway.client.kroviz.to.bs3.Grid +import org.apache.causeway.client.kroviz.to.bs.GridBs import org.apache.causeway.client.kroviz.ui.core.ViewManager /** sequence of operations: @@ -54,7 +55,7 @@ class CollectionAggregator(actionTitle: String, val parent: ObjectAggregator? = is TObject -> handleObject(obj, referrer) is DomainType -> handleDomainType(obj, referrer) is Layout -> handleLayout(obj, dpm as CollectionDM, referrer) - is Grid -> handleGrid(obj, dpm as CollectionDM, referrer) + is GridBs -> handleGrid(obj, dpm as DisplayModelWithLayout, referrer) is Property -> handleProperty(obj, referrer) is Collection -> handleCollection(obj, referrer) is Icon -> handleIcon(obj) @@ -107,15 +108,12 @@ class CollectionAggregator(actionTitle: String, val parent: ObjectAggregator? = } private fun handleProperty(p: Property, referrer: String) { - console.log("[CA.handleProperty]") val dm = dpm as CollectionDM if (p.isPropertyDescription()) { dm.addPropertyDescription(p) } else { dm.addProperty(p) - val pdl = p.getDescriptionLink() - console.log(pdl) - if (pdl == null) return + val pdl = p.getDescriptionLink() ?: return invoke(pdl, this, referrer = referrer) } } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/ObjectAggregator.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/ObjectAggregator.kt index 398bf5072f..285952e6dd 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/ObjectAggregator.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/ObjectAggregator.kt @@ -21,10 +21,11 @@ package org.apache.causeway.client.kroviz.core.aggregator import org.apache.causeway.client.kroviz.core.event.LogEntry import org.apache.causeway.client.kroviz.core.event.ResourceProxy import org.apache.causeway.client.kroviz.core.model.CollectionDM +import org.apache.causeway.client.kroviz.core.model.DisplayModelWithLayout import org.apache.causeway.client.kroviz.core.model.ObjectDM import org.apache.causeway.client.kroviz.layout.Layout import org.apache.causeway.client.kroviz.to.* -import org.apache.causeway.client.kroviz.to.bs3.Grid +import org.apache.causeway.client.kroviz.to.bs.GridBs import org.apache.causeway.client.kroviz.ui.core.ViewManager import org.apache.causeway.client.kroviz.ui.dialog.ErrorDialog @@ -52,7 +53,7 @@ class ObjectAggregator(val actionTitle: String) : AggregatorWithLayout() { is ResultValue -> handleResultValue(obj) is Property -> handleProperty(obj, referrer) is Layout -> handleLayout(obj, dpm as ObjectDM, referrer) - is Grid -> handleGrid(obj, dpm as ObjectDM, referrer) + is GridBs -> handleGrid(obj, dpm as DisplayModelWithLayout, referrer) is HttpError -> ErrorDialog(logEntry).open() else -> log(logEntry) } @@ -62,6 +63,10 @@ class ObjectAggregator(val actionTitle: String) : AggregatorWithLayout() { collectionMap.forEach { (dpm as ObjectDM).addCollection(it.key, it.value.dpm as CollectionDM) } + console.log("[OA.canBeDisplayed]") + console.log(this) + console.log((dpm as DisplayModelWithLayout).collectionProperties.debug()) + ViewManager.openObjectView(this) } } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/event/LogEntry.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/event/LogEntry.kt index 88f872b926..1c78cfad99 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/event/LogEntry.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/event/LogEntry.kt @@ -25,7 +25,7 @@ import kotlinx.serialization.Serializable import org.apache.causeway.client.kroviz.core.aggregator.ActionDispatcher import org.apache.causeway.client.kroviz.core.aggregator.BaseAggregator import org.apache.causeway.client.kroviz.to.* -import org.apache.causeway.client.kroviz.to.bs3.Grid +import org.apache.causeway.client.kroviz.to.bs.GridBs import org.apache.causeway.client.kroviz.to.mb.Menubars import org.apache.causeway.client.kroviz.ui.core.Constants import org.apache.causeway.client.kroviz.ui.core.ViewManager @@ -107,7 +107,7 @@ data class LogEntry( var runningAtStart = 0 var runningAtEnd = 0 - // alternative constructor for UI events (eg. from user interaction) + // alternative constructor for UI events (e.g. from user interaction) @JsName("secondaryConstructor") constructor(title: String, aggregator: BaseAggregator) : this(ResourceSpecification(""), "", "") { this.title = title @@ -163,6 +163,7 @@ data class LogEntry( hasResponse() && this.method == method && subType == rs.subType -> true + isView() -> true else -> false } @@ -180,33 +181,39 @@ data class LogEntry( } fun setTransferObject(to: TransferObject) { - console.log("[LE.setTransferObject]") this.obj = to when (to) { is WithLinks -> { this.type = extractType(to) } - is Grid -> { + + is GridBs -> { this.type = Relation.LAYOUT.type } + is Icon -> { this.type = Relation.OBJECT_ICON.type } + is Blob -> { this.type = Represention.IMAGE_PNG.type } + is Menubars -> { this.type = Represention.LAYOUT_MENUBARS.type } + is HttpError -> { this.type = Represention.ERROR.type } + is TObject -> { this.state = EventState.MISSING this.type = Represention.ERROR.type console.log("to == null for response:") console.log(response) } + else -> { console.log(to) } @@ -217,7 +224,7 @@ data class LogEntry( private fun extractType(wl: WithLinks): String { val firstLink = wl.getLinks().firstOrNull()!! val result = firstLink.simpleType() - if (result.trim().length == 0) { + if (result.isEmpty()) { console.log("[LE.extractType]") console.log(obj) console.log(result) @@ -278,14 +285,14 @@ data class LogEntry( } fun getAggregator(): BaseAggregator? { - //TODO the last aggt is not always the right one + //TODO the last aggregator is not always the right one // callers need to filter !!! - if (aggregators.size == 0) { + return if (aggregators.size == 0) { console.log("[LE.getAggregator] no Aggregator(s) yet") console.log(this) - return null + null } else { - return aggregators.last() + aggregators.last() } } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDM.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDM.kt index 92fd462f8b..fd009de601 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDM.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDM.kt @@ -27,6 +27,8 @@ class CollectionDM(override val title: String) : DisplayModelWithLayout() { private var rawData = observableListOf<TransferObject>() override fun addData(obj: TransferObject) { + // console.log("[CDM.addData]") + // console.log(obj) if (!rawData.contains(obj)) { rawData.add(obj) val exo = Exposer(obj as TObject) diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt index c074ac87f3..9a1a3f3f6b 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt @@ -19,25 +19,57 @@ package org.apache.causeway.client.kroviz.core.model import org.apache.causeway.client.kroviz.layout.PropertyLt -import org.apache.causeway.client.kroviz.to.Property import org.apache.causeway.client.kroviz.to.Extensions +import org.apache.causeway.client.kroviz.to.Property +import org.apache.causeway.client.kroviz.to.bs.PropertyBs class CollectionProperties() { val list = mutableListOf<ColumnProperties>() var propertyDescriptionList = mutableListOf<Property>() var propertyLayoutList = mutableListOf<PropertyLt>() + var propertyGridList = mutableListOf<PropertyBs>() var propertyList = mutableListOf<Property>() + var descriptionsComplete = false + + fun debug(): String { + var answer = "descriptionsComplete: $descriptionsComplete" + + answer = answer + "\nlist: ${list.size}" + console.log("[CP.debug] List of ColumnProperties") + console.log(list) + + answer = answer + "\npropertyDescriptionList: ${propertyDescriptionList.size}" + console.log("[CP.debug] List of Property (Description)") + console.log(propertyDescriptionList) + + answer = answer + "\npropertyLayoutList: ${propertyLayoutList.size}" + console.log("[CP.debug] List of PropertyLt") + console.log(propertyLayoutList) + + answer = answer + "\npropertyGridList: ${propertyGridList.size}" + console.log("[CP.debug] List of PropertyBs") + console.log(propertyGridList) + + answer = answer + "\npropertyList: ${propertyList.size}" + console.log("[CP.debug] List of Property") + console.log(propertyList) + + return answer + } fun readyForDisplay(): Boolean { val ps = propertyList.size val pls = propertyLayoutList.size val pds = propertyDescriptionList.size - val descriptionsComplete = (pds >= pls) && (ps >= pls) + descriptionsComplete = (pds >= pls) && (ps >= pls) return descriptionsComplete } fun addProperty(property: Property) { + console.log("[CollectionProperties.addProperty]") + console.log(property) propertyList.add(property) + console.log(propertyList) val id = property.id val cp = findOrCreate(id) cp.property = property @@ -53,6 +85,19 @@ class CollectionProperties() { layoutList.forEach { addPropertyLayout(it) } } + fun addAllPropertyGrid(gridList: List<PropertyBs>) { +// console.log("[DMWL.addAllPropertyGrid]") + propertyGridList.addAll(gridList) + fun addPropertyGrid(grid: PropertyBs) { +// console.log("[DMWL.addPropertyGrid] -> grid") +// console.log(grid) + val id = grid.id + val cp = findOrCreate(id) + cp.initGrid(grid) + } + gridList.forEach { addPropertyGrid(it) } + } + fun addPropertyDescription(description: Property) { propertyDescriptionList.add(description) val id = description.id @@ -74,41 +119,4 @@ class CollectionProperties() { return list.find { it.key == id } } -} - -/** - * Properties have three aspects: - * - * - Member of a DomainObject - * - Description (friendlyName, etc.) - * - Layout (hidden, labelPosition, etc.) - * - * All three are required in order to display correctly in a table. - */ -class ColumnProperties(val key: String) { - var property: Property? = null - var friendlyName: String = "" - var layout: PropertyLt? = null - var hidden: Boolean = true - - fun initLayout(layout: PropertyLt) { - this.layout = layout - hidden = (layout.hidden != null) - // properties without labelPosition will be hidden - is that correct? - // example: Demo -> Strings -> Description - if (!hidden && layout.labelPosition == null) { - hidden = true - } - } - - fun initGrid(property: Property) { - // this.layout = layout -//FIXME hidden = (property.hidden != null) - // properties without labelPosition will be hidden - is that correct? - // example: Demo -> Strings -> Description - // if (!hidden && property.labelPosition == null) { - // hidden = true - // } - } - -} +} \ No newline at end of file diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ColumnProperties.kt similarity index 53% copy from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt copy to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ColumnProperties.kt index c074ac87f3..173985456a 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ColumnProperties.kt @@ -20,61 +20,7 @@ package org.apache.causeway.client.kroviz.core.model import org.apache.causeway.client.kroviz.layout.PropertyLt import org.apache.causeway.client.kroviz.to.Property -import org.apache.causeway.client.kroviz.to.Extensions - -class CollectionProperties() { - val list = mutableListOf<ColumnProperties>() - var propertyDescriptionList = mutableListOf<Property>() - var propertyLayoutList = mutableListOf<PropertyLt>() - var propertyList = mutableListOf<Property>() - - fun readyForDisplay(): Boolean { - val ps = propertyList.size - val pls = propertyLayoutList.size - val pds = propertyDescriptionList.size - val descriptionsComplete = (pds >= pls) && (ps >= pls) - return descriptionsComplete - } - - fun addProperty(property: Property) { - propertyList.add(property) - val id = property.id - val cp = findOrCreate(id) - cp.property = property - } - - fun addAllPropertyLayout(layoutList: List<PropertyLt>) { - propertyLayoutList.addAll(layoutList) - fun addPropertyLayout(layout: PropertyLt) { - val id = layout.id!! - val cp = findOrCreate(id) - cp.initLayout(layout) - } - layoutList.forEach { addPropertyLayout(it) } - } - - fun addPropertyDescription(description: Property) { - propertyDescriptionList.add(description) - val id = description.id - val cp = findOrCreate(id) - val e: Extensions = description.extensions!! - cp.friendlyName = e.getFriendlyName() - } - - private fun findOrCreate(id: String): ColumnProperties { - var cp = find(id) - if (cp == null) { - cp = ColumnProperties(id) - list.add(cp) - } - return cp - } - - fun find(id: String): ColumnProperties? { - return list.find { it.key == id } - } - -} +import org.apache.causeway.client.kroviz.to.bs.PropertyBs /** * Properties have three aspects: @@ -89,10 +35,17 @@ class ColumnProperties(val key: String) { var property: Property? = null var friendlyName: String = "" var layout: PropertyLt? = null - var hidden: Boolean = true + var grid: PropertyBs? = null + var hidden: Boolean = false + + fun debug(): String { + return "property: " + property?.id + } fun initLayout(layout: PropertyLt) { this.layout = layout + console.log("[CP.initLayout]") + hidden = (layout.hidden != null) // properties without labelPosition will be hidden - is that correct? // example: Demo -> Strings -> Description @@ -101,8 +54,9 @@ class ColumnProperties(val key: String) { } } - fun initGrid(property: Property) { - // this.layout = layout + fun initGrid(grid: PropertyBs) { + this.grid = grid + console.log("[CP.initGrid]") //FIXME hidden = (property.hidden != null) // properties without labelPosition will be hidden - is that correct? // example: Demo -> Strings -> Description @@ -111,4 +65,4 @@ class ColumnProperties(val key: String) { // } } -} +} \ No newline at end of file diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/DisplayModelWithLayout.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/DisplayModelWithLayout.kt index 5c065e95ab..5bc2f1c137 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/DisplayModelWithLayout.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/DisplayModelWithLayout.kt @@ -23,24 +23,21 @@ import org.apache.causeway.client.kroviz.layout.RowLt import org.apache.causeway.client.kroviz.to.Icon import org.apache.causeway.client.kroviz.to.Property import org.apache.causeway.client.kroviz.to.TransferObject -import org.apache.causeway.client.kroviz.to.bs3.Grid -import org.apache.causeway.client.kroviz.to.bs3.Row +import org.apache.causeway.client.kroviz.to.bs.GridBs +import org.apache.causeway.client.kroviz.to.bs.RowBs abstract class DisplayModelWithLayout : BaseDisplayModel() { var layout: Layout? = null - var grid: Grid? = null - val properties = CollectionProperties() + var grid: GridBs? = null + val collectionProperties = CollectionProperties() var icon: Icon? = null override fun canBeDisplayed(): Boolean { -// console.log("[DMWL.canBeDisplayed]") -// console.log(this) return when { isRendered -> false - layout != null -> true - grid != null -> true - else -> properties.readyForDisplay() + layout == null && grid == null -> false + else -> collectionProperties.readyForDisplay() } } @@ -49,9 +46,7 @@ abstract class DisplayModelWithLayout : BaseDisplayModel() { initPropertyLayoutList(layout) } - fun addGrid(grid: Grid) { - console.log("[DMWL.initGrid]") - console.log(grid) + fun addGrid(grid: GridBs) { this.grid = grid initPropertyGridList(grid) } @@ -66,7 +61,7 @@ abstract class DisplayModelWithLayout : BaseDisplayModel() { } } - private fun initPropertyGridList(grid: Grid) { + private fun initPropertyGridList(grid: GridBs) { grid.rows.forEach { r -> initGrid4Row(r) } @@ -76,7 +71,7 @@ abstract class DisplayModelWithLayout : BaseDisplayModel() { r.cols.forEach { cs -> val c = cs.getCol() c.fieldSet.forEach { fs -> - properties.addAllPropertyLayout(fs.property) + collectionProperties.addAllPropertyLayout(fs.property) } c.tabGroup.forEach { tg -> tg.tab.forEach { t -> @@ -88,10 +83,10 @@ abstract class DisplayModelWithLayout : BaseDisplayModel() { } } - private fun initGrid4Row(r: Row) { + private fun initGrid4Row(r: RowBs) { r.colList.forEach { c -> c.fieldSetList.forEach { fs -> - //FIXME properties.addAllPropertiesFromGrid(fs.propertyList) + collectionProperties.addAllPropertyGrid(fs.propertyList) } c.tabGroupList.forEach { tg -> tg.tabList.forEach { t -> @@ -104,11 +99,11 @@ abstract class DisplayModelWithLayout : BaseDisplayModel() { } fun addPropertyDescription(p: Property) { - properties.addPropertyDescription(p) + collectionProperties.addPropertyDescription(p) } fun addProperty(property: Property) { - properties.addProperty(property) + collectionProperties.addProperty(property) } } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ObjectDM.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ObjectDM.kt index 29f9f79fe1..d33ef1fc8c 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ObjectDM.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ObjectDM.kt @@ -25,7 +25,7 @@ import org.apache.causeway.client.kroviz.ui.core.SessionManager class ObjectDM(override val title: String) : DisplayModelWithLayout() { var data: Exposer? = null - val collections = mutableMapOf<String, CollectionDM>() + val collectionMap = mutableMapOf<String, CollectionDM>() private var dirty: Boolean = false fun setDirty(value: Boolean) { @@ -33,12 +33,10 @@ class ObjectDM(override val title: String) : DisplayModelWithLayout() { } fun addCollection(key: String, value: CollectionDM) { - collections[key] = value + collectionMap[key] = value } override fun addData(obj: TransferObject) { - console.log("[ODM.addData]") -// console.log(obj) (obj as TObject) val exo = Exposer(obj) data = exo.dynamise() as? Exposer diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/handler/LayoutXmlHandler.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/handler/LayoutXmlHandler.kt index cb2c60d36a..9af422be39 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/handler/LayoutXmlHandler.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/handler/LayoutXmlHandler.kt @@ -19,7 +19,7 @@ package org.apache.causeway.client.kroviz.handler import org.apache.causeway.client.kroviz.to.TransferObject -import org.apache.causeway.client.kroviz.to.bs3.Grid +import org.apache.causeway.client.kroviz.to.bs.GridBs import org.apache.causeway.client.kroviz.utils.UrlUtils import org.apache.causeway.client.kroviz.utils.XmlHelper @@ -36,7 +36,7 @@ class LayoutXmlHandler : BaseHandler() { override fun parse(response: String): TransferObject { val doc = XmlHelper.parseXml(response) - return Grid(doc) + return GridBs(doc) } } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Action.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/ActionBs.kt similarity index 93% rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Action.kt rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/ActionBs.kt index 756b75f684..2507df32e9 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Action.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/ActionBs.kt @@ -16,12 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.causeway.client.kroviz.to.bs3 +package org.apache.causeway.client.kroviz.to.bs import org.w3c.dom.Node import org.w3c.dom.asList -class Action(node: Node) : XmlLayout() { +class ActionBs(node: Node) : XmlLayout() { var bookmarking: String //BookmarkPolicy? = null use ENUM var cssClass: String var cssClassFa: String @@ -31,7 +31,7 @@ class Action(node: Node) : XmlLayout() { var position: String //USE ENUM Position? = null var named = "" var describedAs = "" - var linkList = mutableListOf<Link>() + var linkList = mutableListOf<LinkBs>() init { val dyNode = node.asDynamic() @@ -58,7 +58,7 @@ class Action(node: Node) : XmlLayout() { } val lList = nodeList.filter { it.nodeName == "$nsCpt:link" } for (n: Node in lList) { - val link = Link(n) + val link = LinkBs(n) linkList.add(link) } } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Col.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/ColBs.kt similarity index 79% rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Col.kt rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/ColBs.kt index 2abe89c71c..aeba048fdc 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Col.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/ColBs.kt @@ -16,18 +16,18 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.causeway.client.kroviz.to.bs3 +package org.apache.causeway.client.kroviz.to.bs import org.w3c.dom.Node import org.w3c.dom.asList -class Col(node: Node) : XmlLayout() { - val rowList = mutableListOf<Row>() - var domainObject: DomainObject? = null - var actionList = mutableListOf<Action>() - val tabGroupList = mutableListOf<TabGroup>() - var fieldSetList = mutableListOf<FieldSet>() - var collectionList = mutableListOf<Collection>() +class ColBs(node: Node) : XmlLayout() { + val rowList = mutableListOf<RowBs>() + var domainObject: DomainObjectBs? = null + var actionList = mutableListOf<ActionBs>() + val tabGroupList = mutableListOf<TabGroupBs>() + var fieldSetList = mutableListOf<FieldSetBs>() + var collectionList = mutableListOf<CollectionBs>() var span: Int = 0 init { @@ -38,42 +38,42 @@ class Col(node: Node) : XmlLayout() { val rl = nl.filter { it.nodeName == "$nsBs:row" } for (n: Node in rl) { - val row = Row(n) + val row = RowBs(n) rowList.add(row) } val doNodes = nl.filter { it.nodeName == "$nsCpt:domainObject" } if (doNodes.isNotEmpty()) { - domainObject = DomainObject(doNodes.first()) + domainObject = DomainObjectBs(doNodes.first()) } val actNodes = nl.filter { it.nodeName == "$nsCpt:action" } for (n: Node in actNodes) { - val act = Action(n) + val act = ActionBs(n) actionList.add(act) } val tgNodes = nl.filter { it.nodeName == "$nsBs:tabGroup" } for (n: Node in tgNodes) { - val tg = TabGroup(n) + val tg = TabGroupBs(n) tabGroupList.add(tg) } val fsNodes = nl.filter { it.nodeName == "$nsCpt:fieldSet" } for (n: Node in fsNodes) { - val fs = FieldSet(n) + val fs = FieldSetBs(n) fieldSetList.add(fs) } val collNodes = nl.filter { it.nodeName == "$nsCpt:collection" } for (n: Node in collNodes) { - val c = Collection(n) + val c = CollectionBs(n) collectionList.add(c) } } - fun getPropertyList(): List<Property> { - val list = mutableListOf<Property>() + fun getPropertyList(): List<PropertyBs> { + val list = mutableListOf<PropertyBs>() rowList.forEach { r -> list.addAll(r.getPropertyList()) } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Collection.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/CollectionBs.kt similarity index 94% rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Collection.kt rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/CollectionBs.kt index be271ac927..34480717f6 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Collection.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/CollectionBs.kt @@ -16,12 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.causeway.client.kroviz.to.bs3 +package org.apache.causeway.client.kroviz.to.bs import org.w3c.dom.Node import org.w3c.dom.asList -class Collection(node: Node) : XmlLayout() { +class CollectionBs(node: Node) : XmlLayout() { var bookmarking: String //BookmarkPolicy? = null use ENUM var cssClass: String var cssClassFa: String @@ -31,7 +31,7 @@ class Collection(node: Node) : XmlLayout() { var position: String //USE ENUM Position? = null var named = "" var describedAs = "" - var linkList = mutableListOf<Link>() + var linkList = mutableListOf<LinkBs>() init { val dyNode = node.asDynamic() @@ -59,7 +59,7 @@ class Collection(node: Node) : XmlLayout() { } val lList = nodeList.filter { it.nodeName == "$nsCpt:link" } for (n: Node in lList) { - val link = Link(n) + val link = LinkBs(n) linkList.add(link) } } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/DomainObject.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/DomainObjectBs.kt similarity index 94% rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/DomainObject.kt rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/DomainObjectBs.kt index 52e4155268..e5a8e90d5a 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/DomainObject.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/DomainObjectBs.kt @@ -16,12 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.causeway.client.kroviz.to.bs3 +package org.apache.causeway.client.kroviz.to.bs import org.apache.causeway.client.kroviz.utils.XmlHelper import org.w3c.dom.Node -class DomainObject(node: Node) { +class DomainObjectBs(node: Node) { var named = "" var plural = "" lateinit var describedAs: String diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/FieldSet.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/FieldSetBs.kt similarity index 86% rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/FieldSet.kt rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/FieldSetBs.kt index 5374f5bcdc..9753c552b0 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/FieldSet.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/FieldSetBs.kt @@ -16,14 +16,14 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.causeway.client.kroviz.to.bs3 +package org.apache.causeway.client.kroviz.to.bs import org.w3c.dom.Node import org.w3c.dom.asList -class FieldSet(node: Node) : XmlLayout() { - var actionList = mutableListOf<Action>() - var propertyList = mutableListOf<Property>() +class FieldSetBs(node: Node) : XmlLayout() { + var actionList = mutableListOf<ActionBs>() + var propertyList = mutableListOf<PropertyBs>() var name: String = "" var id: String = "" @@ -38,13 +38,13 @@ class FieldSet(node: Node) : XmlLayout() { val nl = node.childNodes.asList() val actList = nl.filter { it.nodeName == "$nsCpt:action" } for (n: Node in actList) { - val act = Action(n) + val act = ActionBs(n) actionList.add(act) } val pNl = nl.filter { it.nodeName == "$nsCpt:property" } for (n: Node in pNl) { - val p = Property(n) + val p = PropertyBs(n) if (p.hidden != "") { propertyList.add(p) } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Grid.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/GridBs.kt similarity index 85% rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Grid.kt rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/GridBs.kt index 20ea99a2ad..ed2fc3caf7 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Grid.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/GridBs.kt @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.causeway.client.kroviz.to.bs3 +package org.apache.causeway.client.kroviz.to.bs import org.apache.causeway.client.kroviz.to.TransferObject import org.w3c.dom.Document @@ -30,8 +30,8 @@ import org.w3c.dom.asList * * there may be N other rows as well * Please note, that rows may be children of Tab as well (recursive) */ -class Grid(document: Document) : XmlLayout(), TransferObject { - var rows = ArrayList<Row>() +class GridBs(document: Document) : XmlLayout(), TransferObject { + var rows = ArrayList<RowBs>() init { val root = document.firstChild!! @@ -39,13 +39,13 @@ class Grid(document: Document) : XmlLayout(), TransferObject { val rowNodes = kids.asList() val rowList = rowNodes.filter { it.nodeName == "$nsBs:row" } for (n: Node in rowList) { - val row = Row(n) + val row = RowBs(n) rows.add(row) } } - fun getPropertyList(): List<Property> { - val list = mutableListOf<Property>() + fun getPropertyList(): List<PropertyBs> { + val list = mutableListOf<PropertyBs>() rows.forEach { r -> list.addAll(r.getPropertyList()) } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Link.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/LinkBs.kt similarity index 96% rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Link.kt rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/LinkBs.kt index 593b301834..24aa0a34a2 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Link.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/LinkBs.kt @@ -16,12 +16,12 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.causeway.client.kroviz.to.bs3 +package org.apache.causeway.client.kroviz.to.bs import org.w3c.dom.Node import org.w3c.dom.asList -class Link(node: Node) : XmlLayout() { +class LinkBs(node: Node) : XmlLayout() { lateinit var rel: String lateinit var method: String lateinit var href: String diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Property.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/PropertyBs.kt similarity index 91% rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Property.kt rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/PropertyBs.kt index 12ff3a0b12..7e76306754 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Property.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/PropertyBs.kt @@ -16,14 +16,14 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.causeway.client.kroviz.to.bs3 +package org.apache.causeway.client.kroviz.to.bs import org.apache.causeway.client.kroviz.to.Link import org.w3c.dom.Node import org.w3c.dom.asList //IMPROVE class differs in many aspects from org.ro.to.Property - to be refactored? -class Property(node: Node) : XmlLayout() { +class PropertyBs(node: Node) : XmlLayout() { var id: String var named = "" var link: Link? = null @@ -31,7 +31,7 @@ class Property(node: Node) : XmlLayout() { var typicalLength: Int = 0 var multiLine: Int = 1 var describedAs: String? = null - lateinit var action: Action + lateinit var action: ActionBs init { val dn = node.asDynamic() @@ -51,13 +51,13 @@ class Property(node: Node) : XmlLayout() { val actList = nodeList.filter { it.nodeName == "$nsCpt:action" } if (actList.isNotEmpty()) { val n = actList.first() - action = Action(n) + action = ActionBs(n) } val linkList = nodeList.filter { it.nodeName == "$nsCpt:link" } if (linkList.isNotEmpty()) { val n = linkList.first() - val bs3l = Link(n) + val bs3l = LinkBs(n) link = Link(bs3l.rel, bs3l.method, bs3l.href, bs3l.type) } } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Row.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/RowBs.kt similarity index 84% rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Row.kt rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/RowBs.kt index 39d129b6db..b4d7c1002d 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Row.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/RowBs.kt @@ -16,13 +16,13 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.causeway.client.kroviz.to.bs3 +package org.apache.causeway.client.kroviz.to.bs import org.apache.causeway.client.kroviz.utils.XmlHelper import org.w3c.dom.Node -class Row(node: Node) : XmlLayout() { - val colList = mutableListOf<Col>() +class RowBs(node: Node) : XmlLayout() { + val colList = mutableListOf<ColBs>() var id: String = "" init { @@ -34,13 +34,13 @@ class Row(node: Node) : XmlLayout() { val nodeList = XmlHelper.nonTextChildren(node) val cl = nodeList.filter { it.nodeName == "$nsBs:col" } for (n: Node in cl) { - val col = Col(n) + val col = ColBs(n) colList.add(col) } } - fun getPropertyList(): List<Property> { - val list = mutableListOf<Property>() + fun getPropertyList(): List<PropertyBs> { + val list = mutableListOf<PropertyBs>() colList.forEach { c -> list.addAll(c.getPropertyList()) } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Tab.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/TabBs.kt similarity index 83% rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Tab.kt rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/TabBs.kt index 2044ed7567..cc8ba6eb82 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Tab.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/TabBs.kt @@ -16,13 +16,13 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.causeway.client.kroviz.to.bs3 +package org.apache.causeway.client.kroviz.to.bs import org.w3c.dom.Node import org.w3c.dom.asList -class Tab(node: Node) : XmlLayout() { - val rowList = mutableListOf<Row>() +class TabBs(node: Node) : XmlLayout() { + val rowList = mutableListOf<RowBs>() var name: String init { @@ -33,13 +33,13 @@ class Tab(node: Node) : XmlLayout() { val rNodes = nl.filter { it.nodeName == "$nsBs:row" } for (n: Node in rNodes) { - val row = Row(n) + val row = RowBs(n) rowList.add(row) } } - fun getPropertyList(): List<Property> { - val list = mutableListOf<Property>() + fun getPropertyList(): List<PropertyBs> { + val list = mutableListOf<PropertyBs>() rowList.forEach { r -> list.addAll(r.getPropertyList()) } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/TabGroup.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/TabGroupBs.kt similarity index 83% rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/TabGroup.kt rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/TabGroupBs.kt index 74f7344b8a..c607af61a5 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/TabGroup.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/TabGroupBs.kt @@ -16,13 +16,13 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.causeway.client.kroviz.to.bs3 +package org.apache.causeway.client.kroviz.to.bs import org.w3c.dom.Node import org.w3c.dom.asList -class TabGroup(node: Node) : XmlLayout() { - var tabList = mutableListOf<Tab>() +class TabGroupBs(node: Node) : XmlLayout() { + var tabList = mutableListOf<TabBs>() lateinit var metadataError: String lateinit var cssClass: String @@ -31,13 +31,13 @@ class TabGroup(node: Node) : XmlLayout() { val tnList = nodeList.filter { it.nodeName == "$nsBs:tab" } for (n: Node in tnList) { - val tab = Tab(n) + val tab = TabBs(n) tabList.add(tab) } } - fun getPropertyList(): List<Property> { - val list = mutableListOf<Property>() + fun getPropertyList(): List<PropertyBs> { + val list = mutableListOf<PropertyBs>() tabList.forEach { t -> list.addAll(t.getPropertyList()) } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/XmlLayout.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/XmlLayout.kt similarity index 94% rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/XmlLayout.kt rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/XmlLayout.kt index ed6937fd6b..2c049e6fd5 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/XmlLayout.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/XmlLayout.kt @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.causeway.client.kroviz.to.bs3 +package org.apache.causeway.client.kroviz.to.bs abstract class XmlLayout { // nameSpaces diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/ColBuilder.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/ColBuilder.kt index 0edfb20b4d..6ee6430970 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/ColBuilder.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/ColBuilder.kt @@ -24,7 +24,7 @@ import io.kvision.panel.FlexPanel import io.kvision.panel.HPanel import io.kvision.panel.SimplePanel import org.apache.causeway.client.kroviz.to.TObject -import org.apache.causeway.client.kroviz.to.bs3.Col +import org.apache.causeway.client.kroviz.to.bs.ColBs import org.apache.causeway.client.kroviz.ui.core.Constants import org.apache.causeway.client.kroviz.ui.core.RoTable import org.apache.causeway.client.kroviz.ui.menu.DropDownMenuBuilder @@ -33,7 +33,7 @@ import kotlin.math.round class ColBuilder : UiBuilder() { - fun create(col: Col, tObject: TObject, dsp: RoDisplay): FlexPanel { + fun create(col: ColBs, tObject: TObject, dsp: RoDisplay): FlexPanel { val panel = buildPanel() if ((col.actionList.size > 0) && (col.domainObject != null)) { @@ -68,7 +68,7 @@ class ColBuilder : UiBuilder() { for (c in col.collectionList) { val key = c.id // entities val objectDM = dsp.displayModel - val collectionDM = objectDM.collections[key] + val collectionDM = objectDM.collectionMap[key] if (collectionDM != null) { val tblCpt = RoTable(collectionDM) val fsPanel = FieldsetPanel(legend = StringUtils.capitalize(key)).add(tblCpt) @@ -101,7 +101,7 @@ class ColBuilder : UiBuilder() { return panel } - private fun assignWidth(panel: SimplePanel, col: Col) { + private fun assignWidth(panel: SimplePanel, col: ColBs) { val proportion = col.span.toDouble().div(12) val percent = proportion * 100 val rounded = round(percent) diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/FieldSetBuilder.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/FieldSetBuilder.kt index dd9e24f1e6..d5ec3d245e 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/FieldSetBuilder.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/FieldSetBuilder.kt @@ -21,16 +21,16 @@ package org.apache.causeway.client.kroviz.ui.builder import io.kvision.form.FormPanel import org.apache.causeway.client.kroviz.to.TObject import org.apache.causeway.client.kroviz.to.TypeMapper -import org.apache.causeway.client.kroviz.to.bs3.FieldSet +import org.apache.causeway.client.kroviz.to.bs.FieldSetBs import org.apache.causeway.client.kroviz.ui.core.FormItem import org.apache.causeway.client.kroviz.ui.core.FormPanelFactory class FieldSetBuilder { fun create( - fieldSetLayout: FieldSet, - tObject: TObject, - tab: RoDisplay + fieldSetLayout: FieldSetBs, + tObject: TObject, + tab: RoDisplay ): FormPanel<String>? { val members = tObject.getProperties() @@ -43,13 +43,14 @@ class FieldSetBuilder { val memberType = TypeMapper().forType(member.type!!) val size = maxOf(1, p.multiLine) val fi = FormItem( - label = p.named, - type = memberType, - content = member.value?.content, - size = size, - description = p.describedAs, - member = member, - dspl = tab) + label = p.named, + type = memberType, + content = member.value?.content, + size = size, + description = p.describedAs, + member = member, + dspl = tab + ) items.add(fi) } } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/LayoutBuilder.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/LayoutBuilder.kt index dd251be136..c3e62aeb93 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/LayoutBuilder.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/LayoutBuilder.kt @@ -20,11 +20,11 @@ package org.apache.causeway.client.kroviz.ui.builder import io.kvision.panel.VPanel import org.apache.causeway.client.kroviz.to.TObject -import org.apache.causeway.client.kroviz.to.bs3.Grid +import org.apache.causeway.client.kroviz.to.bs.GridBs class LayoutBuilder { - fun create(grid: Grid, tObject: TObject, dsp: RoDisplay): VPanel { + fun create(grid: GridBs, tObject: TObject, dsp: RoDisplay): VPanel { val panel = VPanel() for (rl in grid.rows) { val cpt = RowBuilder().create(rl, tObject, dsp) diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/RowBuilder.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/RowBuilder.kt index 30d38f2a51..99287a47fb 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/RowBuilder.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/RowBuilder.kt @@ -22,12 +22,12 @@ import io.kvision.core.* import io.kvision.panel.FlexPanel import io.kvision.panel.SimplePanel import org.apache.causeway.client.kroviz.to.TObject -import org.apache.causeway.client.kroviz.to.bs3.Row +import org.apache.causeway.client.kroviz.to.bs.RowBs import org.apache.causeway.client.kroviz.ui.core.Constants class RowBuilder : UiBuilder() { - fun create(row: Row, tObject: TObject, dsp: RoDisplay): SimplePanel { + fun create(row: RowBs, tObject: TObject, dsp: RoDisplay): SimplePanel { val panel = buildPanel() panel.justifyContent = JustifyContent.SPACEBETWEEN @@ -40,12 +40,13 @@ class RowBuilder : UiBuilder() { private fun buildPanel(): FlexPanel { return FlexPanel( - FlexDirection.ROW, - FlexWrap.NOWRAP, - JustifyContent.FLEXSTART, - AlignItems.FLEXSTART, - AlignContent.STRETCH, - spacing = Constants.spacing) + FlexDirection.ROW, + FlexWrap.NOWRAP, + JustifyContent.FLEXSTART, + AlignItems.FLEXSTART, + AlignContent.STRETCH, + spacing = Constants.spacing + ) } } diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabBuilder.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabBuilder.kt index 87a4888cfd..c65db7b75e 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabBuilder.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabBuilder.kt @@ -18,14 +18,14 @@ */ package org.apache.causeway.client.kroviz.ui.builder -import org.apache.causeway.client.kroviz.to.TObject -import org.apache.causeway.client.kroviz.to.bs3.Tab import io.kvision.core.Component import io.kvision.panel.SimplePanel +import org.apache.causeway.client.kroviz.to.TObject +import org.apache.causeway.client.kroviz.to.bs.TabBs class TabBuilder : UiBuilder() { - fun create(tabLayout: Tab, tObject: TObject, tab: RoDisplay): Component { + fun create(tabLayout: TabBs, tObject: TObject, tab: RoDisplay): Component { val panel = SimplePanel() style(panel) diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabGroupBuilder.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabGroupBuilder.kt index 05741ce311..ccd0aa7036 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabGroupBuilder.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabGroupBuilder.kt @@ -18,14 +18,14 @@ */ package org.apache.causeway.client.kroviz.ui.builder -import org.apache.causeway.client.kroviz.to.TObject -import org.apache.causeway.client.kroviz.to.bs3.TabGroup import io.kvision.core.Component import io.kvision.panel.TabPanel +import org.apache.causeway.client.kroviz.to.TObject +import org.apache.causeway.client.kroviz.to.bs.TabGroupBs class TabGroupBuilder : UiBuilder() { - fun create(tabGroupLayout: TabGroup, tObject: TObject, dsp: RoDisplay): Component { + fun create(tabGroupLayout: TabGroupBs, tObject: TObject, dsp: RoDisplay): Component { val panel = TabPanel() style(panel) diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/core/ColumnFactory.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/core/ColumnFactory.kt index d219dd8569..c27c0c3957 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/core/ColumnFactory.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/core/ColumnFactory.kt @@ -103,7 +103,7 @@ class ColumnFactory { displayCollection: CollectionDM, columns: MutableList<ColumnDefinition<Exposer>>, ) { - val propertyLabels = displayCollection.properties.list + val propertyLabels = displayCollection.collectionProperties.list for (pl in propertyLabels) { if (!pl.hidden) { val id = pl.key diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/diagram/LayoutDiagram.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/diagram/LayoutDiagram.kt index 3e3cbde71d..8bc4ca6a1a 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/diagram/LayoutDiagram.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/diagram/LayoutDiagram.kt @@ -18,13 +18,13 @@ */ package org.apache.causeway.client.kroviz.ui.diagram -import org.apache.causeway.client.kroviz.to.bs3.Col -import org.apache.causeway.client.kroviz.to.bs3.Grid -import org.apache.causeway.client.kroviz.to.bs3.Row +import org.apache.causeway.client.kroviz.to.bs.ColBs +import org.apache.causeway.client.kroviz.to.bs.GridBs +import org.apache.causeway.client.kroviz.to.bs.RowBs object LayoutDiagram { - fun build(grid: Grid): String { + fun build(grid: GridBs): String { var pumlCode = "@startsalt\n{#\n" grid.rows.forEachIndexed() { index, it -> val rLabel = "r" + index.toString() @@ -35,7 +35,7 @@ object LayoutDiagram { private val blue = "<color:Blue>" private val red = "<color:Red>" - private fun buildRow(row: Row, rLabel: String): String { + private fun buildRow(row: RowBs, rLabel: String): String { var s = "" row.colList.forEachIndexed() { index, it -> val cLabel = rLabel + ".c" + index.toString() @@ -49,7 +49,7 @@ object LayoutDiagram { return s + "\n" } - private fun buildCol(col: Col, colorCode: String, label: String): String { + private fun buildCol(col: ColBs, colorCode: String, label: String): String { var s = "" val span: Int = col.span repeat(span) { diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/dialog/EventLogDetail.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/dialog/EventLogDetail.kt index 5c1ef147c2..e7827810db 100644 --- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/dialog/EventLogDetail.kt +++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/dialog/EventLogDetail.kt @@ -21,7 +21,7 @@ package org.apache.causeway.client.kroviz.ui.dialog import org.apache.causeway.client.kroviz.core.event.LogEntry import org.apache.causeway.client.kroviz.core.event.ResourceSpecification import org.apache.causeway.client.kroviz.to.ValueType -import org.apache.causeway.client.kroviz.to.bs3.Grid +import org.apache.causeway.client.kroviz.to.bs.GridBs import org.apache.causeway.client.kroviz.ui.core.Constants import org.apache.causeway.client.kroviz.ui.core.FormItem import org.apache.causeway.client.kroviz.ui.core.RoDialog @@ -93,12 +93,15 @@ class EventLogDetail(logEntryFromTabulator: LogEntry) : Controller() { action == LOG -> { console.log(logEntry) } + action == LNK -> { linkTreeDiagram() } + action == DPM -> { displayModelDiagram() } + else -> { console.log(logEntry) console.log("Action not defined yet: $action") @@ -131,14 +134,16 @@ class EventLogDetail(logEntryFromTabulator: LogEntry) : Controller() { var label = "Diagram" val pumlCode = when { str.startsWith("<") -> { - val grid = logEntry.obj as Grid + val grid = logEntry.obj as GridBs label = "Layout Diagram" LayoutDiagram.build(grid) } + str.startsWith("{") -> { label = "JSON / XML Diagram" JsonDiagram.build(str) } + else -> "{}" } DiagramDialog(label, pumlCode).open() diff --git a/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregatorTest.kt b/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregatorTest.kt index e3b57102e8..b6cc33e488 100644 --- a/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregatorTest.kt +++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregatorTest.kt @@ -67,10 +67,10 @@ class CollectionAggregatorTest : IntegrationTest() { // then val dl = obs.dpm as CollectionDM - val propertyLabels = dl.properties.propertyDescriptionList + val propertyLabels = dl.collectionProperties.propertyDescriptionList val property = pdLe.getTransferObject() as Property assertTrue(propertyLabels.size > 0) // 5 - val lbl = dl.properties.find(property.id)!!.friendlyName + val lbl = dl.collectionProperties.find(property.id)!!.friendlyName val expected = "ResultListResult class" assertEquals(expected, lbl) // 6 } diff --git a/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDMTest.kt b/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDMTest.kt index 3006d212bb..a17656f69f 100644 --- a/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDMTest.kt +++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDMTest.kt @@ -43,7 +43,7 @@ class CollectionDMTest { assertEquals(2, dl.data.size) //1 - val properties = dl.properties.propertyLayoutList + val properties = dl.collectionProperties.propertyLayoutList assertEquals(5, properties.size) //2 // includes datanucleus IdLong, VersionLong, VersionTimestamp assertEquals("name", properties[0].id) //3 assertEquals("notes", properties[1].id) //4 @@ -61,7 +61,7 @@ class CollectionDMTest { dl.addLayout(lt) assertEquals(1, dl.data.size) //1 - val properties = dl.properties.propertyLayoutList + val properties = dl.collectionProperties.propertyLayoutList assertEquals("key", properties[0].id) // 2 assertEquals("value", properties[1].id) // 3 } @@ -78,7 +78,7 @@ class CollectionDMTest { assertEquals(1, dl.data.size) assertNotNull(dl.layout) - val properties = dl.properties.propertyList + val properties = dl.collectionProperties.propertyList assertNotNull(properties) //Sequence in FR_OBJECT differs from sequence in FR_OBJECT_LAYOUT // FR_OBJECT: fixtureScriptClassName, key, object, className diff --git a/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/to/bs3/LayoutXmlTest.kt b/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/to/bs/LayoutXmlTest.kt similarity index 96% rename from incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/to/bs3/LayoutXmlTest.kt rename to incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/to/bs/LayoutXmlTest.kt index 7a7c8d0056..ffc3208127 100644 --- a/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/to/bs3/LayoutXmlTest.kt +++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/to/bs/LayoutXmlTest.kt @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.causeway.client.kroviz.to.bs3 +package org.apache.causeway.client.kroviz.to.bs import org.apache.causeway.client.kroviz.handler.LayoutXmlHandler import org.apache.causeway.client.kroviz.snapshots.demo2_0_0.STRINGS_LAYOUT_XML @@ -35,7 +35,7 @@ class LayoutXmlTest { //given val xmlStr = STRINGS_LAYOUT_XML.str //when - val grid = LayoutXmlHandler().parse(xmlStr) as Grid + val grid = LayoutXmlHandler().parse(xmlStr) as GridBs // then assertEquals(2, grid.rows.size, message = "grid.rows.size") //1 @@ -101,7 +101,7 @@ class LayoutXmlTest { //given val xmlStr = TAB_LAYOUT_XML.str //when - val grid = LayoutXmlHandler().parse(xmlStr) as Grid + val grid = LayoutXmlHandler().parse(xmlStr) as GridBs // then console.log("[LXT.testDemoTabGrid] ${grid.toString()}") console.log("rows: ", grid.rows.size) @@ -113,7 +113,7 @@ class LayoutXmlTest { //given val xmlStr = SO_LAYOUT_XML.str //when - val grid = LayoutXmlHandler().parse(xmlStr) as Grid + val grid = LayoutXmlHandler().parse(xmlStr) as GridBs // then assertEquals(2, grid.rows.size) //1
