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/03/03 18:39:09 UTC

[isis] 04/09: ISIS-2553: rename PACKAGE -> NAMESPACE, rename CLASS -> TYPE

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

commit 23426dcaaf64a79dcb035168ddbc5ddb20fd3430
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Mar 3 15:42:24 2021 +0100

    ISIS-2553: rename PACKAGE -> NAMESPACE, rename CLASS -> TYPE
---
 .../services/appfeat/ApplicationFeatureId.java     | 109 ++++++++--------
 .../services/appfeat/ApplicationFeatureType.java   |  20 +--
 .../ApplicationFeatureRepositoryDefault.java       |  20 +--
 .../core/metamodel/services/appfeat/_Asserts.java  |   2 +-
 .../metamodel/services/appfeat/_Predicates.java    |   2 +-
 .../services/appfeat/ApplicationFeatureIdTest.java | 138 ++++++++++-----------
 .../ApplicationFeatureRepositoryDefaultTest.java   |  30 ++---
 .../services/appfeat/ApplicationFeatureTest.java   |  28 ++---
 .../appfeat/ApplicationFeatureTypeTest.java        |  30 ++---
 .../api/permission/ApplicationPermission.java      |   4 +-
 .../app/feature/ApplicationFeatureViewModel.java   |   6 +-
 .../model/app/feature/ApplicationPackage.java      |   2 +-
 .../user/ApplicationUser_filterPermissions.java    |   2 +-
 .../model/app/user/UserPermissionViewModel.java    |   2 +-
 .../model/dom/role/ApplicationRole_addClass.java   |   2 +-
 .../model/dom/role/ApplicationRole_addPackage.java |   4 +-
 .../dom/role/ApplicationRole_removePermission.java |   2 +-
 .../ApplicationPermissionRepository.java           |   4 +-
 .../AbstractRoleAndPermissionsFixtureScript.java   |   4 +-
 .../ApplicationPermissionRepository.java           |   4 +-
 .../AbstractRoleAndPermissionsFixtureScript.java   |   4 +-
 21 files changed, 213 insertions(+), 206 deletions(-)

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 faccc3e..d309436 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
@@ -28,6 +28,8 @@ import static java.util.Comparator.comparing;
 import static java.util.Comparator.naturalOrder;
 import static java.util.Comparator.nullsFirst;
 
+import javax.annotation.Nullable;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.annotation.Value;
@@ -62,8 +64,8 @@ implements
 
     // -- CONSTANTS
 
-    public static final ApplicationFeatureId PACKAGE_DEFAULT = 
-            new ApplicationFeatureId(ApplicationFeatureType.PACKAGE, "default");
+    public static final ApplicationFeatureId NAMESPACE_DEFAULT = 
+            new ApplicationFeatureId(ApplicationFeatureType.NAMESPACE, "default");
 
     // -- FACTORY METHODS
 
@@ -72,7 +74,7 @@ implements
         val logicalTypeName = identifier.getLogicalTypeName();
         
         if(identifier.getType().isClass()) {
-            return newClass(logicalTypeName); 
+            return newType(logicalTypeName); 
         }
         if(identifier.getType().isPropertyOrCollection()) {
             return newMember(logicalTypeName, identifier.getMemberName());
@@ -83,46 +85,46 @@ implements
     
     public static ApplicationFeatureId newFeature(
             final ApplicationFeatureType featureType, 
-            final String fullyQualifiedName) {
+            final String qualifiedName) {
         
         switch (featureType) {
-        case PACKAGE:
-            return newPackage(fullyQualifiedName);
-        case CLASS:
-            return newClass(fullyQualifiedName);
+        case NAMESPACE:
+            return newNamespace(qualifiedName);
+        case TYPE:
+            return newType(qualifiedName);
         case MEMBER:
-            return newMember(fullyQualifiedName);
+            return newMember(qualifiedName);
         }
         throw new IllegalArgumentException("Unknown feature type " + featureType);
     }
 
     public static ApplicationFeatureId newFeature(
-            final String packageFqn, 
-            final String className,
-            final String memberName) {
-        if(className == null) {
-            return newPackage(packageFqn);
+            final @NonNull  String namespace, 
+            final @Nullable String logicalTypeSimpleName,
+            final @Nullable String memberName) {
+        if(logicalTypeSimpleName == null) {
+            return newNamespace(namespace);
         }
-        final String classFqn = packageFqn + "." + className;
+        val logicalTypeName = namespace + "." + logicalTypeSimpleName;
         if(memberName == null) {
-            return newClass(classFqn);
+            return newType(logicalTypeName);
         }
-        return newMember(classFqn, memberName);
+        return newMember(logicalTypeName, memberName);
     }
 
-    public static ApplicationFeatureId newPackage(final String packageFqn) {
-        final ApplicationFeatureId featureId = new ApplicationFeatureId(ApplicationFeatureType.PACKAGE);
-        featureId.setNamespace(packageFqn);
+    public static ApplicationFeatureId newNamespace(final String namespace) {
+        final ApplicationFeatureId featureId = new ApplicationFeatureId(ApplicationFeatureType.NAMESPACE);
+        featureId.setNamespace(namespace);
         return featureId;
     }
 
-    public static ApplicationFeatureId newClass(final String classFqn) {
-        return new ApplicationFeatureId(ApplicationFeatureType.CLASS, classFqn);
+    public static ApplicationFeatureId newType(final String logicalTypeName) {
+        return new ApplicationFeatureId(ApplicationFeatureType.TYPE, logicalTypeName);
     }
 
-    public static ApplicationFeatureId newMember(final String classFqn, final String memberName) {
+    public static ApplicationFeatureId newMember(final String logicalTypeName, final String memberName) {
         final ApplicationFeatureId featureId = new ApplicationFeatureId(ApplicationFeatureType.MEMBER);
-        ApplicationFeatureType.CLASS.init(featureId, classFqn);
+        ApplicationFeatureType.TYPE.init(featureId, logicalTypeName);
         featureId.type = ApplicationFeatureType.MEMBER;
         featureId.setMemberName(memberName);
         return featureId;
@@ -152,7 +154,7 @@ implements
         type.init(this, fullyQualifiedName);
     }
 
-    // -- IDENTIFICATION
+    // -- TITLE
     
     /**
      * having a title() method (rather than using @Title annotation) is necessary as a workaround to be able to use
@@ -165,6 +167,19 @@ implements
     }
 
     // -- PROPERTIES
+    
+    @Getter ApplicationFeatureType type;
+    
+    /**
+     * The {@link ApplicationFeatureId id} of the member's class.
+     */
+    public ApplicationFeatureId getParentClassId() {
+        ApplicationFeatureType.ensureMember(this);
+        final String classFqn = this.getNamespace() + "." + getTypeSimpleName();
+        return newType(classFqn);
+    }
+    
+    // -- PROPERTIES - NON UI
 
     @Programmatic
     public String getFullyQualifiedName() {
@@ -194,8 +209,6 @@ implements
         return buf.toString();
     }
 
-    @Getter ApplicationFeatureType type;
-
     @Programmatic 
     @Getter @Setter private String namespace;
 
@@ -213,8 +226,8 @@ implements
     public ApplicationFeatureId getParentPackageId() {
         ApplicationFeatureType.ensurePackageOrClass(this);
 
-        if(type == ApplicationFeatureType.CLASS) {
-            return ApplicationFeatureId.newPackage(getNamespace());
+        if(type == ApplicationFeatureType.TYPE) {
+            return ApplicationFeatureId.newNamespace(getNamespace());
         } else {
             final String packageName = getNamespace(); // eg aaa.bbb.ccc
 
@@ -225,19 +238,10 @@ implements
             final int cutOffPos = packageName.lastIndexOf('.');
             final String parentPackageName = packageName.substring(0, cutOffPos);
 
-            return newPackage(parentPackageName);
+            return newNamespace(parentPackageName);
         }
     }
 
-    /**
-     * The {@link ApplicationFeatureId id} of the member's class.
-     */
-    public ApplicationFeatureId getParentClassId() {
-        ApplicationFeatureType.ensureMember(this);
-        final String classFqn = this.getNamespace() + "." + getTypeSimpleName();
-        return newClass(classFqn);
-    }
-
     // -- ENCODING / DECODING
 
     @Programmatic
@@ -264,22 +268,24 @@ implements
         return new ApplicationFeatureId(_Strings.base64UrlDecode(encodedString));
     }
 
-    // //////////////////////////////////////
-
     // -- pathIds, parentIds
 
     @Programmatic
     public List<ApplicationFeatureId> getPathIds() {
+        //TODO[2533] add memoization
         return pathIds(this);
     }
 
     @Programmatic
     public List<ApplicationFeatureId> getParentIds() {
+        //TODO[2533] add memoization
         return pathIds(getParentId());
     }
 
     private ApplicationFeatureId getParentId() {
-        return type == ApplicationFeatureType.MEMBER? getParentClassId(): getParentPackageId();
+        return type == ApplicationFeatureType.MEMBER
+                ? getParentClassId()
+                : getParentPackageId();
     }
 
     private static List<ApplicationFeatureId> pathIds(final ApplicationFeatureId id) {
@@ -326,8 +332,8 @@ implements
 
     private static final ToString<ApplicationFeatureId> toString =
             ObjectContracts.toString("type", ApplicationFeatureId::getType)
-            .thenToString("packageName", ApplicationFeatureId::getNamespace)
-            .thenToStringOmitIfAbsent("className", ApplicationFeatureId::getTypeSimpleName)
+            .thenToString("namespace", ApplicationFeatureId::getNamespace)
+            .thenToStringOmitIfAbsent("typeSimpleName", ApplicationFeatureId::getTypeSimpleName)
             .thenToStringOmitIfAbsent("memberName", ApplicationFeatureId::getMemberName);
 
 
@@ -354,7 +360,8 @@ implements
     // -- WITHERS
     
     /**
-     * Returns a new instance that is a clone of this, except for the namespace which is taken from the argument. 
+     * Returns a new instance that is a clone of this, except for the namespace,
+     * which is taken from the argument. 
      * @param namespace
      */
     public ApplicationFeatureId withNamespace(final @NonNull String namespace) {
@@ -362,16 +369,16 @@ implements
     }
 
     @Deprecated // duplicate
-    public static ApplicationFeatureId createPackage(String fqn) {
-        val feat = new ApplicationFeatureId(ApplicationFeatureType.PACKAGE);
-        ApplicationFeatureType.PACKAGE.init(feat, fqn);
+    public static ApplicationFeatureId createNamespace(String namespace) {
+        val feat = new ApplicationFeatureId(ApplicationFeatureType.NAMESPACE);
+        ApplicationFeatureType.NAMESPACE.init(feat, namespace);
         return feat;
     }
     
     @Deprecated // duplicate
-    public static ApplicationFeatureId createClass(String fqn) {
-        val feat = new ApplicationFeatureId(ApplicationFeatureType.CLASS);
-        ApplicationFeatureType.CLASS.init(feat, fqn);
+    public static ApplicationFeatureId createType(String logicalTypeName) {
+        val feat = new ApplicationFeatureId(ApplicationFeatureType.TYPE);
+        ApplicationFeatureType.TYPE.init(feat, logicalTypeName);
         return feat;
     }
     
diff --git a/api/applib/src/main/java/org/apache/isis/applib/services/appfeat/ApplicationFeatureType.java b/api/applib/src/main/java/org/apache/isis/applib/services/appfeat/ApplicationFeatureType.java
index 81415a9..99c65ee 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/services/appfeat/ApplicationFeatureType.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/services/appfeat/ApplicationFeatureType.java
@@ -23,9 +23,9 @@ import org.apache.isis.commons.internal.base._Strings;
 public enum ApplicationFeatureType {
     
     /** 
-     * logical package aka <i>object namespace</i>
+     * logical namespace, leading part of the <i>object type</i> (aka logical type)
      */
-    PACKAGE {
+    NAMESPACE {
         @Override
         void init(final ApplicationFeatureId feature, final String fullyQualifiedName) {
             feature.setNamespace(fullyQualifiedName);
@@ -36,9 +36,9 @@ public enum ApplicationFeatureType {
     },
     
     /** 
-     * logical class aka <i>object type</i>
+     * logical type, simple name of the <i>object type</i> (aka logical type)
      */
-    CLASS {
+    TYPE {
         @Override
         void init(final ApplicationFeatureId feature, final String fullyQualifiedName) {
             final int i = fullyQualifiedName.lastIndexOf(".");
@@ -67,36 +67,36 @@ public enum ApplicationFeatureType {
             }
             final String className = fullyQualifiedName.substring(0, i);
             final String memberName = fullyQualifiedName.substring(i+1);
-            CLASS.init(feature, className);
+            TYPE.init(feature, className);
             feature.setMemberName(memberName);
             feature.type = this;
         }
     };
 
     public boolean hideClassName() {
-        return this == ApplicationFeatureType.PACKAGE;
+        return this == ApplicationFeatureType.NAMESPACE;
     }
     
     public boolean hideMember() {
-        return this == ApplicationFeatureType.PACKAGE || this == ApplicationFeatureType.CLASS;
+        return this == ApplicationFeatureType.NAMESPACE || this == ApplicationFeatureType.TYPE;
     }
 
     abstract void init(ApplicationFeatureId applicationFeatureId, String fullyQualifiedName);
 
     public static void ensurePackage(final ApplicationFeatureId feature) {
-        if(feature.type != ApplicationFeatureType.PACKAGE) {
+        if(feature.type != ApplicationFeatureType.NAMESPACE) {
             throw new IllegalStateException("Can only be called for a package; " + feature.toString());
         }
     }
 
     public static void ensurePackageOrClass(final ApplicationFeatureId applicationFeatureId) {
-        if(applicationFeatureId.type != ApplicationFeatureType.PACKAGE && applicationFeatureId.type != ApplicationFeatureType.CLASS) {
+        if(applicationFeatureId.type != ApplicationFeatureType.NAMESPACE && applicationFeatureId.type != ApplicationFeatureType.TYPE) {
             throw new IllegalStateException("Can only be called for a package or a class; " + applicationFeatureId.toString());
         }
     }
 
     public static void ensureClass(final ApplicationFeatureId feature) {
-        if(feature.type != ApplicationFeatureType.CLASS) {
+        if(feature.type != ApplicationFeatureType.TYPE) {
             throw new IllegalStateException("Can only be called for a class; " + feature.toString());
         }
     }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java
index f4e6738..9883a62 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java
@@ -158,7 +158,7 @@ implements ApplicationFeatureRepository {
         }
 
         final String logicalTypeName = spec.getLogicalTypeName();
-        final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newClass(logicalTypeName);
+        final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newType(logicalTypeName);
 
         // add class to our map
         // (later on it may get removed if the class turns out to have no features,
@@ -373,9 +373,9 @@ implements ApplicationFeatureRepository {
     public ApplicationFeature findFeature(final ApplicationFeatureId featureId) {
         initializeIfRequired();
         switch (featureId.getType()) {
-        case PACKAGE:
+        case NAMESPACE:
             return findPackage(featureId);
-        case CLASS:
+        case TYPE:
             return findClass(featureId);
         case MEMBER:
             return findMember(featureId);
@@ -411,9 +411,9 @@ implements ApplicationFeatureRepository {
             return Collections.emptyList();
         }
         switch (featureType) {
-        case PACKAGE:
+        case NAMESPACE:
             return allPackages();
-        case CLASS:
+        case TYPE:
             return allClasses();
         case MEMBER:
             return allMembers();
@@ -468,7 +468,7 @@ implements ApplicationFeatureRepository {
     @Override
     public SortedSet<String> packageNames() {
         initializeIfRequired();
-        return stream(allFeatures(ApplicationFeatureType.PACKAGE))
+        return stream(allFeatures(ApplicationFeatureType.NAMESPACE))
                 .map(ApplicationFeature.Functions.GET_FQN)
                 .collect(_Sets.toUnmodifiableSorted());
     }
@@ -476,7 +476,7 @@ implements ApplicationFeatureRepository {
     @Override
     public SortedSet<String> packageNamesContainingClasses(final ApplicationMemberType memberType) {
         initializeIfRequired();
-        final Collection<ApplicationFeature> packages = allFeatures(ApplicationFeatureType.PACKAGE);
+        final Collection<ApplicationFeature> packages = allFeatures(ApplicationFeatureType.NAMESPACE);
 
         return stream(packages)
                 .filter(ApplicationFeature.Predicates.packageContainingClasses(memberType, this))
@@ -487,7 +487,7 @@ implements ApplicationFeatureRepository {
     @Override
     public SortedSet<String> classNamesContainedIn(final String packageFqn, final ApplicationMemberType memberType) {
         initializeIfRequired();
-        final ApplicationFeatureId packageId = ApplicationFeatureId.newPackage(packageFqn);
+        final ApplicationFeatureId packageId = ApplicationFeatureId.newNamespace(packageFqn);
         final ApplicationFeature pkg = findPackage(packageId);
         if (pkg == null) {
             return Collections.emptySortedSet();
@@ -502,7 +502,7 @@ implements ApplicationFeatureRepository {
     @Override
     public SortedSet<String> classNamesRecursivelyContainedIn(final String packageFqn) {
         initializeIfRequired();
-        final ApplicationFeatureId packageId = ApplicationFeatureId.newPackage(packageFqn);
+        final ApplicationFeatureId packageId = ApplicationFeatureId.newNamespace(packageFqn);
         final ApplicationFeature pkg = findPackage(packageId);
         if (pkg == null) {
             return Collections.emptySortedSet();
@@ -520,7 +520,7 @@ implements ApplicationFeatureRepository {
             final String className,
             final ApplicationMemberType memberType) {
         initializeIfRequired();
-        final ApplicationFeatureId classId = ApplicationFeatureId.newClass(packageFqn + "." + className);
+        final ApplicationFeatureId classId = ApplicationFeatureId.newType(packageFqn + "." + className);
         final ApplicationFeature cls = findClass(classId);
         if (cls == null) {
             return Collections.emptySortedSet();
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/_Asserts.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/_Asserts.java
index 369d8f7..d3409c7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/_Asserts.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/_Asserts.java
@@ -31,7 +31,7 @@ final class _Asserts {
         return new Predicate<ApplicationFeatureId>() {
             @Override
             public boolean test(final ApplicationFeatureId input) {
-                if(input.getType() != ApplicationFeatureType.CLASS) {
+                if(input.getType() != ApplicationFeatureType.TYPE) {
                     return false;
                 }
                 final ApplicationFeature feature = applicationFeatures.findFeature(input);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/_Predicates.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/_Predicates.java
index 93b4fc7..99a8743 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/_Predicates.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/_Predicates.java
@@ -31,7 +31,7 @@ final class _Predicates {
         return new Predicate<ApplicationFeatureId>() {
             @Override
             public boolean test(final ApplicationFeatureId input) {
-                if(input.getType() != ApplicationFeatureType.CLASS) {
+                if(input.getType() != ApplicationFeatureType.TYPE) {
                     return false;
                 }
                 final ApplicationFeature feature = applicationFeatures.findFeature(input);
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 38526f5..53a89fb 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
@@ -67,9 +67,9 @@ public class ApplicationFeatureIdTest {
         @Test
         public void testNewPackage() throws Exception {
             // when
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newPackage("com.mycompany");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newNamespace("com.mycompany");
             // then
-            assertThat(applicationFeatureId.getType(), is(ApplicationFeatureType.PACKAGE));
+            assertThat(applicationFeatureId.getType(), is(ApplicationFeatureType.NAMESPACE));
             assertThat(applicationFeatureId.getNamespace(), is("com.mycompany"));
             assertThat(applicationFeatureId.getTypeSimpleName(), is(nullValue()));
             assertThat(applicationFeatureId.getMemberName(), is(nullValue()));
@@ -81,9 +81,9 @@ public class ApplicationFeatureIdTest {
         @Test
         public void testNewClass() throws Exception {
             // when
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newClass("com.mycompany.Bar");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newType("com.mycompany.Bar");
             // then
-            assertThat(applicationFeatureId.getType(), is(ApplicationFeatureType.CLASS));
+            assertThat(applicationFeatureId.getType(), is(ApplicationFeatureType.TYPE));
             assertThat(applicationFeatureId.getNamespace(), is("com.mycompany"));
             assertThat(applicationFeatureId.getTypeSimpleName(), is("Bar"));
             assertThat(applicationFeatureId.getMemberName(), is(nullValue()));
@@ -121,17 +121,17 @@ public class ApplicationFeatureIdTest {
         @Test
         public void whenPackage() throws Exception {
             // when
-            final ApplicationFeatureId applicationFeatureId = new ApplicationFeatureId(ApplicationFeatureType.PACKAGE, "com.mycompany");
+            final ApplicationFeatureId applicationFeatureId = new ApplicationFeatureId(ApplicationFeatureType.NAMESPACE, "com.mycompany");
             // then
-            assertThat(applicationFeatureId, is(ApplicationFeatureId.newPackage("com.mycompany")));
+            assertThat(applicationFeatureId, is(ApplicationFeatureId.newNamespace("com.mycompany")));
         }
 
         @Test
         public void whenClass() throws Exception {
             // when
-            final ApplicationFeatureId applicationFeatureId = new ApplicationFeatureId(ApplicationFeatureType.CLASS, "com.mycompany.Bar");
+            final ApplicationFeatureId applicationFeatureId = new ApplicationFeatureId(ApplicationFeatureType.TYPE, "com.mycompany.Bar");
             // then
-            assertThat(applicationFeatureId, is(ApplicationFeatureId.newClass("com.mycompany.Bar")));
+            assertThat(applicationFeatureId, is(ApplicationFeatureId.newType("com.mycompany.Bar")));
         }
 
         @Test
@@ -148,17 +148,17 @@ public class ApplicationFeatureIdTest {
         @Test
         public void whenPackage() throws Exception {
             // when
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newFeature(ApplicationFeatureType.PACKAGE, "com.mycompany");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newFeature(ApplicationFeatureType.NAMESPACE, "com.mycompany");
             // then
-            assertThat(applicationFeatureId, is(ApplicationFeatureId.newPackage("com.mycompany")));
+            assertThat(applicationFeatureId, is(ApplicationFeatureId.newNamespace("com.mycompany")));
         }
 
         @Test
         public void whenClass() throws Exception {
             // when
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newFeature(ApplicationFeatureType.CLASS, "com.mycompany.Bar");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newFeature(ApplicationFeatureType.TYPE, "com.mycompany.Bar");
             // then
-            assertThat(applicationFeatureId, is(ApplicationFeatureId.newClass("com.mycompany.Bar")));
+            assertThat(applicationFeatureId, is(ApplicationFeatureId.newType("com.mycompany.Bar")));
         }
 
         @Test
@@ -177,7 +177,7 @@ public class ApplicationFeatureIdTest {
             // when
             final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newFeature("com.mycompany", null, null);
             // then
-            assertThat(applicationFeatureId, is(ApplicationFeatureId.newPackage("com.mycompany")));
+            assertThat(applicationFeatureId, is(ApplicationFeatureId.newNamespace("com.mycompany")));
         }
 
         @Test
@@ -185,7 +185,7 @@ public class ApplicationFeatureIdTest {
             // when
             final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newFeature("com.mycompany", "Bar", null);
             // then
-            assertThat(applicationFeatureId, is(ApplicationFeatureId.newClass("com.mycompany.Bar")));
+            assertThat(applicationFeatureId, is(ApplicationFeatureId.newType("com.mycompany.Bar")));
         }
 
         @Test
@@ -203,7 +203,7 @@ public class ApplicationFeatureIdTest {
         public void whenPackageWithNoParent() throws Exception {
 
             // given
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newPackage("com");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newNamespace("com");
 
             // when
             final List<ApplicationFeatureId> parentIds = applicationFeatureId.getParentIds();
@@ -216,29 +216,29 @@ public class ApplicationFeatureIdTest {
         public void whenPackageWithHasParent() throws Exception {
 
             // given
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newPackage("com.mycompany");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newNamespace("com.mycompany");
 
             // when
             final List<ApplicationFeatureId> parentIds = applicationFeatureId.getParentIds();
 
             // then
-            assertThat(parentIds, contains(ApplicationFeatureId.newPackage("com")));
+            assertThat(parentIds, contains(ApplicationFeatureId.newNamespace("com")));
         }
 
         @Test
         public void whenPackageWithHasParents() throws Exception {
 
             // given
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newPackage("com.mycompany.bish.bosh");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newNamespace("com.mycompany.bish.bosh");
 
             // when
             final List<ApplicationFeatureId> parentIds = applicationFeatureId.getParentIds();
 
             // then
             assertThat(parentIds, contains(
-                    ApplicationFeatureId.newPackage("com.mycompany.bish"),
-                    ApplicationFeatureId.newPackage("com.mycompany"),
-                    ApplicationFeatureId.newPackage("com")
+                    ApplicationFeatureId.newNamespace("com.mycompany.bish"),
+                    ApplicationFeatureId.newNamespace("com.mycompany"),
+                    ApplicationFeatureId.newNamespace("com")
                     ));
         }
 
@@ -246,15 +246,15 @@ public class ApplicationFeatureIdTest {
         public void whenClassWithParents() throws Exception {
 
             // given
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newClass("com.mycompany.Bar");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newType("com.mycompany.Bar");
 
             // when
             final List<ApplicationFeatureId> parentIds = applicationFeatureId.getParentIds();
 
             // then
             assertThat(parentIds, contains(
-                    ApplicationFeatureId.newPackage("com.mycompany"),
-                    ApplicationFeatureId.newPackage("com")
+                    ApplicationFeatureId.newNamespace("com.mycompany"),
+                    ApplicationFeatureId.newNamespace("com")
                     ));
         }
 
@@ -269,9 +269,9 @@ public class ApplicationFeatureIdTest {
 
             // then
             assertThat(parentIds, contains(
-                    ApplicationFeatureId.newClass("com.mycompany.Bar"),
-                    ApplicationFeatureId.newPackage("com.mycompany"),
-                    ApplicationFeatureId.newPackage("com")
+                    ApplicationFeatureId.newType("com.mycompany.Bar"),
+                    ApplicationFeatureId.newNamespace("com.mycompany"),
+                    ApplicationFeatureId.newNamespace("com")
                     ));
         }
 
@@ -282,11 +282,11 @@ public class ApplicationFeatureIdTest {
         @Test
         public void givenPackageWhenParentIsNotRoot() throws Exception {
             // given
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newPackage("com.mycompany");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newNamespace("com.mycompany");
             // when
             final ApplicationFeatureId parentPackageId = applicationFeatureId.getParentPackageId();
             // then
-            assertThat(parentPackageId.getType(), is(ApplicationFeatureType.PACKAGE));
+            assertThat(parentPackageId.getType(), is(ApplicationFeatureType.NAMESPACE));
             assertThat(parentPackageId.getNamespace(), is("com"));
             assertThat(parentPackageId.getTypeSimpleName(), is(nullValue()));
             assertThat(parentPackageId.getMemberName(), is(nullValue()));
@@ -295,7 +295,7 @@ public class ApplicationFeatureIdTest {
         @Test
         public void givenPackageWhenParentIsRoot() throws Exception {
             // given
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newPackage("com");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newNamespace("com");
             // when
             final ApplicationFeatureId parentPackageId = applicationFeatureId.getParentPackageId();
             // then
@@ -305,7 +305,7 @@ public class ApplicationFeatureIdTest {
         @Test
         public void givenRootPackage() throws Exception {
             // given
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newPackage("");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newNamespace("");
             // when
             final ApplicationFeatureId parentPackageId = applicationFeatureId.getParentPackageId();
             // then
@@ -315,13 +315,13 @@ public class ApplicationFeatureIdTest {
         @Test
         public void givenClass() throws Exception {
             // given
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newClass("com.mycompany.Bar");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newType("com.mycompany.Bar");
 
             // when
             final ApplicationFeatureId parentPackageId = applicationFeatureId.getParentPackageId();
 
             // then
-            assertThat(parentPackageId.getType(), is(ApplicationFeatureType.PACKAGE));
+            assertThat(parentPackageId.getType(), is(ApplicationFeatureType.NAMESPACE));
             assertThat(parentPackageId.getNamespace(), is("com.mycompany"));
             assertThat(parentPackageId.getTypeSimpleName(), is(nullValue()));
             assertThat(parentPackageId.getMemberName(), is(nullValue()));
@@ -330,13 +330,13 @@ public class ApplicationFeatureIdTest {
         @Test
         public void givenClassInRootPackage() throws Exception {
             // given
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newClass("Bar");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newType("Bar");
 
             // when
             final ApplicationFeatureId parentPackageId = applicationFeatureId.getParentPackageId();
 
             // then
-            assertThat(parentPackageId.getType(), is(ApplicationFeatureType.PACKAGE));
+            assertThat(parentPackageId.getType(), is(ApplicationFeatureType.NAMESPACE));
             assertThat(parentPackageId.getNamespace(), is(""));
             assertThat(parentPackageId.getTypeSimpleName(), is(nullValue()));
             assertThat(parentPackageId.getMemberName(), is(nullValue()));
@@ -368,7 +368,7 @@ public class ApplicationFeatureIdTest {
             final ApplicationFeatureId parentClassId = applicationFeatureId.getParentClassId();
 
             // then
-            assertThat(parentClassId.getType(), is(ApplicationFeatureType.CLASS));
+            assertThat(parentClassId.getType(), is(ApplicationFeatureType.TYPE));
             assertThat(parentClassId.getNamespace(), is("com.mycompany"));
             assertThat(parentClassId.getTypeSimpleName(), is("Bar"));
             assertThat(parentClassId.getMemberName(), is(nullValue()));
@@ -377,7 +377,7 @@ public class ApplicationFeatureIdTest {
         @Test
         public void givenPackage() throws Exception {
             // given
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newPackage("com");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newNamespace("com");
 
             // then
             expectedException.expect(IllegalStateException.class);
@@ -390,7 +390,7 @@ public class ApplicationFeatureIdTest {
         public void givenClass() throws Exception {
 
             // given
-            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newClass("com.mycompany.Bar");
+            final ApplicationFeatureId applicationFeatureId = ApplicationFeatureId.newType("com.mycompany.Bar");
 
             // then
             expectedException.expect(IllegalStateException.class);
@@ -407,15 +407,15 @@ public class ApplicationFeatureIdTest {
             @Override
             protected List<ApplicationFeatureId> getObjectsWithSameValue() {
                 return Arrays.asList(
-                        ApplicationFeatureId.newPackage("com.mycompany"),
-                        ApplicationFeatureId.newPackage("com.mycompany"));
+                        ApplicationFeatureId.newNamespace("com.mycompany"),
+                        ApplicationFeatureId.newNamespace("com.mycompany"));
             }
 
             @Override
             protected List<ApplicationFeatureId> getObjectsWithDifferentValue() {
                 return Arrays.asList(
-                        ApplicationFeatureId.newPackage("com.mycompany2"),
-                        ApplicationFeatureId.newClass("com.mycompany.Foo"),
+                        ApplicationFeatureId.newNamespace("com.mycompany2"),
+                        ApplicationFeatureId.newType("com.mycompany.Foo"),
                         ApplicationFeatureId.newMember("com.mycompany.Foo#bar"));
             }
         }
@@ -425,15 +425,15 @@ public class ApplicationFeatureIdTest {
             @Override
             protected List<ApplicationFeatureId> getObjectsWithSameValue() {
                 return Arrays.asList(
-                        ApplicationFeatureId.newClass("com.mycompany.Foo"),
-                        ApplicationFeatureId.newClass("com.mycompany.Foo"));
+                        ApplicationFeatureId.newType("com.mycompany.Foo"),
+                        ApplicationFeatureId.newType("com.mycompany.Foo"));
             }
 
             @Override
             protected List<ApplicationFeatureId> getObjectsWithDifferentValue() {
                 return Arrays.asList(
-                        ApplicationFeatureId.newPackage("com.mycompany"),
-                        ApplicationFeatureId.newClass("com.mycompany.Foo2"),
+                        ApplicationFeatureId.newNamespace("com.mycompany"),
+                        ApplicationFeatureId.newType("com.mycompany.Foo2"),
                         ApplicationFeatureId.newMember("com.mycompany.Foo#bar"));
             }
         }
@@ -450,8 +450,8 @@ public class ApplicationFeatureIdTest {
             @Override
             protected List<ApplicationFeatureId> getObjectsWithDifferentValue() {
                 return Arrays.asList(
-                        ApplicationFeatureId.newPackage("com.mycompany"),
-                        ApplicationFeatureId.newClass("com.mycompany.Foo"),
+                        ApplicationFeatureId.newNamespace("com.mycompany"),
+                        ApplicationFeatureId.newType("com.mycompany.Foo"),
                         ApplicationFeatureId.newMember("com.mycompany.Foo#bar2"));
             }
         }
@@ -472,14 +472,14 @@ public class ApplicationFeatureIdTest {
 
         @Test
         public void classes() throws Exception {
-            feature1 = ApplicationFeatureId.newClass("com.mycompany.B");
+            feature1 = ApplicationFeatureId.newType("com.mycompany.B");
 
             assertThat(feature1.toString(), is(equalTo("ApplicationFeatureId{type=CLASS, packageName=com.mycompany, className=B}")));
         }
 
         @Test
         public void packages() throws Exception {
-            feature1 = ApplicationFeatureId.newPackage("com.b");
+            feature1 = ApplicationFeatureId.newNamespace("com.b");
 
             assertThat(feature1.toString(), is(equalTo("ApplicationFeatureId{type=PACKAGE, packageName=com.b}")));
         }
@@ -503,41 +503,41 @@ public class ApplicationFeatureIdTest {
             feature2 = ApplicationFeatureId.newMember("com.mycompany.Bar#a");
             assertThat(feature1.compareTo(feature2), is(greaterThan(0)));
 
-            feature2 = ApplicationFeatureId.newClass("com.mycompany.Bar");
+            feature2 = ApplicationFeatureId.newType("com.mycompany.Bar");
             assertThat(feature1.compareTo(feature2), is(greaterThan(0)));
 
-            feature2 = ApplicationFeatureId.newPackage("com.mycompany");
+            feature2 = ApplicationFeatureId.newNamespace("com.mycompany");
             assertThat(feature1.compareTo(feature2), is(greaterThan(0)));
         }
 
         @Test
         public void classes() throws Exception {
-            feature1 = ApplicationFeatureId.newClass("com.mycompany.B");
+            feature1 = ApplicationFeatureId.newType("com.mycompany.B");
 
-            feature2 = ApplicationFeatureId.newClass("com.mycompany.C");
+            feature2 = ApplicationFeatureId.newType("com.mycompany.C");
             assertThat(feature1.compareTo(feature2), is(lessThan(0)));
 
-            feature2 = ApplicationFeatureId.newClass("com.mycompany.B");
+            feature2 = ApplicationFeatureId.newType("com.mycompany.B");
             assertThat(feature1.compareTo(feature2), is(equalTo(0)));
 
-            feature2 = ApplicationFeatureId.newClass("com.mycompany.A");
+            feature2 = ApplicationFeatureId.newType("com.mycompany.A");
             assertThat(feature1.compareTo(feature2), is(greaterThan(0)));
 
-            feature2 = ApplicationFeatureId.newPackage("com.mycompany");
+            feature2 = ApplicationFeatureId.newNamespace("com.mycompany");
             assertThat(feature1.compareTo(feature2), is(greaterThan(0)));
         }
 
         @Test
         public void packages() throws Exception {
-            feature1 = ApplicationFeatureId.newPackage("com.b");
+            feature1 = ApplicationFeatureId.newNamespace("com.b");
 
-            feature2 = ApplicationFeatureId.newPackage("com.c");
+            feature2 = ApplicationFeatureId.newNamespace("com.c");
             assertThat(feature1.compareTo(feature2), is(lessThan(0)));
 
-            feature2 = ApplicationFeatureId.newPackage("com.b");
+            feature2 = ApplicationFeatureId.newNamespace("com.b");
             assertThat(feature1.compareTo(feature2), is(equalTo(0)));
 
-            feature2 = ApplicationFeatureId.newPackage("com.a");
+            feature2 = ApplicationFeatureId.newNamespace("com.a");
             assertThat(feature1.compareTo(feature2), is(greaterThan(0)));
         }
     }
@@ -557,12 +557,12 @@ public class ApplicationFeatureIdTest {
 
             @Test
             public void whenPackage() throws Exception {
-                assertThat(func.apply(ApplicationFeatureId.newPackage("com.mycompany")), is(nullValue()));
+                assertThat(func.apply(ApplicationFeatureId.newNamespace("com.mycompany")), is(nullValue()));
             }
 
             @Test
             public void whenClass() throws Exception {
-                assertThat(func.apply(ApplicationFeatureId.newClass("com.mycompany.Bar")), is("Bar"));
+                assertThat(func.apply(ApplicationFeatureId.newType("com.mycompany.Bar")), is("Bar"));
             }
 
             @Test
@@ -585,12 +585,12 @@ public class ApplicationFeatureIdTest {
 
             @Test
             public void whenPackage() throws Exception {
-                assertThat(func.apply(ApplicationFeatureId.newPackage("com.mycompany")), is(nullValue()));
+                assertThat(func.apply(ApplicationFeatureId.newNamespace("com.mycompany")), is(nullValue()));
             }
 
             @Test
             public void whenClass() throws Exception {
-                assertThat(func.apply(ApplicationFeatureId.newClass("com.mycompany.Bar")), is(nullValue()));
+                assertThat(func.apply(ApplicationFeatureId.newType("com.mycompany.Bar")), is(nullValue()));
             }
 
             @Test
@@ -628,7 +628,7 @@ public class ApplicationFeatureIdTest {
                 assertThat(
                         _Predicates.
                         isClassContaining(ApplicationMemberType.ACTION, mockApplicationFeatureRepository).
-                        test(ApplicationFeatureId.newPackage("com.mycompany")),
+                        test(ApplicationFeatureId.newNamespace("com.mycompany")),
                         is(false));
                 assertThat(
                         _Predicates.
@@ -639,7 +639,7 @@ public class ApplicationFeatureIdTest {
 
             @Test
             public void whenClassButFeatureNotFound() throws Exception {
-                final ApplicationFeatureId classFeature = ApplicationFeatureId.newClass("com.mycompany.Bar");
+                final ApplicationFeatureId classFeature = ApplicationFeatureId.newType("com.mycompany.Bar");
                 context.checking(new Expectations() {{
                     allowing(mockApplicationFeatureRepository).findFeature(classFeature);
                     will(returnValue(null));
@@ -653,7 +653,7 @@ public class ApplicationFeatureIdTest {
             }
             @Test
             public void whenClassAndFeatureNotFoundButHasNoMembersOfType() throws Exception {
-                final ApplicationFeatureId classFeature = ApplicationFeatureId.newClass("com.mycompany.Bar");
+                final ApplicationFeatureId classFeature = ApplicationFeatureId.newType("com.mycompany.Bar");
                 context.checking(new Expectations() {{
                     oneOf(mockApplicationFeatureRepository).findFeature(classFeature);
                     will(returnValue(mockApplicationFeature));
@@ -670,7 +670,7 @@ public class ApplicationFeatureIdTest {
             }
             @Test
             public void whenClassAndFeatureNotFoundAndHasMembersOfType() throws Exception {
-                final ApplicationFeatureId classFeature = ApplicationFeatureId.newClass("com.mycompany.Bar");
+                final ApplicationFeatureId classFeature = ApplicationFeatureId.newType("com.mycompany.Bar");
                 context.checking(new Expectations() {{
                     oneOf(mockApplicationFeatureRepository).findFeature(classFeature);
                     will(returnValue(mockApplicationFeature));
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
index 9f0dd47..a37c42c 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
@@ -178,7 +178,7 @@ public class ApplicationFeatureRepositoryDefaultTest {
             context.checking(new Expectations() {{
                 oneOf(mockFactoryService).create(ApplicationFeature.class);
                 inSequence(sequence);
-                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newClass(Bar.class.getName()))));
+                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newType(Bar.class.getName()))));
 
                 oneOf(mockFactoryService).create(ApplicationFeature.class);
                 inSequence(sequence);
@@ -194,44 +194,44 @@ public class ApplicationFeatureRepositoryDefaultTest {
 
                 oneOf(mockFactoryService).create(ApplicationFeature.class);
                 inSequence(sequence);
-                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newPackage("org.isisaddons.module.security.dom.feature"))));
+                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newNamespace("org.isisaddons.module.security.dom.feature"))));
 
                 oneOf(mockFactoryService).create(ApplicationFeature.class);
                 inSequence(sequence);
-                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newPackage("org.isisaddons.module.security.dom"))));
+                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newNamespace("org.isisaddons.module.security.dom"))));
 
                 oneOf(mockFactoryService).create(ApplicationFeature.class);
                 inSequence(sequence);
-                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newPackage("org.isisaddons.module.security"))));
+                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newNamespace("org.isisaddons.module.security"))));
 
                 oneOf(mockFactoryService).create(ApplicationFeature.class);
                 inSequence(sequence);
-                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newPackage("org.isisaddons.module"))));
+                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newNamespace("org.isisaddons.module"))));
 
                 oneOf(mockFactoryService).create(ApplicationFeature.class);
                 inSequence(sequence);
-                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newPackage("org.isisaddons"))));
+                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newNamespace("org.isisaddons"))));
 
                 oneOf(mockFactoryService).create(ApplicationFeature.class);
                 inSequence(sequence);
-                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newPackage("org"))));
+                will(returnValue(new ApplicationFeature(ApplicationFeatureId.newNamespace("org"))));
             }});
 
             // when
             applicationFeatureRepository.createApplicationFeaturesFor(mockSpec);
 
             // then
-            final ApplicationFeature orgPkg = applicationFeatureRepository.findPackage(ApplicationFeatureId.newPackage("org"));
+            final ApplicationFeature orgPkg = applicationFeatureRepository.findPackage(ApplicationFeatureId.newNamespace("org"));
             assertThat(orgPkg, is(notNullValue()));
-            final ApplicationFeature orgIsisaddonsPkg = applicationFeatureRepository.findPackage(ApplicationFeatureId.newPackage("org.isisaddons"));
+            final ApplicationFeature orgIsisaddonsPkg = applicationFeatureRepository.findPackage(ApplicationFeatureId.newNamespace("org.isisaddons"));
             assertThat(orgPkg, is(notNullValue()));
-            final ApplicationFeature featurePkg = applicationFeatureRepository.findPackage(ApplicationFeatureId.newPackage("org.isisaddons.module.security.dom.feature"));
+            final ApplicationFeature featurePkg = applicationFeatureRepository.findPackage(ApplicationFeatureId.newNamespace("org.isisaddons.module.security.dom.feature"));
             assertThat(orgPkg, is(notNullValue()));
             assertThat(orgPkg.getContents(), contains(orgIsisaddonsPkg.getFeatureId()));
-            assertThat(featurePkg.getContents(), contains(ApplicationFeatureId.newClass(Bar.class.getName())));
+            assertThat(featurePkg.getContents(), contains(ApplicationFeatureId.newType(Bar.class.getName())));
 
             // then
-            final ApplicationFeature barClass = applicationFeatureRepository.findClass(ApplicationFeatureId.newClass(Bar.class.getName()));
+            final ApplicationFeature barClass = applicationFeatureRepository.findClass(ApplicationFeatureId.newType(Bar.class.getName()));
             assertThat(barClass, is(Matchers.notNullValue()));
 
             // then the mockActThatIsHidden is not listed.
@@ -275,7 +275,7 @@ public class ApplicationFeatureRepositoryDefaultTest {
         public void parentNotYetEncountered() throws Exception {
 
             // given
-            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newClass("com.mycompany.Bar");
+            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newType("com.mycompany.Bar");
 
             // expecting
             final ApplicationFeature newlyCreatedParent = new ApplicationFeature();
@@ -298,12 +298,12 @@ public class ApplicationFeatureRepositoryDefaultTest {
         public void parentAlreadyEncountered() throws Exception {
 
             // given
-            final ApplicationFeatureId packageId = ApplicationFeatureId.newPackage("com.mycompany");
+            final ApplicationFeatureId packageId = ApplicationFeatureId.newNamespace("com.mycompany");
             final ApplicationFeature pkg = new ApplicationFeature();
             pkg.setFeatureId(packageId);
             applicationFeatureRepository.packageFeatures.put(packageId, pkg);
 
-            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newClass("com.mycompany.Bar");
+            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newType("com.mycompany.Bar");
 
 
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureTest.java
index 34c1f79..5b99a7a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureTest.java
@@ -39,9 +39,9 @@ public class ApplicationFeatureTest {
 
         @Test
         public void givenPackage_whenAddPackageAndClass() throws Exception {
-            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newPackage("com.mycompany"));
-            final ApplicationFeatureId packageFeatureId = ApplicationFeatureId.newPackage("com.mycompany.flob");
-            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newClass("com.mycompany.Bar");
+            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newNamespace("com.mycompany"));
+            final ApplicationFeatureId packageFeatureId = ApplicationFeatureId.newNamespace("com.mycompany.flob");
+            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newType("com.mycompany.Bar");
 
             applicationFeature.addToContents(packageFeatureId);
             applicationFeature.addToContents(classFeatureId);
@@ -55,7 +55,7 @@ public class ApplicationFeatureTest {
 
             expectedException.expect(IllegalStateException.class);
 
-            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newPackage("com.mycompany"));
+            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newNamespace("com.mycompany"));
             final ApplicationFeatureId memberFeatureId = ApplicationFeatureId.newMember("com.mycompany.Bar", "foo");
 
             applicationFeature.addToContents(memberFeatureId);
@@ -66,8 +66,8 @@ public class ApplicationFeatureTest {
 
             expectedException.expect(IllegalStateException.class);
 
-            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newClass("com.mycompany.Bar"));
-            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newClass("com.mycompany.flob.Bar");
+            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newType("com.mycompany.Bar"));
+            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newType("com.mycompany.flob.Bar");
 
             applicationFeature.addToContents(classFeatureId);
         }
@@ -78,7 +78,7 @@ public class ApplicationFeatureTest {
             expectedException.expect(IllegalStateException.class);
 
             final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newMember("com.mycompany.Bar", "foo"));
-            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newClass("com.mycompany.flob.Bar");
+            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newType("com.mycompany.flob.Bar");
 
             applicationFeature.addToContents(classFeatureId);
         }
@@ -95,7 +95,7 @@ public class ApplicationFeatureTest {
 
             expectedException.expect(IllegalStateException.class);
 
-            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newPackage("com.mycompany"));
+            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newNamespace("com.mycompany"));
             final ApplicationFeatureId memberFeatureId = ApplicationFeatureId.newMember("com.mycompany.Bar", "foo");
 
             applicationFeature.addToMembers(memberFeatureId, ApplicationMemberType.PROPERTY);
@@ -104,7 +104,7 @@ public class ApplicationFeatureTest {
         @Test
         public void givenClass_whenAddMember() throws Exception {
 
-            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newClass("com.mycompany.Bar"));
+            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newType("com.mycompany.Bar"));
             final ApplicationFeatureId memberFeatureId = ApplicationFeatureId.newMember("com.mycompany.Bar", "foo");
             final ApplicationFeatureId memberFeatureId2 = ApplicationFeatureId.newMember("com.mycompany.Bar", "boz");
 
@@ -120,8 +120,8 @@ public class ApplicationFeatureTest {
 
             expectedException.expect(IllegalStateException.class);
 
-            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newClass("com.mycompany.Bar"));
-            final ApplicationFeatureId packageFeatureId = ApplicationFeatureId.newPackage("com.mycompany");
+            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newType("com.mycompany.Bar"));
+            final ApplicationFeatureId packageFeatureId = ApplicationFeatureId.newNamespace("com.mycompany");
 
             applicationFeature.addToMembers(packageFeatureId, ApplicationMemberType.PROPERTY);
         }
@@ -131,8 +131,8 @@ public class ApplicationFeatureTest {
 
             expectedException.expect(IllegalStateException.class);
 
-            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newClass("com.mycompany.Bar"));
-            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newClass("com.mycompany.Bop");
+            final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newType("com.mycompany.Bar"));
+            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newType("com.mycompany.Bop");
 
             applicationFeature.addToMembers(classFeatureId, ApplicationMemberType.PROPERTY);
         }
@@ -143,7 +143,7 @@ public class ApplicationFeatureTest {
             expectedException.expect(IllegalStateException.class);
 
             final ApplicationFeature applicationFeature = new ApplicationFeature(ApplicationFeatureId.newMember("com.mycompany.Bar", "foo"));
-            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newClass("com.mycompany.flob.Bar");
+            final ApplicationFeatureId classFeatureId = ApplicationFeatureId.newType("com.mycompany.flob.Bar");
 
             applicationFeature.addToMembers(classFeatureId, ApplicationMemberType.PROPERTY);
         }
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 3ddb220..667368a 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
@@ -36,8 +36,8 @@ public class ApplicationFeatureTypeTest {
     public static class HideClassName extends ApplicationFeatureTypeTest {
         @Test
         public void all() throws Exception {
-            assertThat(ApplicationFeatureType.PACKAGE.hideClassName(), is(true));
-            assertThat(ApplicationFeatureType.CLASS.hideClassName(), is(false));
+            assertThat(ApplicationFeatureType.NAMESPACE.hideClassName(), is(true));
+            assertThat(ApplicationFeatureType.TYPE.hideClassName(), is(false));
             assertThat(ApplicationFeatureType.MEMBER.hideClassName(), is(false));
         }
     }
@@ -46,8 +46,8 @@ public class ApplicationFeatureTypeTest {
 
         @Test
         public void all() throws Exception {
-            assertThat(ApplicationFeatureType.PACKAGE.hideMember(), is(true));
-            assertThat(ApplicationFeatureType.CLASS.hideMember(), is(true));
+            assertThat(ApplicationFeatureType.NAMESPACE.hideMember(), is(true));
+            assertThat(ApplicationFeatureType.TYPE.hideMember(), is(true));
             assertThat(ApplicationFeatureType.MEMBER.hideMember(), is(false));
         }
     }
@@ -60,7 +60,7 @@ public class ApplicationFeatureTypeTest {
         @Test
         public void givenPackage() throws Exception {
 
-            val applicationFeatureId = ApplicationFeatureId.createPackage("com.mycompany"); 
+            val applicationFeatureId = ApplicationFeatureId.createNamespace("com.mycompany"); 
 
             assertThat(applicationFeatureId.getNamespace(), is("com.mycompany"));
             assertThat(applicationFeatureId.getTypeSimpleName(), is(nullValue()));
@@ -70,7 +70,7 @@ public class ApplicationFeatureTypeTest {
         @Test
         public void givenClass() throws Exception {
 
-            val applicationFeatureId = ApplicationFeatureId.createClass("com.mycompany.Bar");
+            val applicationFeatureId = ApplicationFeatureId.createType("com.mycompany.Bar");
 
             assertThat(applicationFeatureId.getNamespace(), is("com.mycompany"));
             assertThat(applicationFeatureId.getTypeSimpleName(), is("Bar"));
@@ -102,12 +102,12 @@ public class ApplicationFeatureTypeTest {
 
         @Test
         public void whenPackage() throws Exception {
-            ApplicationFeatureType.ensurePackage(new ApplicationFeatureId(ApplicationFeatureType.PACKAGE, "xxx"));
+            ApplicationFeatureType.ensurePackage(new ApplicationFeatureId(ApplicationFeatureType.NAMESPACE, "xxx"));
         }
         @Test
         public void whenClass() throws Exception {
             expectedException.expect(IllegalStateException.class);
-            ApplicationFeatureType.ensurePackage(new ApplicationFeatureId(ApplicationFeatureType.CLASS, "xxx"));
+            ApplicationFeatureType.ensurePackage(new ApplicationFeatureId(ApplicationFeatureType.TYPE, "xxx"));
         }
         @Test
         public void whenMember() throws Exception {
@@ -123,11 +123,11 @@ public class ApplicationFeatureTypeTest {
 
         @Test
         public void whenPackage() throws Exception {
-            ApplicationFeatureType.ensurePackageOrClass(new ApplicationFeatureId(ApplicationFeatureType.PACKAGE, "xxx"));
+            ApplicationFeatureType.ensurePackageOrClass(new ApplicationFeatureId(ApplicationFeatureType.NAMESPACE, "xxx"));
         }
         @Test
         public void whenClass() throws Exception {
-            ApplicationFeatureType.ensurePackageOrClass(new ApplicationFeatureId(ApplicationFeatureType.CLASS, "xxx"));
+            ApplicationFeatureType.ensurePackageOrClass(new ApplicationFeatureId(ApplicationFeatureType.TYPE, "xxx"));
         }
         @Test
         public void whenMember() throws Exception {
@@ -144,11 +144,11 @@ public class ApplicationFeatureTypeTest {
         @Test
         public void whenPackage() throws Exception {
             expectedException.expect(IllegalStateException.class);
-            ApplicationFeatureType.ensureClass(new ApplicationFeatureId(ApplicationFeatureType.PACKAGE, "xxx"));
+            ApplicationFeatureType.ensureClass(new ApplicationFeatureId(ApplicationFeatureType.NAMESPACE, "xxx"));
         }
         @Test
         public void whenClass() throws Exception {
-            ApplicationFeatureType.ensureClass(new ApplicationFeatureId(ApplicationFeatureType.CLASS, "xxx"));
+            ApplicationFeatureType.ensureClass(new ApplicationFeatureId(ApplicationFeatureType.TYPE, "xxx"));
         }
         @Test
         public void whenMember() throws Exception {
@@ -165,12 +165,12 @@ public class ApplicationFeatureTypeTest {
         @Test
         public void whenPackage() throws Exception {
             expectedException.expect(IllegalStateException.class);
-            ApplicationFeatureType.ensureMember(new ApplicationFeatureId(ApplicationFeatureType.PACKAGE, "xxx"));
+            ApplicationFeatureType.ensureMember(new ApplicationFeatureId(ApplicationFeatureType.NAMESPACE, "xxx"));
         }
         @Test
         public void whenClass() throws Exception {
             expectedException.expect(IllegalStateException.class);
-            ApplicationFeatureType.ensureMember(new ApplicationFeatureId(ApplicationFeatureType.CLASS, "xxx"));
+            ApplicationFeatureType.ensureMember(new ApplicationFeatureId(ApplicationFeatureType.TYPE, "xxx"));
         }
         @Test
         public void whenMember() throws Exception {
@@ -182,7 +182,7 @@ public class ApplicationFeatureTypeTest {
 
         @Test
         public void happyCase() throws Exception {
-            assertThat(ApplicationFeatureType.PACKAGE.toString(), is("PACKAGE"));
+            assertThat(ApplicationFeatureType.NAMESPACE.toString(), is("PACKAGE"));
         }
     }
 
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermission.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermission.java
index 1c423aa..c3b5ad7 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermission.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermission.java
@@ -101,10 +101,10 @@ public interface ApplicationPermission {
         .ifPresent(featureId->{
 
             switch (featureId.getType()) {
-            case PACKAGE:
+            case NAMESPACE:
                 buf.append(getFeatureFqn());              // com.mycompany
                 break;
-            case CLASS:
+            case TYPE:
                 // abbreviate if required because otherwise title overflows on action prompt.
                 if(getFeatureFqn().length() < 30) {
                     buf.append(getFeatureFqn());          // com.mycompany.Bar
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationFeatureViewModel.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationFeatureViewModel.java
index f7991c5..0f1b372 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationFeatureViewModel.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationFeatureViewModel.java
@@ -81,9 +81,9 @@ public abstract class ApplicationFeatureViewModel implements ViewModel {
             final ApplicationFeatureId featureId,
             final ApplicationFeatureRepositoryDefault applicationFeatureRepository) {
         switch (featureId.getType()) {
-        case PACKAGE:
+        case NAMESPACE:
             return ApplicationPackage.class;
-        case CLASS:
+        case TYPE:
             return ApplicationClass.class;
         case MEMBER:
             final ApplicationFeature feature = applicationFeatureRepository.findFeature(featureId);
@@ -104,7 +104,7 @@ public abstract class ApplicationFeatureViewModel implements ViewModel {
     }
 
     public ApplicationFeatureViewModel() {
-        this(ApplicationFeatureId.PACKAGE_DEFAULT);
+        this(ApplicationFeatureId.NAMESPACE_DEFAULT);
     }
 
     ApplicationFeatureViewModel(final ApplicationFeatureId featureId) {
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationPackage.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationPackage.java
index 88a6cdd..a08ccf1 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationPackage.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationPackage.java
@@ -69,7 +69,7 @@ public class ApplicationPackage extends ApplicationFeatureViewModel {
         return asViewModels(contents);
     }
     public boolean hideContents() {
-        return getType() != ApplicationFeatureType.PACKAGE;
+        return getType() != ApplicationFeatureType.NAMESPACE;
     }
 
 
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/ApplicationUser_filterPermissions.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/ApplicationUser_filterPermissions.java
index b8b1c7b..bfdd50c 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/ApplicationUser_filterPermissions.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/ApplicationUser_filterPermissions.java
@@ -89,7 +89,7 @@ public class ApplicationUser_filterPermissions {
             final ApplicationFeatureId inputFeatureId = input.getFeatureId();
 
             // recursive match on package
-            final ApplicationFeatureId packageId = ApplicationFeatureId.newPackage(packageFqn);
+            final ApplicationFeatureId packageId = ApplicationFeatureId.newNamespace(packageFqn);
             final List<ApplicationFeatureId> pathIds = inputFeatureId.getPathIds();
             if(!pathIds.contains(packageId)) {
                 return false;
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/UserPermissionViewModel.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/UserPermissionViewModel.java
index 38296f8..359f8df 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/UserPermissionViewModel.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/user/UserPermissionViewModel.java
@@ -99,7 +99,7 @@ public class UserPermissionViewModel implements ViewModel {
     }
 
     public UserPermissionViewModel() {
-        setFeatureId(ApplicationFeatureId.PACKAGE_DEFAULT);
+        setFeatureId(ApplicationFeatureId.NAMESPACE_DEFAULT);
     }
 
 
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_addClass.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_addClass.java
index aa3a2a9..6208fa0 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_addClass.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_addClass.java
@@ -62,7 +62,7 @@ public class ApplicationRole_addClass {
             final String className) {
         
         applicationPermissionRepository.newPermission(
-                holder, rule, mode, ApplicationFeatureType.CLASS,
+                holder, rule, mode, ApplicationFeatureType.TYPE,
                 packageFqn + "." + className);
         
         return holder;
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_addPackage.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_addPackage.java
index 4b2994c..3e38695 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_addPackage.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_addPackage.java
@@ -50,7 +50,7 @@ public class ApplicationRole_addPackage {
     /**
      * Adds a {@link ApplicationPermission permission}
      * for this role to a
-     * {@link ApplicationFeatureType#PACKAGE package}
+     * {@link ApplicationFeatureType#NAMESPACE package}
      * {@link ApplicationFeature feature}.
      */
     @MemberOrder(sequence = "1")
@@ -63,7 +63,7 @@ public class ApplicationRole_addPackage {
             final String packageFqn) {
         
         applicationPermissionRepository
-            .newPermission(holder, rule, mode, ApplicationFeatureType.PACKAGE, packageFqn);
+            .newPermission(holder, rule, mode, ApplicationFeatureType.NAMESPACE, packageFqn);
         return holder;
     }
 
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_removePermission.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_removePermission.java
index a0093b8..c10f763 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_removePermission.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_removePermission.java
@@ -93,7 +93,7 @@ public class ApplicationRole_removePermission {
     
     @Model
     public ApplicationFeatureType default1Act() {
-        return ApplicationFeatureType.PACKAGE;
+        return ApplicationFeatureType.NAMESPACE;
     }
 
     @Model
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/permission/ApplicationPermissionRepository.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/permission/ApplicationPermissionRepository.java
index 2fb948a..444439d 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/permission/ApplicationPermissionRepository.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/permission/ApplicationPermissionRepository.java
@@ -332,12 +332,12 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
 
             switch (featureType) {
 
-            case PACKAGE:
+            case NAMESPACE:
                 if(!packageNames.contains(featureFqn)) {
                     orphaned.add(permission);
                 }
                 break;
-            case CLASS:
+            case TYPE:
                 if(!availableClasses.contains(featureFqn)) {
                     orphaned.add(permission);
                 }
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/AbstractRoleAndPermissionsFixtureScript.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/AbstractRoleAndPermissionsFixtureScript.java
index 3763454..7de472d 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/AbstractRoleAndPermissionsFixtureScript.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/seed/scripts/AbstractRoleAndPermissionsFixtureScript.java
@@ -73,7 +73,7 @@ public abstract class AbstractRoleAndPermissionsFixtureScript extends FixtureScr
             final ApplicationPermissionMode mode,
             final String... featureFqns) {
 
-        newPermissions(rule, mode, ApplicationFeatureType.PACKAGE, Arrays.asList(featureFqns));
+        newPermissions(rule, mode, ApplicationFeatureType.NAMESPACE, Arrays.asList(featureFqns));
     }
 
     /**
@@ -84,7 +84,7 @@ public abstract class AbstractRoleAndPermissionsFixtureScript extends FixtureScr
             final ApplicationPermissionMode mode,
             final Class<?>... classes) {
 
-        newPermissions(rule, mode, ApplicationFeatureType.CLASS, asFeatureFqns(classes));
+        newPermissions(rule, mode, ApplicationFeatureType.TYPE, asFeatureFqns(classes));
     }
 
 
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/dom/permission/ApplicationPermissionRepository.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/dom/permission/ApplicationPermissionRepository.java
index 52e2e1a..e2bf103 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/dom/permission/ApplicationPermissionRepository.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/dom/permission/ApplicationPermissionRepository.java
@@ -352,12 +352,12 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
 
             switch (featureType) {
 
-            case PACKAGE:
+            case NAMESPACE:
                 if(!packageNames.contains(featureFqn)) {
                     orphaned.add(permission);
                 }
                 break;
-            case CLASS:
+            case TYPE:
                 if(!availableClasses.contains(featureFqn)) {
                     orphaned.add(permission);
                 }
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/AbstractRoleAndPermissionsFixtureScript.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/AbstractRoleAndPermissionsFixtureScript.java
index 4dbdb43..20df788 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/AbstractRoleAndPermissionsFixtureScript.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/seed/scripts/AbstractRoleAndPermissionsFixtureScript.java
@@ -69,7 +69,7 @@ public abstract class AbstractRoleAndPermissionsFixtureScript extends FixtureScr
             final ApplicationPermissionMode mode,
             final String... featureFqns) {
 
-        newPermissions(rule, mode, ApplicationFeatureType.PACKAGE, Arrays.asList(featureFqns));
+        newPermissions(rule, mode, ApplicationFeatureType.NAMESPACE, Arrays.asList(featureFqns));
     }
 
     /**
@@ -80,7 +80,7 @@ public abstract class AbstractRoleAndPermissionsFixtureScript extends FixtureScr
             final ApplicationPermissionMode mode,
             final Class<?>... classes) {
 
-        newPermissions(rule, mode, ApplicationFeatureType.CLASS, asFeatureFqns(classes));
+        newPermissions(rule, mode, ApplicationFeatureType.TYPE, asFeatureFqns(classes));
     }