You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2024/03/31 05:53:16 UTC
(causeway-app-referenceapp) branch master updated: framework changes: tree adapter injection support
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/causeway-app-referenceapp.git
The following commit(s) were added to refs/heads/master by this push:
new cda5efb framework changes: tree adapter injection support
cda5efb is described below
commit cda5efbaea350e1fb3bdc6076cf2d0fd26289c8e
Author: andi-huber <ah...@apache.org>
AuthorDate: Sun Mar 31 07:53:10 2024 +0200
framework changes: tree adapter injection support
---
.../properties/PropertyLayout/navigable/FileTreeNodeService.java | 8 +++++---
.../demoapp/dom/types/causeway/treenode/FileTreeNodeService.java | 8 +++++---
2 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileTreeNodeService.java b/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileTreeNodeService.java
index 0ee5e7b..417cf65 100644
--- a/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileTreeNodeService.java
+++ b/domain/src/main/java/demoapp/dom/domain/properties/PropertyLayout/navigable/FileTreeNodeService.java
@@ -29,6 +29,7 @@ import org.springframework.stereotype.Service;
import org.apache.causeway.applib.graph.tree.TreeNode;
import org.apache.causeway.applib.graph.tree.TreePath;
+import org.apache.causeway.applib.services.factory.FactoryService;
import lombok.RequiredArgsConstructor;
import lombok.val;
@@ -41,13 +42,14 @@ import lombok.val;
public class FileTreeNodeService {
final Provider<HttpSession> httpSessionProvider;
+ final FactoryService factoryService;
public TreeNode<FileNodeVm> sessionTree() {
val session = httpSessionProvider.get();
val cacheKey = TreeNode.class.getName();
var tree = (TreeNode<FileNodeVm>) session.getAttribute(cacheKey);
if(tree == null) {
- tree = newTree();
+ tree = newTree(factoryService);
session.setAttribute(cacheKey, tree);
}
return tree;
@@ -56,11 +58,11 @@ public class FileTreeNodeService {
//end::sessionTree[]
//tag::newTree[]
- private static TreeNode<FileNodeVm> newTree() {
+ private static TreeNode<FileNodeVm> newTree(FactoryService factoryService) {
TreeNode<FileNodeVm> tree;
val rootFile = FileSystems.getDefault().getRootDirectories().iterator().next().toFile();
val rootNode = new FileNodeVm(rootFile);
- tree = TreeNode.root(rootNode, FileSystemTreeAdapter.class);
+ tree = TreeNode.root(rootNode, FileSystemTreeAdapter.class, factoryService);
tree.expand(TreePath.of(0)); // expand the root node
return tree;
}
diff --git a/domain/src/main/java/demoapp/dom/types/causeway/treenode/FileTreeNodeService.java b/domain/src/main/java/demoapp/dom/types/causeway/treenode/FileTreeNodeService.java
index 8f8670b..94a5023 100644
--- a/domain/src/main/java/demoapp/dom/types/causeway/treenode/FileTreeNodeService.java
+++ b/domain/src/main/java/demoapp/dom/types/causeway/treenode/FileTreeNodeService.java
@@ -29,6 +29,7 @@ import org.springframework.stereotype.Service;
import org.apache.causeway.applib.graph.tree.TreeNode;
import org.apache.causeway.applib.graph.tree.TreePath;
+import org.apache.causeway.applib.services.factory.FactoryService;
import lombok.RequiredArgsConstructor;
import lombok.val;
@@ -41,13 +42,14 @@ import lombok.val;
public class FileTreeNodeService {
final Provider<HttpSession> httpSessionProvider;
+ final FactoryService factoryService;
public TreeNode<FileNodeVm> sessionTree() {
val session = httpSessionProvider.get();
val cacheKey = TreeNode.class.getName();
var tree = (TreeNode<FileNodeVm>) session.getAttribute(cacheKey);
if(tree == null) {
- tree = newTree();
+ tree = newTree(factoryService);
session.setAttribute(cacheKey, tree);
}
return tree;
@@ -56,11 +58,11 @@ public class FileTreeNodeService {
//end::sessionTree[]
//tag::newTree[]
- private static TreeNode<FileNodeVm> newTree() {
+ private static TreeNode<FileNodeVm> newTree(FactoryService factoryService) {
TreeNode<FileNodeVm> tree;
val rootFile = FileSystems.getDefault().getRootDirectories().iterator().next().toFile();
val rootNode = new FileNodeVm(rootFile);
- tree = TreeNode.root(rootNode, FileSystemTreeAdapter.class);
+ tree = TreeNode.root(rootNode, FileSystemTreeAdapter.class, factoryService);
tree.expand(TreePath.of(0)); // expand the root node
return tree;
}