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 87e8efb1b4 CAUSEWAY-3489: minor: internal tool consolidation
87e8efb1b4 is described below

commit 87e8efb1b4d862e1c66eee6a9331f533795c4c70
Author: Andi Huber <[email protected]>
AuthorDate: Fri Mar 15 10:04:42 2024 +0100

    CAUSEWAY-3489: minor: internal tool consolidation
---
 .../core/metamodel/object/MmRenderUtils.java       | 56 ----------------------
 .../core/metamodel/object/MmValueUtils.java        | 28 ++++++++++-
 .../components/scalars/markup/MarkupComponent.java |  4 +-
 .../ui/components/value/StandaloneValuePanel.java  |  4 +-
 4 files changed, 30 insertions(+), 62 deletions(-)

diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmRenderUtils.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmRenderUtils.java
deleted file mode 100644
index bf9ab404ee..0000000000
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmRenderUtils.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.causeway.core.metamodel.object;
-
-import org.springframework.lang.Nullable;
-
-import org.apache.causeway.applib.value.semantics.Renderer;
-import org.apache.causeway.core.metamodel.spec.feature.ObjectFeature;
-
-import lombok.val;
-import lombok.experimental.UtilityClass;
-
-@UtilityClass
-public class MmRenderUtils {
-
-    public String htmlStringForValueType(
-            final @Nullable ObjectFeature feature,
-            final @Nullable ManagedObject adapter) {
-
-        if(!ManagedObjects.isSpecified(adapter)) {
-            return "";
-        }
-
-        val spec = adapter.getSpecification();
-        val valueFacet = spec.valueFacet().orElse(null);
-
-        if(valueFacet==null) {
-            return String.format("missing ValueFacet %s", 
spec.getCorrespondingClass());
-        }
-
-        @SuppressWarnings("unchecked")
-        val renderer = (Renderer<Object>) 
valueFacet.selectRendererForFeature(feature).orElse(null);
-        if(renderer==null) {
-            return String.format("missing Renderer %s", 
spec.getCorrespondingClass());
-        }
-
-        return 
renderer.htmlPresentation(valueFacet.createValueSemanticsContext(feature), 
adapter.getPojo());
-    }
-
-}
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmValueUtils.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmValueUtils.java
index 4c18206279..d0f7e36a54 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmValueUtils.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/object/MmValueUtils.java
@@ -22,6 +22,7 @@ import java.util.Optional;
 
 import org.springframework.lang.Nullable;
 
+import org.apache.causeway.applib.value.semantics.Renderer;
 import org.apache.causeway.applib.value.semantics.TemporalSupport;
 import 
org.apache.causeway.applib.value.semantics.TemporalSupport.TemporalDecomposition;
 import org.apache.causeway.applib.value.semantics.ValueSemanticsProvider;
@@ -37,7 +38,6 @@ public class MmValueUtils {
 
     // -- CONTEXT FACTORIES
 
-    //TODO[CAUSEWAY-3489] ever used ?
     public Optional<ValueSemanticsProvider.Context> 
createValueSemanticsContext(
             final @Nullable ObjectFeature feature,
             final @Nullable ObjectSpecification elementType) {
@@ -45,7 +45,6 @@ public class MmValueUtils {
                 
.map(valueFacet->valueFacet.createValueSemanticsContext(feature));
     }
 
-    //TODO[CAUSEWAY-3489] ever used ?
     public Optional<ValueSemanticsProvider.Context> 
createValueSemanticsContext(
             final @Nullable ObjectFeature feature,
             final @Nullable ManagedObject valueObject) {
@@ -53,6 +52,31 @@ public class MmValueUtils {
                 
.map(valueFacet->valueFacet.createValueSemanticsContext(feature));
     }
 
+    // -- RENDERER
+
+    public String htmlStringForValueType(
+            final @Nullable ObjectFeature feature,
+            final @Nullable ManagedObject adapter) {
+
+        if(!ManagedObjects.isSpecified(adapter)) {
+            return "";
+        }
+
+        val spec = adapter.getSpecification();
+        val valueFacet = spec.valueFacet().orElse(null);
+        if(valueFacet==null) {
+            return String.format("missing ValueFacet %s", 
spec.getCorrespondingClass());
+        }
+
+        @SuppressWarnings("unchecked")
+        val renderer = (Renderer<Object>) 
valueFacet.selectRendererForFeature(feature).orElse(null);
+        if(renderer==null) {
+            return String.format("missing Renderer %s", 
spec.getCorrespondingClass());
+        }
+
+        return 
renderer.htmlPresentation(valueFacet.createValueSemanticsContext(feature), 
adapter.getPojo());
+    }
+
     // -- TEMPORAL DECOMPOSITION
 
     @SuppressWarnings({ "rawtypes", "unchecked" })
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/markup/MarkupComponent.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/markup/MarkupComponent.java
index d564ab7333..77eb6e9a6d 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/markup/MarkupComponent.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/scalars/markup/MarkupComponent.java
@@ -30,7 +30,7 @@ import org.apache.wicket.model.IModel;
 
 import org.apache.causeway.applib.value.semantics.Renderer.SyntaxHighlighter;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
-import org.apache.causeway.core.metamodel.object.MmRenderUtils;
+import org.apache.causeway.core.metamodel.object.MmValueUtils;
 import org.apache.causeway.core.metamodel.spec.feature.ObjectFeature;
 import org.apache.causeway.viewer.commons.model.scalar.UiParameter;
 import org.apache.causeway.viewer.wicket.model.models.ScalarPropertyModel;
@@ -106,7 +106,7 @@ public class MarkupComponent extends WebComponent {
         if(modelObject instanceof ManagedObject) {
             val adapter = (ManagedObject) modelObject;
             val feature = 
lookupObjectFeatureIn(getDefaultModel()).orElse(null);
-            val asHtml = MmRenderUtils.htmlStringForValueType(feature, 
adapter);
+            val asHtml = MmValueUtils.htmlStringForValueType(feature, adapter);
             return asHtml != null
                 ? asHtml
                 : fallback;
diff --git 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/value/StandaloneValuePanel.java
 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/value/StandaloneValuePanel.java
index 9b2e2c31d7..4f3365fb02 100644
--- 
a/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/value/StandaloneValuePanel.java
+++ 
b/viewers/wicket/ui/src/main/java/org/apache/causeway/viewer/wicket/ui/components/value/StandaloneValuePanel.java
@@ -24,7 +24,7 @@ import java.util.UUID;
 import 
org.apache.causeway.applib.services.bookmark.idstringifiers.PredefinedSerializables;
 import org.apache.causeway.applib.value.LocalResourcePath;
 import org.apache.causeway.core.metamodel.object.ManagedObject;
-import org.apache.causeway.core.metamodel.object.MmRenderUtils;
+import org.apache.causeway.core.metamodel.object.MmValueUtils;
 import org.apache.causeway.core.metamodel.spec.ObjectSpecification;
 import org.apache.causeway.viewer.wicket.model.models.ValueModel;
 import 
org.apache.causeway.viewer.wicket.ui.components.scalars.ScalarPanelAbstract;
@@ -51,7 +51,7 @@ extends PanelAbstract<ManagedObject, ValueModel> {
         // (we probably need to remove StandaloneValuePanel and utilize the 
ScalarPanel for standalone values instead)
         
if(isProbablySimpleInlineHtml(valueModel.getObjectMember().getElementType())) {
             Wkt.markupAdd(this, ID_STANDALONE_VALUE, ()->
-                
MmRenderUtils.htmlStringForValueType(getModel().getObjectMember(), 
getModel().getObject())
+                
MmValueUtils.htmlStringForValueType(getModel().getObjectMember(), 
getModel().getObject())
             );
         } else {
             // resort to (textual) title rendering

Reply via email to