From 9e19f439bea51a7a24f18271b727a56520236b57 Mon Sep 17 00:00:00 2001 From: Relism Date: Tue, 21 Apr 2026 00:32:09 +0200 Subject: [PATCH] add core view extension with JTE and Thymeleaf support --- .idea/encodings.xml | 6 + .idea/workspace.xml | 83 ++++++--- README.md | 5 + flash-extensions/flash-ext-jackson/pom.xml | 2 +- flash-extensions/flash-ext-limiter/pom.xml | 2 +- flash-extensions/flash-ext-oidc/pom.xml | 2 +- .../dev/relism/ext/oidc/OidcExtension.java | 54 +++--- flash-extensions/flash-ext-openapi/pom.xml | 2 +- .../relism/ext/openapi/OpenApiBuilder.java | 6 +- .../ext/openapi/OpenApiExtensionTest.java | 15 ++ .../flash-ext-routeviewer/pom.xml | 2 +- .../flash-ext-view-core/README.md | 15 ++ flash-extensions/flash-ext-view-core/pom.xml | 29 ++++ .../ext/view/core/BaseViewExtension.java | 40 +++++ .../relism/ext/view/core/BaseViewHandler.java | 68 ++++++++ .../dev/relism/ext/view/core/GlobalValue.java | 7 + .../relism/ext/view/core/RenderedView.java | 15 ++ .../dev/relism/ext/view/core}/ViewModel.java | 23 +-- .../ext/view/core/ViewRuntimeBridge.java | 9 + .../relism/ext/view/core}/ViewModelTest.java | 2 +- flash-extensions/flash-ext-view-jte/README.md | 57 +++++++ .../flash-ext-view-jte/docs/architecture.md | 29 ++++ .../flash-ext-view-jte/docs/handlers.md | 34 ++++ .../docs/model-and-globals.md | 33 ++++ .../flash-ext-view-jte/docs/performance.md | 18 ++ .../ondemand/pages/JtehomeGenerated.class | Bin 0 -> 2108 bytes .../ondemand/pages/JtehomeGenerated.java | 29 ++++ flash-extensions/flash-ext-view-jte/pom.xml | 79 +++++++++ .../dev/relism/ext/view/jte/JteExtension.java | 70 ++++++++ .../dev/relism/ext/view/jte/JteHandler.java | 8 + .../dev/relism/ext/view/jte/JteRuntime.java | 113 +++++++++++++ .../dev/relism/ext/view/jte/JteSettings.java | 109 ++++++++++++ .../dev/relism/ext/view/jte/JteTarget.java | 5 + .../ext/view/jte/JteTargetResolver.java | 42 +++++ .../dev/relism/ext/view/jte/Template.java | 15 ++ .../relism/ext/view/jte/JteExtensionTest.java | 79 +++++++++ .../relism/ext/view/jte/JteRuntimeTest.java | 68 ++++++++ .../relism/ext/view/jte/JteSettingsTest.java | 69 ++++++++ .../ext/view/jte/JteTargetResolverTest.java | 70 ++++++++ .../relism/ext/view/jte/model/HomePage.java | 3 + .../test/resources/templates/pages/home.jte | 10 ++ .../flash-ext-view-thymeleaf/README.md | 65 +++++++ .../docs/architecture.md | 23 +++ .../docs/fragments.md | 16 ++ .../docs/handlers.md | 8 +- .../docs/model-and-globals.md | 4 +- .../docs/performance.md | 5 +- .../pom.xml | 13 +- .../relism/ext/view/thymeleaf/Fragment.java | 16 ++ .../relism/ext/view/thymeleaf/Template.java | 15 ++ .../view/thymeleaf/ThymeleafExtension.java | 63 +++++++ .../ext/view/thymeleaf/ThymeleafHandler.java | 8 + .../ext/view/thymeleaf/ThymeleafRuntime.java | 159 +++++++++++++++++ .../ext/view/thymeleaf/ThymeleafSettings.java | 76 +++++++++ .../ext/view/thymeleaf/ThymeleafTarget.java | 15 ++ .../thymeleaf/ThymeleafTargetResolver.java | 58 +++++++ .../thymeleaf/ThymeleafExtensionTest.java | 92 ++++++++++ .../view/thymeleaf/ThymeleafRuntimeTest.java | 153 +++++++++++++++++ .../view/thymeleaf/ThymeleafSettingsTest.java | 46 +++++ .../ThymeleafTargetResolverTest.java | 87 ++++++++++ .../test/resources/templates/pages/home.html | 0 .../resources/templates/pages/link-cases.html | 8 + .../templates/pages/with-globals.html | 7 + flash-extensions/flash-ext-view/README.md | 54 ------ .../flash-ext-view/docs/adapters.md | 29 ---- .../flash-ext-view/docs/architecture.md | 23 --- .../flash-ext-view/docs/partials.md | 19 --- .../relism/ext/view/EngineCapabilities.java | 6 - .../dev/relism/ext/view/GlobalBinding.java | 7 - .../main/java/dev/relism/ext/view/Page.java | 20 --- .../java/dev/relism/ext/view/Partial.java | 22 --- .../dev/relism/ext/view/RenderOutput.java | 16 -- .../dev/relism/ext/view/ThymeleafEngine.java | 160 ------------------ .../relism/ext/view/ViewEngineAdapter.java | 29 ---- .../dev/relism/ext/view/ViewEngineType.java | 80 --------- .../dev/relism/ext/view/ViewExtension.java | 66 -------- .../java/dev/relism/ext/view/ViewHandler.java | 59 ------- .../java/dev/relism/ext/view/ViewKind.java | 7 - .../java/dev/relism/ext/view/ViewRuntime.java | 91 ---------- .../java/dev/relism/ext/view/ViewTarget.java | 14 -- .../relism/ext/view/ViewTargetResolver.java | 70 -------- .../relism/ext/view/ThymeleafEngineTest.java | 61 ------- .../ext/view/ViewExtensionContractTest.java | 112 ------------ .../ext/view/ViewHandlerLifecycleTest.java | 81 --------- .../ext/view/ViewRuntimeGlobalsTest.java | 155 ----------------- .../ext/view/ViewTargetResolverTest.java | 123 -------------- flash-extensions/flash-web-bundler/pom.xml | 2 +- flash-extensions/pom.xml | 11 +- flash/pom.xml | 2 +- flash/src/main/java/dev/relism/Flash.java | 2 +- .../java/dev/relism/extension/FlashScope.java | 4 +- .../dev/relism/routing/PathUtilsTest.java | 1 + pom.xml | 14 +- 93 files changed, 2200 insertions(+), 1404 deletions(-) create mode 100644 flash-extensions/flash-ext-view-core/README.md create mode 100644 flash-extensions/flash-ext-view-core/pom.xml create mode 100644 flash-extensions/flash-ext-view-core/src/main/java/dev/relism/ext/view/core/BaseViewExtension.java create mode 100644 flash-extensions/flash-ext-view-core/src/main/java/dev/relism/ext/view/core/BaseViewHandler.java create mode 100644 flash-extensions/flash-ext-view-core/src/main/java/dev/relism/ext/view/core/GlobalValue.java create mode 100644 flash-extensions/flash-ext-view-core/src/main/java/dev/relism/ext/view/core/RenderedView.java rename flash-extensions/{flash-ext-view/src/main/java/dev/relism/ext/view => flash-ext-view-core/src/main/java/dev/relism/ext/view/core}/ViewModel.java (72%) create mode 100644 flash-extensions/flash-ext-view-core/src/main/java/dev/relism/ext/view/core/ViewRuntimeBridge.java rename flash-extensions/{flash-ext-view/src/test/java/dev/relism/ext/view => flash-ext-view-core/src/test/java/dev/relism/ext/view/core}/ViewModelTest.java (98%) create mode 100644 flash-extensions/flash-ext-view-jte/README.md create mode 100644 flash-extensions/flash-ext-view-jte/docs/architecture.md create mode 100644 flash-extensions/flash-ext-view-jte/docs/handlers.md create mode 100644 flash-extensions/flash-ext-view-jte/docs/model-and-globals.md create mode 100644 flash-extensions/flash-ext-view-jte/docs/performance.md create mode 100644 flash-extensions/flash-ext-view-jte/jte-classes/gg/jte/generated/ondemand/pages/JtehomeGenerated.class create mode 100644 flash-extensions/flash-ext-view-jte/jte-classes/gg/jte/generated/ondemand/pages/JtehomeGenerated.java create mode 100644 flash-extensions/flash-ext-view-jte/pom.xml create mode 100644 flash-extensions/flash-ext-view-jte/src/main/java/dev/relism/ext/view/jte/JteExtension.java create mode 100644 flash-extensions/flash-ext-view-jte/src/main/java/dev/relism/ext/view/jte/JteHandler.java create mode 100644 flash-extensions/flash-ext-view-jte/src/main/java/dev/relism/ext/view/jte/JteRuntime.java create mode 100644 flash-extensions/flash-ext-view-jte/src/main/java/dev/relism/ext/view/jte/JteSettings.java create mode 100644 flash-extensions/flash-ext-view-jte/src/main/java/dev/relism/ext/view/jte/JteTarget.java create mode 100644 flash-extensions/flash-ext-view-jte/src/main/java/dev/relism/ext/view/jte/JteTargetResolver.java create mode 100644 flash-extensions/flash-ext-view-jte/src/main/java/dev/relism/ext/view/jte/Template.java create mode 100644 flash-extensions/flash-ext-view-jte/src/test/java/dev/relism/ext/view/jte/JteExtensionTest.java create mode 100644 flash-extensions/flash-ext-view-jte/src/test/java/dev/relism/ext/view/jte/JteRuntimeTest.java create mode 100644 flash-extensions/flash-ext-view-jte/src/test/java/dev/relism/ext/view/jte/JteSettingsTest.java create mode 100644 flash-extensions/flash-ext-view-jte/src/test/java/dev/relism/ext/view/jte/JteTargetResolverTest.java create mode 100644 flash-extensions/flash-ext-view-jte/src/test/java/dev/relism/ext/view/jte/model/HomePage.java create mode 100644 flash-extensions/flash-ext-view-jte/src/test/resources/templates/pages/home.jte create mode 100644 flash-extensions/flash-ext-view-thymeleaf/README.md create mode 100644 flash-extensions/flash-ext-view-thymeleaf/docs/architecture.md create mode 100644 flash-extensions/flash-ext-view-thymeleaf/docs/fragments.md rename flash-extensions/{flash-ext-view => flash-ext-view-thymeleaf}/docs/handlers.md (69%) rename flash-extensions/{flash-ext-view => flash-ext-view-thymeleaf}/docs/model-and-globals.md (84%) rename flash-extensions/{flash-ext-view => flash-ext-view-thymeleaf}/docs/performance.md (68%) rename flash-extensions/{flash-ext-view => flash-ext-view-thymeleaf}/pom.xml (85%) create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/main/java/dev/relism/ext/view/thymeleaf/Fragment.java create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/main/java/dev/relism/ext/view/thymeleaf/Template.java create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/main/java/dev/relism/ext/view/thymeleaf/ThymeleafExtension.java create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/main/java/dev/relism/ext/view/thymeleaf/ThymeleafHandler.java create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/main/java/dev/relism/ext/view/thymeleaf/ThymeleafRuntime.java create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/main/java/dev/relism/ext/view/thymeleaf/ThymeleafSettings.java create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/main/java/dev/relism/ext/view/thymeleaf/ThymeleafTarget.java create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/main/java/dev/relism/ext/view/thymeleaf/ThymeleafTargetResolver.java create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/test/java/dev/relism/ext/view/thymeleaf/ThymeleafExtensionTest.java create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/test/java/dev/relism/ext/view/thymeleaf/ThymeleafRuntimeTest.java create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/test/java/dev/relism/ext/view/thymeleaf/ThymeleafSettingsTest.java create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/test/java/dev/relism/ext/view/thymeleaf/ThymeleafTargetResolverTest.java rename flash-extensions/{flash-ext-view => flash-ext-view-thymeleaf}/src/test/resources/templates/pages/home.html (100%) create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/test/resources/templates/pages/link-cases.html create mode 100644 flash-extensions/flash-ext-view-thymeleaf/src/test/resources/templates/pages/with-globals.html delete mode 100644 flash-extensions/flash-ext-view/README.md delete mode 100644 flash-extensions/flash-ext-view/docs/adapters.md delete mode 100644 flash-extensions/flash-ext-view/docs/architecture.md delete mode 100644 flash-extensions/flash-ext-view/docs/partials.md delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/EngineCapabilities.java delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/GlobalBinding.java delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/Page.java delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/Partial.java delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/RenderOutput.java delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/ThymeleafEngine.java delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/ViewEngineAdapter.java delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/ViewEngineType.java delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/ViewExtension.java delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/ViewHandler.java delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/ViewKind.java delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/ViewRuntime.java delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/ViewTarget.java delete mode 100644 flash-extensions/flash-ext-view/src/main/java/dev/relism/ext/view/ViewTargetResolver.java delete mode 100644 flash-extensions/flash-ext-view/src/test/java/dev/relism/ext/view/ThymeleafEngineTest.java delete mode 100644 flash-extensions/flash-ext-view/src/test/java/dev/relism/ext/view/ViewExtensionContractTest.java delete mode 100644 flash-extensions/flash-ext-view/src/test/java/dev/relism/ext/view/ViewHandlerLifecycleTest.java delete mode 100644 flash-extensions/flash-ext-view/src/test/java/dev/relism/ext/view/ViewRuntimeGlobalsTest.java delete mode 100644 flash-extensions/flash-ext-view/src/test/java/dev/relism/ext/view/ViewTargetResolverTest.java diff --git a/.idea/encodings.xml b/.idea/encodings.xml index 420c512..ff14d95 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -15,6 +15,12 @@ + + + + + + diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 206108b..e191799 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -4,27 +4,55 @@