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/05/25 15:47:07 UTC

[isis] branch master updated: ISIS-2631: replace memberName ->memberLogicalName in Identifier and ApplicationFeatureId

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 236b082  ISIS-2631: replace memberName ->memberLogicalName in Identifier and ApplicationFeatureId
236b082 is described below

commit 236b082cd74ad825f0e6d24bbaafe60c8706842c
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue May 25 17:46:49 2021 +0200

    ISIS-2631: replace memberName
    ->memberLogicalName in Identifier and ApplicationFeatureId
---
 .../java/org/apache/isis/applib/Identifier.java    | 88 +++++++++++-----------
 .../services/appfeat/ApplicationFeatureId.java     | 34 ++++-----
 .../appfeatui/ApplicationFeatureViewModel.java     |  2 +-
 .../services/wrapper/events/InteractionEvent.java  |  6 +-
 .../actions/action/ActionOverloadingValidator.java |  2 +-
 .../actions/action/invocation/CommandUtil.java     |  2 +-
 .../facets/fallback/FallbackFacetFactory.java      |  2 +-
 .../metamodel/MetaModelServiceDefault.java         |  2 +-
 .../spec/feature/OneToOneAssociation.java          |  2 +-
 .../spec/feature/memento/CollectionMemento.java    |  4 +-
 .../spec/feature/memento/PropertyMemento.java      |  4 +-
 .../specloader/specimpl/ObjectMemberAbstract.java  |  2 +-
 .../specimpl/dflt/ObjectSpecificationDefault.java  |  2 +-
 .../specloader/validator/ValidationFailure.java    |  8 +-
 .../facetapi/FeatureTypeTest_identifierFor.java    | 10 +--
 .../services/appfeat/ApplicationFeatureIdTest.java | 38 +++++-----
 .../appfeat/ApplicationFeatureTypeTest.java        | 16 ++--
 .../interaction/InteractionDtoFactoryDefault.java  |  2 +-
 .../manager/AuthorizationManager.java              |  2 +-
 .../api/permission/dom/ApplicationPermission.java  |  4 +-
 .../shiro/authorization/AuthorizorShiro.java       |  2 +-
 .../models/EntityCollectionModelParented.java      |  2 +-
 .../models/EntityCollectionModelStandalone.java    |  2 +-
 .../wicket/model/models/ScalarPropertyModel.java   |  2 +-
 .../CollectionContentsAsAjaxTablePanel.java        |  2 +-
 .../entity/collection/EntityCollectionPanel.java   |  2 +-
 26 files changed, 122 insertions(+), 122 deletions(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/Identifier.java b/api/applib/src/main/java/org/apache/isis/applib/Identifier.java
index eda9641..df79554 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/Identifier.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/Identifier.java
@@ -38,15 +38,15 @@ import lombok.val;
 /**
  * Combines {@link LogicalType} and member identification (from properties, collections or actions),
  * to a fully qualified <i>feature</i> identifier.
- * <p> 
- * For {@link Identifier}(s) of type {@link Identifier.Type#CLASS} member information is 
- * left empty.   
- *  
+ * <p>
+ * For {@link Identifier}(s) of type {@link Identifier.Type#CLASS} member information is
+ * left empty.
+ *
  * @since 1.x revised for 2.0 {@index}
  * @see LogicalType
  */
-public class Identifier 
-implements 
+public class Identifier
+implements
     Comparable<Identifier>,
     HasLogicalType,
     HasTranslationContext,
@@ -73,20 +73,20 @@ implements
     public static Identifier propertyOrCollectionIdentifier(
             final LogicalType typeIdentifier,
             final String propertyOrCollectionName) {
-        return new Identifier(typeIdentifier, propertyOrCollectionName, Can.empty(), 
+        return new Identifier(typeIdentifier, propertyOrCollectionName, Can.empty(),
                 Type.PROPERTY_OR_COLLECTION);
     }
 
     public static Identifier actionIdentifier(
             final LogicalType typeIdentifier,
-            final String actionName, 
+            final String actionName,
             final Class<?>... parameterClasses) {
         return actionIdentifier(typeIdentifier, actionName, classNamesOf(parameterClasses));
     }
 
     public static Identifier actionIdentifier(
             final LogicalType typeIdentifier,
-            final String actionName, 
+            final String actionName,
             final Can<String> parameterClassNames) {
         return new Identifier(typeIdentifier, actionName, parameterClassNames, Type.ACTION);
     }
@@ -94,20 +94,20 @@ implements
     // -- INSTANCE FIELDS
 
     @Getter(onMethod_ = {@Override}) private final LogicalType logicalType;
-    
+
     @Getter private final String className;
-    
-    @Getter private final String memberName;
-    
+
+    @Getter private final String memberLogicalName;
+
     @Getter private final Can<String> memberParameterClassNames;
-    
+
     @Getter private final Type type;
-    
+
     /**
-     * Fully qualified Identity String. (class-name + member-name + param-class-names)
+     * Fully qualified Identity String. (class-name + member-logical-name + param-class-names)
      */
     @Getter private final String fullIdentityString;
-    
+
     /**
      * Member Identity String (class omitted), including parameters if any.
      */
@@ -123,39 +123,39 @@ implements
 
     private Identifier(
             final LogicalType logicalType,
-            final String memberName, 
-            final Can<String> memberParameterClassNames, 
+            final String memberLogicalName,
+            final Can<String> memberParameterClassNames,
             final Type type) {
-        
+
         this.logicalType = logicalType;
         this.className = logicalType.getClassName();
-        this.memberName = memberName;
+        this.memberLogicalName = memberLogicalName;
         this.memberParameterClassNames = memberParameterClassNames;
         this.type = type;
-         
+
         this.memberNameAndParameterClassNamesIdentityString =
-                memberName + (type.isAction() 
-                        ? "(" + memberParameterClassNames.stream().collect(Collectors.joining(",")) + ")" 
+                memberLogicalName + (type.isAction()
+                        ? "(" + memberParameterClassNames.stream().collect(Collectors.joining(",")) + ")"
                         : "");
-        
+
         this.translationContext = TranslationContext.ofName(
-                className + "#" + memberName + (type.isAction() ? "()" : ""));
+                className + "#" + memberLogicalName + (type.isAction() ? "()" : ""));
 
-        this.fullIdentityString = _Strings.isEmpty(memberName) 
+        this.fullIdentityString = _Strings.isEmpty(memberLogicalName)
                 ? className
                 : className + "#" + memberNameAndParameterClassNamesIdentityString;
     }
 
     // -- LOGICAL ID
-    
+
     public String getLogicalIdentityString(final @NonNull String delimiter) {
-        return getLogicalTypeName() 
-                + delimiter 
+        return getLogicalTypeName()
+                + delimiter
                 + memberNameAndParameterClassNamesIdentityString;
     }
-    
+
     // -- NATURAL NAMES
-    
+
     public String getClassNaturalName() {
         val className = getClassName();
         val isolatedName = className.substring(className.lastIndexOf('.') + 1);
@@ -163,7 +163,7 @@ implements
     }
 
     public String getMemberNaturalName() {
-        return naturalName(memberName);
+        return naturalName(memberLogicalName);
     }
 
     public Can<String> getMemberParameterClassNaturalNames() {
@@ -189,8 +189,8 @@ implements
     }
 
     public boolean isEqualTo(final Identifier other) {
-        return Objects.equals(this.className, other.className) 
-                && Objects.equals(this.memberName, other.memberName) 
+        return Objects.equals(this.className, other.className)
+                && Objects.equals(this.memberLogicalName, other.memberLogicalName)
                 && this.memberParameterClassNames.equals(other.memberParameterClassNames);
     }
 
@@ -205,14 +205,14 @@ implements
     }
 
     // -- HELPER
-    
+
     private static Can<String> classNamesOf(final Class<?>[] parameterClasses) {
         return Can.ofArray(parameterClasses)
         .map(Class::getName);
     }
-    
+
     private static final char SPACE = ' ';
-    
+
     /*
      * Returns a word spaced version of the specified name, so there are spaces
      * between the words, where each word starts with a capital letter. E.g.,
@@ -240,16 +240,16 @@ implements
             nextCharacter = name.charAt(pos);
 
             if (previousCharacter != SPACE) {
-                if (Character.isUpperCase(character) 
+                if (Character.isUpperCase(character)
                         && !Character.isUpperCase(previousCharacter)) {
                     naturalName.append(SPACE);
                 }
-                if (Character.isUpperCase(character) 
-                        && Character.isLowerCase(nextCharacter) 
+                if (Character.isUpperCase(character)
+                        && Character.isLowerCase(nextCharacter)
                         && Character.isUpperCase(previousCharacter)) {
                     naturalName.append(SPACE);
                 }
-                if (Character.isDigit(character) 
+                if (Character.isDigit(character)
                         && !Character.isDigit(previousCharacter)) {
                     naturalName.append(SPACE);
                 }
@@ -259,10 +259,10 @@ implements
         naturalName.append(nextCharacter);
         return naturalName.toString();
     }
-    
+
     private static Can<String> naturalNames(final Can<String> names) {
         return names.map(Identifier::naturalName);
     }
-    
+
 }
 
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/appfeat/ApplicationFeatureId.java b/api/applib/src/main/java/org/apache/isis/applib/services/appfeat/ApplicationFeatureId.java
index 766f6ee..3a8c67e 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/appfeat/ApplicationFeatureId.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/appfeat/ApplicationFeatureId.java
@@ -52,9 +52,9 @@ import lombok.val;
  * <p>
  * This value is {@link Comparable}, the implementation of which considers
  * {@link #getSort() (feature) sort}, {@link #getNamespace() namespace},
- * {@link #getTypeSimpleName() type simple name} and {@link #getMemberName() member name}.
+ * {@link #getTypeSimpleName() type simple name} and {@link #getMemberLogicalName() member-logical-name}.
  * <p>
- * If the represented member is an <i>action</i>, then {@link #getMemberName() member name}
+ * If the represented member is an <i>action</i>, then {@link #getMemberLogicalName() member-logical-name}
  * must <b>not</b> include any parameter list or parentheses.
  * Consequently method overloading is not supported.
  * <p>
@@ -85,7 +85,7 @@ implements
         if(identifier.getType().isClass()) {
             return newType(logicalTypeName);
         }
-        return newMember(logicalTypeName, identifier.getMemberName());
+        return newMember(logicalTypeName, identifier.getMemberLogicalName());
     }
 
     public static ApplicationFeatureId newFeature(
@@ -122,7 +122,7 @@ implements
         val featureId = new ApplicationFeatureId(ApplicationFeatureSort.NAMESPACE);
         featureId.namespace = namespace;
         featureId.typeSimpleName = null;
-        featureId.memberName = null;
+        featureId.memberLogicalName = null;
         return featureId;
     }
 
@@ -132,10 +132,10 @@ implements
         return featureId;
     }
 
-    public static ApplicationFeatureId newMember(final String logicalTypeName, final String memberName) {
+    public static ApplicationFeatureId newMember(final String logicalTypeName, final String memberLogicalName) {
         val featureId = new ApplicationFeatureId(ApplicationFeatureSort.MEMBER);
         initType(featureId, logicalTypeName);
-        initMember(featureId, memberName);
+        initMember(featureId, memberLogicalName);
         return featureId;
     }
 
@@ -170,11 +170,11 @@ implements
                     "fullyQualifiedName '%s' must include a non-empty namespace", fullyQualifiedName);
         }
 
-        featureId.memberName = null;
+        featureId.memberLogicalName = null;
     }
 
-    private static void initMember(final ApplicationFeatureId featureId, final @Nullable String memberName) {
-        featureId.memberName = stripOffParamsIfAny(memberName); // just in case
+    private static void initMember(final ApplicationFeatureId featureId, final @Nullable String memberLogicalName) {
+        featureId.memberLogicalName = stripOffParamsIfAny(memberLogicalName); // just in case
     }
 
     private static String stripOffParamsIfAny(final @Nullable String name) {
@@ -237,7 +237,7 @@ implements
      * {@code null} if not a member
      */
     @Programmatic
-    @Getter private String memberName;
+    @Getter private String memberLogicalName;
 
     @Programmatic
     public String getFullyQualifiedName() {
@@ -246,8 +246,8 @@ implements
         if(getTypeSimpleName() != null) {
             buf.append(".").append(getTypeSimpleName());
         }
-        if(getMemberName() != null) {
-            buf.append("#").append(getMemberName());
+        if(getMemberLogicalName() != null) {
+            buf.append("#").append(getMemberLogicalName());
         }
         return buf.toString();
     }
@@ -366,7 +366,7 @@ implements
     private static final Comparator<ApplicationFeatureId> byTypeSimpleName =
             comparing(ApplicationFeatureId::getTypeSimpleName, nullsFirst(naturalOrder()));
     private static final Comparator<ApplicationFeatureId> byMemberName =
-            comparing(ApplicationFeatureId::getMemberName, nullsFirst(naturalOrder()));
+            comparing(ApplicationFeatureId::getMemberLogicalName, nullsFirst(naturalOrder()));
 
     private static final Comparator<ApplicationFeatureId> comparator =
             Comparator.nullsFirst(bySort)
@@ -378,19 +378,19 @@ implements
             ObjectContracts.checkEquals(ApplicationFeatureId::getSort)
             .thenCheckEquals(ApplicationFeatureId::getNamespace)
             .thenCheckEquals(ApplicationFeatureId::getTypeSimpleName)
-            .thenCheckEquals(ApplicationFeatureId::getMemberName);
+            .thenCheckEquals(ApplicationFeatureId::getMemberLogicalName);
 
     private static final Hashing<ApplicationFeatureId> hashing =
             ObjectContracts.hashing(ApplicationFeatureId::getSort)
             .thenHashing(ApplicationFeatureId::getNamespace)
             .thenHashing(ApplicationFeatureId::getTypeSimpleName)
-            .thenHashing(ApplicationFeatureId::getMemberName);
+            .thenHashing(ApplicationFeatureId::getMemberLogicalName);
 
     private static final ToString<ApplicationFeatureId> toString =
             ObjectContracts.toString("sort", ApplicationFeatureId::getSort)
             .thenToString("namespace", ApplicationFeatureId::getNamespace)
             .thenToStringOmitIfAbsent("typeSimpleName", ApplicationFeatureId::getTypeSimpleName)
-            .thenToStringOmitIfAbsent("memberName", ApplicationFeatureId::getMemberName);
+            .thenToStringOmitIfAbsent("memberName", ApplicationFeatureId::getMemberLogicalName);
 
 
     @Override
@@ -421,7 +421,7 @@ implements
      * @param namespace
      */
     public ApplicationFeatureId withNamespace(final @NonNull String namespace) {
-        return newFeature(namespace, this.getTypeSimpleName(), this.getMemberName());
+        return newFeature(namespace, this.getTypeSimpleName(), this.getMemberLogicalName());
     }
 
 }
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/appfeatui/ApplicationFeatureViewModel.java b/api/applib/src/main/java/org/apache/isis/applib/services/appfeatui/ApplicationFeatureViewModel.java
index c36281c..85a5eab 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/appfeatui/ApplicationFeatureViewModel.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/appfeatui/ApplicationFeatureViewModel.java
@@ -284,7 +284,7 @@ public abstract class ApplicationFeatureViewModel implements ViewModel {
      */
     @MemberName
     public String getMemberName() {
-        return getFeatureId().getMemberName();
+        return getFeatureId().getMemberLogicalName();
     }
 
     public boolean hideMemberName() {
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/InteractionEvent.java b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/InteractionEvent.java
index 703ca18..6149b30 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/InteractionEvent.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/wrapper/events/InteractionEvent.java
@@ -24,7 +24,7 @@ import org.apache.isis.applib.events.EventObjectBase;
 import org.apache.isis.commons.collections.Can;
 
 /**
- * <i>Supported only by {@link org.apache.isis.applib.services.wrapper.WrapperFactory} service, </i> 
+ * <i>Supported only by {@link org.apache.isis.applib.services.wrapper.WrapperFactory} service, </i>
  * represents an interaction with a domain object or a particular feature
  * (property, collection, action) of a domain object.
  *
@@ -85,13 +85,13 @@ public abstract class InteractionEvent extends EventObjectBase<Object> {
     }
 
     /**
-     * Convenience method that returns the {@link Identifier#getMemberName()
+     * Convenience method that returns the {@link Identifier#getMemberLogicalName()
      * member name} of the {@link #getIdentifier() identifier}.
      *
      * @see #getIdentifier
      */
     public String getMemberName() {
-        return identifier.getMemberName();
+        return identifier.getMemberLogicalName();
     }
 
     /**
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionOverloadingValidator.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionOverloadingValidator.java
index d20c130..a623c25 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionOverloadingValidator.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionOverloadingValidator.java
@@ -49,7 +49,7 @@ extends MetaModelVisitingValidatorAbstract {
             val overloadedNames = _Sets.<String>newHashSet();
 
             spec.streamActions(ActionType.ANY, MixedIn.EXCLUDED, oa->{
-                overloadedNames.add(oa.getIdentifier().getMemberName());
+                overloadedNames.add(oa.getIdentifier().getMemberLogicalName());
             })
             .count(); // consumer the stream
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/CommandUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/CommandUtil.java
index 3f30b20..a638585 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/CommandUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/invocation/CommandUtil.java
@@ -81,7 +81,7 @@ public class CommandUtil {
     private static String logicalMemberIdentifierFor(
             final ObjectSpecification onType, final ObjectMember objectMember) {
         final String objectType = onType.getLogicalTypeName();
-        final String localId = objectMember.getIdentifier().getMemberName();
+        final String localId = objectMember.getIdentifier().getMemberLogicalName();
         return objectType + "#" + localId;
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
index 8fc8c15..71c50c1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
@@ -86,7 +86,7 @@ public class FallbackFacetFactory extends FacetFactoryAbstract {
         final FacetedMethod facetedMethod = processMethodContext.getFacetHolder();
 
 
-        final String id = facetedMethod.getIdentifier().getMemberName();
+        final String id = facetedMethod.getIdentifier().getMemberLogicalName();
         String defaultName = StringExtensions.asNaturalName2(id);
 
         super.addFacet(new NamedFacetDefault(defaultName, facetedMethod));
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefault.java
index 82ef79d..f43f33e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/metamodel/MetaModelServiceDefault.java
@@ -211,7 +211,7 @@ public class MetaModelServiceDefault implements MetaModelService {
         if(spec == null) {
             return null;
         }
-        final ObjectMember objectMemberIfAny = spec.getMember(featureId.getMemberName()).orElse(null);
+        final ObjectMember objectMemberIfAny = spec.getMember(featureId.getMemberLogicalName()).orElse(null);
         if (objectMemberIfAny == null) {
             return null;
         }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToOneAssociation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToOneAssociation.java
index 08a9fb2..0542621 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToOneAssociation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/OneToOneAssociation.java
@@ -64,7 +64,7 @@ public interface OneToOneAssociation extends ObjectAssociation, OneToOneFeature,
 
     default String getCssClass(String prefix) {
         final String ownerObjectType = getOnType().getLogicalTypeName().replace(".", "-");
-        final String memberId = getIdentifier().getMemberName();
+        final String memberId = getIdentifier().getMemberLogicalName();
         return prefix + ownerObjectType + "-" + memberId;
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/memento/CollectionMemento.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/memento/CollectionMemento.java
index 51cd53a..9bd27e8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/memento/CollectionMemento.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/memento/CollectionMemento.java
@@ -68,7 +68,7 @@ public class CollectionMemento implements Serializable {
         if (collection == null) {
             collection = specLoader.get()
                     .specForLogicalTypeElseFail(getIdentifier().getLogicalType())
-                    .getCollectionElseFail(getIdentifier().getMemberName());
+                    .getCollectionElseFail(getIdentifier().getMemberLogicalName());
         }
         return collection;
     }
@@ -77,7 +77,7 @@ public class CollectionMemento implements Serializable {
 
     @Override
     public String toString() {
-        return getIdentifier().getLogicalTypeName() + "#" + getIdentifier().getMemberName();
+        return getIdentifier().getLogicalTypeName() + "#" + getIdentifier().getMemberLogicalName();
     }
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/memento/PropertyMemento.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/memento/PropertyMemento.java
index 2087c61..5677027 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/memento/PropertyMemento.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/memento/PropertyMemento.java
@@ -67,7 +67,7 @@ public class PropertyMemento implements Serializable {
         if (property == null) {
             property = specLoader.get()
                     .specForLogicalTypeElseFail(getIdentifier().getLogicalType())
-                    .getPropertyElseFail(getIdentifier().getMemberName());
+                    .getPropertyElseFail(getIdentifier().getMemberLogicalName());
         }
         return property;
     }
@@ -76,7 +76,7 @@ public class PropertyMemento implements Serializable {
 
     @Override
     public String toString() {
-        return getIdentifier().getLogicalTypeName() + "#" + getIdentifier().getMemberName();
+        return getIdentifier().getLogicalTypeName() + "#" + getIdentifier().getMemberLogicalName();
     }
 
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
index 30912b1..bdfa936 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
@@ -90,7 +90,7 @@ implements ObjectMember, HasMetaModelContext, HasFacetHolder {
 
     @Override
     public final String getId() {
-        return getIdentifier().getMemberName();
+        return getIdentifier().getMemberLogicalName();
     }
 
     @Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
index 76e03eb..a44ba8b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
@@ -285,7 +285,7 @@ implements FacetHolder {
                         MixedIn.INCLUDED)
                     .filter(action->
                         id.equals(action.getIdentifier().getMemberNameAndParameterClassNamesIdentityString())
-                                || id.equals(action.getIdentifier().getMemberName())
+                                || id.equals(action.getIdentifier().getMemberLogicalName())
                     )
                     .findFirst();
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/ValidationFailure.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/ValidationFailure.java
index 949e224..7c10fdd 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/ValidationFailure.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/ValidationFailure.java
@@ -21,13 +21,13 @@ package org.apache.isis.core.metamodel.specloader.validator;
 import java.util.Comparator;
 import java.util.Objects;
 
+import static java.util.Comparator.naturalOrder;
+import static java.util.Comparator.nullsFirst;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 
-import static java.util.Comparator.naturalOrder;
-import static java.util.Comparator.nullsFirst;
-
 import lombok.NonNull;
 import lombok.Value;
 
@@ -78,7 +78,7 @@ public final class ValidationFailure implements Comparable<ValidationFailure> {
 
     private static final Comparator<ValidationFailure> comparator = Comparator
             .<ValidationFailure, String>comparing(failure->failure.getOrigin().getClassName(), nullsFirst(naturalOrder()))
-            .<String>thenComparing(failure->failure.getOrigin().getMemberName(), nullsFirst(naturalOrder()))
+            .<String>thenComparing(failure->failure.getOrigin().getMemberLogicalName(), nullsFirst(naturalOrder()))
             .thenComparing(ValidationFailure::getMessage);
 
     // -- CONTRACT
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facetapi/FeatureTypeTest_identifierFor.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facetapi/FeatureTypeTest_identifierFor.java
index 4cbbc24..4ce5b21 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facetapi/FeatureTypeTest_identifierFor.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facetapi/FeatureTypeTest_identifierFor.java
@@ -24,12 +24,12 @@ import java.math.BigDecimal;
 
 import org.junit.Test;
 
-import org.apache.isis.applib.Identifier;
-import org.apache.isis.applib.id.LogicalType;
-
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 
+import org.apache.isis.applib.Identifier;
+import org.apache.isis.applib.id.LogicalType;
+
 public class FeatureTypeTest_identifierFor {
 
     public static class SomeDomainClass {
@@ -59,7 +59,7 @@ public class FeatureTypeTest_identifierFor {
         final Method method = SomeDomainClass.class.getMethod("getABigDecimal");
         final Identifier identifierFor = FeatureType.PROPERTY.identifierFor(
                 LogicalType.fqcn(SomeDomainClass.class), method);
-        assertThat(identifierFor.getMemberName(), is("ABigDecimal")); // very
+        assertThat(identifierFor.getMemberLogicalName(), is("ABigDecimal")); // very
         // odd
         // compared
         // to
@@ -82,7 +82,7 @@ public class FeatureTypeTest_identifierFor {
         final Method method = SomeDomainClass.class.getMethod("getAnotherBigDecimal");
         final Identifier identifierFor = FeatureType.PROPERTY.identifierFor(
                 LogicalType.fqcn(SomeDomainClass.class), method);
-        assertThat(identifierFor.getMemberName(), is("anotherBigDecimal"));
+        assertThat(identifierFor.getMemberLogicalName(), is("anotherBigDecimal"));
     }
 
 }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureIdTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureIdTest.java
index dc1b96a..6332d6d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureIdTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureIdTest.java
@@ -26,11 +26,6 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
-import org.apache.isis.core.internaltestsupport.contract.ValueTypeContractTestAbstract;
-import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2;
-
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.nullValue;
@@ -40,6 +35,11 @@ import static org.hamcrest.Matchers.emptyCollectionOf;
 import static org.hamcrest.Matchers.greaterThan;
 import static org.hamcrest.Matchers.lessThan;
 
+import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
+import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
+import org.apache.isis.core.internaltestsupport.contract.ValueTypeContractTestAbstract;
+import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2;
+
 import lombok.val;
 
 public class ApplicationFeatureIdTest {
@@ -70,7 +70,7 @@ public class ApplicationFeatureIdTest {
             assertThat(applicationFeatureId.getSort(), is(ApplicationFeatureSort.NAMESPACE));
             assertThat(applicationFeatureId.getNamespace(), is("com.mycompany"));
             assertThat(applicationFeatureId.getTypeSimpleName(), is(nullValue()));
-            assertThat(applicationFeatureId.getMemberName(), is(nullValue()));
+            assertThat(applicationFeatureId.getMemberLogicalName(), is(nullValue()));
         }
     }
 
@@ -84,7 +84,7 @@ public class ApplicationFeatureIdTest {
             assertThat(applicationFeatureId.getSort(), is(ApplicationFeatureSort.TYPE));
             assertThat(applicationFeatureId.getNamespace(), is("com.mycompany"));
             assertThat(applicationFeatureId.getTypeSimpleName(), is("Bar"));
-            assertThat(applicationFeatureId.getMemberName(), is(nullValue()));
+            assertThat(applicationFeatureId.getMemberLogicalName(), is(nullValue()));
         }
     }
 
@@ -98,7 +98,7 @@ public class ApplicationFeatureIdTest {
             assertThat(applicationFeatureId.getSort(), is(ApplicationFeatureSort.MEMBER));
             assertThat(applicationFeatureId.getNamespace(), is("com.mycompany"));
             assertThat(applicationFeatureId.getTypeSimpleName(), is("Bar"));
-            assertThat(applicationFeatureId.getMemberName(), is("foo"));
+            assertThat(applicationFeatureId.getMemberLogicalName(), is("foo"));
         }
 
         @Test
@@ -109,7 +109,7 @@ public class ApplicationFeatureIdTest {
             assertThat(applicationFeatureId.getSort(), is(ApplicationFeatureSort.MEMBER));
             assertThat(applicationFeatureId.getNamespace(), is("com.mycompany"));
             assertThat(applicationFeatureId.getTypeSimpleName(), is("Bar"));
-            assertThat(applicationFeatureId.getMemberName(), is("foo"));
+            assertThat(applicationFeatureId.getMemberLogicalName(), is("foo"));
         }
 
     }
@@ -265,7 +265,7 @@ public class ApplicationFeatureIdTest {
             assertThat(parentPackageId.getSort(), is(ApplicationFeatureSort.NAMESPACE));
             assertThat(parentPackageId.getNamespace(), is("com"));
             assertThat(parentPackageId.getTypeSimpleName(), is(nullValue()));
-            assertThat(parentPackageId.getMemberName(), is(nullValue()));
+            assertThat(parentPackageId.getMemberLogicalName(), is(nullValue()));
         }
 
         @Test
@@ -300,15 +300,15 @@ public class ApplicationFeatureIdTest {
             assertThat(parentPackageId.getSort(), is(ApplicationFeatureSort.NAMESPACE));
             assertThat(parentPackageId.getNamespace(), is("com.mycompany"));
             assertThat(parentPackageId.getTypeSimpleName(), is(nullValue()));
-            assertThat(parentPackageId.getMemberName(), is(nullValue()));
+            assertThat(parentPackageId.getMemberLogicalName(), is(nullValue()));
         }
 
         @Test
         public void givenClassInRootPackage() throws Exception {
-            
+
             // expect
             expectedException.expect(IllegalArgumentException.class);
-            
+
             // when
             ApplicationFeatureId.newType("Bar");
         }
@@ -342,7 +342,7 @@ public class ApplicationFeatureIdTest {
             assertThat(parentClassId.getSort(), is(ApplicationFeatureSort.TYPE));
             assertThat(parentClassId.getNamespace(), is("com.mycompany"));
             assertThat(parentClassId.getTypeSimpleName(), is("Bar"));
-            assertThat(parentClassId.getMemberName(), is(nullValue()));
+            assertThat(parentClassId.getMemberLogicalName(), is(nullValue()));
         }
 
         @Test
@@ -437,7 +437,7 @@ public class ApplicationFeatureIdTest {
         public void members() throws Exception {
             feature1 = ApplicationFeatureId.newMember("com.mycompany.Bar#b");
 
-            assertThat(feature1.toString(), 
+            assertThat(feature1.toString(),
                     is(equalTo("ApplicationFeatureId{sort=MEMBER, "
                     + "namespace=com.mycompany, typeSimpleName=Bar, memberName=b}")));
         }
@@ -446,7 +446,7 @@ public class ApplicationFeatureIdTest {
         public void classes() throws Exception {
             feature1 = ApplicationFeatureId.newType("com.mycompany.B");
 
-            assertThat(feature1.toString(), 
+            assertThat(feature1.toString(),
                     is(equalTo("ApplicationFeatureId{sort=TYPE, namespace=com.mycompany, typeSimpleName=B}")));
         }
 
@@ -454,7 +454,7 @@ public class ApplicationFeatureIdTest {
         public void packages() throws Exception {
             feature1 = ApplicationFeatureId.newNamespace("com.b");
 
-            assertThat(feature1.toString(), 
+            assertThat(feature1.toString(),
                     is(equalTo("ApplicationFeatureId{sort=NAMESPACE, namespace=com.b}")));
         }
     }
@@ -548,8 +548,8 @@ public class ApplicationFeatureIdTest {
 
         public static class GET_MEMBER_NAME extends FunctionsTest {
 
-            private Function<ApplicationFeatureId, String> func = 
-                    ApplicationFeatureId::getMemberName;
+            private Function<ApplicationFeatureId, String> func =
+                    ApplicationFeatureId::getMemberLogicalName;
 
             @Test
             public void whenNull() throws Exception {
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureTypeTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureTypeTest.java
index fd06d4e..b1051aa 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureTypeTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureTypeTest.java
@@ -22,13 +22,13 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
-import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
-
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.nullValue;
 import static org.hamcrest.MatcherAssert.assertThat;
 
+import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
+import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
+
 import lombok.val;
 
 public class ApplicationFeatureTypeTest {
@@ -60,11 +60,11 @@ public class ApplicationFeatureTypeTest {
         @Test
         public void givenPackage() throws Exception {
 
-            val applicationFeatureId = ApplicationFeatureId.newNamespace("com.mycompany"); 
+            val applicationFeatureId = ApplicationFeatureId.newNamespace("com.mycompany");
 
             assertThat(applicationFeatureId.getNamespace(), is("com.mycompany"));
             assertThat(applicationFeatureId.getTypeSimpleName(), is(nullValue()));
-            assertThat(applicationFeatureId.getMemberName(), is(nullValue()));
+            assertThat(applicationFeatureId.getMemberLogicalName(), is(nullValue()));
 
         }
         @Test
@@ -74,17 +74,17 @@ public class ApplicationFeatureTypeTest {
 
             assertThat(applicationFeatureId.getNamespace(), is("com.mycompany"));
             assertThat(applicationFeatureId.getTypeSimpleName(), is("Bar"));
-            assertThat(applicationFeatureId.getMemberName(), is(nullValue()));
+            assertThat(applicationFeatureId.getMemberLogicalName(), is(nullValue()));
 
         }
         @Test
         public void givenMember() throws Exception {
 
             val applicationFeatureId = ApplicationFeatureId.newMember("com.mycompany.Bar#foo");
-            
+
             assertThat(applicationFeatureId.getNamespace(), is("com.mycompany"));
             assertThat(applicationFeatureId.getTypeSimpleName(), is("Bar"));
-            assertThat(applicationFeatureId.getMemberName(), is("foo"));
+            assertThat(applicationFeatureId.getMemberLogicalName(), is("foo"));
         }
         @Test
         public void givenMemberMalformed() throws Exception {
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/interaction/InteractionDtoFactoryDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/interaction/InteractionDtoFactoryDefault.java
index 567743c..440c7fd 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/interaction/InteractionDtoFactoryDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/interaction/InteractionDtoFactoryDefault.java
@@ -134,7 +134,7 @@ public class InteractionDtoFactoryDefault implements InteractionDtoFactory {
         final Bookmark targetBookmark = targetAdapter.getBookmark()
                 .orElseThrow(()->_Exceptions.noSuchElement("Object provides no Bookmark: %s", targetAdapter));
 
-        final String propertyId = property.getIdentifier().getMemberName();
+        final String propertyId = property.getIdentifier().getMemberLogicalName();
         final String targetTitle = targetBookmark.toString() + ": " + propertyId;
 
         final String currentUser = userService.currentUserNameElseNobody();
diff --git a/core/security/src/main/java/org/apache/isis/core/security/authorization/manager/AuthorizationManager.java b/core/security/src/main/java/org/apache/isis/core/security/authorization/manager/AuthorizationManager.java
index 74622b9..bc39dcc 100644
--- a/core/security/src/main/java/org/apache/isis/core/security/authorization/manager/AuthorizationManager.java
+++ b/core/security/src/main/java/org/apache/isis/core/security/authorization/manager/AuthorizationManager.java
@@ -106,7 +106,7 @@ public class AuthorizationManager {
             return true;
         }
         // no-op if is visibility context check at object-level
-        if (identifier.getMemberName().equals("")) {
+        if (identifier.getMemberLogicalName().equals("")) {
             return true;
         }
         if(containsSudoSuperuserRole(authentication)) {
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/dom/ApplicationPermission.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/dom/ApplicationPermission.java
index 46a2d33..503bef8 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/dom/ApplicationPermission.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/dom/ApplicationPermission.java
@@ -128,7 +128,7 @@ public abstract class ApplicationPermission implements Comparable<ApplicationPer
             case MEMBER:
                 buf.append(featureId.getTypeSimpleName())
                 .append("#")
-                .append(featureId.getMemberName());   // com.mycompany.Bar#foo
+                .append(featureId.getMemberLogicalName());   // com.mycompany.Bar#foo
                 break;
             }
 
@@ -322,7 +322,7 @@ public abstract class ApplicationPermission implements Comparable<ApplicationPer
 
     @Override
     public int compareTo(final org.apache.isis.extensions.secman.api.permission.dom.ApplicationPermission other) {
-        return contract.compare(this, (ApplicationPermission)other);
+        return contract.compare(this, other);
     }
 
     @Override
diff --git a/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/AuthorizorShiro.java b/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/AuthorizorShiro.java
index d8ee6b6..5ac6012 100644
--- a/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/AuthorizorShiro.java
+++ b/security/shiro/src/main/java/org/apache/isis/security/shiro/authorization/AuthorizorShiro.java
@@ -87,7 +87,7 @@ public class AuthorizorShiro implements Authorizor {
 
     private String asPermissionsString(Identifier identifier) {
         val logicalTypeName = identifier.getLogicalType().getLogicalTypeNameFormatted(":", ":");
-        return logicalTypeName + ":" + identifier.getMemberName();
+        return logicalTypeName + ":" + identifier.getMemberLogicalName();
     }
 
     // -- DEPS
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModelParented.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModelParented.java
index 9e280f0..4e53cd4 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModelParented.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModelParented.java
@@ -157,7 +157,7 @@ implements
 
     @Override
     public String getName() {
-        return getIdentifier().getMemberName();
+        return getIdentifier().getMemberLogicalName();
     }
 
     @Override
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModelStandalone.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModelStandalone.java
index be2bf62..9b2721a 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModelStandalone.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityCollectionModelStandalone.java
@@ -97,7 +97,7 @@ extends EntityCollectionModelAbstract {
     public String getName() {
         return getTypeOfSpecification().lookupFacet(PluralFacet.class)
                 .map(PluralFacet::value)
-                .orElse(getIdentifier().getMemberName());
+                .orElse(getIdentifier().getMemberLogicalName());
     }
 
     @Override
diff --git a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarPropertyModel.java b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarPropertyModel.java
index f6d0055..d61c9db 100644
--- a/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarPropertyModel.java
+++ b/viewers/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarPropertyModel.java
@@ -89,7 +89,7 @@ implements PropertyUiModel {
 
     @Override
     public String getIdentifier() {
-        return getMetaModel().getIdentifier().getMemberName();
+        return getMetaModel().getIdentifier().getMemberLogicalName();
     }
 
     @Override
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
index 8288b76..6592362 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collectioncontents/ajaxtable/CollectionContentsAsAjaxTablePanel.java
@@ -252,7 +252,7 @@ implements CollectionCountProvider {
             parentObject.isPresent()
                 ? tableColumnOrderService.orderParented(
                         parentObject.get().getPojo(),
-                        collectionModel.getIdentifier().getMemberName(),
+                        collectionModel.getIdentifier().getMemberLogicalName(),
                         elementType,
                         propertyIdsInOrder)
 
diff --git a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
index fe55e99..3f3168a 100644
--- a/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
+++ b/viewers/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/collection/EntityCollectionPanel.java
@@ -112,7 +112,7 @@ implements HasDynamicallyVisibleContent {
 
         val collectionMetaModel = collectionModel.getMetaModel();
 
-        CssClassAppender.appendCssClassTo(div, collectionModel.getIdentifier().getMemberName());
+        CssClassAppender.appendCssClassTo(div, collectionModel.getIdentifier().getMemberLogicalName());
         CssClassAppender.appendCssClassTo(div, collectionModel.getTypeOfSpecification().getFullIdentifier().replace('.','-'));
 
         val objectAdapter = getModel().getObject();