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