You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2021/09/17 21:43:45 UTC
[isis] branch master updated: ISIS-2871: fixes demo adoc java
source inlining
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/isis.git
The following commit(s) were added to refs/heads/master by this push:
new 42ee7d4 ISIS-2871: fixes demo adoc java source inlining
42ee7d4 is described below
commit 42ee7d40803c41a77c09f248ae3d59cb6be16365
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Sep 17 23:43:34 2021 +0200
ISIS-2871: fixes demo adoc java source inlining
---
.../object/title/parser/TitleFacetUsingValueFacet.java | 16 +++++++++++-----
.../core/metamodel/facets/object/value/ValueFacet.java | 2 +-
.../facets/object/value/ValueFacetAbstract.java | 5 ++---
.../AsciiDocValueSemanticsWithPreprocessing.java | 1 +
4 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/parser/TitleFacetUsingValueFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/parser/TitleFacetUsingValueFacet.java
index 7f74e9e..95ea3b5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/parser/TitleFacetUsingValueFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/title/parser/TitleFacetUsingValueFacet.java
@@ -62,21 +62,27 @@ implements TitleFacet {
// what property, collection, action return or action param this is to be rendered for ...
if(renderRequest.getFeature() instanceof OneToOneAssociation) {
+ final var prop = (OneToOneAssociation)renderRequest.getFeature();
+ final var featureId = prop.getFeatureIdentifier();
final Renderer renderer = valueFacet
- .selectRendererForPropertyElseFallback((OneToOneAssociation)renderRequest.getFeature());
- return renderer.presentationValue(valueFacet.createValueSemanticsContext(), pojo);
+ .selectRendererForPropertyElseFallback(prop);
+ return renderer.presentationValue(valueFacet.createValueSemanticsContext(featureId), pojo);
}
if(renderRequest.getFeature() instanceof ObjectActionParameter) {
+ final var param = (ObjectActionParameter)renderRequest.getFeature();
+ final var featureId = param.getFeatureIdentifier();
final Renderer renderer = valueFacet
- .selectRendererForParameterElseFallback((ObjectActionParameter)renderRequest.getFeature());
- return renderer.presentationValue(valueFacet.createValueSemanticsContext(), pojo);
+ .selectRendererForParameterElseFallback(param);
+ return renderer.presentationValue(valueFacet.createValueSemanticsContext(featureId), pojo);
}
// fall back to default value semantics ...
+ final var featureId = getFacetHolder().getFeatureIdentifier();
+
return valueFacet.selectDefaultRenderer()
.map(renderer->(Renderer) renderer)
- .map(renderer->renderer.presentationValue(valueFacet.createValueSemanticsContext(), pojo))
+ .map(renderer->renderer.presentationValue(valueFacet.createValueSemanticsContext(featureId), pojo))
.orElseGet(()->String.format("Value type %s has no value semantics for title rendering.",
renderRequest.getObject().getSpecification().getCorrespondingClass()));
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacet.java
index da53afd..e6d6205 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacet.java
@@ -44,7 +44,7 @@ public interface ValueFacet<T> extends Facet {
LogicalType getValueType();
Can<ValueSemanticsProvider<T>> getValueSemantics();
- Context createValueSemanticsContext();
+ Context createValueSemanticsContext(Identifier featureIdentifier);
// -- PARSER
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
index 086638c..1d25f88 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAbstract.java
@@ -38,7 +38,6 @@ import org.apache.isis.commons.internal.reflection._Annotations;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetAbstract;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facetapi.FacetHolderAbstract;
import org.apache.isis.core.metamodel.facets.objectvalue.valuesemantics.ValueSemanticsSelectingFacet;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
@@ -84,13 +83,13 @@ implements ValueFacet<T> {
}
@Override
- public ValueSemanticsProvider.Context createValueSemanticsContext() {
+ public ValueSemanticsProvider.Context createValueSemanticsContext(final Identifier featureIdentifier) {
final var iaProvider = super.getInteractionProvider();
if(iaProvider==null) {
return null; // JUnit context
}
return ValueSemanticsProvider.Context.of(
- ((FacetHolderAbstract)getFacetHolder()).getFeatureIdentifier(),
+ featureIdentifier,
iaProvider.currentInteractionContext().orElse(null));
}
diff --git a/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocValueSemanticsWithPreprocessing.java b/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocValueSemanticsWithPreprocessing.java
index 4134fda..3b924ba 100644
--- a/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocValueSemanticsWithPreprocessing.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/_infra/resources/AsciiDocValueSemanticsWithPreprocessing.java
@@ -20,6 +20,7 @@ extends AsciiDocValueSemantics {
@Override
public String presentationValue(final ValueSemanticsProvider.Context context, final AsciiDoc adoc) {
+
return render(adoc, plainAdoc->
asciiDocConverterService
.adocToHtml(