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.git


The following commit(s) were added to refs/heads/master by this push:
     new c633f9f002 CAUSEWAY-3565: makes obj. graph relation merger available 
via util. class
c633f9f002 is described below

commit c633f9f00218d4f682fd4f56a15cfbacdff19cb3
Author: andi-huber <[email protected]>
AuthorDate: Sat Sep 9 08:30:40 2023 +0200

    CAUSEWAY-3565: makes obj. graph relation merger available via util.
    class
---
 .../causeway/applib/services/metamodel/ObjectGraph.java       | 11 +++++++++++
 .../services/metamodel/_ObjectGraphRelationMerger.java        |  3 +--
 .../metamodel/services/metamodel/MetaModelServiceDefault.java |  2 +-
 .../builder/objgraph/d3js/ObjectGraphRendererD3js.java        |  2 +-
 4 files changed, 14 insertions(+), 4 deletions(-)

diff --git 
a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/ObjectGraph.java
 
b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/ObjectGraph.java
index 311703e5c3..885696785c 100644
--- 
a/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/ObjectGraph.java
+++ 
b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/ObjectGraph.java
@@ -28,10 +28,12 @@ import org.springframework.lang.Nullable;
 
 import org.apache.causeway.commons.internal.collections._Multimaps;
 
+import lombok.Getter;
 import lombok.NonNull;
 import lombok.With;
 import lombok.val;
 import lombok.experimental.Accessors;
+import lombok.experimental.UtilityClass;
 
 /**
  * Can be used to create diagrams (e.g. Plantuml)
@@ -93,6 +95,15 @@ public class ObjectGraph {
         ObjectGraph transform(ObjectGraph objGraph);
     }
 
+    /**
+     * Factory providing built in {@link Transformer}(s).
+     */
+    @UtilityClass
+    public static class Transformers {
+        @Getter(lazy = true)
+        private final Transformer relationMerger = new 
_ObjectGraphRelationMerger();
+    }
+
     public static interface Renderer {
         void render(StringBuilder sb, ObjectGraph objGraph);
     }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/metamodel/_ObjectGraphRelationMerger.java
 
b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_ObjectGraphRelationMerger.java
similarity index 97%
rename from 
core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/metamodel/_ObjectGraphRelationMerger.java
rename to 
api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_ObjectGraphRelationMerger.java
index 5537b42578..7591fcca61 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/metamodel/_ObjectGraphRelationMerger.java
+++ 
b/api/applib/src/main/java/org/apache/causeway/applib/services/metamodel/_ObjectGraphRelationMerger.java
@@ -16,13 +16,12 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.causeway.core.metamodel.services.metamodel;
+package org.apache.causeway.applib.services.metamodel;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.causeway.applib.services.metamodel.ObjectGraph;
 import org.apache.causeway.commons.internal.collections._Multimaps;
 import 
org.apache.causeway.commons.internal.collections._Multimaps.ListMultimap;
 
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/metamodel/MetaModelServiceDefault.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/metamodel/MetaModelServiceDefault.java
index 4129398ebd..10f4c6101a 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/metamodel/MetaModelServiceDefault.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/services/metamodel/MetaModelServiceDefault.java
@@ -249,7 +249,7 @@ public class MetaModelServiceDefault implements 
MetaModelService {
                 .collect(Collectors.toList());
         return ObjectGraph
                 .create(new _ObjectGraphFactory(objectSpecs))
-                .transform(new _ObjectGraphRelationMerger());
+                .transform(ObjectGraph.Transformers.relationMerger());
     }
 
 }
diff --git 
a/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/objgraph/d3js/ObjectGraphRendererD3js.java
 
b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/objgraph/d3js/ObjectGraphRendererD3js.java
index 775e44b986..3efa681d6d 100644
--- 
a/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/objgraph/d3js/ObjectGraphRendererD3js.java
+++ 
b/valuetypes/asciidoc/builder/src/main/java/org/apache/causeway/valuetypes/asciidoc/builder/objgraph/d3js/ObjectGraphRendererD3js.java
@@ -113,7 +113,7 @@ public class ObjectGraphRendererD3js implements 
ObjectGraph.Renderer {
 
         val noteText = "Note: Dragging nodes leaves them sticky. "
                 + "Double-click releases them. "
-                + "Single-click toggles node highligh.";
+                + "Single-click toggles node highlight (incoming edges are 
emphasized). ";
 
         sb.append("<div class=\"svg-container\">\n");
         sb.append("<svg xmlns=\"http://www.w3.org/2000/svg\"; 
class=\"force-directed-graph\">\n");

Reply via email to