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 2020/04/08 16:22:12 UTC
[isis] branch master updated (00880a1 -> 65a5781)
This is an automated email from the ASF dual-hosted git repository.
joergrade pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git.
from 00880a1 ISIS-2324 ignore all files in .idea
add c947593 Initial - port from roviz
add 4f699e2 kvision desktop example (partly)
add b8d66f3 basic layout with menu, tabs, and status
add 86ef5c9 rudimentary menu, kotlinx.serialization
add 6d6a069 kotlinx.serialization used for json parsing
add e0b8844 tests mostly fixed, 8/63 assertions fail
add 5e066a7 61/66 assertions green
add 0bd38ea layout tests fixed
add 0935422 tests OK, Invokeable replaced
add b5aabd8 favicon, menu
add 7884351 menubar works, action invocation in progress
add f41c4cc modal dialogs, enumerations extracted
add b00e224 POST Action
add 611f13b POST invoke part2, kvision 0.30, HttpError handling part1
add 086240d handle http errors gracefully
add 0d2be4f sample code for invoke action
add c346916 tests always call handler for parsing
add 0a70a9c handler naming streamlined, parsing reduced
add b9a917e create xhr body from argument, tweak navbars
add e0a0226 tabs/tables with sample/LogEvent, docs
add 655fa61 EventLogTab, documentation
add ab823ac Integration tests fixed, LogEntry with state, docs++
add 3dddee6 kvision 0.32 with tooltip support
add 082bcec use tootip in statusbar
add 1425338 find icon by title, cleanout sample code
add 6f20cf5 cleanup, todo's updated
add 686462d context menu to close tab(s)
add a99c0bf Link Button, EventLog detail info
add ea6b8f4 fix Property*HandlerTest(s)
add e97ca68 tests fixed (flaky: testPropertyDescription)
add 4844813 (flaky) tests fixed
add 9ef751d tabs, tables, and scrollbars
add 48b8ce2 uicomp grouped, EventLogTab with Tabulator
add 2bb4efb LogEntries with Tabulator
add 843684a FixtureResult table opens
add 000f7e4 ResponseHandler refactored
add f55345a FixtureResult table filled (draft)"
add ecf65f7 TransferObject 'Value' added, MemberTest ok, ValueTest to be fixed
add b8fb720 Member/Value deserialization impoved
add fe52cb8 ValueTest ignored
add 8dea34d references to deprecated type aliases fixed
add ca61ed2 dependency with security vulnarability removed
add 79d1585 use moment.js via kvision module
add faa9fc4 references to tunnel-agent removed
add 12df0d7 kotlin 1.3.30, DateSerializer
add cb456ec dependency upgrade, docs moved
add 2c6133f various version upgrades
add 3455041 PropertyHandlerTest fixed
add 769926d assertion added
add d9ab4a0 ObjectAdapter/TObject Test fixed
add c222152 EventLogTable with entries
add aa4854a model passed in via primary constructor
add 3480b90 Action icon in EventLogTable
add 8fdc21e EventLogTable with LinkButton
add 57e22d7 FixtureResultTable shows header
add 96877c7 FixtureResultTable shows test data
add 738ba87 Interfaces moved, modal dialogs wide, FixtureResult improved
add e86188d kvision/kotlin version upgrade
add a24f3f1 select first element in dropdown by default, xsd's for bs3
add 58e521c MenuItems fixed
add eb3fcc5 tests, compiler warnings fixed
add e786b11 more compiler warnings fixed, FixtureResultTable improved
add a90acae Link invocation via Observers
add feed106 Table with dynamic ObjectAdapter - 1.st draft works
add 31cf256 compiler warnings reduced, active tab selection
add 103fde1 DynamicTable/2, UI straightened a bit, travis-ci/1
add f71a338 travis-ci/2
add 903a596 travis-ci/3
add 5cfc2b1 documentation updated
add 8c3131c list handling, tests refactored
add 61073ef fix compiler warnings
add d7e8717 Value deserialization fixed for Int/Long/String
add 400de58 Value parsing fixed
add 03c9ae2 cleanup
add a32907b cleanup
add b4a4950 docs amended
add 472d3d5 c&p glitch fixed
add 6848399 doc update, double mavbar
add bf09aa9 getTime() fixes negative duration, docs amended
add 7320fc9 double navbar fixed
add ccc7c3e tab height fixed for LogEntries
add a7a0c8b fixing tabulator height for others as well
add cfcf6a5 tabulator height finetuning (scrollbar)
add 2534fba Exposer refactored
add a5f2976 Arguments amended for SimpleObject properties
add 0d8993f QA
add 83490c9 logo transparent
add 0157691 classes for bootstrap added
add a702c07 fix travis build
add 3e40784 make gradle executable
add cb2cede fix webpack error
add 27a869e make test silent
add d8ff30e fix webpack-bundle error
add b435842 bounding box for logo
add c4f80ae size down logo
add 9665851 clean up build script
add cf61d10 action name as tab title
add fccd9f8 image sample
add 58215ac image sample
add ad84359 #16 cache pattern extended
add 8bb960f fix webpack error for travis
add 4248b66 travis, xml samples, to clean up
add e137816 travis/webpack-bundle, logo
add 69d6563 node_js lts
add 5e98f1f tests added for column sequence
add bfabf67 Exposer simplyfied, TableFactory renamed
add 0dcc9c5 code cleanup
add fe2b2ec Link with Button/Title in FixtureResult list
add 056112e decolor overview
add 259d3da CSS tweaked for LinkButton in RoTable
add bc6b1d3 Column sequence based on layout, TODO's cleaned
add 60585a4 add coverage indicator, QA
add 9ada4e4 #15 icons added to RoTable for selected and contextMenu
add 0705564 update docs with screenshots
add 341d0a0 fix typo
add 66e6608 #28 contextMenu implemented
add c4ca582 Statusline amended
add c20b999 first take at branding
add 661bab0 #3 handler for bs3 introduced
add 05a05a1 #3 unmangling package names
add 5023700 fix typos
add 6e6894d #36 Amend DefaultHandler
add e1a519e bump kvision to 0.0.39
add 21ce7c2 #5 QA
add 1dbd242 #3 downloadLayout
add a49dcd0 #34 Follow hrefs from /restful
add b924096 #5 Documentation
add ee9cef7 #5 package names, KVision bumped to 1.0.0
add 8766801 #5 package names
add 28e70fb #34 /restful/version
add 8dbcc64 #35 Measure Code Coverage
add 275df7d #5 developer doc straightened out
add 24ab4a0 #35 Measure Code Coverage
add 9b17ed1 #24 enable all actions
add 3edc928 #24 rename ResultList to InvocationResult
add db49f64 #24 Link arguments as Map
add 57878fa #24 openSwaggerUi/invoke not working yet
add 4814754 #24 all TO's implemented, create SimpleObject (/)
add abdb59f #5 package names straightened out
add f6546ab #5 fix broken build
add 87c2bd5 #24 XHR with urlParameter, functions moved from Link
add 5daadd7 #24 Object handling (Aggregator, Display) started
add 53000a8 #24 download layout (/)
add ccab615 #24 re-construct arg keys from dialog, testdata amended
add 3e7eb0e #24 interface Aggregator renamed to IAggregator and passed on to LogEntry in order to enable reexecution of Actions
add 1966232 #24 re-execution of listAll, some issues remain
add 3f27009 #5 package names straightened out
add 4f4e847 #5 Review by Kevin: simplify Value, use only Long
add 0700111 #24 re-execution of listAll, some issues remain
add 52ad296 #26 menu pops up off screen
add b8f6a29 #5 Review by Kevin: simplify Value, use only Long
add 6c8acd8 #3 layout.xml for menubar
add 83778a7 #38 switch to kvision 2.x
add cc0905d Fix menus
add aa0899b Fix menus & dialogs, statusBar, upgrade npm dependencies
add 91e3d78 Dialogs pop up at the location of the menu select event, session encapsulated by UIManager, tab content VPanel -> SimplePanel
add 5352af8 Dialogs and ContextMenus close on ESC, pacjage names fixed
add b1f23df fix karam tests, upgrade to 2.4.0
add 4ccc79e removing bintray.com/ from repositories reduces build time by 50%
add 6ed6174 and removing bintray.com/ from the first repositories occurence reduces build time by another 75%
add 946927b #38 upgrade to kvision 2.4.0
add 09d0f81 #38 focus okButton in RoDialog
add 5d7420f #5 correct path for architecure overview diagram
add e7c518c #5 correct path for architecure overview diagram
add e1fc08d #35 Measure Code Coverage
add 7cf1e6d merge back to master
add cec4403 #5 disable broken test
add 9203741 #38 switch to kvision2
add 65fd37b #5 remove console.log's
add 07a12b5 #33 Colorize Menu Entries
add 800c48a #38 switch to kvision2
add 9aaf875 #38 switch to kvision2.5
add a4161f2 remove console.log's
add e29c93f table column header styling & feature (moving)
add 35a679f #22 Create UML Diagram
add 8233e48 table column header styling & feature (moving)
add 996bbc3 #3 layout.xml for menubar
add 0e054d1 remove console.log's
add f8c41bc #3 layout.xml for forms
add 70bca84 give a more descriptive name to package containing test data
add 7698e6d inactive tests removed
add 80cda01 imports cleaned, jsonStr renamed to response
add f3c4a73 fix test failure
add 4b7684a fix compiler complaint
add 011be2c fix compiler complaint
add 1729a0c #22 Create UML Diagrams (obey SOC)
add c460a1f #3 layout.xml for forms
add a269aed #3 layout.xml for forms
add c0a165b make tab smaller
add 01d6471 #3 RoDisplay draft (w/o layout)
add 0cf074f expression shortened
add 0038800 #3 RoDisplay shows properties
add 05a86df fix visibility
add 720f23e #3 RoDisplay loads layout
add d90d59e #3 Allow for multiple Aggregators per Response
add dd79df8 #3 ObjectAggregator wired into LogEntries, (dummy) Object form displayed
add a8fad45 minor code cleanup
add 1999252 #3 layout to's build use kv Panels/Component, FormPanelFactory extracted
add b72b21d minor code cleanup
add d3dc6d3 #3 Layout hierarchy being rendered. Data, tab names yet to do.
add cf463b0 #3 members passed in to layout for retrieval
add cec8880 #3 Object Display with Tabs
add 0917b2b #3 Object Display with Tabs
add 80b6316 #3 DropDown with object actions
add 2e06ecf #3 DropDown menu in tablulator
add 858bb60 #5 kvision 2.7.0, cleanup
add 6bb2d63 #40 decrease tab view offset
add f810aa2 #5 code formatting
add 51439fd #5 move action to first column, enlarge title column
add 72f9540 #5 remove superflous overrides, compiler warnings
add f9574e8 #5 Menu/Entry moved to org.ro.ui, imports and comments fixed
add ce575a2 #5 remove unused bs3 classes
add c55478b #5 remove unused bs3 classes
add 7b33044 #34 follow all hrefs from /restful in order to use menubars xml
add d9f16ca #3 use /menuBars
add 476b3a2 #3 add seperators for secondary
add a1ffee1 #3 move menu build function to factory
add d6314cb #5 simplify handlers
add 3ce3fc7 #5 simplify aggregators
add 787ba63 #5 simplify aggregators
add f9df037 #5 rename aggregators that do not really aggregate
add 2fc045c #5 minor fixes, point removed from UiManager
add cb3ae67 #43 Save and update added to Menu and UiManager
add e846a6b #43 use disabledReason for readonly fields
add 6136f92 #5 comments changed
add 2de0a20 #43 request payload yet to be fixed & filled
add ae8c9fb #43 changed value from Text/Area is PUTted
add c083bcc #42 first snapshot for demo added
add 8b80a3c #5 upgrade to kvision 2.9.0
add 84fc708 #42 Primary Menu displayed
add a206725 #42 Demo Text displayed
add 094b0d0 #42 Demo Tree (take 1/n:)
add bf59f8d #42 Demo Primitives
add cb5a3eb #42 Handle Property
add 72c44a1 #5 fix logentry regression
add b5bf46a #5 fix refactor into builder
add d2d8b22 #5 fix refactor into builder
add 773d4d9 #42 Widgets for Primitives (1/n)
add e8f2387 #42 Menu action and tab titles 'De Cameled'
add a5afc9b #42 Temporals Date (1/n)
add cba8c1a #42 (Most) Primitive Numbers with Spinners
add 6eaefaa #5 fix refactor into builder
add 01159b9 #42 Test for Demo Text Layout, TypeMapper enum
add f33a832 #42 HTML-description -> div in a panel
add b3502e6 #5 make title column wider
add 5ca62bc #42 improve HTML/Temporals
add a7022de #42 Demo Temporals 2/3
add 9d643ba #42 Demo Temporals 3/3
add a665f11 #42 Cleanup
add d4db6ca #21 Amend Statusline
add 3605fd9 #21 Amend Statusline
add c958120 #5 cleanup test
add cba09d3 #5 prepare for upcoming demo menu
add 53865f4 #42 Html Div in Panel with css
add e3fc1d2 #5 Tellurium sketch
add 9b11b06 #46 Export Events for Replay
add 92129f3 #5 RoDialog triggered with open
add 58ca986 #46 Export Events for Replay
add 407e069 #46 Export Events for Replay
add 3f31044 #42 Html Div in Panel with css
add acfacef #46 Export Events for Replay
add 3918d49 #46 Export Events for Replay
add bea46e9 #5 shorten expression
add bfbedba #46 Export Events for Replay
add 68d9dba #5 shorten expression
add 1a2b07b #46 Export Events for Replay
add 30b6bbf #5 shorten expression
add 30a4ff4 #42 collapseIfOne added
add 2447666 #46 bind button-bar to bottom of parent and make textarea scale with parent (1/n)
add 416e91b #42 collapseIfOne added
add f4788e9 #19 ChicagoFLF.ttf included. According to https://usemodify.com/fonts/chicago/ the License is SIL Open Font License, 1.1
add c17c7be #19 Hourglass, replacement for history icon
add c2b2406 #19 Chicago is cute, but less readable than default
add b4f30b9 #42 ErrorHandling improved for Primitives.Blobs
add 572cfb4 #42 Actions.AssociatedActions renders tab
add c13315a #42 Security.Me: Correct Aggregator yet to be set
add 1c5eb06 #19 Animated Logo appendable to NavBar
add 1e260c8 #19 Apache logo in pos 2
add f026bc9 #19 Apache Isis logo (svg))
add 7b0480f #19 logo tuning, status line indicates errors
add 47c79bd #5 update doc, remove unused code
add e90f14e #46 reenact setting number of rows for TextArea
add 6339f18 #5 upgrade to KVision 2.10.1
add ab2e42c #5 Shorten TextArea
add 74e3c20 #21 Amend Statusline
add 319170e #42 TupleDemo adds row in new place
add 474e699 #19 Users Gude started with hint on Branding and Rendering
add e974aab #5 Amend Documentation
add 04fd3cb #42 bs3 classes removed
add 73b2ab8 #42 Unexpected JsonDecodingException
add 4ac2ea7 #22 Display UML Diagram
add 8b1ccfa #5 Amend Documentation, test for ColLayout issue, cleanup
add ae973f4 #22 Add Slider, make Button text/icon settable
add d638ed3 #22 Add Slider, make Button text/icon settable
add a5e83ba #21 Amend Statusline
add fde860a #21 Amend Statusline
add d7a2b16 #5 Amend Documentation, test for ColLayout issue, cleanup
add fc585ef #22 Set opacity for background only
add 34e9885 #5 cleanup, OK icon fixed
add d29a98e #42 Layout TO's renamed, Sample for kotlinx.serialization
add 9083f2d #5 cleanup
add 8296401 #42 fix Primitives.Boolean
add 63309ed #22 Prepare aggregating DomainTypes
add 80194b8 #5 Move AI logo to the left, amend dev doc
add 12beab9 #48 UI Polishing
add 4c8e5f9 #5 Fix Travis Build
add b857c04 #5 Fix Travis Build
add f29edbf #22 DomainTypes visualized, PumlBuilder to be continued
add ab1ec44 #22 PumlBuilder/MetaModel to be continued
add 8a33b48 #22 Display UML Diagram with all Packages from DomainTypes
add 137010a #22 cleanup
add b99363f #5 Amend Documentation
add d2924e3 #22 Preview Video, cleanup
add e48328f #5 Utils reorganized, FileHelper added, typos fixed, cleanup
add 8049887 #5 console log's removed
add 9469197 #42 Only single Col parsed, even with custom serializer
add 6afcb24 #42 Revert to XML based Layout
add fec2981 #42 Combine XML (Grid) and JSON based Layout 1/n
add 0f759b4 #42 Combine XML (Grid) and JSON based Layout in DisplayList/Object 2/n
add f235249 #42 Combine XML (Grid) and JSON based Layout in DisplayList/Object 3/n. 3 EventStoreTest's left to be fixed
add 55dc0c1 #42 Combine XML (Grid) and JSON based Layout in DisplayList/Object 4/n. EventStoreTest.testLayout yet to be fixed
add 1c8da56 #42 Combine XML (Grid) and JSON based Layout in DisplayList/Object 5/n. properties/propertyDescriptions yet to be sorted out
add f2b376f #42 Combine XML (Grid) and JSON based Layout in DisplayList/Object 5/n. properties/propertyDescriptions yet to be sorted out
add 53e0ec4 #42 Combine XML (Grid) and JSON based Layout in DisplayList/Object 6/n. grid added to RoDisplay
add f2ce504 #5 cleanup
add 3df1f2e #42 Combine XML (Grid) and JSON based Layout in DisplayList/Object 7/n. recurse into Row and collect datanucleus properties as well
add 744b948 #42 Combine XML (Grid) and JSON based Layout in DisplayList/Object 7/n. recurse into Row and collect datanucleus properties as well
add 448fc2c #5 rename DisplayObject* to *DisplayModel
add 12d40be #42 Combine XML (Grid) and JSON based Layout in DisplayList/Object 8/n. multiple redundant property layouts avoided
add f406395 #42 Combine XML (Grid) and JSON based Layout in DisplayList/Object 9/n. SimpleObject list with DN properties rendered (again)
add dba4957 change root package name
add 6c7745f new root incubator/clients/kroviz
add 01147f4 group transfer objects without behavior into PleinTransferObjects, ASF Copyright added
add da01b3f group handler with parse() only into PleinHandlers, ASF Copyright added
add 9c52144 move notice
add 07e7ed9 move notice
add 6b19f43 ISIS-2324 Merge kroviz
add 48e5daa ISIS-2324 Merge kroviz, root adjusted, DevelopmentGuide amended
add 7dbd53a ISIS-2324 gradle called from pom.xml
add 654a4f5 ISIS-2324 jar built, but js' missing yet
add 21d4d87 ISIS-2324 import missed packages
add dc5dfe0 ISIS-2324 prepare switch to build.gradle.kts
add 166d677 ISIS-2324 Fix Object layout
add a792a10 ISIS-2324 upgrade to kvision 3
add 7620f4c ISIS-2324 upgrade to *.kts
add 38c3a2c ISIS-2324 upgrade to *.kts, fix package names and imports
add 626b0ae ISIS-2324 cleanup DisplayModel hierarchy, code cosmetic
add 5e59d51 ISIS-2324 code cleanup
add 44f59f8 ISIS-2324 kvision3 adoption
add 83bb471 ISIS-2324 Documentation
add 365fa4e ISIS-2324 code cleanup
add 5e8b4e0 ISIS-2324 Col layout with FieldSetPanel
add a02c13e ISIS-2324 Documentation
add b174330 ISIS-2324 code cleanup
add 300530a ISIS-2324 Documentation
add e4a5a8f ISIS-2324 Col layout with FieldSetPanel
add 2bc21ac ISIS-2324 Fix Tab layout parsing and rendering
add 71b43e1 ISIS-2324 code cleanup
add 0453724 ISIS-2324 Documentation
add 93da190 ISIS-2324 code cleanup
new c75bb57 ISIS-2324 merge branch for good
new 65a5781 ISIS-2324 ignorance++
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.idea/.gitignore | 2 +
.idea/gradle.xml | 20 +
.idea/jarRepositories.xml | 55 +
.idea/kroviz.iml | 9 +
.idea/misc.xml | 8 +
.idea/modules.xml | 8 +
.idea/vcs.xml | 6 +
incubator/clients/kroviz/.gitignore | 9 +-
incubator/clients/kroviz/.travis.yml | 24 +
LICENSE => incubator/clients/kroviz/LICENSE | 0
incubator/clients/kroviz/README.md | 64 +
incubator/clients/kroviz/build.gradle.kts | 230 ++++
incubator/clients/kroviz/docs/DevelopmentGuide.md | 295 +++++
incubator/clients/kroviz/docs/UsersGuide.md | 76 ++
incubator/clients/kroviz/docs/arc-overview.adoc | 34 +
incubator/clients/kroviz/docs/arc-overview.png | Bin 0 -> 164448 bytes
incubator/clients/kroviz/docs/demo_preview.gif | Bin 0 -> 28473347 bytes
incubator/clients/kroviz/docs/dev-mindmap.adoc | 57 +
incubator/clients/kroviz/docs/dev-mindmap.png | Bin 0 -> 86762 bytes
incubator/clients/kroviz/docs/dev-overview.adoc | 65 +
incubator/clients/kroviz/docs/dev-overview.png | Bin 0 -> 88720 bytes
incubator/clients/kroviz/docs/regression-test.adoc | 80 ++
incubator/clients/kroviz/docs/regression-test.png | Bin 0 -> 240468 bytes
incubator/clients/kroviz/docs/seq-aggregator.adoc | 60 +
incubator/clients/kroviz/docs/seq-aggregator.png | Bin 0 -> 309074 bytes
incubator/clients/kroviz/docs/uml-aggregator.adoc | 63 +
incubator/clients/kroviz/docs/uml-aggregator.png | Bin 0 -> 161326 bytes
incubator/clients/kroviz/docs/uml-handler.png | Bin 0 -> 148574 bytes
incubator/clients/kroviz/docs/uml-hanlder.adoc | 34 +
incubator/clients/kroviz/docs/uml-layout.adoc | 25 +
incubator/clients/kroviz/docs/uml-layout.png | Bin 0 -> 26132 bytes
incubator/clients/kroviz/docs/uml-overview.adoc | 115 ++
incubator/clients/kroviz/docs/uml-overview.png | Bin 0 -> 435594 bytes
incubator/clients/kroviz/docs/uml-renderer.adoc | 61 +
incubator/clients/kroviz/docs/uml-renderer.png | Bin 0 -> 163215 bytes
incubator/clients/kroviz/docs/uml-to.adoc | 106 ++
incubator/clients/kroviz/docs/uml-to.png | Bin 0 -> 300970 bytes
incubator/clients/kroviz/gradle.properties | 6 +
.../gradle/wrapper/gradle-wrapper.properties | 5 +
incubator/clients/kroviz/gradlew | 183 +++
incubator/clients/kroviz/gradlew.bat | 100 ++
incubator/clients/kroviz/images/Connect1.png | Bin 0 -> 3520 bytes
incubator/clients/kroviz/images/Connect2.png | Bin 0 -> 13491 bytes
incubator/clients/kroviz/images/Crow_2_(PSF).png | Bin 0 -> 309116 bytes
incubator/clients/kroviz/images/DemoPrimitives.png | Bin 0 -> 33016 bytes
incubator/clients/kroviz/images/DemoText.png | Bin 0 -> 18443 bytes
incubator/clients/kroviz/images/DemoTree.png | Bin 0 -> 17584 bytes
.../clients/kroviz/images/Extinction_Symbol.svg | 39 +
incubator/clients/kroviz/images/ListAll1.png | Bin 0 -> 28186 bytes
incubator/clients/kroviz/images/ListAll2.png | Bin 0 -> 26797 bytes
incubator/clients/kroviz/images/LogEntries1.png | Bin 0 -> 63686 bytes
incubator/clients/kroviz/images/LogEntries2.png | Bin 0 -> 21257 bytes
incubator/clients/kroviz/images/Meuble_corbeau.png | Bin 0 -> 9463 bytes
incubator/clients/kroviz/images/README.md | 37 +
.../clients/kroviz/images/RunFixtureScript1.png | Bin 0 -> 20294 bytes
.../clients/kroviz/images/RunFixtureScript2.png | Bin 0 -> 14751 bytes
.../clients/kroviz/images/RunFixtureScript3.png | Bin 0 -> 57851 bytes
.../clients/kroviz/images/RunFixtureScript4.png | Bin 0 -> 25002 bytes
.../clients/kroviz/images/WheatFieldWithCrows.jpg | Bin 0 -> 264883 bytes
.../clients/kroviz/images/WheatFieldWithCrows.png | Bin 0 -> 282527 bytes
incubator/clients/kroviz/images/isis_clut.png | Bin 0 -> 214 bytes
incubator/clients/kroviz/images/kroviz-logo.svg | 56 +
.../images/kroviz_Run_Debug_Configuration.png | Bin 0 -> 76837 bytes
incubator/clients/kroviz/karma.config.d/proxy.js | 1 +
.../clients/kroviz/package.json.d/project.info | 3 +
incubator/clients/kroviz/settings.gradle.kts | 19 +
.../kotlin/org/apache/isis/client/kroviz/App.kt | 37 +
.../org/apache/isis/client/kroviz/core/Session.kt | 56 +
.../kroviz/core/aggregator/ActionDispatcher.kt | 54 +
.../kroviz/core/aggregator/BaseAggregator.kt | 60 +
.../kroviz/core/aggregator/DiagramDispatcher.kt | 12 +
.../core/aggregator/DomainTypesAggregator.kt | 80 ++
.../kroviz/core/aggregator/DownloadDispatcher.kt | 12 +
.../kroviz/core/aggregator/ErrorDispatcher.kt | 20 +
.../kroviz/core/aggregator/ListAggregator.kt | 121 ++
.../kroviz/core/aggregator/NavigationDispatcher.kt | 15 +
.../kroviz/core/aggregator/ObjectAggregator.kt | 83 ++
.../kroviz/core/aggregator/RestfulDispatcher.kt | 30 +
.../kroviz/core/aggregator/SystemAggregator.kt | 34 +
.../kroviz/core/aggregator/UndefinedDispatcher.kt | 12 +
.../isis/client/kroviz/core/event/EventStore.kt | 136 ++
.../isis/client/kroviz/core/event/LogEntry.kt | 179 +++
.../isis/client/kroviz/core/event/ReplayEvent.kt | 13 +
.../kroviz/core/event/ResourceSpecification.kt | 46 +
.../client/kroviz/core/event/RoXmlHttpRequest.kt | 100 ++
.../isis/client/kroviz/core/model/DiagramDM.kt | 37 +
.../isis/client/kroviz/core/model/DisplayModel.kt | 35 +
.../kroviz/core/model/DisplayModelWithLayout.kt | 74 ++
.../isis/client/kroviz/core/model/Exposer.kt | 50 +
.../apache/isis/client/kroviz/core/model/ListDM.kt | 20 +
.../isis/client/kroviz/core/model/ObjectDM.kt | 65 +
.../isis/client/kroviz/core/model/SystemDM.kt | 27 +
.../client/kroviz/core/model/meta/MetaAction.kt | 5 +
.../client/kroviz/core/model/meta/MetaClass.kt | 29 +
.../client/kroviz/core/model/meta/MetaPackage.kt | 5 +
.../client/kroviz/core/model/meta/MetaProperty.kt | 5 +
.../isis/client/kroviz/handler/ActionHandler.kt | 21 +
.../isis/client/kroviz/handler/BaseHandler.kt | 67 +
.../isis/client/kroviz/handler/DefaultHandler.kt | 13 +
.../isis/client/kroviz/handler/DiagramHandler.kt | 11 +
.../client/kroviz/handler/DomainTypesHandler.kt | 22 +
.../isis/client/kroviz/handler/HttpErrorHandler.kt | 20 +
.../isis/client/kroviz/handler/LayoutHandler.kt | 25 +
.../isis/client/kroviz/handler/LayoutXmlHandler.kt | 23 +
.../isis/client/kroviz/handler/PlainHandlers.kt | 85 ++
.../isis/client/kroviz/handler/ResponseHandler.kt | 59 +
.../isis/client/kroviz/handler/RestfulHandler.kt | 21 +
.../client/kroviz/handler/ResultListHandler.kt | 21 +
.../client/kroviz/handler/ResultObjectHandler.kt | 21 +
.../client/kroviz/handler/ResultValueHandler.kt | 21 +
.../apache/isis/client/kroviz/layout/ActionLt.kt | 21 +
.../org/apache/isis/client/kroviz/layout/ColLt.kt | 28 +
.../isis/client/kroviz/layout/CollectionLt.kt | 20 +
.../org/apache/isis/client/kroviz/layout/ColsLt.kt | 18 +
.../isis/client/kroviz/layout/DomainObjectLt.kt | 16 +
.../apache/isis/client/kroviz/layout/FieldSetLt.kt | 14 +
.../org/apache/isis/client/kroviz/layout/Layout.kt | 13 +
.../apache/isis/client/kroviz/layout/PropertyLt.kt | 24 +
.../org/apache/isis/client/kroviz/layout/RowLt.kt | 11 +
.../apache/isis/client/kroviz/layout/TabGroupLt.kt | 11 +
.../org/apache/isis/client/kroviz/layout/TabLt.kt | 9 +
.../org/apache/isis/client/kroviz/to/Action.kt | 21 +
.../org/apache/isis/client/kroviz/to/Argument.kt | 18 +
.../org/apache/isis/client/kroviz/to/IResult.kt | 29 +
.../org/apache/isis/client/kroviz/to/Link.kt | 58 +
.../org/apache/isis/client/kroviz/to/Member.kt | 38 +
.../org/apache/isis/client/kroviz/to/Parameter.kt | 50 +
.../isis/client/kroviz/to/PlainTransferObjects.kt | 197 +++
.../org/apache/isis/client/kroviz/to/TObject.kt | 41 +
.../apache/isis/client/kroviz/to/TransferObject.kt | 26 +
.../org/apache/isis/client/kroviz/to/TypeMapper.kt | 49 +
.../org/apache/isis/client/kroviz/to/Value.kt | 66 +
.../org/apache/isis/client/kroviz/to/bs3/Action.kt | 41 +
.../org/apache/isis/client/kroviz/to/bs3/Col.kt | 54 +
.../isis/client/kroviz/to/bs3/DomainObject.kt | 27 +
.../apache/isis/client/kroviz/to/bs3/FieldSet.kt | 35 +
.../org/apache/isis/client/kroviz/to/bs3/Grid.kt | 37 +
.../org/apache/isis/client/kroviz/to/bs3/Link.kt | 40 +
.../apache/isis/client/kroviz/to/bs3/Property.kt | 47 +
.../org/apache/isis/client/kroviz/to/bs3/Row.kt | 32 +
.../org/apache/isis/client/kroviz/to/bs3/Tab.kt | 31 +
.../apache/isis/client/kroviz/to/bs3/TabGroup.kt | 29 +
.../org/apache/isis/client/kroviz/to/mb/Menu.kt | 11 +
.../apache/isis/client/kroviz/to/mb/MenuEntry.kt | 9 +
.../apache/isis/client/kroviz/to/mb/Menubars.kt | 11 +
.../org/apache/isis/client/kroviz/to/mb/Section.kt | 9 +
.../isis/client/kroviz/to/mb/ServiceAction.kt | 19 +
.../apache/isis/client/kroviz/ui/ClassDiagram.kt | 30 +
.../org/apache/isis/client/kroviz/ui/Command.kt | 15 +
.../apache/isis/client/kroviz/ui/Displayable.kt | 8 +
.../org/apache/isis/client/kroviz/ui/ErrorAlert.kt | 35 +
.../apache/isis/client/kroviz/ui/EventLogDetail.kt | 26 +
.../apache/isis/client/kroviz/ui/ExportAlert.kt | 49 +
.../org/apache/isis/client/kroviz/ui/FileAlert.kt | 25 +
.../org/apache/isis/client/kroviz/ui/FormItem.kt | 57 +
.../apache/isis/client/kroviz/ui/IconManager.kt | 136 ++
.../org/apache/isis/client/kroviz/ui/ImageAlert.kt | 42 +
.../org/apache/isis/client/kroviz/ui/Point.kt | 3 +
.../apache/isis/client/kroviz/ui/PumlBuilder.kt | 88 ++
.../apache/isis/client/kroviz/ui/UndefinedAlert.kt | 30 +
.../isis/client/kroviz/ui/builder/ColBuilder.kt | 30 +
.../client/kroviz/ui/builder/FieldSetBuilder.kt | 47 +
.../isis/client/kroviz/ui/builder/LayoutBuilder.kt | 27 +
.../isis/client/kroviz/ui/builder/RowBuilder.kt | 45 +
.../isis/client/kroviz/ui/builder/TabBuilder.kt | 27 +
.../client/kroviz/ui/builder/TabGroupBuilder.kt | 25 +
.../isis/client/kroviz/ui/kv/ActionPrompt.kt | 93 ++
.../isis/client/kroviz/ui/kv/ColumnFactory.kt | 145 +++
.../isis/client/kroviz/ui/kv/EventLogTable.kt | 84 ++
.../isis/client/kroviz/ui/kv/FormPanelFactory.kt | 151 +++
.../apache/isis/client/kroviz/ui/kv/LoginPrompt.kt | 57 +
.../apache/isis/client/kroviz/ui/kv/MenuFactory.kt | 109 ++
.../isis/client/kroviz/ui/kv/PlantumlPanel.kt | 49 +
.../org/apache/isis/client/kroviz/ui/kv/RoApp.kt | 14 +
.../apache/isis/client/kroviz/ui/kv/RoDialog.kt | 91 ++
.../apache/isis/client/kroviz/ui/kv/RoDisplay.kt | 45 +
.../apache/isis/client/kroviz/ui/kv/RoMenuBar.kt | 86 ++
.../isis/client/kroviz/ui/kv/RoSimplePanel.kt | 11 +
.../apache/isis/client/kroviz/ui/kv/RoStatusBar.kt | 85 ++
.../apache/isis/client/kroviz/ui/kv/RoTabPanel.kt | 30 +
.../org/apache/isis/client/kroviz/ui/kv/RoTable.kt | 46 +
.../apache/isis/client/kroviz/ui/kv/RoToolPanel.kt | 26 +
.../org/apache/isis/client/kroviz/ui/kv/RoView.kt | 59 +
.../apache/isis/client/kroviz/ui/kv/ToolButton.kt | 27 +
.../apache/isis/client/kroviz/ui/kv/UiManager.kt | 164 +++
.../apache/isis/client/kroviz/utils/DateHelper.kt | 37 +
.../apache/isis/client/kroviz/utils/DomHelper.kt | 29 +
.../apache/isis/client/kroviz/utils/FileHelper.kt | 15 +
.../apache/isis/client/kroviz/utils/UmlUtils.kt | 23 +
.../org/apache/isis/client/kroviz/utils/Utils.kt | 161 +++
.../apache/isis/client/kroviz/utils/XmlHelper.kt | 33 +
.../kroviz/src/main/resources}/bootstrap3.xsd | 0
.../src/main/resources/component/component.xsd | 179 +++
.../kroviz/src/main/resources/css/kroviz.css | 146 +++
.../kroviz/src/main/resources/fonts/ChicagoFLF.ttf | Bin 0 -> 31256 bytes
.../kroviz/src/main/resources/hbs/template1.en.hbs | 2 +
.../kroviz/src/main/resources/hbs/template1.pl.hbs | 2 +
.../resources/img/2-2-clapperboard-png-thumb.png | Bin 0 -> 4213 bytes
.../clients/kroviz/src/main/resources/img/crow.gif | Bin 0 -> 5560 bytes
.../kroviz/src/main/resources/img/favicon.ico | Bin 0 -> 32038 bytes
.../kroviz/src/main/resources/img/kroviz-logo.svg | 56 +
.../main/resources/img/plantUml_stateSample.svg | 136 ++
.../kroviz/src/main/resources/img/uml-overview.png | Bin 0 -> 435594 bytes
.../kroviz/src/main/resources}/links/links.xsd | 0
incubator/clients/kroviz/src/main/web/index.html | 14 +
.../org/apache/isis/client/kroviz/AppSpec.kt | 14 +
.../apache/isis/client/kroviz/IconManagerTest.kt | 0
.../apache/isis/client/kroviz/IntegrationTest.kt | 68 +
.../apache/isis/client/kroviz/PumlBuilderTest.kt | 32 +
.../org/apache/isis/client/kroviz/TestUtil.kt | 32 +
.../apache/isis/client/kroviz/core/UtilsTest.kt | 102 ++
.../kroviz/core/aggregator/ListAggregatorTest.kt | 76 ++
.../kroviz/core/aggregator/ObjectAggregatorTest.kt | 36 +
.../client/kroviz/core/event/EventStoreTest.kt | 195 +++
.../isis/client/kroviz/core/event/LogEntryTest.kt | 26 +
.../client/kroviz/core/model/DisplayListTest.kt | 76 ++
.../isis/client/kroviz/core/model/ExposerTest.kt | 57 +
.../client/kroviz/core/model/FixtureResultTest.kt | 52 +
.../client/kroviz/handler/PropertyHandlerTest.kt | 19 +
.../client/kroviz/handler/RestfulHandlerTest.kt | 23 +
.../apache/isis/client/kroviz/layout/LayoutTest.kt | 24 +
.../client/kroviz/snapshots/FR_OBJECT_LAYOUT.json | 248 ++++
.../isis/client/kroviz/snapshots/LAYOUT.adoc | 380 ++++++
.../isis/client/kroviz/snapshots/LAYOUT.puml | 376 ++++++
.../apache/isis/client/kroviz/snapshots/LAYOUT.svg | 389 ++++++
.../isis/client/kroviz/snapshots/Response.kt | 6 +
.../snapshots/demo2_0_0/ACTIONS_TEXT_INVOKE.kt | 150 +++
.../DEMO_ASSOCIATED_ACTION_OBJECT_LAYOUT.kt | 262 ++++
.../kroviz/snapshots/demo2_0_0/DEMO_FILE_NODE.kt | 105 ++
.../snapshots/demo2_0_0/DEMO_HTTP_ERROR_500.kt | 646 ++++++++++
.../kroviz/snapshots/demo2_0_0/DEMO_MENUBARS.kt | 990 +++++++++++++++
.../snapshots/demo2_0_0/DEMO_OBJECT_LAYOUT.kt | 328 +++++
.../kroviz/snapshots/demo2_0_0/DEMO_PRIMITIVES.kt | 562 +++++++++
.../kroviz/snapshots/demo2_0_0/DEMO_PROPERTY.kt | 51 +
.../demo2_0_0/DEMO_PROPERTY_DESCRIPTION.kt | 38 +
.../demo2_0_0/DEMO_RESTFUL_DOMAIN_TYPES.kt | 1061 ++++++++++++++++
.../snapshots/demo2_0_0/DEMO_TAB_LAYOUT_XML.kt | 160 +++
.../snapshots/demo2_0_0/DEMO_TAB_OBJECT_LAYOUT.kt | 387 ++++++
.../kroviz/snapshots/demo2_0_0/DEMO_TEMPORALS.kt | 186 +++
.../kroviz/snapshots/demo2_0_0/DEMO_TEXT_LAYOUT.kt | 327 +++++
.../demo2_0_0/DEMO_TOOLTIP_OBJECT_LAYOUT.kt | 563 +++++++++
.../demo2_0_0/DEMO_TUPLE_OBJECT_LAYOUT.kt | 473 +++++++
.../kroviz/snapshots/demo2_0_0/HTTP_ERROR_405.kt | 125 ++
.../demo2_0_0/ISIS_SECURITY_ME_SERVICE.kt | 431 +++++++
.../isis/client/kroviz/snapshots/sample.json | 347 ++++++
.../apache/isis/client/kroviz/snapshots/sample.xml | 88 ++
.../snapshots/simpleapp1_16_0/ACTIONS_CREATE.kt | 55 +
.../snapshots/simpleapp1_16_0/ACTIONS_DELETE.kt | 44 +
.../simpleapp1_16_0/ACTIONS_DOWNLOAD_LAYOUTS.kt | 53 +
.../ACTIONS_DOWNLOAD_MENUBARS_LAYOUT.kt | 62 +
.../simpleapp1_16_0/ACTIONS_DOWNLOAD_META_MODEL.kt | 53 +
.../ACTIONS_DOWNLOAD_SWAGGER_SCHEMA_DEFINITION.kt | 73 ++
.../ACTIONS_DOWNLOAD_TRANSLATIONS.kt | 59 +
.../simpleapp1_16_0/ACTIONS_DOWNLOAD_VALUE.kt | 32 +
.../simpleapp1_16_0/ACTIONS_FIND_BY_NAME.kt | 55 +
.../simpleapp1_16_0/ACTIONS_OPEN_SWAGGER_UI.kt | 31 +
.../simpleapp1_16_0/ACTIONS_RUN_FIXTURE_SCRIPT.kt | 80 ++
.../snapshots/simpleapp1_16_0/ACTION_SO_CREATE.kt | 154 +++
.../kroviz/snapshots/simpleapp1_16_0/CFG_1.kt | 120 ++
.../snapshots/simpleapp1_16_0/CFG_LAYOUT_JSON.kt | 299 +++++
.../snapshots/simpleapp1_16_0/CFG_LAYOUT_XML.kt | 97 ++
.../kroviz/snapshots/simpleapp1_16_0/FR_OBJECT.kt | 161 +++
.../snapshots/simpleapp1_16_0/FR_OBJECT_BAZ.kt | 167 +++
.../snapshots/simpleapp1_16_0/FR_OBJECT_FRODO.kt | 146 +++
.../snapshots/simpleapp1_16_0/FR_OBJECT_LAYOUT.kt | 94 ++
.../simpleapp1_16_0/FR_OBJECT_PROPERTY.kt | 37 +
.../simpleapp1_16_0/FR_OBJECT_PROPERTY_.kt | 40 +
.../simpleapp1_16_0/FR_PROPERTY_DESCRIPTION.kt | 35 +
.../kroviz/snapshots/simpleapp1_16_0/HTTP_ERROR.kt | 88 ++
.../snapshots/simpleapp1_16_0/HTTP_ERROR_404.kt | 13 +
.../snapshots/simpleapp1_16_0/HTTP_ERROR_405.kt | 81 ++
.../HTTP_ERROR_500_UNIQUE_CONSTRAINT_VIOLATION.kt | 308 +++++
.../kroviz/snapshots/simpleapp1_16_0/RESTFUL.kt | 41 +
.../simpleapp1_16_0/RESTFUL_DOMAIN_TYPES.kt | 1294 ++++++++++++++++++++
.../snapshots/simpleapp1_16_0/RESTFUL_MENUBARS.kt | 386 ++++++
.../snapshots/simpleapp1_16_0/RESTFUL_SERVICES.kt | 84 ++
.../snapshots/simpleapp1_16_0/RESTFUL_USER.kt | 28 +
.../snapshots/simpleapp1_16_0/RESTFUL_VERSION.kt | 31 +
.../snapshots/simpleapp1_16_0/SECONDARY_MENU.kt | 58 +
.../client/kroviz/snapshots/simpleapp1_16_0/SO.kt | 111 ++
.../kroviz/snapshots/simpleapp1_16_0/SO_0.kt | 188 +++
.../kroviz/snapshots/simpleapp1_16_0/SO_1.kt | 201 +++
.../snapshots/simpleapp1_16_0/SO_LAYOUT_JSON.kt | 356 ++++++
.../snapshots/simpleapp1_16_0/SO_LAYOUT_XML.kt | 82 ++
.../snapshots/simpleapp1_16_0/SO_LIST_ALL.kt | 45 +
.../simpleapp1_16_0/SO_LIST_ALL_INVOKE.kt | 102 ++
.../simpleapp1_16_0/SO_LIST_ALL_OBJECTS.kt | 110 ++
.../kroviz/snapshots/simpleapp1_16_0/SO_MENU.kt | 82 ++
.../snapshots/simpleapp1_16_0/SO_OBJECT_LAYOUT.kt | 354 ++++++
.../snapshots/simpleapp1_16_0/SO_PROPERTY.kt | 45 +
.../kroviz/snapshots/simpleapp1_16_0/UrlsTest.kt | 57 +
.../org/apache/isis/client/kroviz/to/ActionTest.kt | 232 ++++
.../apache/isis/client/kroviz/to/DomainTypeTest.kt | 56 +
.../isis/client/kroviz/to/FeaturedTypesTest.kt | 74 ++
.../apache/isis/client/kroviz/to/HttpErrorTest.kt | 85 ++
.../org/apache/isis/client/kroviz/to/LinkTest.kt | 42 +
.../org/apache/isis/client/kroviz/to/MemberTest.kt | 74 ++
.../apache/isis/client/kroviz/to/PropertyTest.kt | 65 +
.../apache/isis/client/kroviz/to/ResultListTest.kt | 21 +
.../isis/client/kroviz/to/ResultObjectTest.kt | 28 +
.../isis/client/kroviz/to/ResultValueTest.kt | 41 +
.../apache/isis/client/kroviz/to/ServiceTest.kt | 40 +
.../apache/isis/client/kroviz/to/TObjectTest.kt | 92 ++
.../org/apache/isis/client/kroviz/to/ToTest.kt | 11 +
.../org/apache/isis/client/kroviz/to/UserTest.kt | 18 +
.../apache/isis/client/kroviz/to/VersionTest.kt | 19 +
.../isis/client/kroviz/to/bs3/LayoutXmlTest.kt | 70 ++
.../isis/client/kroviz/to/mb/MenubarsTest.kt | 86 ++
.../isis/client/kroviz/ui/IconManagerTest.kt | 19 +
.../client/kroviz/ui/table/TableFactoryTest.kt | 47 +
.../clients/kroviz/translation/messages-de.po | 23 +
.../clients/kroviz/translation/messages-en.po | 23 +
.../clients/kroviz/translation/messages-es.po | 23 +
incubator/clients/kroviz/translation/messages.pot | 22 +
.../clients/kroviz/webpack.config.d/bootstrap.js | 3 +
incubator/clients/kroviz/webpack.config.d/css.js | 2 +
incubator/clients/kroviz/webpack.config.d/file.js | 9 +
.../clients/kroviz/webpack.config.d/handlebars.js | 6 +
incubator/clients/kroviz/webpack.config.d/jed.js | 7 +
.../clients/kroviz/webpack.config.d/jquery.js | 9 +
.../clients/kroviz/webpack.config.d/minify.js | 17 +
.../clients/kroviz/webpack.config.d/moment.js | 12 +
.../clients/kroviz/webpack.config.d/webpack.js | 39 +
incubator/pom.xml | 31 +-
324 files changed, 24930 insertions(+), 16 deletions(-)
create mode 100644 .idea/.gitignore
create mode 100644 .idea/gradle.xml
create mode 100644 .idea/jarRepositories.xml
create mode 100644 .idea/kroviz.iml
create mode 100644 .idea/misc.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/vcs.xml
create mode 100644 incubator/clients/kroviz/.travis.yml
copy LICENSE => incubator/clients/kroviz/LICENSE (100%)
create mode 100644 incubator/clients/kroviz/README.md
create mode 100644 incubator/clients/kroviz/build.gradle.kts
create mode 100644 incubator/clients/kroviz/docs/DevelopmentGuide.md
create mode 100644 incubator/clients/kroviz/docs/UsersGuide.md
create mode 100644 incubator/clients/kroviz/docs/arc-overview.adoc
create mode 100644 incubator/clients/kroviz/docs/arc-overview.png
create mode 100644 incubator/clients/kroviz/docs/demo_preview.gif
create mode 100644 incubator/clients/kroviz/docs/dev-mindmap.adoc
create mode 100644 incubator/clients/kroviz/docs/dev-mindmap.png
create mode 100644 incubator/clients/kroviz/docs/dev-overview.adoc
create mode 100644 incubator/clients/kroviz/docs/dev-overview.png
create mode 100644 incubator/clients/kroviz/docs/regression-test.adoc
create mode 100644 incubator/clients/kroviz/docs/regression-test.png
create mode 100644 incubator/clients/kroviz/docs/seq-aggregator.adoc
create mode 100644 incubator/clients/kroviz/docs/seq-aggregator.png
create mode 100644 incubator/clients/kroviz/docs/uml-aggregator.adoc
create mode 100644 incubator/clients/kroviz/docs/uml-aggregator.png
create mode 100644 incubator/clients/kroviz/docs/uml-handler.png
create mode 100644 incubator/clients/kroviz/docs/uml-hanlder.adoc
create mode 100644 incubator/clients/kroviz/docs/uml-layout.adoc
create mode 100644 incubator/clients/kroviz/docs/uml-layout.png
create mode 100644 incubator/clients/kroviz/docs/uml-overview.adoc
create mode 100644 incubator/clients/kroviz/docs/uml-overview.png
create mode 100644 incubator/clients/kroviz/docs/uml-renderer.adoc
create mode 100644 incubator/clients/kroviz/docs/uml-renderer.png
create mode 100644 incubator/clients/kroviz/docs/uml-to.adoc
create mode 100644 incubator/clients/kroviz/docs/uml-to.png
create mode 100644 incubator/clients/kroviz/gradle.properties
create mode 100644 incubator/clients/kroviz/gradle/wrapper/gradle-wrapper.properties
create mode 100644 incubator/clients/kroviz/gradlew
create mode 100644 incubator/clients/kroviz/gradlew.bat
create mode 100644 incubator/clients/kroviz/images/Connect1.png
create mode 100644 incubator/clients/kroviz/images/Connect2.png
create mode 100644 incubator/clients/kroviz/images/Crow_2_(PSF).png
create mode 100644 incubator/clients/kroviz/images/DemoPrimitives.png
create mode 100644 incubator/clients/kroviz/images/DemoText.png
create mode 100644 incubator/clients/kroviz/images/DemoTree.png
create mode 100644 incubator/clients/kroviz/images/Extinction_Symbol.svg
create mode 100644 incubator/clients/kroviz/images/ListAll1.png
create mode 100644 incubator/clients/kroviz/images/ListAll2.png
create mode 100644 incubator/clients/kroviz/images/LogEntries1.png
create mode 100644 incubator/clients/kroviz/images/LogEntries2.png
create mode 100644 incubator/clients/kroviz/images/Meuble_corbeau.png
create mode 100644 incubator/clients/kroviz/images/README.md
create mode 100644 incubator/clients/kroviz/images/RunFixtureScript1.png
create mode 100644 incubator/clients/kroviz/images/RunFixtureScript2.png
create mode 100644 incubator/clients/kroviz/images/RunFixtureScript3.png
create mode 100644 incubator/clients/kroviz/images/RunFixtureScript4.png
create mode 100644 incubator/clients/kroviz/images/WheatFieldWithCrows.jpg
create mode 100644 incubator/clients/kroviz/images/WheatFieldWithCrows.png
create mode 100644 incubator/clients/kroviz/images/isis_clut.png
create mode 100644 incubator/clients/kroviz/images/kroviz-logo.svg
create mode 100644 incubator/clients/kroviz/images/kroviz_Run_Debug_Configuration.png
create mode 100644 incubator/clients/kroviz/karma.config.d/proxy.js
create mode 100644 incubator/clients/kroviz/package.json.d/project.info
create mode 100644 incubator/clients/kroviz/settings.gradle.kts
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/App.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/Session.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/ActionDispatcher.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/BaseAggregator.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/DiagramDispatcher.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/DomainTypesAggregator.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/DownloadDispatcher.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/ErrorDispatcher.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/ListAggregator.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/NavigationDispatcher.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/ObjectAggregator.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/RestfulDispatcher.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/SystemAggregator.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/UndefinedDispatcher.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/EventStore.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/LogEntry.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/ReplayEvent.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/ResourceSpecification.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/event/RoXmlHttpRequest.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/DiagramDM.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/DisplayModel.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/DisplayModelWithLayout.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/Exposer.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/ListDM.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/ObjectDM.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/SystemDM.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/meta/MetaAction.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/meta/MetaClass.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/meta/MetaPackage.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/meta/MetaProperty.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/ActionHandler.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/BaseHandler.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/DefaultHandler.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/DiagramHandler.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/DomainTypesHandler.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/HttpErrorHandler.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/LayoutHandler.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/LayoutXmlHandler.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/PlainHandlers.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/ResponseHandler.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/RestfulHandler.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/ResultListHandler.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/ResultObjectHandler.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/handler/ResultValueHandler.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/layout/ActionLt.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/layout/ColLt.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/layout/CollectionLt.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/layout/ColsLt.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/layout/DomainObjectLt.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/layout/FieldSetLt.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/layout/Layout.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/layout/PropertyLt.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/layout/RowLt.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/layout/TabGroupLt.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/layout/TabLt.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Action.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Argument.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/IResult.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Link.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Member.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Parameter.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/PlainTransferObjects.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/TObject.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/TransferObject.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/TypeMapper.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Value.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Action.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Col.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/DomainObject.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/FieldSet.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Grid.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Link.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Property.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Row.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Tab.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/TabGroup.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/mb/Menu.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/mb/MenuEntry.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/mb/Menubars.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/mb/Section.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/mb/ServiceAction.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/ClassDiagram.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/Command.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/Displayable.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/ErrorAlert.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/EventLogDetail.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/ExportAlert.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/FileAlert.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/FormItem.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/IconManager.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/ImageAlert.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/Point.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/PumlBuilder.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/UndefinedAlert.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/builder/ColBuilder.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/builder/FieldSetBuilder.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/builder/LayoutBuilder.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/builder/RowBuilder.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/builder/TabBuilder.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/builder/TabGroupBuilder.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/ActionPrompt.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/ColumnFactory.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/EventLogTable.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/FormPanelFactory.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/LoginPrompt.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/MenuFactory.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/PlantumlPanel.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoApp.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoDialog.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoDisplay.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoMenuBar.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoSimplePanel.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoStatusBar.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoTabPanel.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoTable.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoToolPanel.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoView.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/ToolButton.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/UiManager.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/DateHelper.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/DomHelper.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/FileHelper.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/UmlUtils.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/Utils.kt
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/XmlHelper.kt
copy {antora/supplemental-ui/applib/layout/grid/bootstrap3 => incubator/clients/kroviz/src/main/resources}/bootstrap3.xsd (100%)
create mode 100644 incubator/clients/kroviz/src/main/resources/component/component.xsd
create mode 100644 incubator/clients/kroviz/src/main/resources/css/kroviz.css
create mode 100644 incubator/clients/kroviz/src/main/resources/fonts/ChicagoFLF.ttf
create mode 100644 incubator/clients/kroviz/src/main/resources/hbs/template1.en.hbs
create mode 100644 incubator/clients/kroviz/src/main/resources/hbs/template1.pl.hbs
create mode 100644 incubator/clients/kroviz/src/main/resources/img/2-2-clapperboard-png-thumb.png
create mode 100644 incubator/clients/kroviz/src/main/resources/img/crow.gif
create mode 100644 incubator/clients/kroviz/src/main/resources/img/favicon.ico
create mode 100644 incubator/clients/kroviz/src/main/resources/img/kroviz-logo.svg
create mode 100644 incubator/clients/kroviz/src/main/resources/img/plantUml_stateSample.svg
create mode 100644 incubator/clients/kroviz/src/main/resources/img/uml-overview.png
copy {antora/supplemental-ui/applib/layout => incubator/clients/kroviz/src/main/resources}/links/links.xsd (100%)
create mode 100644 incubator/clients/kroviz/src/main/web/index.html
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/AppSpec.kt
copy testing/unittestsupport/applib/xml/objects/CUS/2.xml => incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/IconManagerTest.kt (100%)
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/IntegrationTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/PumlBuilderTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/TestUtil.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/UtilsTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/aggregator/ListAggregatorTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/aggregator/ObjectAggregatorTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/event/EventStoreTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/event/LogEntryTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/model/DisplayListTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/model/ExposerTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/model/FixtureResultTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/handler/PropertyHandlerTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/handler/RestfulHandlerTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/layout/LayoutTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/FR_OBJECT_LAYOUT.json
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/LAYOUT.adoc
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/LAYOUT.puml
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/LAYOUT.svg
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/Response.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/ACTIONS_TEXT_INVOKE.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_ASSOCIATED_ACTION_OBJECT_LAYOUT.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_FILE_NODE.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_HTTP_ERROR_500.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_MENUBARS.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_OBJECT_LAYOUT.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_PRIMITIVES.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_PROPERTY.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_PROPERTY_DESCRIPTION.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_RESTFUL_DOMAIN_TYPES.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_TAB_LAYOUT_XML.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_TAB_OBJECT_LAYOUT.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_TEMPORALS.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_TEXT_LAYOUT.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_TOOLTIP_OBJECT_LAYOUT.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/DEMO_TUPLE_OBJECT_LAYOUT.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/HTTP_ERROR_405.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/demo2_0_0/ISIS_SECURITY_ME_SERVICE.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/sample.json
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/sample.xml
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/ACTIONS_CREATE.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/ACTIONS_DELETE.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/ACTIONS_DOWNLOAD_LAYOUTS.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/ACTIONS_DOWNLOAD_MENUBARS_LAYOUT.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/ACTIONS_DOWNLOAD_META_MODEL.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/ACTIONS_DOWNLOAD_SWAGGER_SCHEMA_DEFINITION.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/ACTIONS_DOWNLOAD_TRANSLATIONS.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/ACTIONS_DOWNLOAD_VALUE.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/ACTIONS_FIND_BY_NAME.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/ACTIONS_OPEN_SWAGGER_UI.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/ACTIONS_RUN_FIXTURE_SCRIPT.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/ACTION_SO_CREATE.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/CFG_1.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/CFG_LAYOUT_JSON.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/CFG_LAYOUT_XML.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/FR_OBJECT.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/FR_OBJECT_BAZ.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/FR_OBJECT_FRODO.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/FR_OBJECT_LAYOUT.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/FR_OBJECT_PROPERTY.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/FR_OBJECT_PROPERTY_.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/FR_PROPERTY_DESCRIPTION.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/HTTP_ERROR.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/HTTP_ERROR_404.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/HTTP_ERROR_405.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/HTTP_ERROR_500_UNIQUE_CONSTRAINT_VIOLATION.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/RESTFUL.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/RESTFUL_DOMAIN_TYPES.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/RESTFUL_MENUBARS.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/RESTFUL_SERVICES.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/RESTFUL_USER.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/RESTFUL_VERSION.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/SECONDARY_MENU.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/SO.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/SO_0.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/SO_1.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/SO_LAYOUT_JSON.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/SO_LAYOUT_XML.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/SO_LIST_ALL.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/SO_LIST_ALL_INVOKE.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/SO_LIST_ALL_OBJECTS.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/SO_MENU.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/SO_OBJECT_LAYOUT.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/SO_PROPERTY.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/UrlsTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ActionTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/DomainTypeTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/FeaturedTypesTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/HttpErrorTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/LinkTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/MemberTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/PropertyTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ResultListTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ResultObjectTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ResultValueTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ServiceTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/TObjectTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ToTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/UserTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/VersionTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/bs3/LayoutXmlTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/mb/MenubarsTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/ui/IconManagerTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/ui/table/TableFactoryTest.kt
create mode 100644 incubator/clients/kroviz/translation/messages-de.po
create mode 100644 incubator/clients/kroviz/translation/messages-en.po
create mode 100644 incubator/clients/kroviz/translation/messages-es.po
create mode 100644 incubator/clients/kroviz/translation/messages.pot
create mode 100644 incubator/clients/kroviz/webpack.config.d/bootstrap.js
create mode 100644 incubator/clients/kroviz/webpack.config.d/css.js
create mode 100644 incubator/clients/kroviz/webpack.config.d/file.js
create mode 100644 incubator/clients/kroviz/webpack.config.d/handlebars.js
create mode 100644 incubator/clients/kroviz/webpack.config.d/jed.js
create mode 100644 incubator/clients/kroviz/webpack.config.d/jquery.js
create mode 100644 incubator/clients/kroviz/webpack.config.d/minify.js
create mode 100644 incubator/clients/kroviz/webpack.config.d/moment.js
create mode 100644 incubator/clients/kroviz/webpack.config.d/webpack.js
[isis] 01/02: ISIS-2324 merge branch for good
Posted by jo...@apache.org.
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 c75bb57de682b84899bd92802b1fc704f2cb0b8c
Merge: 00880a1 93da190
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Wed Apr 8 18:17:42 2020 +0200
ISIS-2324 merge branch for good
.idea/.gitignore | 2 +
.idea/gradle.xml | 20 +
.idea/jarRepositories.xml | 55 +
.idea/kroviz.iml | 9 +
.idea/misc.xml | 8 +
.idea/modules.xml | 8 +
.idea/vcs.xml | 6 +
incubator/clients/kroviz/.gitignore | 7 +
incubator/clients/kroviz/.travis.yml | 24 +
incubator/clients/kroviz/LICENSE | 201 +++
incubator/clients/kroviz/README.md | 64 +
incubator/clients/kroviz/build.gradle.kts | 230 ++++
incubator/clients/kroviz/docs/DevelopmentGuide.md | 295 +++++
incubator/clients/kroviz/docs/UsersGuide.md | 76 ++
incubator/clients/kroviz/docs/arc-overview.adoc | 34 +
incubator/clients/kroviz/docs/arc-overview.png | Bin 0 -> 164448 bytes
incubator/clients/kroviz/docs/demo_preview.gif | Bin 0 -> 28473347 bytes
incubator/clients/kroviz/docs/dev-mindmap.adoc | 57 +
incubator/clients/kroviz/docs/dev-mindmap.png | Bin 0 -> 86762 bytes
incubator/clients/kroviz/docs/dev-overview.adoc | 65 +
incubator/clients/kroviz/docs/dev-overview.png | Bin 0 -> 88720 bytes
incubator/clients/kroviz/docs/regression-test.adoc | 80 ++
incubator/clients/kroviz/docs/regression-test.png | Bin 0 -> 240468 bytes
incubator/clients/kroviz/docs/seq-aggregator.adoc | 60 +
incubator/clients/kroviz/docs/seq-aggregator.png | Bin 0 -> 309074 bytes
incubator/clients/kroviz/docs/uml-aggregator.adoc | 63 +
incubator/clients/kroviz/docs/uml-aggregator.png | Bin 0 -> 161326 bytes
incubator/clients/kroviz/docs/uml-handler.png | Bin 0 -> 148574 bytes
incubator/clients/kroviz/docs/uml-hanlder.adoc | 34 +
incubator/clients/kroviz/docs/uml-layout.adoc | 25 +
incubator/clients/kroviz/docs/uml-layout.png | Bin 0 -> 26132 bytes
incubator/clients/kroviz/docs/uml-overview.adoc | 115 ++
incubator/clients/kroviz/docs/uml-overview.png | Bin 0 -> 435594 bytes
incubator/clients/kroviz/docs/uml-renderer.adoc | 61 +
incubator/clients/kroviz/docs/uml-renderer.png | Bin 0 -> 163215 bytes
incubator/clients/kroviz/docs/uml-to.adoc | 106 ++
incubator/clients/kroviz/docs/uml-to.png | Bin 0 -> 300970 bytes
incubator/clients/kroviz/gradle.properties | 6 +
.../gradle/wrapper/gradle-wrapper.properties | 5 +
incubator/clients/kroviz/gradlew | 183 +++
incubator/clients/kroviz/gradlew.bat | 100 ++
incubator/clients/kroviz/images/Connect1.png | Bin 0 -> 3520 bytes
incubator/clients/kroviz/images/Connect2.png | Bin 0 -> 13491 bytes
incubator/clients/kroviz/images/Crow_2_(PSF).png | Bin 0 -> 309116 bytes
incubator/clients/kroviz/images/DemoPrimitives.png | Bin 0 -> 33016 bytes
incubator/clients/kroviz/images/DemoText.png | Bin 0 -> 18443 bytes
incubator/clients/kroviz/images/DemoTree.png | Bin 0 -> 17584 bytes
.../clients/kroviz/images/Extinction_Symbol.svg | 39 +
incubator/clients/kroviz/images/ListAll1.png | Bin 0 -> 28186 bytes
incubator/clients/kroviz/images/ListAll2.png | Bin 0 -> 26797 bytes
incubator/clients/kroviz/images/LogEntries1.png | Bin 0 -> 63686 bytes
incubator/clients/kroviz/images/LogEntries2.png | Bin 0 -> 21257 bytes
incubator/clients/kroviz/images/Meuble_corbeau.png | Bin 0 -> 9463 bytes
incubator/clients/kroviz/images/README.md | 37 +
.../clients/kroviz/images/RunFixtureScript1.png | Bin 0 -> 20294 bytes
.../clients/kroviz/images/RunFixtureScript2.png | Bin 0 -> 14751 bytes
.../clients/kroviz/images/RunFixtureScript3.png | Bin 0 -> 57851 bytes
.../clients/kroviz/images/RunFixtureScript4.png | Bin 0 -> 25002 bytes
.../clients/kroviz/images/WheatFieldWithCrows.jpg | Bin 0 -> 264883 bytes
.../clients/kroviz/images/WheatFieldWithCrows.png | Bin 0 -> 282527 bytes
incubator/clients/kroviz/images/isis_clut.png | Bin 0 -> 214 bytes
incubator/clients/kroviz/images/kroviz-logo.svg | 56 +
.../images/kroviz_Run_Debug_Configuration.png | Bin 0 -> 76837 bytes
incubator/clients/kroviz/karma.config.d/proxy.js | 1 +
.../clients/kroviz/package.json.d/project.info | 3 +
incubator/clients/kroviz/settings.gradle.kts | 19 +
.../kotlin/org/apache/isis/client/kroviz/App.kt | 37 +
.../org/apache/isis/client/kroviz/core/Session.kt | 56 +
.../kroviz/core/aggregator/ActionDispatcher.kt | 54 +
.../kroviz/core/aggregator/BaseAggregator.kt | 60 +
.../kroviz/core/aggregator/DiagramDispatcher.kt | 12 +
.../core/aggregator/DomainTypesAggregator.kt | 80 ++
.../kroviz/core/aggregator/DownloadDispatcher.kt | 12 +
.../kroviz/core/aggregator/ErrorDispatcher.kt | 20 +
.../kroviz/core/aggregator/ListAggregator.kt | 121 ++
.../kroviz/core/aggregator/NavigationDispatcher.kt | 15 +
.../kroviz/core/aggregator/ObjectAggregator.kt | 83 ++
.../kroviz/core/aggregator/RestfulDispatcher.kt | 30 +
.../kroviz/core/aggregator/SystemAggregator.kt | 34 +
.../kroviz/core/aggregator/UndefinedDispatcher.kt | 12 +
.../isis/client/kroviz/core/event/EventStore.kt | 136 ++
.../isis/client/kroviz/core/event/LogEntry.kt | 179 +++
.../isis/client/kroviz/core/event/ReplayEvent.kt | 13 +
.../kroviz/core/event/ResourceSpecification.kt | 46 +
.../client/kroviz/core/event/RoXmlHttpRequest.kt | 100 ++
.../isis/client/kroviz/core/model/DiagramDM.kt | 37 +
.../isis/client/kroviz/core/model/DisplayModel.kt | 35 +
.../kroviz/core/model/DisplayModelWithLayout.kt | 74 ++
.../isis/client/kroviz/core/model/Exposer.kt | 50 +
.../apache/isis/client/kroviz/core/model/ListDM.kt | 20 +
.../isis/client/kroviz/core/model/ObjectDM.kt | 65 +
.../isis/client/kroviz/core/model/SystemDM.kt | 27 +
.../client/kroviz/core/model/meta/MetaAction.kt | 5 +
.../client/kroviz/core/model/meta/MetaClass.kt | 29 +
.../client/kroviz/core/model/meta/MetaPackage.kt | 5 +
.../client/kroviz/core/model/meta/MetaProperty.kt | 5 +
.../isis/client/kroviz/handler/ActionHandler.kt | 21 +
.../isis/client/kroviz/handler/BaseHandler.kt | 67 +
.../isis/client/kroviz/handler/DefaultHandler.kt | 13 +
.../isis/client/kroviz/handler/DiagramHandler.kt | 11 +
.../client/kroviz/handler/DomainTypesHandler.kt | 22 +
.../isis/client/kroviz/handler/HttpErrorHandler.kt | 20 +
.../isis/client/kroviz/handler/LayoutHandler.kt | 25 +
.../isis/client/kroviz/handler/LayoutXmlHandler.kt | 23 +
.../isis/client/kroviz/handler/PlainHandlers.kt | 85 ++
.../isis/client/kroviz/handler/ResponseHandler.kt | 59 +
.../isis/client/kroviz/handler/RestfulHandler.kt | 21 +
.../client/kroviz/handler/ResultListHandler.kt | 21 +
.../client/kroviz/handler/ResultObjectHandler.kt | 21 +
.../client/kroviz/handler/ResultValueHandler.kt | 21 +
.../apache/isis/client/kroviz/layout/ActionLt.kt | 21 +
.../org/apache/isis/client/kroviz/layout/ColLt.kt | 28 +
.../isis/client/kroviz/layout/CollectionLt.kt | 20 +
.../org/apache/isis/client/kroviz/layout/ColsLt.kt | 18 +
.../isis/client/kroviz/layout/DomainObjectLt.kt | 16 +
.../apache/isis/client/kroviz/layout/FieldSetLt.kt | 14 +
.../org/apache/isis/client/kroviz/layout/Layout.kt | 13 +
.../apache/isis/client/kroviz/layout/PropertyLt.kt | 24 +
.../org/apache/isis/client/kroviz/layout/RowLt.kt | 11 +
.../apache/isis/client/kroviz/layout/TabGroupLt.kt | 11 +
.../org/apache/isis/client/kroviz/layout/TabLt.kt | 9 +
.../org/apache/isis/client/kroviz/to/Action.kt | 21 +
.../org/apache/isis/client/kroviz/to/Argument.kt | 18 +
.../org/apache/isis/client/kroviz/to/IResult.kt | 29 +
.../org/apache/isis/client/kroviz/to/Link.kt | 58 +
.../org/apache/isis/client/kroviz/to/Member.kt | 38 +
.../org/apache/isis/client/kroviz/to/Parameter.kt | 50 +
.../isis/client/kroviz/to/PlainTransferObjects.kt | 197 +++
.../org/apache/isis/client/kroviz/to/TObject.kt | 41 +
.../apache/isis/client/kroviz/to/TransferObject.kt | 26 +
.../org/apache/isis/client/kroviz/to/TypeMapper.kt | 49 +
.../org/apache/isis/client/kroviz/to/Value.kt | 66 +
.../org/apache/isis/client/kroviz/to/bs3/Action.kt | 41 +
.../org/apache/isis/client/kroviz/to/bs3/Col.kt | 54 +
.../isis/client/kroviz/to/bs3/DomainObject.kt | 27 +
.../apache/isis/client/kroviz/to/bs3/FieldSet.kt | 35 +
.../org/apache/isis/client/kroviz/to/bs3/Grid.kt | 37 +
.../org/apache/isis/client/kroviz/to/bs3/Link.kt | 40 +
.../apache/isis/client/kroviz/to/bs3/Property.kt | 47 +
.../org/apache/isis/client/kroviz/to/bs3/Row.kt | 32 +
.../org/apache/isis/client/kroviz/to/bs3/Tab.kt | 31 +
.../apache/isis/client/kroviz/to/bs3/TabGroup.kt | 29 +
.../org/apache/isis/client/kroviz/to/mb/Menu.kt | 11 +
.../apache/isis/client/kroviz/to/mb/MenuEntry.kt | 9 +
.../apache/isis/client/kroviz/to/mb/Menubars.kt | 11 +
.../org/apache/isis/client/kroviz/to/mb/Section.kt | 9 +
.../isis/client/kroviz/to/mb/ServiceAction.kt | 19 +
.../apache/isis/client/kroviz/ui/ClassDiagram.kt | 30 +
.../org/apache/isis/client/kroviz/ui/Command.kt | 15 +
.../apache/isis/client/kroviz/ui/Displayable.kt | 8 +
.../org/apache/isis/client/kroviz/ui/ErrorAlert.kt | 35 +
.../apache/isis/client/kroviz/ui/EventLogDetail.kt | 26 +
.../apache/isis/client/kroviz/ui/ExportAlert.kt | 49 +
.../org/apache/isis/client/kroviz/ui/FileAlert.kt | 25 +
.../org/apache/isis/client/kroviz/ui/FormItem.kt | 57 +
.../apache/isis/client/kroviz/ui/IconManager.kt | 136 ++
.../org/apache/isis/client/kroviz/ui/ImageAlert.kt | 42 +
.../org/apache/isis/client/kroviz/ui/Point.kt | 3 +
.../apache/isis/client/kroviz/ui/PumlBuilder.kt | 88 ++
.../apache/isis/client/kroviz/ui/UndefinedAlert.kt | 30 +
.../isis/client/kroviz/ui/builder/ColBuilder.kt | 30 +
.../client/kroviz/ui/builder/FieldSetBuilder.kt | 47 +
.../isis/client/kroviz/ui/builder/LayoutBuilder.kt | 27 +
.../isis/client/kroviz/ui/builder/RowBuilder.kt | 45 +
.../isis/client/kroviz/ui/builder/TabBuilder.kt | 27 +
.../client/kroviz/ui/builder/TabGroupBuilder.kt | 25 +
.../isis/client/kroviz/ui/kv/ActionPrompt.kt | 93 ++
.../isis/client/kroviz/ui/kv/ColumnFactory.kt | 145 +++
.../isis/client/kroviz/ui/kv/EventLogTable.kt | 84 ++
.../isis/client/kroviz/ui/kv/FormPanelFactory.kt | 151 +++
.../apache/isis/client/kroviz/ui/kv/LoginPrompt.kt | 57 +
.../apache/isis/client/kroviz/ui/kv/MenuFactory.kt | 109 ++
.../isis/client/kroviz/ui/kv/PlantumlPanel.kt | 49 +
.../org/apache/isis/client/kroviz/ui/kv/RoApp.kt | 14 +
.../apache/isis/client/kroviz/ui/kv/RoDialog.kt | 91 ++
.../apache/isis/client/kroviz/ui/kv/RoDisplay.kt | 45 +
.../apache/isis/client/kroviz/ui/kv/RoMenuBar.kt | 86 ++
.../isis/client/kroviz/ui/kv/RoSimplePanel.kt | 11 +
.../apache/isis/client/kroviz/ui/kv/RoStatusBar.kt | 85 ++
.../apache/isis/client/kroviz/ui/kv/RoTabPanel.kt | 30 +
.../org/apache/isis/client/kroviz/ui/kv/RoTable.kt | 46 +
.../apache/isis/client/kroviz/ui/kv/RoToolPanel.kt | 26 +
.../org/apache/isis/client/kroviz/ui/kv/RoView.kt | 59 +
.../apache/isis/client/kroviz/ui/kv/ToolButton.kt | 27 +
.../apache/isis/client/kroviz/ui/kv/UiManager.kt | 164 +++
.../apache/isis/client/kroviz/utils/DateHelper.kt | 37 +
.../apache/isis/client/kroviz/utils/DomHelper.kt | 29 +
.../apache/isis/client/kroviz/utils/FileHelper.kt | 15 +
.../apache/isis/client/kroviz/utils/UmlUtils.kt | 23 +
.../org/apache/isis/client/kroviz/utils/Utils.kt | 161 +++
.../apache/isis/client/kroviz/utils/XmlHelper.kt | 33 +
.../kroviz/src/main/resources/bootstrap3.xsd | 157 +++
.../src/main/resources/component/component.xsd | 179 +++
.../kroviz/src/main/resources/css/kroviz.css | 146 +++
.../kroviz/src/main/resources/fonts/ChicagoFLF.ttf | Bin 0 -> 31256 bytes
.../kroviz/src/main/resources/hbs/template1.en.hbs | 2 +
.../kroviz/src/main/resources/hbs/template1.pl.hbs | 2 +
.../resources/img/2-2-clapperboard-png-thumb.png | Bin 0 -> 4213 bytes
.../clients/kroviz/src/main/resources/img/crow.gif | Bin 0 -> 5560 bytes
.../kroviz/src/main/resources/img/favicon.ico | Bin 0 -> 32038 bytes
.../kroviz/src/main/resources/img/kroviz-logo.svg | 56 +
.../main/resources/img/plantUml_stateSample.svg | 136 ++
.../kroviz/src/main/resources/img/uml-overview.png | Bin 0 -> 435594 bytes
.../kroviz/src/main/resources/links/links.xsd | 16 +
incubator/clients/kroviz/src/main/web/index.html | 14 +
.../org/apache/isis/client/kroviz/AppSpec.kt | 14 +
.../apache/isis/client/kroviz/IconManagerTest.kt | 0
.../apache/isis/client/kroviz/IntegrationTest.kt | 68 +
.../apache/isis/client/kroviz/PumlBuilderTest.kt | 32 +
.../org/apache/isis/client/kroviz/TestUtil.kt | 32 +
.../apache/isis/client/kroviz/core/UtilsTest.kt | 102 ++
.../kroviz/core/aggregator/ListAggregatorTest.kt | 76 ++
.../kroviz/core/aggregator/ObjectAggregatorTest.kt | 36 +
.../client/kroviz/core/event/EventStoreTest.kt | 195 +++
.../isis/client/kroviz/core/event/LogEntryTest.kt | 26 +
.../client/kroviz/core/model/DisplayListTest.kt | 76 ++
.../isis/client/kroviz/core/model/ExposerTest.kt | 57 +
.../client/kroviz/core/model/FixtureResultTest.kt | 52 +
.../client/kroviz/handler/PropertyHandlerTest.kt | 19 +
.../client/kroviz/handler/RestfulHandlerTest.kt | 23 +
.../apache/isis/client/kroviz/layout/LayoutTest.kt | 24 +
.../client/kroviz/snapshots/FR_OBJECT_LAYOUT.json | 248 ++++
.../isis/client/kroviz/snapshots/LAYOUT.adoc | 380 ++++++
.../isis/client/kroviz/snapshots/LAYOUT.puml | 376 ++++++
.../apache/isis/client/kroviz/snapshots/LAYOUT.svg | 389 ++++++
.../isis/client/kroviz/snapshots/Response.kt | 6 +
.../snapshots/demo2_0_0/ACTIONS_TEXT_INVOKE.kt | 150 +++
.../DEMO_ASSOCIATED_ACTION_OBJECT_LAYOUT.kt | 262 ++++
.../kroviz/snapshots/demo2_0_0/DEMO_FILE_NODE.kt | 105 ++
.../snapshots/demo2_0_0/DEMO_HTTP_ERROR_500.kt | 646 ++++++++++
.../kroviz/snapshots/demo2_0_0/DEMO_MENUBARS.kt | 990 +++++++++++++++
.../snapshots/demo2_0_0/DEMO_OBJECT_LAYOUT.kt | 328 +++++
.../kroviz/snapshots/demo2_0_0/DEMO_PRIMITIVES.kt | 562 +++++++++
.../kroviz/snapshots/demo2_0_0/DEMO_PROPERTY.kt | 51 +
.../demo2_0_0/DEMO_PROPERTY_DESCRIPTION.kt | 38 +
.../demo2_0_0/DEMO_RESTFUL_DOMAIN_TYPES.kt | 1061 ++++++++++++++++
.../snapshots/demo2_0_0/DEMO_TAB_LAYOUT_XML.kt | 160 +++
.../snapshots/demo2_0_0/DEMO_TAB_OBJECT_LAYOUT.kt | 387 ++++++
.../kroviz/snapshots/demo2_0_0/DEMO_TEMPORALS.kt | 186 +++
.../kroviz/snapshots/demo2_0_0/DEMO_TEXT_LAYOUT.kt | 327 +++++
.../demo2_0_0/DEMO_TOOLTIP_OBJECT_LAYOUT.kt | 563 +++++++++
.../demo2_0_0/DEMO_TUPLE_OBJECT_LAYOUT.kt | 473 +++++++
.../kroviz/snapshots/demo2_0_0/HTTP_ERROR_405.kt | 125 ++
.../demo2_0_0/ISIS_SECURITY_ME_SERVICE.kt | 431 +++++++
.../isis/client/kroviz/snapshots/sample.json | 347 ++++++
.../apache/isis/client/kroviz/snapshots/sample.xml | 88 ++
.../snapshots/simpleapp1_16_0/ACTIONS_CREATE.kt | 55 +
.../snapshots/simpleapp1_16_0/ACTIONS_DELETE.kt | 44 +
.../simpleapp1_16_0/ACTIONS_DOWNLOAD_LAYOUTS.kt | 53 +
.../ACTIONS_DOWNLOAD_MENUBARS_LAYOUT.kt | 62 +
.../simpleapp1_16_0/ACTIONS_DOWNLOAD_META_MODEL.kt | 53 +
.../ACTIONS_DOWNLOAD_SWAGGER_SCHEMA_DEFINITION.kt | 73 ++
.../ACTIONS_DOWNLOAD_TRANSLATIONS.kt | 59 +
.../simpleapp1_16_0/ACTIONS_DOWNLOAD_VALUE.kt | 32 +
.../simpleapp1_16_0/ACTIONS_FIND_BY_NAME.kt | 55 +
.../simpleapp1_16_0/ACTIONS_OPEN_SWAGGER_UI.kt | 31 +
.../simpleapp1_16_0/ACTIONS_RUN_FIXTURE_SCRIPT.kt | 80 ++
.../snapshots/simpleapp1_16_0/ACTION_SO_CREATE.kt | 154 +++
.../kroviz/snapshots/simpleapp1_16_0/CFG_1.kt | 120 ++
.../snapshots/simpleapp1_16_0/CFG_LAYOUT_JSON.kt | 299 +++++
.../snapshots/simpleapp1_16_0/CFG_LAYOUT_XML.kt | 97 ++
.../kroviz/snapshots/simpleapp1_16_0/FR_OBJECT.kt | 161 +++
.../snapshots/simpleapp1_16_0/FR_OBJECT_BAZ.kt | 167 +++
.../snapshots/simpleapp1_16_0/FR_OBJECT_FRODO.kt | 146 +++
.../snapshots/simpleapp1_16_0/FR_OBJECT_LAYOUT.kt | 94 ++
.../simpleapp1_16_0/FR_OBJECT_PROPERTY.kt | 37 +
.../simpleapp1_16_0/FR_OBJECT_PROPERTY_.kt | 40 +
.../simpleapp1_16_0/FR_PROPERTY_DESCRIPTION.kt | 35 +
.../kroviz/snapshots/simpleapp1_16_0/HTTP_ERROR.kt | 88 ++
.../snapshots/simpleapp1_16_0/HTTP_ERROR_404.kt | 13 +
.../snapshots/simpleapp1_16_0/HTTP_ERROR_405.kt | 81 ++
.../HTTP_ERROR_500_UNIQUE_CONSTRAINT_VIOLATION.kt | 308 +++++
.../kroviz/snapshots/simpleapp1_16_0/RESTFUL.kt | 41 +
.../simpleapp1_16_0/RESTFUL_DOMAIN_TYPES.kt | 1294 ++++++++++++++++++++
.../snapshots/simpleapp1_16_0/RESTFUL_MENUBARS.kt | 386 ++++++
.../snapshots/simpleapp1_16_0/RESTFUL_SERVICES.kt | 84 ++
.../snapshots/simpleapp1_16_0/RESTFUL_USER.kt | 28 +
.../snapshots/simpleapp1_16_0/RESTFUL_VERSION.kt | 31 +
.../snapshots/simpleapp1_16_0/SECONDARY_MENU.kt | 58 +
.../client/kroviz/snapshots/simpleapp1_16_0/SO.kt | 111 ++
.../kroviz/snapshots/simpleapp1_16_0/SO_0.kt | 188 +++
.../kroviz/snapshots/simpleapp1_16_0/SO_1.kt | 201 +++
.../snapshots/simpleapp1_16_0/SO_LAYOUT_JSON.kt | 356 ++++++
.../snapshots/simpleapp1_16_0/SO_LAYOUT_XML.kt | 82 ++
.../snapshots/simpleapp1_16_0/SO_LIST_ALL.kt | 45 +
.../simpleapp1_16_0/SO_LIST_ALL_INVOKE.kt | 102 ++
.../simpleapp1_16_0/SO_LIST_ALL_OBJECTS.kt | 110 ++
.../kroviz/snapshots/simpleapp1_16_0/SO_MENU.kt | 82 ++
.../snapshots/simpleapp1_16_0/SO_OBJECT_LAYOUT.kt | 354 ++++++
.../snapshots/simpleapp1_16_0/SO_PROPERTY.kt | 45 +
.../kroviz/snapshots/simpleapp1_16_0/UrlsTest.kt | 57 +
.../org/apache/isis/client/kroviz/to/ActionTest.kt | 232 ++++
.../apache/isis/client/kroviz/to/DomainTypeTest.kt | 56 +
.../isis/client/kroviz/to/FeaturedTypesTest.kt | 74 ++
.../apache/isis/client/kroviz/to/HttpErrorTest.kt | 85 ++
.../org/apache/isis/client/kroviz/to/LinkTest.kt | 42 +
.../org/apache/isis/client/kroviz/to/MemberTest.kt | 74 ++
.../apache/isis/client/kroviz/to/PropertyTest.kt | 65 +
.../apache/isis/client/kroviz/to/ResultListTest.kt | 21 +
.../isis/client/kroviz/to/ResultObjectTest.kt | 28 +
.../isis/client/kroviz/to/ResultValueTest.kt | 41 +
.../apache/isis/client/kroviz/to/ServiceTest.kt | 40 +
.../apache/isis/client/kroviz/to/TObjectTest.kt | 92 ++
.../org/apache/isis/client/kroviz/to/ToTest.kt | 11 +
.../org/apache/isis/client/kroviz/to/UserTest.kt | 18 +
.../apache/isis/client/kroviz/to/VersionTest.kt | 19 +
.../isis/client/kroviz/to/bs3/LayoutXmlTest.kt | 70 ++
.../isis/client/kroviz/to/mb/MenubarsTest.kt | 86 ++
.../isis/client/kroviz/ui/IconManagerTest.kt | 19 +
.../client/kroviz/ui/table/TableFactoryTest.kt | 47 +
.../clients/kroviz/translation/messages-de.po | 23 +
.../clients/kroviz/translation/messages-en.po | 23 +
.../clients/kroviz/translation/messages-es.po | 23 +
incubator/clients/kroviz/translation/messages.pot | 22 +
.../clients/kroviz/webpack.config.d/bootstrap.js | 3 +
incubator/clients/kroviz/webpack.config.d/css.js | 2 +
incubator/clients/kroviz/webpack.config.d/file.js | 9 +
.../clients/kroviz/webpack.config.d/handlebars.js | 6 +
incubator/clients/kroviz/webpack.config.d/jed.js | 7 +
.../clients/kroviz/webpack.config.d/jquery.js | 9 +
.../clients/kroviz/webpack.config.d/minify.js | 17 +
.../clients/kroviz/webpack.config.d/moment.js | 12 +
.../clients/kroviz/webpack.config.d/webpack.js | 39 +
incubator/pom.xml | 31 +-
324 files changed, 25303 insertions(+), 15 deletions(-)
diff --cc incubator/clients/kroviz/.gitignore
index 95ad0e6,e710fa4..80d39f7
--- a/incubator/clients/kroviz/.gitignore
+++ b/incubator/clients/kroviz/.gitignore
@@@ -1,4 -1,12 +1,11 @@@
-.*/
-build/
-out/
+./build
+./out
+./target
+./.gradle
+ .idea/
+ *.iml
+ *.ipr
+ *.iws
+ /refresh.sh
+ package-lock.json
+ node_modules/
-/build.log
-/src/test/kotlin/BugTest.kt
diff --cc incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/SystemAggregator.kt
index 0000000,94ba3c3..545a3fa
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/SystemAggregator.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/SystemAggregator.kt
@@@ -1,0 -1,34 +1,34 @@@
+ package org.apache.isis.client.kroviz.core.aggregator
+
+ import org.apache.isis.client.kroviz.core.event.LogEntry
+ import org.apache.isis.client.kroviz.core.model.SystemDM
+ import org.apache.isis.client.kroviz.to.DomainTypes
+ import org.apache.isis.client.kroviz.to.User
+ import org.apache.isis.client.kroviz.to.Version
+
+ class SystemAggregator() : BaseAggregator() {
+
+ init {
+ dsp = SystemDM("not filled (yet)")
+ }
+
+ override fun update(logEntry: LogEntry, subType: String) {
+
+ when (val obj = logEntry.getTransferObject()) {
+ is User -> dsp.addData(obj)
+ is Version -> dsp.addData(obj)
+ is DomainTypes -> dsp.addData(obj)
+ else -> log(logEntry)
+ }
+
+ if (dsp.canBeDisplayed()) {
-// UiManager.openObjectView(this)
++// TODO UiManager.openObjectView(this)
+ }
+ }
+
+ override fun reset(): SystemAggregator {
+ dsp.isRendered = false
+ return this
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Argument.kt
index 0000000,50d919a..23c991f
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Argument.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Argument.kt
@@@ -1,0 -1,18 +1,18 @@@
+ package org.apache.isis.client.kroviz.to
+
+ import kotlinx.serialization.Serializable
+
+ //IMPROVE initialize value="", move behavior out of TO
+ @Serializable
+ //TODO either have kotlinx.serialization cope with empty key or implement custom serialization (cf. to.Value)
+ data class Argument(var key: String = "",
+ var value: String? = null,
+ val potFileName: String = "",
- val href: String? = null) :org.apache.isis.client.kroviz.to.TransferObject {
++ val href: String? = null) : TransferObject {
+ init {
+ if (value == null) {
+ value = ""
+ }
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/TypeMapper.kt
index 0000000,a435241..94cd7d6
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/TypeMapper.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/TypeMapper.kt
@@@ -1,0 -1,49 +1,49 @@@
+ package org.apache.isis.client.kroviz.to
+
+ import org.apache.isis.client.kroviz.utils.XmlHelper
+
+ enum class ValueType(val type: String) {
+ BOOLEAN("Boolean"),
+ DATE("Date"),
+ HTML("Html"),
+ IMAGE("Image"),
+ NUMERIC("Numeric"),
+ PASSWORD("Password"),
+ TEXT("Text"),
+ TEXT_AREA("TextArea"),
+ TIME("Time"),
+ SIMPLE_SELECT("SimpleSelect"),
+ SLIDER("Slider")
+ }
+
+ class TypeMapper {
+
+ fun match(member: Member): String {
+ val mf = member.format
+ val mex = member.extensions?.xIsisFormat
+ return when {
+ mf == "int" -> ValueType.NUMERIC.type
+ mf == "date" -> ValueType.DATE.type
+ mf == "date-time" -> ValueType.TIME.type
+ mf == "utc-millisec" -> ValueType.TIME.type
+ mex == "boolean" -> ValueType.BOOLEAN.type
+ //mex == "javasqltimestamp" -> TypeMapperType.DATE.type
+ //mex == "javautildate" -> TypeMapperType.DATE.type
+ else -> {
+ match(member.value)
+ }
+ }
+ }
+
+ private val isoDate = Regex("^([+-]?\\d{4}(?!\\d{2}\\b))((-?)((0[1-9]|1[0-2])(\\3([12]\\d|0[1-9]|3[01]))?|W([0-4]\\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\\d|[12]\\d{2}|3([0-5]\\d|6[1-6])))([T\\s]((([01]\\d|2[0-3])((:?)[0-5]\\d)?|24:?00)([.,]\\d+(?!:))?)?(\\17[0-5]\\d([.,]\\d+)?)?([zZ]|([+-])([01]\\d|2[0-3]):?([0-5]\\d)?)?)?)?\$")
+
- private fun match(value: org.apache.isis.client.kroviz.to.Value?): String {
++ private fun match(value: Value?): String {
+ val contentStr = value?.content.toString()
+ return when {
+ isoDate.matches(contentStr) -> ValueType.DATE.type
+ XmlHelper.isXml(contentStr) -> ValueType.HTML.type
+ else -> ValueType.TEXT.type
+ }
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Value.kt
index 0000000,1167d03..9b58717
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Value.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Value.kt
@@@ -1,0 -1,66 +1,66 @@@
+ package org.apache.isis.client.kroviz.to
+
+ import kotlinx.serialization.*
+ import kotlinx.serialization.builtins.nullable
+ import kotlinx.serialization.json.Json
+ import kotlinx.serialization.json.JsonElement
+ import kotlinx.serialization.json.JsonException
+ import kotlinx.serialization.json.content
+
+ /**
+ * Custom data structure to handle 'untyped' value in Member, Property, Parameter
+ * "value" can either be:
+ * @Item 'null'
+ * @Item Int with format "int"
+ * @Item Long with format "utc-millisec"
+ * @Item String
+ * @Item Link
+ */
+ @Serializable
+ data class Value(
+ //IMPROVE: make content immutable (again) and handle property edits eg. via a wrapper
+ @ContextualSerialization @SerialName("value") var content: Any? = null
+ ) : TransferObject {
+
+ @Serializer(forClass = Value::class)
+ companion object : KSerializer<Value> {
+ override fun serialize(encoder: Encoder, obj: Value) {
+ // Not required yet
+ }
+
+ override val descriptor: SerialDescriptor = SerialDescriptor("Value")
+
+ @UnstableDefault
+ override fun deserialize(decoder: Decoder): Value {
+ var result: Value
+ var jse: JsonElement? = null
+ try {
+ val nss = JsonElement.serializer().nullable
+ jse = decoder.decode(nss)!!
+ val jsct = jse.content
+ when {
+ jse.isNull -> result = Value(null)
- Value.Companion.isLong(jsct) -> result = Value(jsct.toLong())
++ isLong(jsct) -> result = Value(jsct.toLong())
+ else -> result = Value(jsct)
+ }
+ } catch (je: JsonException) {
+ val linkStr = jse.toString()
+ val link = Json.parse(Link.serializer(), linkStr)
+ result = Value(link)
+ }
+ return result
+ }
+
+ private fun isLong(raw: String): Boolean {
+ var answer = true
+ try {
+ raw.toLong()
+ } catch (nfe: NumberFormatException) {
+ answer = false
+ }
+ return answer
+ }
+
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Property.kt
index 0000000,158fa09..37e9598
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Property.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Property.kt
@@@ -1,0 -1,47 +1,47 @@@
+ package org.apache.isis.client.kroviz.to.bs3
+
+ import org.apache.isis.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) {
+ var id: String
- var link:org.apache.isis.client.kroviz.to.Link? = null
++ var link: Link? = null
+ var hidden: String // USE ENUM Where? = null
+ var typicalLength: Int = 0
+ var multiLine: Int = 1
+ var describedAs: String? = null
+ var named = ""
- lateinit var action:org.apache.isis.client.kroviz.to.bs3.Action
++ lateinit var action: Action
+
+ init {
+ val dn = node.asDynamic()
+ hidden = dn.getAttribute("hidden")
+ id = dn.getAttribute("id") as String
+ typicalLength = dn.getAttribute("typicalLength")
+ multiLine = dn.getAttribute("multiLine")
+ describedAs = dn.getAttribute("describedAs")
+
+ val nodeList = node.childNodes.asList()
+ val namedList = nodeList.filter { it.nodeName.equals("cpt:named") }
+ if (namedList.isNotEmpty()) {
+ val n = namedList.first()
+ named = n.textContent as String
+ }
+
+ val actList = nodeList.filter { it.nodeName.equals("cpt:action") }
+ if (actList.isNotEmpty()) {
+ val n = actList.first()
- action =org.apache.isis.client.kroviz.to.bs3.Action(n)
++ action = Action(n)
+ }
+
+ val linkList = nodeList.filter { it.nodeName.equals("cpt:link") }
+ if (linkList.isNotEmpty()) {
+ val n = linkList.first()
- val bs3l =org.apache.isis.client.kroviz.to.bs3.Link(n)
- link =org.apache.isis.client.kroviz.to.Link(bs3l.rel, bs3l.method, bs3l.href, bs3l.type)
++ val bs3l = Link(n)
++ link = Link(bs3l.rel, bs3l.method, bs3l.href, bs3l.type)
+ }
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Tab.kt
index 0000000,4125a98..f2c29f1
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Tab.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Tab.kt
@@@ -1,0 -1,31 +1,31 @@@
+ package org.apache.isis.client.kroviz.to.bs3
+
+ import org.w3c.dom.Node
+ import org.w3c.dom.asList
+
+ class Tab(node: Node) {
+ val rowList = mutableListOf<Row>()
+ var name: String
+
+ init {
+ val dyNode = node.asDynamic()
+ name = dyNode.getAttribute("name") as String
+
+ val nl = node.childNodes.asList()
+
+ val rNodes = nl.filter { it.nodeName.equals("bs3:row") }
+ for (n: Node in rNodes) {
- val row =org.apache.isis.client.kroviz.to.bs3.Row(n)
++ val row = Row(n)
+ rowList.add(row)
+ }
+ }
+
+ fun getPropertyList(): List<Property> {
+ val list = mutableListOf<Property>()
+ rowList.forEach { r ->
+ list.addAll(r.getPropertyList())
+ }
+ return list
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/mb/Menubars.kt
index 0000000,5f51b85..16f8467
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/mb/Menubars.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/mb/Menubars.kt
@@@ -1,0 -1,11 +1,11 @@@
+ package org.apache.isis.client.kroviz.to.mb
+
+ import kotlinx.serialization.Serializable
+ import org.apache.isis.client.kroviz.to.TransferObject
+
+ @Serializable
-data class Menubars(val primary:org.apache.isis.client.kroviz.to.mb.MenuEntry,
- val secondary:org.apache.isis.client.kroviz.to.mb.MenuEntry,
- val tertiary:org.apache.isis.client.kroviz.to.mb.MenuEntry,
++data class Menubars(val primary: MenuEntry,
++ val secondary: MenuEntry,
++ val tertiary: MenuEntry,
+ val metadataError: String? = null
-) :org.apache.isis.client.kroviz.to.TransferObject
++) : TransferObject
diff --cc incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/mb/ServiceAction.kt
index 0000000,3c3efb8..e5d57be
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/mb/ServiceAction.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/mb/ServiceAction.kt
@@@ -1,0 -1,19 +1,19 @@@
+ package org.apache.isis.client.kroviz.to.mb
+
+ import kotlinx.serialization.Serializable
+ import org.apache.isis.client.kroviz.to.Link
+ import org.apache.isis.client.kroviz.to.TransferObject
+
+ @Serializable
+ data class ServiceAction(
+ val objectType: String? = null,
+ val id: String? = null,
+ val named: String? = null,
+ val namedEscaped: String? = null,
+ val bookmarking: String? = null,
+ val cssClass: String? = null,
+ val cssClassFa: String? = null,
+ val describedAs: String? = null,
+ val metadataError: String? = null,
- val link:org.apache.isis.client.kroviz.to.Link? = null
-) :org.apache.isis.client.kroviz.to.TransferObject
++ val link: Link? = null
++) : TransferObject
diff --cc incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/Command.kt
index 0000000,01c8bc5..0b0a1f7
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/Command.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/Command.kt
@@@ -1,0 -1,15 +1,15 @@@
+ package org.apache.isis.client.kroviz.ui
+
+ import org.apache.isis.client.kroviz.core.event.RoXmlHttpRequest
+ import org.apache.isis.client.kroviz.to.Link
+
+ interface Command {
+ fun execute() {
+ // subclass responsibility
+ }
+
- fun invoke(link:org.apache.isis.client.kroviz.to.Link) {
- org.apache.isis.client.kroviz.core.event.RoXmlHttpRequest().invoke(link, null)
++ fun invoke(link: Link) {
++ RoXmlHttpRequest().invoke(link, null)
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/FormItem.kt
index 0000000,c0c8daa..ac90137
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/FormItem.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/FormItem.kt
@@@ -1,0 -1,57 +1,57 @@@
+ package org.apache.isis.client.kroviz.ui
+
+ import org.apache.isis.client.kroviz.to.Member
+ import pl.treksoft.kvision.window.Window
+
+ class FormItem(
+ val label: String,
+ val type: String,
+ var content: Any? = null,
+ val size: Int? = null,
+ val description: String? = "not set",
+ val member: Member? = null,
+ var dspl: Displayable? = null,
+ val callBackId: String? = null) {
+
+ private var originalContent: Any?
+ var readOnly = false
+
+ init {
+ originalContent = content
+ if (member != null) {
+ readOnly = member.isReadOnly()
+ }
+ }
+
+ fun changed(value: String?) {
+ dspl?.setDirty(true)
+ if (member != null) {
+ member.value?.content = value
+ }
+ //IMPROVE this is special logic in a generic place
+ if (type == org.apache.isis.client.kroviz.to.ValueType.SLIDER.type) {
+ setOpacity(value!!)
+ }
+ }
+
+ fun reset() {
+ dspl?.setDirty(false)
+ if (member != null) {
+ content = originalContent
+ }
+ }
+
- fun setDisplay(displayable: org.apache.isis.client.kroviz.ui.Displayable) {
++ fun setDisplay(displayable: Displayable) {
+ dspl = displayable
+ }
+
+ @Deprecated("this needs a better home")
+ fun setOpacity(value: String) {
+ val opacity = value.toDouble()
+ (dspl as Window).getElementJQuery()?.css(
+ "background-color",
+ "rgba(255, 255, 255, $opacity)"
+ )
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/ToolButton.kt
index 0000000,74071b1..9a3e70a
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/ToolButton.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/ToolButton.kt
@@@ -1,0 -1,27 +1,27 @@@
+ package org.apache.isis.client.kroviz.ui.kv
+
+ import org.w3c.dom.DragEvent
+ import pl.treksoft.kvision.html.Div
+
+ class ToolButton(text: String) : Div(text) {
+
+ init {
+ //style = ButtonStyle.LINK
+ // onEvent { DragEvent. }
+ }
+
+ fun ondragover(ev: DragEvent) {
- ev.preventDefault();
++ ev.preventDefault()
+ }
+
+ fun allowDrop(ev: DragEvent) {
- ev.preventDefault();
++ ev.preventDefault()
+ }
+
+ fun drop(ev: DragEvent) {
- ev.preventDefault();
++ ev.preventDefault()
+ //TODO
+ //var data = ev.dataTransfer.getData("text");
+ //ev.target.appendChild(document.getElementById(data));
+ }
+ }
diff --cc incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/FileHelper.kt
index 0000000,25cca8a..5d956fa
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/FileHelper.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/FileHelper.kt
@@@ -1,0 -1,15 +1,15 @@@
+ package org.apache.isis.client.kroviz.utils
+
+ import org.w3c.xhr.XMLHttpRequest
+
+ /* see: https://stackoverflow.com/questions/13709482/how-to-read-text-file-in-javascript */
+ class FileHelper {
+
+ fun readStringFromFileAtPath(pathOfFileToReadFrom: String): String {
- val request = XMLHttpRequest();
++ val request = XMLHttpRequest()
+ request.open("GET", pathOfFileToReadFrom, false)
+ request.send(null)
+ return request.responseText
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/IntegrationTest.kt
index 0000000,3389577..6d8db74
mode 000000,100644..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
@@@ -1,0 -1,68 +1,68 @@@
+ package org.apache.isis.client.kroviz
+
+ import kotlinx.coroutines.GlobalScope
+ import kotlinx.coroutines.delay
+ import kotlinx.coroutines.launch
+ import kotlinx.serialization.UnstableDefault
+ import org.apache.isis.client.kroviz.core.aggregator.BaseAggregator
+ 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.snapshots.Response
+ import org.apache.isis.client.kroviz.to.Method
+ import org.apache.isis.client.kroviz.ui.kv.UiManager
+ import org.apache.isis.client.kroviz.utils.XmlHelper
+ import org.w3c.xhr.XMLHttpRequest
+
+ // subclasses expect a running backend, here SimpleApp localhost:8080/restful*
+
+ @UnstableDefault
+ open class IntegrationTest {
+
+ fun isAppAvailable(): Boolean {
+ val user = "sven"
+ val pw = "pass"
+ val url = "http://${user}:${pw}@localhost:8080/restful/"
+ UiManager.login(url, user, pw)
+ val credentials: String = UiManager.getCredentials()
- val xhr = XMLHttpRequest();
- xhr.open("GET", url, false, user, pw);
++ val xhr = XMLHttpRequest()
++ xhr.open("GET", url, false, user, pw)
+ xhr.setRequestHeader("Authorization", "Basic $credentials")
+ xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8")
+ xhr.setRequestHeader("Accept", "application/json")
+
+ try {
- xhr.send(); // there will be a 'pause' here until the response comes.
++ xhr.send() // there will be a 'pause' here until the response comes.
+ } catch (e: Throwable) {
+ return false
+ }
+ val answer = xhr.status.equals(200)
+ return answer
+ }
+
+ fun mockResponse(response: Response, aggregator: BaseAggregator?): LogEntry {
+ val str = response.str
+ val subType = if (XmlHelper.isXml(response.str)) {
+ "xml"
+ } else {
+ "json"
+ }
+ val reSpec = ResourceSpecification(response.url, subType)
+ EventStore.start(
+ reSpec,
+ Method.GET.operation,
+ "",
+ aggregator)
+ val le = EventStore.end(reSpec, str)!!
+ org.apache.isis.client.kroviz.handler.ResponseHandler.handle(le)
+ wait(100)
+ return le
+ }
+
+ fun wait(milliseconds: Long) {
+ GlobalScope.launch {
+ delay(milliseconds)
+ }
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/UtilsTest.kt
index 0000000,8cbb74e..3de3124
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/UtilsTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/UtilsTest.kt
@@@ -1,0 -1,102 +1,102 @@@
+ package org.apache.isis.client.kroviz.core
+
+ import org.apache.isis.client.kroviz.to.Argument
+ import org.apache.isis.client.kroviz.to.Link
+ import org.apache.isis.client.kroviz.to.Method
+ import org.apache.isis.client.kroviz.utils.DateHelper
+ import org.apache.isis.client.kroviz.utils.Utils
+ import kotlin.test.Test
+ import kotlin.test.assertEquals
+ import kotlin.test.assertNotNull
+
+ class UtilsTest {
+
+ @Test
+ fun testDecamel() {
+ //given
+ val word = "OK"
+ val expected = "OK"
+ //when
+ val actual = Utils.deCamel(word)
+ //
+ assertEquals(expected, actual)
+ }
+
+ //@Test //@Test breaks on Travis #153 ???
+ fun testDate() {
+ // given
+ val rawDate: Any? = "2020-01-25T13:07:05Z"
+ //when
+ val dateTime = DateHelper.toDate(rawDate)
+ // then
+ assertNotNull(dateTime)
+ assertEquals(2020, dateTime.getFullYear())
+ assertEquals(0, dateTime.getMonth()) // c braintwist strikes again
+ assertEquals(14, dateTime.getHours()) // MEZ = GMT + 1
+ assertEquals(7, dateTime.getMinutes()) // and again? shouldn't it be 7??
+ }
+
+ //@Test breaks on Travis #152 ? https://travis-ci.com/joerg-rade/kroviz/builds/149958789
+ fun test_javaOffsetDateTime() {
+ // given
+ val rawDate: Any? = "20200125T140705.356+0100"
- val expected: String = "2020-01-25T14:07:05.356+0100"
++ val expected = "2020-01-25T14:07:05.356+0100"
+ //when Then
+
+ val actual = DateHelper.convertJavaOffsetDateTimeToISO(rawDate as String)
+ assertEquals(expected, actual)
+
+ val dateTime = DateHelper.toDate(actual)
+ assertNotNull(dateTime)
+ assertEquals(2020, dateTime.getFullYear())
+ assertEquals(0, dateTime.getMonth()) // c braintwist strikes again
+ assertEquals(25, dateTime.getDate())
+ assertEquals(14, dateTime.getHours()) // MEZ = GMT + 1
+ assertEquals(7, dateTime.getMinutes())
+ }
+
+
+ // @Test
+ fun test_argumentsAsBody() {
+ //given
+ val href = "http://localhost:8080/restful/services/isisApplib.FixtureScriptsDefault/actions/runFixtureScript/invoke"
+ val rel = "urn:org.restfulobjects:rels/invoke;action='runFixtureScript'"
+ val type = "application/json;profile='urn:org.restfulobjects:repr-types/object-action'"
+ val link = Link(method = Method.POST.operation, href = href, rel = rel, type = type)
+ //val arguments = LinkedHashMap<String, String>() //
+ //link.setArgument(arguments)
+
+ // when
+ val body = Utils.argumentsAsBody(link)
+
+ // then
+ // console.log("[UtilsTest.test_argumentsAsBody]")
+ console.log(body)
+ //TODO add assert
+ }
+
+ @Test
+ fun testScriptAsBody() {
+ //given
+ val expected = """"script": {"value": {"href": "http://localhost:8080"}}"""
+ val value = "http://localhost:8080"
+ val arg = Argument("script", value)
+ // when
+ val actual = Utils.asBody(arg)
+ // then
+ assertEquals(expected, actual)
+ }
+
+ @Test
+ fun testParametersAsBody() {
+ //given
+ val expected = """"parameters": {"value": ""}"""
+ val value = ""
+ val arg = Argument("parameters", value)
+ // when
+ val actual = Utils.asBody(arg)
+ // then
+ assertEquals(expected, actual)
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/event/LogEntryTest.kt
index 0000000,0a77a70..c2d1ed9
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/event/LogEntryTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/core/event/LogEntryTest.kt
@@@ -1,0 -1,28 +1,26 @@@
+ package org.apache.isis.client.kroviz.core.event
+
+ import kotlinx.serialization.UnstableDefault
+ import kotlin.test.Test
+ import kotlin.test.assertTrue
+
+ @UnstableDefault
+ class LogEntryTest {
+
+ @Test
+ fun testCalculate() {
+ // given
- val le =org.apache.isis.client.kroviz.core.event.LogEntry("http://test/url")
++ val le = LogEntry("http://test/url")
+
+ // when
+ le.setSuccess()
+
+ // then
+ assertTrue(0 <= le.duration)
+
+ if (le.duration < 0 && le.cacheHits == 0) {
-// console.log("[LogEntry.calculate] duration out of range")
-// console.log(this)
+ //TODO add assert
+ }
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/handler/PropertyHandlerTest.kt
index 0000000,5f7ae1a..7f3894e
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/handler/PropertyHandlerTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/handler/PropertyHandlerTest.kt
@@@ -1,0 -1,19 +1,19 @@@
+ package org.apache.isis.client.kroviz.handler;
+
+ import kotlinx.serialization.UnstableDefault
+ import org.apache.isis.client.kroviz.snapshots.simpleapp1_16_0.SO_PROPERTY
+ import org.apache.isis.client.kroviz.to.Property
+ import kotlin.test.Test
+ import kotlin.test.assertNotNull
+
+ @UnstableDefault
-public class PropertyHandlerTest {
++class PropertyHandlerTest {
+
+ @Test
+ fun testParse() {
+ val jsonStr = SO_PROPERTY.str
+ val p = PropertyHandler().parse(jsonStr) as Property
+ assertNotNull(p)
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/handler/RestfulHandlerTest.kt
index 0000000,60bf21c..8850cf0
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/handler/RestfulHandlerTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/handler/RestfulHandlerTest.kt
@@@ -1,0 -1,23 +1,23 @@@
+ package org.apache.isis.client.kroviz.handler
+
+ import kotlinx.serialization.UnstableDefault
+ import org.apache.isis.client.kroviz.snapshots.simpleapp1_16_0.RESTFUL
+ import org.apache.isis.client.kroviz.to.Restful
+ import kotlin.test.Test
+ import kotlin.test.assertEquals
+ import kotlin.test.assertNotNull
+
+ @UnstableDefault
-public class RestfulHandlerTest {
++class RestfulHandlerTest {
+
+ @Test
+ fun testParse() {
+ val jsonStr = RESTFUL.str
+ val ro =RestfulHandler().parse(jsonStr) as Restful
+ assertNotNull(ro)
+
+ assertEquals(6, ro.links.size)
+ assertEquals("", ro.extensions.oid)
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ActionTest.kt
index 0000000,20cec95..503624f
mode 000000,100644..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
@@@ -1,0 -1,232 +1,232 @@@
+ package org.apache.isis.client.kroviz.to
+
+ import kotlinx.serialization.UnstableDefault
+ 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.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.utils.Utils
+ import kotlin.test.Test
+ import kotlin.test.assertEquals
+ import kotlin.test.assertNotNull
+ import kotlin.test.assertTrue
+
+ @UnstableDefault
+ class ActionTest : IntegrationTest() {
+
+ // @Test
+ // IntegrationTest, assumes a server is running, furthermore expects the fingerPrint (PD94*) to be valid
+ fun testInvokeAction() {
+ val url = "http://localhost:8080/restful/services/isisApplib.FixtureScriptsDefault/actions/runFixtureScript/invoke"
+ val fingerPrint = "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG1lbWVudG8-PHBhdGg-PC9wYXRoPjwvbWVtZW50bz4="
+ /* val body = """{
+ "script": {
+ "value": {
+ "href": "http://localhost:8080/restful/objects/domainapp.application.fixture.scenarios.DomainAppDemo/$fingerPrint"}
+ },
+ "parameters": {"value": ""}
+ } """ */
+ val href = "\"href\": \"http://localhost:8080/restful/objects/domainapp.application.fixture.scenarios.DomainAppDemo/$fingerPrint\"".trimIndent()
+ //TODO construct link, invoke and check response
+ if (isAppAvailable()) {
+ console.log("[AT.testInvokeAction]")
+ val action = ActionHandler().parse(ACTIONS_RUN_FIXTURE_SCRIPT.str) as Action
+
+ val link = action.getInvokeLink()
+ assertNotNull(link)
+ //now pass on body in order to prepare everything to invoke
+ val arguments = link.arguments as MutableMap
- val arg = org.apache.isis.client.kroviz.to.Argument(href)
++ val arg = Argument(href)
+ arguments.put("script", arg)
+ //ensure link arguments make up valid json body
+ val body = Utils.argumentsAsBody(link)
+ console.log(body)
+ val json = JSON.parse<Argument>(body)
+ console.log(json)
+ ActionDispatcher().invoke(link)
+ val urlSpec = ResourceSpecification(url)
+ val le = EventStore.find(urlSpec)!!
+ console.log(EventStore.log)
+ console.log(le)
+ assertTrue(!le.isError())
+ }
+ }
+
+ @Test
+ fun testParseActionGETArgument() {
+ val jsonStr = ACTIONS_FIND_BY_NAME.str
+ val action = ActionHandler().parse(jsonStr) as Action
+ val linkList = action.links
+ assertEquals(4, linkList.size)
+
+ val invokeLink: Link = action.getInvokeLink()!!
+ val args = invokeLink.arguments
+ assertNotNull(args)
+ }
+
+ @Test
+ fun testParseActionPOSTArgumentFS() {
+ val jsonStr = ACTIONS_RUN_FIXTURE_SCRIPT.str
+ val action = ActionHandler().parse(jsonStr) as Action
+ val links = action.links
+ assertEquals(4, links.size) //1
+
+ val invokeLink = action.getInvokeLink()!!
+ val argList = invokeLink.arguments
+ assertEquals(2, argList.size) //2
+
+ val paramList = action.parameters
+ assertEquals(2, paramList.size) //3
+
+ val p = action.findParameterByName("script")!!
+ assertEquals("script", p.id) //4
+
+ val choiceList = p.choices
+ assertEquals(1, choiceList.size) //5
+
+ val defaultChoice = p.defaultChoice!!.content as Link
+ val l = choiceList.first().content as Link
+ assertEquals(l.href, defaultChoice.href) //6
+ }
+
+ @Test
+ fun testParseActionPOSTArgument() {
+ val jsonStr = ACTIONS_CREATE.str
+ val action = ActionHandler().parse(jsonStr) as Action
+ val links = action.links
+ assertEquals(4, links.size)
+ }
+
+ @Test
+ fun testParseActionPOSTDelete() {
+ val jsonStr = ACTIONS_DELETE.str
+ val action = ActionHandler().parse(jsonStr) as Action
+ val links = action.links
+ assertEquals(4, links.size)
+ }
+
+ @Test
+ fun testParseActionDownloadLayout() {
+ val jsonStr = ACTIONS_DOWNLOAD_LAYOUTS.str
+ val action = ActionHandler().parse(jsonStr) as Action
+ val links = action.links
+ assertEquals(4, links.size)
+
+ val invokeLink = action.getInvokeLink()
+ val argList = invokeLink!!.arguments
+ assertEquals(1, argList.size) //2
+
+ val paramList = action.parameters
+ assertEquals(1, paramList.size)
+
+ val p = action.findParameterByName("style")!!
+ assertEquals("style", p.id)
+
+ val choiceList = p.choices
+ assertEquals(4, choiceList.size)
+
+ val defaultChoice = p.defaultChoice!!.content as String
+ assertEquals(choiceList[2].content, defaultChoice)
+ }
+
+ @Test
+ fun testParseActionDownloadMenubarsLayout() {
+ val jsonStr = ACTIONS_DOWNLOAD_MENUBARS_LAYOUT.str
+ val action = ActionHandler().parse(jsonStr) as Action
+ val links = action.links
+ assertEquals(4, links.size)
+
+ val invokeLink = action.getInvokeLink()
+ val argList = invokeLink!!.arguments
+ assertEquals(2, argList.size) //2
+
+ val paramList = action.parameters
+ assertEquals(2, paramList.size)
+
+ val p = action.findParameterByName("type")
+ assertEquals("type", p!!.id)
+
+ val choiceList = p.choices
+ assertEquals(2, choiceList.size)
+
+ val defaultChoice = p.defaultChoice!!.content as String
+ assertEquals(choiceList[0].content, defaultChoice)
+ }
+
+ @Test
+ fun testParseActionDownloadSwaggerSchemaDefinition() {
+ val jsonStr = ACTIONS_DOWNLOAD_SWAGGER_SCHEMA_DEFINITION.str
+ val action = ActionHandler().parse(jsonStr) as Action
+ val links = action.links
+ assertEquals(4, links.size)
+
+ val invokeLink = action.getInvokeLink()
+ val argList = invokeLink!!.arguments
+ assertEquals(3, argList.size) //2
+
+ val paramList = action.parameters
+ assertEquals(3, paramList.size)
+
+ val p0 = action.findParameterByName("filename")
+ assertEquals("filename", p0!!.id)
+ val p1 = action.findParameterByName("visibility")
+ assertEquals("visibility", p1!!.id)
+ val p2 = action.findParameterByName("format")
+ assertEquals("format", p2!!.id)
+
+ val choiceList = p1.choices
+ assertEquals(3, choiceList.size)
+
+ val defaultChoice = p1.defaultChoice!!.content as String
+ assertEquals("Private", defaultChoice)
+ }
+
+ // @Test //TODO-> empty key in arguments msg: Encountered unknown key csvFileName
+ fun testParseActionDownloadMetaModel() {
+ val jsonStr = ACTIONS_DOWNLOAD_META_MODEL.str
+ val action = ActionHandler().parse(jsonStr) as Action
+ val links = action.links
+ assertEquals(4, links.size)
+
+ val invokeLink = action.getInvokeLink()
+ val argList = invokeLink!!.arguments
+ assertEquals(2, argList.size) //2
+
+ val paramList = action.parameters
+ assertEquals(2, paramList.size)
+
+ val p = action.findParameterByName(".csvFileName")
+ assertEquals(".csvFileName", p!!.id)
+
+ // val choiceList = p.choices
+ // assertEquals(2, choiceList.size)
+
+ val defaultChoice = p.defaultChoice!!.content as String
+ assertEquals("metamodel.csv", defaultChoice)
+ }
+
+ //@Test //TODO-> empty key in arguments msg: Encountered unknown key csvFileName
+ fun testDownloadTranslations() {
+ val jsonStr = ACTIONS_DOWNLOAD_TRANSLATIONS.str
+ val action = ActionHandler().parse(jsonStr) as Action
+ val links = action.links
+ assertEquals(4, links.size)
+
+ val invokeLink = action.getInvokeLink()
+ val argList = invokeLink!!.arguments
+ assertEquals(1, argList.size) //2
+
+ val paramList = action.parameters
+ assertEquals(1, paramList.size)
+
+ val p = action.findParameterByName(".potFileName")
+ assertEquals(".potFileName", p!!.id)
+
+ val defaultChoice = p.defaultChoice!!.content as String
+ assertEquals("translations.pot", defaultChoice)
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/MemberTest.kt
index 0000000,4fe2c9f..7b784f1
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/MemberTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/MemberTest.kt
@@@ -1,0 -1,73 +1,74 @@@
+ package org.apache.isis.client.kroviz.to
+
+ import kotlinx.serialization.UnstableDefault
+ import kotlinx.serialization.json.Json
++import org.apache.isis.client.kroviz.handler.MemberHandler
+ import org.apache.isis.client.kroviz.snapshots.simpleapp1_16_0.FR_PROPERTY_DESCRIPTION
+ import kotlin.test.Test
+ import kotlin.test.assertEquals
+ import kotlin.test.assertNotNull
+
+ @UnstableDefault
+ class MemberTest() {
+
+ @Test
+ fun testParseLong() {
+ val jsonStr = buildJsonWith(1234567890)
+ val actual = parse(jsonStr)
+ assertEquals(1234567890L, actual.value!!.content as Number)
+ }
+
+ @Test
+ fun testParseInt() {
+ val jsonStr = buildJsonWith(0)
+ val actual = parse(jsonStr)
+ assertEquals(0L, actual.value!!.content as Long)
+ }
+
+ @Test
+ fun testParseString() {
+ val jsonStr = buildJsonWith("\"Object: Foo\"")
+ val actual = parse(jsonStr)
+ assertEquals("className", actual.id)
+ assertEquals("Object: Foo", (actual.value!!.content.toString()))
+ }
+
+ @Test
+ fun testParseLink() {
+ val jsonStr = buildJsonWith("""{"rel": "R", "href": "H", "method": "GET", "type": "TY", "title": "TI"}""")
+ val m = parse(jsonStr)
+ assertEquals("className", m.id)
+ val actual = m.value!!.content as Link
+ val expected = Link(href = "")
+ assertEquals(expected::class, actual::class)
+ }
+
+ @Test
+ fun testParseNull() {
+ val jsonStr = buildJsonWith("null")
+ val actual = parse(jsonStr)
+ assertEquals("className", actual.id)
+ assertEquals(null, actual.value)
+ }
+
+ @Test
+ fun testParse() {
- val m = org.apache.isis.client.kroviz.handler.MemberHandler().parse(FR_PROPERTY_DESCRIPTION.str) as org.apache.isis.client.kroviz.to.Member
++ val m = MemberHandler().parse(FR_PROPERTY_DESCRIPTION.str) as Member
+ val extensions: Extensions? = m.extensions
+ assertNotNull(extensions)
+ assertEquals("ResultListResult class", extensions.friendlyName)
+ }
+
+ private fun parse(jsonStr: String): Member {
+ return Json.parse(Member.serializer(), jsonStr)
+ }
+
+ private fun buildJsonWith(value: Any): String {
+ return """{
+ "id": "className",
+ "memberType": "property",
+ "value": $value
+ }"""
+ }
+
+ }
diff --cc incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ServiceTest.kt
index 0000000,db8dcc7..2a67d9c
mode 000000,100644..100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ServiceTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/to/ServiceTest.kt
@@@ -1,0 -1,40 +1,40 @@@
+ package org.apache.isis.client.kroviz.to
+
+ import kotlinx.serialization.UnstableDefault
+ import org.apache.isis.client.kroviz.handler.ServiceHandler
+ import org.apache.isis.client.kroviz.snapshots.simpleapp1_16_0.SO_MENU
+ import kotlin.test.Test
+ import kotlin.test.assertEquals
+ import kotlin.test.assertTrue
+
+ @UnstableDefault
+ class ServiceTest : ToTest() {
+
+ @Test
+ fun testSimpleObjectMenu() {
+ val jsonStr = SO_MENU.str
+ val service = ServiceHandler().parse(jsonStr) as Service
+ assertEquals("Simple Objects", service.title)
- val actions: kotlin.collections.List<Member> = service.getMemberList()
++ val actions: List<Member> = service.getMemberList()
+ assertEquals(3, actions.size)
+
+ assertTrue(service.containsMemberWith("listAll"))
+ assertTrue(service.containsMemberWith("findByName"))
+ assertTrue(service.containsMemberWith("create"))
+
+ // jsonObj contains '"members": {}' not '"members": []'
+ // this results in an unordered list (Map),
+ // but intended is an ordered list (Array[])
+ //TODO use object-layout / menu layout instead
+ }
+
+ fun Service.containsMemberWith(id: String): Boolean {
+ for (m in getMemberList()) {
+ if (m.id == id) {
+ return true
+ }
+ }
+ return false
+ }
+
+ }
diff --cc incubator/pom.xml
index 4276bd8,27f9b64..9e1d781
--- a/incubator/pom.xml
+++ b/incubator/pom.xml
@@@ -64,15 -64,15 +64,15 @@@
<dependency>
<groupId>org.apache.isis.incubator</groupId>
<artifactId>isis-incubator-model</artifactId>
- <version>2.0.0-M3-SNAPSHOT</version>
+ <version>2.0.0-SNAPSHOT</version>
</dependency>
-
+
<dependency>
<groupId>org.apache.isis.incubator</groupId>
<artifactId>isis-incubator-microprofile</artifactId>
- <version>2.0.0-M3-SNAPSHOT</version>
+ <version>2.0.0-SNAPSHOT</version>
</dependency>
-
+
<dependency>
<groupId>org.apache.isis.incubator.viewer</groupId>
<artifactId>isis-viewer-vaadin</artifactId>
@@@ -82,15 -82,15 +82,15 @@@
<dependency>
<groupId>org.apache.isis.incubator.viewer</groupId>
<artifactId>isis-viewer-vaadin-model</artifactId>
- <version>2.0.0-M3-SNAPSHOT</version>
+ <version>2.0.0-SNAPSHOT</version>
</dependency>
-
+
<dependency>
<groupId>org.apache.isis.incubator.viewer</groupId>
<artifactId>isis-viewer-vaadin-ui</artifactId>
- <version>2.0.0-M3-SNAPSHOT</version>
+ <version>2.0.0-SNAPSHOT</version>
</dependency>
-
+
<dependency>
<groupId>org.apache.isis.incubator.viewer</groupId>
<artifactId>isis-viewer-vaadin-viewer</artifactId>
[isis] 02/02: ISIS-2324 ignorance++
Posted by jo...@apache.org.
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 65a57811708f5c11c3323562fa5f53b86323a53a
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Wed Apr 8 18:21:19 2020 +0200
ISIS-2324 ignorance++
---
incubator/clients/kroviz/.gitignore | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/incubator/clients/kroviz/.gitignore b/incubator/clients/kroviz/.gitignore
index 80d39f7..b550c2a 100644
--- a/incubator/clients/kroviz/.gitignore
+++ b/incubator/clients/kroviz/.gitignore
@@ -1,7 +1,7 @@
./build
./out
./target
-./.gradle
+.gradle
.idea/
*.iml
*.ipr