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 1a6bed9120 Estup2-649: post merge refactoring and test fixes
1a6bed9120 is described below

commit 1a6bed9120434cc00f93a6833c1ff02de2f26e6e
Author: Andi Huber <[email protected]>
AuthorDate: Tue May 14 08:43:09 2024 +0200

    Estup2-649: post merge refactoring and test fixes
---
 .../progmodel/ProgrammingModelConstants.java       |  7 ++++--
 ...reteTypeToBeIncludedWithMetamodelValidator.java |  2 +-
 .../actions/action/ActionOverloadingValidator.java |  2 +-
 .../DomainObjectAnnotationFacetFactory.java        |  4 ++--
 .../logicaltype/LogicalTypeMalformedValidator.java |  4 ++--
 .../method/NavigableParentFacetViaMethod.java      |  2 +-
 .../annotation/TitleFacetViaTitleAnnotation.java   |  4 ++--
 .../object/viewmodel/ViewModelFacetFactory.java    |  4 ++--
 .../ViewModelFacetForViewModelInterface.java       |  4 ++--
 .../mandatory/MandatoryFacetAbstract.java          |  2 +-
 .../metamodel/interactions/InteractionUtils.java   |  2 +-
 ...tionEnforcesMetamodelContributionValidator.java |  4 ++--
 .../_OrphanedSupportingMethodValidator.java        |  2 +-
 .../all/MixinSanityChecksValidator.java            |  6 ++---
 .../authorization/AuthorizationFacet.java          | 26 ++++++++++++++++------
 .../authorization/AuthorizationFacetAbstract.java  |  2 +-
 .../param/ChoicesAndDefaultsPostProcessor.java     |  2 +-
 .../specloader/SpecificationLoaderDefault.java     |  2 +-
 .../specimpl/_MethodFacadeAutodetect.java          |  6 ++---
 .../validator/ValidationFailureUtils.java          |  6 ++---
 .../executor/MemberExecutorServiceDefault.java     |  6 ++---
 .../interaction/DomainObjectTesterFactory.java     |  2 +-
 .../DomainModelTest_usingBadDomain.java            | 17 +++++++-------
 ...elTest_usingBadDomain_noAnnotationEnforced.java |  2 +-
 ...InteractionTest_notUsingAllowSafeSemantics.java | 11 ++++-----
 ...ionInteractionTest_usingAllowSafeSemantics.java |  9 ++++----
 26 files changed, 79 insertions(+), 61 deletions(-)

diff --git 
a/core/config/src/main/java/org/apache/causeway/core/config/progmodel/ProgrammingModelConstants.java
 
b/core/config/src/main/java/org/apache/causeway/core/config/progmodel/ProgrammingModelConstants.java
index 4dc15423ba..c323f8d40c 100644
--- 
a/core/config/src/main/java/org/apache/causeway/core/config/progmodel/ProgrammingModelConstants.java
+++ 
b/core/config/src/main/java/org/apache/causeway/core/config/progmodel/ProgrammingModelConstants.java
@@ -407,7 +407,10 @@ public final class ProgrammingModelConstants {
 
     //maybe gradually consolidate all MM validation raisers here
     @RequiredArgsConstructor
-    public static enum Violation {
+    public static enum MessageTemplate {
+        NOT_AUTHORIZED_TO_EDIT_OR_USE("Not authorized to edit or use."),
+        NOT_AUTHORIZED_TO_EDIT_OR_USE_MEMBER("Not authorized to edit or use 
${member}."),
+        NOT_AUTHORIZED_TO_EDIT_OR_USE_FEATURE("Not authorized to edit or use 
feature ${type}#${member}."),
         CONFLICTING_TITLE_STRATEGIES(
                 "${type} has title() method with @Title annotation, which is 
not allowed; "
                 + "consider either removing the @Title annotation or renaming 
the method"),
@@ -511,7 +514,7 @@ public final class ProgrammingModelConstants {
         }
         @RequiredArgsConstructor
         public static class ViolationBuilder {
-            private final Violation violaton;
+            private final MessageTemplate violaton;
             private final Map<String, String> vars = new HashMap<>();
             public ViolationBuilder addVariable(final String name, final 
String value) {
                 vars.put(name, value);
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationShouldEnforceConcreteTypeToBeIncludedWithMetamodelValidator.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationShouldEnforceConcreteTypeToBeIncludedWithMetamodelValidator.java
index a9b056827d..547a5b2af7 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationShouldEnforceConcreteTypeToBeIncludedWithMetamodelValidator.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionAnnotationShouldEnforceConcreteTypeToBeIncludedWithMetamodelValidator.java
@@ -58,7 +58,7 @@ extends MetaModelValidatorAbstract {
 
             ValidationFailure.raiseFormatted(
                     spec,
-                    
ProgrammingModelConstants.Violation.UNKNONW_SORT_WITH_ACTION
+                    
ProgrammingModelConstants.MessageTemplate.UNKNONW_SORT_WITH_ACTION
                         .builder()
                         .addVariable("type", 
spec.getCorrespondingClass().getName())
                         .addVariable("actions", actionIds)
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionOverloadingValidator.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionOverloadingValidator.java
index 8b83665263..433b55b821 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionOverloadingValidator.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/action/ActionOverloadingValidator.java
@@ -67,7 +67,7 @@ extends MetaModelValidatorAbstract {
 
             ValidationFailure.raiseFormatted(
                     spec,
-                    
ProgrammingModelConstants.Violation.ACTION_METHOD_OVERLOADING_NOT_ALLOWED
+                    
ProgrammingModelConstants.MessageTemplate.ACTION_METHOD_OVERLOADING_NOT_ALLOWED
                     .builder()
                     .addVariable("type", 
spec.getCorrespondingClass().getName())
                     .addVariable("overloadedNames", overloadedNames.toString())
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
index 4571cff30a..faa4e62d64 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
@@ -600,7 +600,7 @@ implements
 
                                 proxies.forEach(spec->{
                                     ValidationFailure.raiseFormatted(spec,
-                                        
ProgrammingModelConstants.Violation.PROXIED_SERVICE_BEAN_NOT_ALLOWED_TO_CONTRIBUTE
+                                        
ProgrammingModelConstants.MessageTemplate.PROXIED_SERVICE_BEAN_NOT_ALLOWED_TO_CONTRIBUTE
                                             .builder()
                                             .addVariable("logicalTypeName", 
spec.getLogicalTypeName())
                                             .addVariable("csv", 
asCsv(proxies.toList()))
@@ -613,7 +613,7 @@ implements
                                 
.filter(this::logicalTypeNameIsNotIncludedInAliased)
                                 .forEach(spec->{
                                     ValidationFailure.raiseFormatted(spec,
-                                        
ProgrammingModelConstants.Violation.NON_UNIQUE_LOGICAL_TYPE_NAME_OR_ALIAS
+                                        
ProgrammingModelConstants.MessageTemplate.NON_UNIQUE_LOGICAL_TYPE_NAME_OR_ALIAS
                                             .builder()
                                             .addVariable("logicalTypeName", 
spec.getLogicalTypeName())
                                             .addVariable("csv", 
asCsv(collidingSpecs))
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/logicaltype/LogicalTypeMalformedValidator.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/logicaltype/LogicalTypeMalformedValidator.java
index 624b0cb034..d0e37bae7f 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/logicaltype/LogicalTypeMalformedValidator.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/logicaltype/LogicalTypeMalformedValidator.java
@@ -57,8 +57,8 @@ extends MetaModelValidatorAbstract {
                     .anyMatch(String::isEmpty)) {
 
             val validationResponse = spec.isInjectable()
-                    ? 
ProgrammingModelConstants.Violation.DOMAIN_SERVICE_MISSING_A_NAMESPACE
-                    : 
ProgrammingModelConstants.Violation.DOMAIN_OBJECT_MISSING_A_NAMESPACE;
+                    ? 
ProgrammingModelConstants.MessageTemplate.DOMAIN_SERVICE_MISSING_A_NAMESPACE
+                    : 
ProgrammingModelConstants.MessageTemplate.DOMAIN_OBJECT_MISSING_A_NAMESPACE;
 
             ValidationFailure.raiseFormatted(spec,
                     validationResponse.builder()
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/navparent/method/NavigableParentFacetViaMethod.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/navparent/method/NavigableParentFacetViaMethod.java
index 13e89ec5fd..3997775ccf 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/navparent/method/NavigableParentFacetViaMethod.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/navparent/method/NavigableParentFacetViaMethod.java
@@ -53,7 +53,7 @@ extends NavigableParentFacetAbstract {
             // failure
             deficiency->{
                 ValidationFailure.raiseFormatted(facetHolder,
-                        
ProgrammingModelConstants.Violation.DOMAIN_OBJECT_INVALID_NAVIGABLE_PARENT
+                        
ProgrammingModelConstants.MessageTemplate.DOMAIN_OBJECT_INVALID_NAVIGABLE_PARENT
                             .builder()
                             .addVariable("type", processedClass.getName())
                             .addVariable("parentType", 
method.returnType().getName())
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
index 70c30452c4..e79e2d7f29 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/title/annotation/TitleFacetViaTitleAnnotation.java
@@ -36,7 +36,7 @@ import 
org.apache.causeway.commons.internal.reflection._MethodFacades.MethodFaca
 import 
org.apache.causeway.commons.internal.reflection._Reflect.InterfacePolicy;
 import 
org.apache.causeway.commons.internal.reflection._Reflect.TypeHierarchyPolicy;
 import 
org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.ObjectSupportMethod;
-import 
org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.Violation;
+import 
org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.MessageTemplate;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
 import org.apache.causeway.core.metamodel.facets.Evaluators;
 import org.apache.causeway.core.metamodel.facets.Evaluators.MethodEvaluator;
@@ -201,7 +201,7 @@ implements ImperativeFacet {
             final Runnable onTrue) {
         
if(ObjectSupportMethod.TITLE.getMethodNames().contains(evaluator.name())) {
             ValidationFailure.raise(facetHolder,
-                    Violation.CONFLICTING_TITLE_STRATEGIES
+                    MessageTemplate.CONFLICTING_TITLE_STRATEGIES
                         .builder()
                         .addVariablesFor(facetHolder.getFeatureIdentifier())
                         .buildMessage());
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/viewmodel/ViewModelFacetFactory.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/viewmodel/ViewModelFacetFactory.java
index d8e49fd411..efc6df01f3 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/viewmodel/ViewModelFacetFactory.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/viewmodel/ViewModelFacetFactory.java
@@ -86,7 +86,7 @@ implements
                     && objectSpec.getBeanSort().isViewModel()
                     && !objectSpec.viewmodelFacet().isPresent()) {
                 ValidationFailure.raiseFormatted(objectSpec,
-                        
ProgrammingModelConstants.Violation.VIEWMODEL_MISSING_SERIALIZATION_STRATEGY
+                        
ProgrammingModelConstants.MessageTemplate.VIEWMODEL_MISSING_SERIALIZATION_STRATEGY
                             .builder()
                             .addVariable("type", 
objectSpec.getCorrespondingClass().getName())
                             .buildMessage());
@@ -98,7 +98,7 @@ implements
                 facetRanking
                 .visitTopRankPairsSemanticDiffering(ViewModelFacet.class, (a, 
b)->{
                     ValidationFailure.raiseFormatted(objectSpec,
-                            
ProgrammingModelConstants.Violation.VIEWMODEL_CONFLICTING_SERIALIZATION_STRATEGIES
+                            
ProgrammingModelConstants.MessageTemplate.VIEWMODEL_CONFLICTING_SERIALIZATION_STRATEGIES
                                 .builder()
                                 .addVariable("type", 
objectSpec.getFullIdentifier())
                                 .addVariable("facetA", 
a.getClass().getSimpleName())
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/viewmodel/ViewModelFacetForViewModelInterface.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/viewmodel/ViewModelFacetForViewModelInterface.java
index 264a5f3a50..4441345a41 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/viewmodel/ViewModelFacetForViewModelInterface.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/viewmodel/ViewModelFacetForViewModelInterface.java
@@ -72,11 +72,11 @@ extends ViewModelFacetAbstract {
 
 
             val violation = 
explicitInjectConstructors.getCardinality().isMultiple()
-                    ? 
ProgrammingModelConstants.Violation.VIEWMODEL_MULTIPLE_CONSTRUCTORS_WITH_INJECT_SEMANTICS
+                    ? 
ProgrammingModelConstants.MessageTemplate.VIEWMODEL_MULTIPLE_CONSTRUCTORS_WITH_INJECT_SEMANTICS
                     : explicitInjectConstructors.getCardinality().isZero()
                         && !publicConstructors.getCardinality().isOne()
                             // in absence of a constructor with inject 
semantics there must be exactly one public to pick instead
-                            ? 
ProgrammingModelConstants.Violation.VIEWMODEL_MISSING_OR_MULTIPLE_PUBLIC_CONSTRUCTORS
+                            ? 
ProgrammingModelConstants.MessageTemplate.VIEWMODEL_MISSING_OR_MULTIPLE_PUBLIC_CONSTRUCTORS
                             : null;
 
             if(violation!=null) {
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/objectvalue/mandatory/MandatoryFacetAbstract.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/objectvalue/mandatory/MandatoryFacetAbstract.java
index 0ab89fb336..25391e4b3c 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/objectvalue/mandatory/MandatoryFacetAbstract.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/objectvalue/mandatory/MandatoryFacetAbstract.java
@@ -151,7 +151,7 @@ implements MandatoryFacet {
             val holder = mandatoryFacet.getFacetHolder();
 
             ValidationFailure.raiseFormatted(holder,
-                    
ProgrammingModelConstants.Violation.CONFLICTING_OPTIONALITY.builder()
+                    
ProgrammingModelConstants.MessageTemplate.CONFLICTING_OPTIONALITY.builder()
                         .addVariable("member", 
holder.getFeatureIdentifier().getFullIdentityString())
                         .addVariable("conflictingFacets", 
conflictingFacets.stream()
                                 .map(MandatoryFacet::summarize)
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/InteractionUtils.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/InteractionUtils.java
index 2e784dd8bb..0a19c24b60 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/InteractionUtils.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/interactions/InteractionUtils.java
@@ -108,7 +108,7 @@ public final class InteractionUtils {
     private static String guardAgainstEmptyReasonString(
             final @Nullable String reason, final @NonNull Identifier 
identifier) {
         if("".equals(reason)) {
-            val msg = 
ProgrammingModelConstants.Violation.INVALID_USE_OF_VALIDATION_SUPPORT_METHOD.builder()
+            val msg = 
ProgrammingModelConstants.MessageTemplate.INVALID_USE_OF_VALIDATION_SUPPORT_METHOD.builder()
                 .addVariable("className", identifier.getClassName())
                 .addVariable("memberName", identifier.getMemberLogicalName())
                 .buildMessage();
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/methods/DomainIncludeAnnotationEnforcesMetamodelContributionValidator.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/methods/DomainIncludeAnnotationEnforcesMetamodelContributionValidator.java
index 25acb500d0..700650839f 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/methods/DomainIncludeAnnotationEnforcesMetamodelContributionValidator.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/methods/DomainIncludeAnnotationEnforcesMetamodelContributionValidator.java
@@ -36,7 +36,7 @@ import 
org.apache.causeway.commons.internal.reflection._ClassCache;
 import 
org.apache.causeway.commons.internal.reflection._GenericResolver.ResolvedMethod;
 import 
org.apache.causeway.commons.internal.reflection._MethodFacades.MethodFacade;
 import org.apache.causeway.commons.internal.reflection._Reflect;
-import 
org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.Violation;
+import 
org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.MessageTemplate;
 import org.apache.causeway.core.metamodel.commons.MethodUtil;
 import org.apache.causeway.core.metamodel.context.MetaModelContext;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
@@ -139,7 +139,7 @@ extends MetaModelValidatorAbstract {
                     .collect(Collectors.joining("; "));
 
             ValidationFailure.raiseFormatted(spec,
-                    Violation.UNSATISFIED_DOMAIN_INCLUDE_SEMANTICS
+                    MessageTemplate.UNSATISFIED_DOMAIN_INCLUDE_SEMANTICS
                         .builder()
                         .addVariable("type", 
spec.getFeatureIdentifier().getClassName())
                         .addVariable("member", 
_Reflect.methodToShortString(notPickedUpMethod.method()))
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/methods/_OrphanedSupportingMethodValidator.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/methods/_OrphanedSupportingMethodValidator.java
index 504d52dc36..44bb2c6fa1 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/methods/_OrphanedSupportingMethodValidator.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/methods/_OrphanedSupportingMethodValidator.java
@@ -64,7 +64,7 @@ class _OrphanedSupportingMethodValidator {
 
             ValidationFailure.raise(
                     spec,
-                    ProgrammingModelConstants.Violation.ORPHANED_METHOD
+                    ProgrammingModelConstants.MessageTemplate.ORPHANED_METHOD
                         .builder()
                         .addVariablesFor(methodIdentifier)
                         .buildMessage());
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/all/MixinSanityChecksValidator.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/all/MixinSanityChecksValidator.java
index 0467505c4a..0093aef876 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/all/MixinSanityChecksValidator.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/all/MixinSanityChecksValidator.java
@@ -68,7 +68,7 @@ implements
         if(contributing==null
                 || contributing.isUnspecified()) {
             ValidationFailure.raiseFormatted(objSpec,
-                    ProgrammingModelConstants.Violation.INVALID_MIXIN_TYPE
+                    
ProgrammingModelConstants.MessageTemplate.INVALID_MIXIN_TYPE
                         .builder()
                         .addVariable("type", 
objSpec.getCorrespondingClass().getName())
                         .buildMessage());
@@ -104,7 +104,7 @@ implements
 
         if(actualContributing!=expectedContributing) {
             ValidationFailure.raiseFormatted(objSpec,
-                    ProgrammingModelConstants.Violation.INVALID_MIXIN_SORT
+                    
ProgrammingModelConstants.MessageTemplate.INVALID_MIXIN_SORT
                         .builder()
                         .addVariable("type", 
objSpec.getCorrespondingClass().getName())
                         .addVariable("expectedContributing", 
expectedContributing.name())
@@ -121,7 +121,7 @@ implements
 
         if(!expectedMethodName.equals(actualMethodName)) {
             ValidationFailure.raiseFormatted(objSpec,
-                    ProgrammingModelConstants.Violation.INVALID_MIXIN_MAIN
+                    
ProgrammingModelConstants.MessageTemplate.INVALID_MIXIN_MAIN
                         .builder()
                         .addVariable("type", 
objSpec.getCorrespondingClass().getName())
                         .addVariable("expectedMethodName", expectedMethodName)
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/allbutparam/authorization/AuthorizationFacet.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/allbutparam/authorization/AuthorizationFacet.java
index a81b745017..d5160fe2ca 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/allbutparam/authorization/AuthorizationFacet.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/allbutparam/authorization/AuthorizationFacet.java
@@ -21,6 +21,8 @@ package 
org.apache.causeway.core.metamodel.postprocessors.allbutparam.authorizat
 import org.springframework.lang.Nullable;
 
 import org.apache.causeway.applib.Identifier;
+import org.apache.causeway.core.config.progmodel.ProgrammingModelConstants;
+import org.apache.causeway.core.metamodel.context.MetaModelContext;
 import org.apache.causeway.core.metamodel.facetapi.Facet;
 import org.apache.causeway.core.metamodel.interactions.ActionVisibilityContext;
 import 
org.apache.causeway.core.metamodel.interactions.CollectionVisibilityContext;
@@ -83,13 +85,23 @@ extends Facet, HidingInteractionAdvisor, 
DisablingInteractionAdvisor {
                                 vc.getWhere())) != null)
                 .orElse(false);
     }
-    
-    public static String formatNotAuthorizedToEdit(final boolean 
useNaturalName,
-                                                   final @Nullable Identifier 
identifier) {
-        return identifier!=null
-                ? String.format("Not authorized to edit or use feature: %s",
-                    useNaturalName ? identifier.getMemberNaturalName() : 
identifier.getLogicalIdentityString("#"))
-                : "Not authorized to edit or use";
+
+    /**
+     * @param identifier - presence results in a more verbose message
+     * @param mmc - if present AND when PROTOTYPING, results in a more concise 
message,
+     *      only including the friendly member name (omitting the type's name)
+     */
+    public static String formatNotAuthorizedToEdit(
+            final @Nullable Identifier identifier,
+            final @Nullable MetaModelContext mmc) {
+        var template = identifier==null
+            ? 
ProgrammingModelConstants.MessageTemplate.NOT_AUTHORIZED_TO_EDIT_OR_USE
+            : mmc!=null && !mmc.getSystemEnvironment().isPrototyping()
+                ? 
ProgrammingModelConstants.MessageTemplate.NOT_AUTHORIZED_TO_EDIT_OR_USE_MEMBER
+                : 
ProgrammingModelConstants.MessageTemplate.NOT_AUTHORIZED_TO_EDIT_OR_USE_FEATURE;
+        return template.builder()
+                .addVariablesFor(identifier)
+                .buildMessage();
     }
 
 }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/allbutparam/authorization/AuthorizationFacetAbstract.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/allbutparam/authorization/AuthorizationFacetAbstract.java
index d5a5fc8c99..b194d13039 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/allbutparam/authorization/AuthorizationFacetAbstract.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/allbutparam/authorization/AuthorizationFacetAbstract.java
@@ -81,7 +81,7 @@ implements AuthorizationFacet {
                         
getInteractionService().currentInteractionContextElseFail(),
                         ic.getIdentifier())
                 ? null
-                : 
AuthorizationFacet.formatNotAuthorizedToEdit(!getSystemEnvironment().isPrototyping(),ic.getIdentifier());
+                : 
AuthorizationFacet.formatNotAuthorizedToEdit(ic.getIdentifier(), 
getMetaModelContext());
 
         if(disables!=null && log.isDebugEnabled()) {
             log.debug("disables[{}] -> {}", ic.getIdentifier(), disables);
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/param/ChoicesAndDefaultsPostProcessor.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/param/ChoicesAndDefaultsPostProcessor.java
index b1175e6e88..2d44718ca5 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/param/ChoicesAndDefaultsPostProcessor.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/postprocessors/param/ChoicesAndDefaultsPostProcessor.java
@@ -245,7 +245,7 @@ extends MetaModelPostProcessorAbstract {
             if(!hasChoicesOrAutoComplete(param)) {
 
                 ValidationFailure.raiseFormatted(param,
-                        
ProgrammingModelConstants.Violation.PARAMETER_HAS_NO_CHOICES_NOR_AUTOCOMPLETE.builder()
+                        
ProgrammingModelConstants.MessageTemplate.PARAMETER_HAS_NO_CHOICES_NOR_AUTOCOMPLETE.builder()
                             .addVariable("paramId", 
param.getFeatureIdentifier().toString())
                             .buildMessage());
             }
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/SpecificationLoaderDefault.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/SpecificationLoaderDefault.java
index 9c2508d867..120fb49c7a 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/SpecificationLoaderDefault.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/SpecificationLoaderDefault.java
@@ -607,7 +607,7 @@ implements
         if(isMetamodelFullyIntrospected()
                 && 
causewayConfiguration.getCore().getMetaModel().getIntrospector().isLockAfterFullIntrospection())
 {
 
-            val warningMessage = 
ProgrammingModelConstants.Violation.TYPE_NOT_EAGERLY_DISCOVERED
+            val warningMessage = 
ProgrammingModelConstants.MessageTemplate.TYPE_NOT_EAGERLY_DISCOVERED
                     .builder()
                     .addVariable("type", cls.getName())
                     .addVariable("beanSort", causewayBeanTypeClassifier
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/specimpl/_MethodFacadeAutodetect.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/specimpl/_MethodFacadeAutodetect.java
index c94c1f5654..b4dab67fe3 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/specimpl/_MethodFacadeAutodetect.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/specimpl/_MethodFacadeAutodetect.java
@@ -28,7 +28,7 @@ import 
org.apache.causeway.commons.internal.reflection._ClassCache;
 import 
org.apache.causeway.commons.internal.reflection._GenericResolver.ResolvedMethod;
 import org.apache.causeway.commons.internal.reflection._MethodFacades;
 import 
org.apache.causeway.commons.internal.reflection._MethodFacades.MethodFacade;
-import 
org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.Violation;
+import 
org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.MessageTemplate;
 import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
 import 
org.apache.causeway.core.metamodel.specloader.validator.ValidationFailure;
 
@@ -54,7 +54,7 @@ class _MethodFacadeAutodetect {
                 || method.paramCount() > 1) {
             // invalid
             ValidationFailure.raiseFormatted(inspectedTypeSpec,
-                    Violation.PARAMETER_TUPLE_INVALID_USE_OF_ANNOTATION
+                    MessageTemplate.PARAMETER_TUPLE_INVALID_USE_OF_ANNOTATION
                         .builder()
                         .addVariable("type", 
inspectedTypeSpec.getFeatureIdentifier().getClassName())
                         .addVariable("member", method.name())
@@ -66,7 +66,7 @@ class _MethodFacadeAutodetect {
         if(!patConstructors.isCardinalityOne()) {
             // invalid
             ValidationFailure.raiseFormatted(inspectedTypeSpec,
-                    Violation.PARAMETER_TUPLE_TYPE_WITH_AMBIGUOUS_CONSTRUCTORS
+                    
MessageTemplate.PARAMETER_TUPLE_TYPE_WITH_AMBIGUOUS_CONSTRUCTORS
                         .builder()
                         .addVariable("type", 
inspectedTypeSpec.getFeatureIdentifier().getClassName())
                         .addVariable("member", method.name())
diff --git 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/validator/ValidationFailureUtils.java
 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/validator/ValidationFailureUtils.java
index 9a76ab77cb..a4c7119487 100644
--- 
a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/validator/ValidationFailureUtils.java
+++ 
b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/specloader/validator/ValidationFailureUtils.java
@@ -36,7 +36,7 @@ public final class ValidationFailureUtils {
             final Class<A> annotationType) {
 
         ValidationFailure.raiseFormatted(holder,
-                ProgrammingModelConstants.Violation.AMBIGUOUS_MIXIN_ANNOTATIONS
+                
ProgrammingModelConstants.MessageTemplate.AMBIGUOUS_MIXIN_ANNOTATIONS
                     .builder()
                     .addVariable("annot", "@" + annotationType.getSimpleName())
                     .addVariable("mixinType", 
holder.getFeatureIdentifier().getFullIdentityString())
@@ -50,7 +50,7 @@ public final class ValidationFailureUtils {
             final ObjectMember memberB) {
 
         ValidationFailure.raiseFormatted(memberB,
-                ProgrammingModelConstants.Violation.MEMBER_ID_CLASH
+                ProgrammingModelConstants.MessageTemplate.MEMBER_ID_CLASH
                     .builder()
                     .addVariable("type", declaringType.fqcn())
                     .addVariable("memberId", ""+memberB.getId())
@@ -64,7 +64,7 @@ public final class ValidationFailureUtils {
             final ObjectSpecification declaringType,
             final ObjectSpecification elementType) {
         ValidationFailure.raiseFormatted(facetHolder,
-                ProgrammingModelConstants.Violation.INVALID_MEMBER_ELEMENT_TYPE
+                
ProgrammingModelConstants.MessageTemplate.INVALID_MEMBER_ELEMENT_TYPE
                     .builder()
                     .addVariable("type", declaringType.fqcn())
                     .addVariable("elementType", ""+elementType)
diff --git 
a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/executor/MemberExecutorServiceDefault.java
 
b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/executor/MemberExecutorServiceDefault.java
index dadf8c71de..90fcbaa0d7 100644
--- 
a/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/executor/MemberExecutorServiceDefault.java
+++ 
b/core/runtimeservices/src/main/java/org/apache/causeway/core/runtimeservices/executor/MemberExecutorServiceDefault.java
@@ -44,7 +44,7 @@ import 
org.apache.causeway.commons.internal.assertions._Assert;
 import org.apache.causeway.commons.internal.collections._Lists;
 import 
org.apache.causeway.commons.internal.reflection._MethodFacades.MethodFacade;
 import org.apache.causeway.core.config.CausewayConfiguration;
-import 
org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.Violation;
+import 
org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.MessageTemplate;
 import org.apache.causeway.core.metamodel.commons.CanonicalInvoker;
 import org.apache.causeway.core.metamodel.consent.InteractionInitiatedBy;
 import org.apache.causeway.core.metamodel.execution.ActionExecutor;
@@ -188,8 +188,8 @@ implements MemberExecutorService {
             _Assert.assertTrue(scalarNonEmpty.getBookmark().isPresent(), ()->{
                 var returnTypeSpec = scalarNonEmpty.getSpecification();
                 var violation = returnTypeSpec.isEntity()
-                        ? 
Violation.ACTION_METHOD_RETURNING_TRANSIENT_ENTITY_NOT_ALLOWED
-                        : 
Violation.ACTION_METHOD_RETURNING_NON_BOOKMARKABLE_OBJECT_NOT_ALLOWED;
+                        ? 
MessageTemplate.ACTION_METHOD_RETURNING_TRANSIENT_ENTITY_NOT_ALLOWED
+                        : 
MessageTemplate.ACTION_METHOD_RETURNING_NON_BOOKMARKABLE_OBJECT_NOT_ALLOWED;
                 return violation.builder()
                     .addVariablesFor(actionId)
                     .addVariable("returnTypeSpec", returnTypeSpec.toString())
diff --git 
a/regressiontests/base/src/main/java/org/apache/causeway/testdomain/util/interaction/DomainObjectTesterFactory.java
 
b/regressiontests/base/src/main/java/org/apache/causeway/testdomain/util/interaction/DomainObjectTesterFactory.java
index 23b407a6bc..36dd334932 100644
--- 
a/regressiontests/base/src/main/java/org/apache/causeway/testdomain/util/interaction/DomainObjectTesterFactory.java
+++ 
b/regressiontests/base/src/main/java/org/apache/causeway/testdomain/util/interaction/DomainObjectTesterFactory.java
@@ -198,7 +198,7 @@ public class DomainObjectTesterFactory implements 
HasMetaModelContext {
         }
 
         public void assertValidationFailureOnMember(
-                final ProgrammingModelConstants.Violation violation,
+                final ProgrammingModelConstants.MessageTemplate violation,
                 final String memberName) {
 
             val validateDomainModel =
diff --git 
a/regressiontests/domainmodel/src/test/java/org/apache/causeway/testdomain/domainmodel/DomainModelTest_usingBadDomain.java
 
b/regressiontests/domainmodel/src/test/java/org/apache/causeway/testdomain/domainmodel/DomainModelTest_usingBadDomain.java
index 0c08791dd3..8bbef6d36d 100644
--- 
a/regressiontests/domainmodel/src/test/java/org/apache/causeway/testdomain/domainmodel/DomainModelTest_usingBadDomain.java
+++ 
b/regressiontests/domainmodel/src/test/java/org/apache/causeway/testdomain/domainmodel/DomainModelTest_usingBadDomain.java
@@ -30,13 +30,14 @@ import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
 import org.junit.jupiter.params.provider.ValueSource;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.TestPropertySource;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.TestPropertySource;
+
 import org.apache.causeway.applib.Identifier;
 import org.apache.causeway.applib.annotation.Action;
 import org.apache.causeway.applib.annotation.ActionLayout;
@@ -52,7 +53,7 @@ import 
org.apache.causeway.core.config.environment.CausewaySystemEnvironment;
 import org.apache.causeway.core.config.metamodel.specloader.IntrospectionMode;
 import org.apache.causeway.core.config.presets.CausewayPresets;
 import org.apache.causeway.core.config.progmodel.ProgrammingModelConstants;
-import 
org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.Violation;
+import 
org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.MessageTemplate;
 import org.apache.causeway.core.metamodel.spec.feature.MixedIn;
 import org.apache.causeway.core.metamodel.specloader.SpecificationLoader;
 import org.apache.causeway.testdomain.conf.Configuration_headless;
@@ -134,7 +135,7 @@ class DomainModelTest_usingBadDomain {
         val tester = 
testerFactory.objectTester(InvalidOrphanedActionSupport.class);
 
         tester.assertValidationFailureOnMember(
-                ProgrammingModelConstants.Violation.ORPHANED_METHOD, 
"hideMe()");
+                ProgrammingModelConstants.MessageTemplate.ORPHANED_METHOD, 
"hideMe()");
     }
 
 
@@ -149,7 +150,7 @@ class DomainModelTest_usingBadDomain {
         val tester = 
testerFactory.objectTester(InvalidOrphanedPropertySupport.class);
 
         tester.assertValidationFailureOnMember(
-                ProgrammingModelConstants.Violation.ORPHANED_METHOD, 
"hideMe()");
+                ProgrammingModelConstants.MessageTemplate.ORPHANED_METHOD, 
"hideMe()");
     }
 
     @Test
@@ -163,7 +164,7 @@ class DomainModelTest_usingBadDomain {
         val tester = 
testerFactory.objectTester(InvalidOrphanedCollectionSupport.class);
 
         tester.assertValidationFailureOnMember(
-                ProgrammingModelConstants.Violation.ORPHANED_METHOD, 
"hideMe()");
+                ProgrammingModelConstants.MessageTemplate.ORPHANED_METHOD, 
"hideMe()");
     }
 
     @Test
@@ -427,7 +428,7 @@ class DomainModelTest_usingBadDomain {
 
         validator.assertAnyFailuresContaining(
                 classUnderTest,
-                
ProgrammingModelConstants.Violation.INVALID_MIXIN_MAIN.builder()
+                
ProgrammingModelConstants.MessageTemplate.INVALID_MIXIN_MAIN.builder()
                 .addVariable("type", classUnderTest.getName())
                 .addVariable("expectedMethodName", expectedMethodName)
                 .addVariable("actualMethodName", "other")
@@ -460,7 +461,7 @@ class DomainModelTest_usingBadDomain {
     private String unsatisfiedDomainIncludeSemantics(
             final String className,
             final String memberName) {
-        return Violation.UNSATISFIED_DOMAIN_INCLUDE_SEMANTICS
+        return MessageTemplate.UNSATISFIED_DOMAIN_INCLUDE_SEMANTICS
                 .builder()
                 .addVariable("type", className)
                 .addVariable("member", memberName)
diff --git 
a/regressiontests/domainmodel/src/test/java/org/apache/causeway/testdomain/domainmodel/DomainModelTest_usingBadDomain_noAnnotationEnforced.java
 
b/regressiontests/domainmodel/src/test/java/org/apache/causeway/testdomain/domainmodel/DomainModelTest_usingBadDomain_noAnnotationEnforced.java
index dc374ac587..7c0f852672 100644
--- 
a/regressiontests/domainmodel/src/test/java/org/apache/causeway/testdomain/domainmodel/DomainModelTest_usingBadDomain_noAnnotationEnforced.java
+++ 
b/regressiontests/domainmodel/src/test/java/org/apache/causeway/testdomain/domainmodel/DomainModelTest_usingBadDomain_noAnnotationEnforced.java
@@ -79,7 +79,7 @@ class DomainModelTest_usingBadDomain_noAnnotationEnforced 
extends CausewayIntegr
         val tester = 
testerFactory.objectTester(InvalidOrphanedActionSupportNoAnnotationEnforced.class);
 
         tester.assertValidationFailureOnMember(
-                ProgrammingModelConstants.Violation.ORPHANED_METHOD, 
"hideOrphaned()");
+                ProgrammingModelConstants.MessageTemplate.ORPHANED_METHOD, 
"hideOrphaned()");
     }
 
 }
diff --git 
a/regressiontests/interact/src/test/java/org/apache/causeway/testdomain/interact/ActionInteractionTest_notUsingAllowSafeSemantics.java
 
b/regressiontests/interact/src/test/java/org/apache/causeway/testdomain/interact/ActionInteractionTest_notUsingAllowSafeSemantics.java
index 40b9eb6dc7..b897bcfadc 100644
--- 
a/regressiontests/interact/src/test/java/org/apache/causeway/testdomain/interact/ActionInteractionTest_notUsingAllowSafeSemantics.java
+++ 
b/regressiontests/interact/src/test/java/org/apache/causeway/testdomain/interact/ActionInteractionTest_notUsingAllowSafeSemantics.java
@@ -21,14 +21,15 @@ package org.apache.causeway.testdomain.interact;
 import javax.inject.Named;
 
 import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.stereotype.Service;
 import org.springframework.test.context.TestPropertySource;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-
 import org.apache.causeway.applib.Identifier;
 import org.apache.causeway.applib.annotation.PriorityPrecedence;
 import org.apache.causeway.applib.annotation.Where;
@@ -94,7 +95,7 @@ class ActionInteractionTest_notUsingAllowSafeSemantics 
extends InteractionTestAb
         val veto = actionInteraction.getInteractionVeto().orElseThrow(); // 
should not throw
         val actionId = 
actionInteraction.getMetamodel().map(ObjectAction::getFeatureIdentifier).orElse(null);
         assertEquals(
-                AuthorizationFacet.formatNotAuthorizedToEdit(false,actionId),
+                AuthorizationFacet.formatNotAuthorizedToEdit(actionId, 
objectManager.getMetaModelContext()),
                 veto.getReasonAsString().orElse(null));
     }
 
@@ -106,7 +107,7 @@ class ActionInteractionTest_notUsingAllowSafeSemantics 
extends InteractionTestAb
         val veto = actionInteraction.getInteractionVeto().orElseThrow(); // 
should not throw
         val actionId = 
actionInteraction.getMetamodel().map(ObjectAction::getFeatureIdentifier).orElse(null);
         assertEquals(
-                AuthorizationFacet.formatNotAuthorizedToEdit(false,actionId),
+                AuthorizationFacet.formatNotAuthorizedToEdit(actionId, 
objectManager.getMetaModelContext()),
                 veto.getReasonAsString().orElse(null));
     }
 
diff --git 
a/regressiontests/interact/src/test/java/org/apache/causeway/testdomain/interact/ActionInteractionTest_usingAllowSafeSemantics.java
 
b/regressiontests/interact/src/test/java/org/apache/causeway/testdomain/interact/ActionInteractionTest_usingAllowSafeSemantics.java
index fed4f0e6b3..f141dacf7f 100644
--- 
a/regressiontests/interact/src/test/java/org/apache/causeway/testdomain/interact/ActionInteractionTest_usingAllowSafeSemantics.java
+++ 
b/regressiontests/interact/src/test/java/org/apache/causeway/testdomain/interact/ActionInteractionTest_usingAllowSafeSemantics.java
@@ -21,14 +21,15 @@ package org.apache.causeway.testdomain.interact;
 import javax.inject.Named;
 
 import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
 import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.stereotype.Service;
 import org.springframework.test.context.TestPropertySource;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
 import org.apache.causeway.applib.Identifier;
 import org.apache.causeway.applib.annotation.PriorityPrecedence;
 import org.apache.causeway.applib.annotation.SemanticsOf;
@@ -105,7 +106,7 @@ class ActionInteractionTest_usingAllowSafeSemantics extends 
InteractionTestAbstr
         val veto = actionInteraction.getInteractionVeto().orElseThrow(); // 
should not throw
         val actionId = 
actionInteraction.getMetamodel().map(ObjectAction::getFeatureIdentifier).orElse(null);
         assertEquals(
-                AuthorizationFacet.formatNotAuthorizedToEdit(false,actionId),
+                AuthorizationFacet.formatNotAuthorizedToEdit(actionId, 
objectManager.getMetaModelContext()),
                 veto.getReasonAsString().orElse(null));
     }
 


Reply via email to