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");