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/04 10:34:34 UTC
[isis] branch master updated: ISIS-2565: rename
featureType->featureSort
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 7eafd1e ISIS-2565: rename featureType->featureSort
7eafd1e is described below
commit 7eafd1e639ec73784d695c28ce638bda55fd784d
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Mar 4 11:34:19 2021 +0100
ISIS-2565: rename featureType->featureSort
also adding mignotes
---
.../modules/ROOT/pages/2020/2.0.0-M5/mignotes.adoc | 25 +++++++++++++++
.../api/permission/ApplicationPermission.java | 10 +++---
.../ApplicationPermissionRepository.java | 2 +-
.../app/feature/ApplicationPermission_feature.java | 4 +--
...OrphanedPermissionManager_relocateSelected.java | 2 +-
.../dom/role/ApplicationRole_addPermission.java | 3 ++
.../jdo/dom/permission/ApplicationPermission.java | 32 ++++++++++---------
.../ApplicationPermissionRepository.java | 36 +++++++++++-----------
.../AbstractRoleAndPermissionsFixtureScript.java | 4 +--
.../jpa/dom/permission/ApplicationPermission.java | 33 ++++++++++----------
.../ApplicationPermissionRepository.java | 36 +++++++++++-----------
.../AbstractRoleAndPermissionsFixtureScript.java | 4 +--
12 files changed, 111 insertions(+), 80 deletions(-)
diff --git a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M5/mignotes.adoc b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M5/mignotes.adoc
index 4bb16e6..1955925 100644
--- a/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M5/mignotes.adoc
+++ b/antora/components/relnotes/modules/ROOT/pages/2020/2.0.0-M5/mignotes.adoc
@@ -381,6 +381,19 @@ WARNING: check menubars.layout.xml for any occurrences
Permission are now matched against logical packages, logical object types or logical object member names and use the former fully qualified names only as fallback.
+[WARNING]
+====
+SecMan database schema changed, namely the *ApplicationPermission* table! See table below.
+====
+
+[Source,sql]
+.SecMan database migration // adapt to your schema and db vendor!
+----
+UPDATE ApplicationPermission SET featureType='NAMESPACE' WHERE featureType like 'PACKAGE';
+UPDATE ApplicationPermission SET featureType='TYPE' WHERE featureType like 'CLASS';
+ALTER TABLE ApplicationPermission RENAME COLUMN `featureType` TO `featureSort`;
+----
+
[cols="3m,3m,3a", options="header"]
|===
@@ -388,6 +401,18 @@ Permission are now matched against logical packages, logical object types or log
| Old
| New
+| ApplicationPermission table column name
+| featureType
+| `featureSort`
+
+| ApplicationPermission#featureType/Sort entries
+| PACKAGE
+| `NAMESPACE`
+
+| ApplicationPermission#featureType/Sort entries
+| CLASS
+| `TYPE`
+
| Domain Object namespaces in SecMan scope like eg. objectType = "isissecurity.ApplicationUser"
| isissecurity
| isis.ext.secman
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 1516199..be6fd99 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
@@ -124,7 +124,7 @@ public interface ApplicationPermission {
return buf.toString();
}
- ApplicationFeatureSort getFeatureType();
+ ApplicationFeatureSort getFeatureSort();
// -- ROLE
@@ -156,11 +156,11 @@ public interface ApplicationPermission {
}
void setMode(ApplicationPermissionMode changing);
- // -- TYPE
+ // -- SORT
@Property
@MemberOrder(name="Feature", sequence = "5")
- default String getType() {
+ default String getSort() {
throw _Exceptions.unsupportedOperation("please implement me");
}
@@ -177,8 +177,8 @@ public interface ApplicationPermission {
@Programmatic
default Optional<ApplicationFeatureId> createFeatureId() {
- return Optional.of(getFeatureType())
- .map(featureType -> ApplicationFeatureId.newFeature(featureType, getFeatureFqn()));
+ return Optional.of(getFeatureSort())
+ .map(featureSort -> ApplicationFeatureId.newFeature(featureSort, getFeatureFqn()));
}
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionRepository.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionRepository.java
index 9110834..f78213e 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionRepository.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/permission/ApplicationPermissionRepository.java
@@ -65,7 +65,7 @@ public interface ApplicationPermissionRepository<P extends ApplicationPermission
ApplicationRole role,
ApplicationPermissionRule rule,
ApplicationPermissionMode mode,
- ApplicationFeatureSort featureType,
+ ApplicationFeatureSort featureSort,
String featureFqn);
P newPermission(
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationPermission_feature.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationPermission_feature.java
index 21ae587..304c4be 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationPermission_feature.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/app/feature/ApplicationPermission_feature.java
@@ -49,7 +49,7 @@ public class ApplicationPermission_feature {
@MemberOrder(name="Feature", sequence = "4")
public ApplicationFeatureViewModel prop(final ApplicationPermission permission) {
- if(permission.getFeatureType() == null) {
+ if(permission.getFeatureSort() == null) {
return null;
}
final ApplicationFeatureId featureId = getFeatureId(permission);
@@ -57,7 +57,7 @@ public class ApplicationPermission_feature {
}
private static ApplicationFeatureId getFeatureId(final ApplicationPermission permission) {
- return ApplicationFeatureId.newFeature(permission.getFeatureType(), permission.getFeatureFqn());
+ return ApplicationFeatureId.newFeature(permission.getFeatureSort(), permission.getFeatureFqn());
}
@Inject RepositoryService repository;
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/permission/ApplicationOrphanedPermissionManager_relocateSelected.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/permission/ApplicationOrphanedPermissionManager_relocateSelected.java
index b168e67..fd48c85 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/permission/ApplicationOrphanedPermissionManager_relocateSelected.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/permission/ApplicationOrphanedPermissionManager_relocateSelected.java
@@ -64,7 +64,7 @@ public class ApplicationOrphanedPermissionManager_relocateSelected {
final String targetNamespace) {
val appFeatureId = ApplicationFeatureId.newFeature(
- permission.getFeatureType(),
+ permission.getFeatureSort(),
permission.getFeatureFqn());
val relocatedFqn = appFeatureId
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_addPermission.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_addPermission.java
index 27f42f8..c976830 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_addPermission.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRole_addPermission.java
@@ -28,6 +28,7 @@ import javax.inject.Inject;
import org.apache.isis.applib.ViewModel;
import org.apache.isis.applib.annotation.Action;
+import org.apache.isis.applib.annotation.ActionLayout;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.MemberOrder;
import org.apache.isis.applib.annotation.MinLength;
@@ -35,6 +36,7 @@ import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.Optionality;
import org.apache.isis.applib.annotation.Parameter;
import org.apache.isis.applib.annotation.ParameterLayout;
+import org.apache.isis.applib.annotation.PromptStyle;
import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
import org.apache.isis.applib.services.appfeat.ApplicationFeatureRepository;
@@ -58,6 +60,7 @@ import lombok.experimental.Accessors;
@Action(
domainEvent = AddPermissionDomainEvent.class,
associateWith = "permissions")
+@ActionLayout(promptStyle = PromptStyle.DIALOG_MODAL)
@RequiredArgsConstructor
public class ApplicationRole_addPermission {
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/permission/ApplicationPermission.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/permission/ApplicationPermission.java
index 461a685..0ebab1e 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/permission/ApplicationPermission.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/permission/ApplicationPermission.java
@@ -82,7 +82,7 @@ import lombok.experimental.UtilityClass;
name = "findByFeature", language = "JDOQL",
value = "SELECT "
+ "FROM org.apache.isis.extensions.secman.jdo.dom.permission.ApplicationPermission "
- + "WHERE featureType == :featureType "
+ + "WHERE featureSort == :featureSort "
+ " && featureFqn == :featureFqn"),
@javax.jdo.annotations.Query(
name = "findByRoleAndRuleAndFeature", language = "JDOQL",
@@ -90,7 +90,7 @@ import lombok.experimental.UtilityClass;
+ "FROM org.apache.isis.extensions.secman.jdo.dom.permission.ApplicationPermission "
+ "WHERE role == :role "
+ " && rule == :rule "
- + " && featureType == :featureType "
+ + " && featureSort == :featureSort "
+ " && featureFqn == :featureFqn "),
@javax.jdo.annotations.Query(
name = "findByRoleAndRuleAndFeatureType", language = "JDOQL",
@@ -98,11 +98,12 @@ import lombok.experimental.UtilityClass;
+ "FROM org.apache.isis.extensions.secman.jdo.dom.permission.ApplicationPermission "
+ "WHERE role == :role "
+ " && rule == :rule "
- + " && featureType == :featureType "),
+ + " && featureSort == :featureSort "),
})
@javax.jdo.annotations.Uniques({
@javax.jdo.annotations.Unique(
- name = "ApplicationPermission_role_feature_rule_UNQ", members = { "role", "featureType", "featureFqn", "rule" })
+ name = "ApplicationPermission_role_feature_rule_UNQ",
+ members = { "role", "featureSort", "featureFqn", "rule" })
})
@DomainObject(
objectType = "isis.ext.secman.ApplicationPermission"
@@ -173,16 +174,17 @@ public class ApplicationPermission implements org.apache.isis.extensions.secman.
public static class TypeDomainEvent extends PropertyDomainEvent<String> {}
/**
- * Combines {@link #getFeatureType() feature type} and member type.
+ * Combines {@link #getFeatureSort() feature type} and member type.
*/
@Property(
domainEvent = TypeDomainEvent.class,
editing = Editing.DISABLED
)
@PropertyLayout(typicalLength=ApplicationPermission.TYPICAL_LENGTH_TYPE)
- public String getType() {
- final Enum<?> e = getFeatureType() != ApplicationFeatureSort.MEMBER
- ? getFeatureType()
+ @Override
+ public String getSort() {
+ final Enum<?> e = getFeatureSort() != ApplicationFeatureSort.MEMBER
+ ? getFeatureSort()
: getMemberType().orElse(null);
return e != null ? e.name(): null;
}
@@ -194,7 +196,7 @@ public class ApplicationPermission implements org.apache.isis.extensions.secman.
}
- // -- featureType
+ // -- FEATURE SORT
/**
* The {@link ApplicationFeatureId#getType() feature type} of the
@@ -209,12 +211,12 @@ public class ApplicationPermission implements org.apache.isis.extensions.secman.
*/
@javax.jdo.annotations.Column(allowsNull="false")
@Setter
- private ApplicationFeatureSort featureType;
+ private ApplicationFeatureSort featureSort;
@Override
@Programmatic
- public ApplicationFeatureSort getFeatureType() {
- return featureType;
+ public ApplicationFeatureSort getFeatureSort() {
+ return featureSort;
}
@@ -228,11 +230,11 @@ public class ApplicationPermission implements org.apache.isis.extensions.secman.
* of the feature.
*
* <p>
- * The combination of the {@link #getFeatureType() feature type} and the fully qualified name is used to build
+ * The combination of the {@link #getFeatureSort() feature type} and the fully qualified name is used to build
* the corresponding {@link #getFeature() feature} (view model).
* </p>
*
- * @see #getFeatureType()
+ * @see #getFeatureSort()
*/
@javax.jdo.annotations.Column(allowsNull="false")
@Property(
@@ -248,7 +250,7 @@ public class ApplicationPermission implements org.apache.isis.extensions.secman.
private static final ObjectContract<ApplicationPermission> contract =
ObjectContracts.contract(ApplicationPermission.class)
.thenUse("role", ApplicationPermission::getRole)
- .thenUse("featureType", ApplicationPermission::getFeatureType)
+ .thenUse("featureSort", ApplicationPermission::getFeatureSort)
.thenUse("featureFqn", ApplicationPermission::getFeatureFqn)
.thenUse("mode", ApplicationPermission::getMode);
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 f988e41..9240a7e 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
@@ -164,7 +164,7 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
ApplicationPermission.class, "findByRoleAndRuleAndFeatureType")
.withParameter("role", role)
.withParameter("rule", rule)
- .withParameter("featureType", type))
+ .withParameter("featureSort", type))
.stream()
.collect(_Sets.toUnmodifiableSorted());
}
@@ -174,19 +174,19 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
public Optional<ApplicationPermission> findByRoleAndRuleAndFeatureCached(
final org.apache.isis.extensions.secman.api.role.ApplicationRole role,
final ApplicationPermissionRule rule,
- final ApplicationFeatureSort type,
+ final ApplicationFeatureSort featureSort,
final String featureFqn) {
return queryResultsCacheProvider.get().execute(
this::findByRoleAndRuleAndFeature,
ApplicationPermissionRepository.class, "findByRoleAndRuleAndFeatureCached",
- role, rule, type, featureFqn);
+ role, rule, featureSort, featureFqn);
}
@Override
public Optional<ApplicationPermission> findByRoleAndRuleAndFeature(
final org.apache.isis.extensions.secman.api.role.ApplicationRole role,
final ApplicationPermissionRule rule,
- final ApplicationFeatureSort type,
+ final ApplicationFeatureSort featureSort,
final String featureFqn) {
return repository
@@ -194,7 +194,7 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
ApplicationPermission.class, "findByRoleAndRuleAndFeature")
.withParameter("role", role)
.withParameter("rule", rule)
- .withParameter("featureType", type)
+ .withParameter("featureSort", featureSort)
.withParameter("featureFqn", featureFqn ));
}
@@ -212,7 +212,7 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
return repository.allMatches(
Query.named(
ApplicationPermission.class, "findByFeature")
- .withParameter("featureType", featureId.getSort())
+ .withParameter("featureSort", featureId.getSort())
.withParameter("featureFqn", featureId.getFullyQualifiedName()))
.stream()
.collect(_Sets.toUnmodifiableSorted());
@@ -225,28 +225,28 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
final org.apache.isis.extensions.secman.api.role.ApplicationRole genericRole,
final ApplicationPermissionRule rule,
final ApplicationPermissionMode mode,
- final ApplicationFeatureSort featureType,
+ final ApplicationFeatureSort featureSort,
final String featureFqn) {
val role = _Casts.<ApplicationRole>uncheckedCast(genericRole);
- final ApplicationFeatureId featureId = ApplicationFeatureId.newFeature(featureType, featureFqn);
+ final ApplicationFeatureId featureId = ApplicationFeatureId.newFeature(featureSort, featureFqn);
final ApplicationFeature feature = featureRepository.findFeature(featureId);
if(feature == null) {
- messages.warnUser("No such " + featureType.name().toLowerCase() + ": " + featureFqn);
+ messages.warnUser("No such " + featureSort.name().toLowerCase() + ": " + featureFqn);
return null;
}
- return newPermissionNoCheck(role, rule, mode, featureType, featureFqn);
+ return newPermissionNoCheck(role, rule, mode, featureSort, featureFqn);
}
public ApplicationPermission newPermissionNoCheck(
final ApplicationRole role,
final ApplicationPermissionRule rule,
final ApplicationPermissionMode mode,
- final ApplicationFeatureSort featureType,
+ final ApplicationFeatureSort featureSort,
final String featureFqn) {
- ApplicationPermission permission = findByRoleAndRuleAndFeature(role, rule, featureType, featureFqn)
+ ApplicationPermission permission = findByRoleAndRuleAndFeature(role, rule, featureSort, featureFqn)
.orElse(null);
if (permission != null) {
return permission;
@@ -255,7 +255,7 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
permission.setRole(role);
permission.setRule(rule);
permission.setMode(mode);
- permission.setFeatureType(featureType);
+ permission.setFeatureSort(featureSort);
permission.setFeatureFqn(featureFqn);
repository.persist(permission);
return permission;
@@ -282,12 +282,12 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
final ApplicationFeatureId featureId) {
val role = _Casts.<ApplicationRole>uncheckedCast(genericRole);
- val featureType = featureId.getSort();
+ val featureSort = featureId.getSort();
val featureFqn = featureId.getFullyQualifiedName();
val feature = featureRepository.findFeature(featureId);
if(feature == null) {
- messages.warnUser("No such " + featureType.name().toLowerCase() + ": " + featureFqn);
+ messages.warnUser("No such " + featureSort.name().toLowerCase() + ": " + featureFqn);
return null;
}
@@ -295,7 +295,7 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
permission.setRole(role);
permission.setRule(rule);
permission.setMode(mode);
- permission.setFeatureType(featureType);
+ permission.setFeatureSort(featureSort);
permission.setFeatureFqn(featureFqn);
repository.persist(permission);
@@ -327,10 +327,10 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
val orphaned = _Lists.<ApplicationPermission>newArrayList();
for (val permission : allPermissions()) {
- final ApplicationFeatureSort featureType = permission.getFeatureType();
+ final ApplicationFeatureSort featureSort = permission.getFeatureSort();
final String featureFqn = permission.getFeatureFqn();
- switch (featureType) {
+ switch (featureSort) {
case NAMESPACE:
if(!packageNames.contains(featureFqn)) {
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 9378d99..6f60896 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
@@ -105,7 +105,7 @@ public abstract class AbstractRoleAndPermissionsFixtureScript extends FixtureScr
private void newPermissions(
final ApplicationPermissionRule rule,
final ApplicationPermissionMode mode,
- final ApplicationFeatureSort featureType,
+ final ApplicationFeatureSort featureSort,
final Iterable<String> featureFqns) {
if(featureFqns == null) {
@@ -126,7 +126,7 @@ public abstract class AbstractRoleAndPermissionsFixtureScript extends FixtureScr
(org.apache.isis.extensions.secman.jdo.dom.role.ApplicationRole)securityRole,
rule,
mode,
- featureType, featureFqn);
+ featureSort, featureFqn);
}
}
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/dom/permission/ApplicationPermission.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/dom/permission/ApplicationPermission.java
index 88839ed..82302ed 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/dom/permission/ApplicationPermission.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/dom/permission/ApplicationPermission.java
@@ -71,7 +71,7 @@ import lombok.experimental.UtilityClass;
uniqueConstraints=
@UniqueConstraint(
name = "ApplicationPermission_role_feature_rule_UNQ",
- columnNames={"roleId", "featureType", "featureFqn", "rule"})
+ columnNames={"roleId", "featureSort", "featureFqn", "rule"})
)
@NamedQueries({
@NamedQuery(
@@ -91,7 +91,7 @@ import lombok.experimental.UtilityClass;
name = NamedQueryNames.PERMISSION_BY_FEATURE,
query = "SELECT p "
+ "FROM org.apache.isis.extensions.secman.jpa.dom.permission.ApplicationPermission p "
- + "WHERE p.featureType = :featureType "
+ + "WHERE p.featureSort = :featureSort "
+ " AND p.featureFqn = :featureFqn"),
@NamedQuery(
name = NamedQueryNames.PERMISSION_BY_ROLE_RULE_FEATURE_FQN,
@@ -99,7 +99,7 @@ import lombok.experimental.UtilityClass;
+ "FROM org.apache.isis.extensions.secman.jpa.dom.permission.ApplicationPermission p "
+ "WHERE p.role = :role "
+ " AND p.rule = :rule "
- + " AND p.featureType = :featureType "
+ + " AND p.featureSort = :featureSort "
+ " AND p.featureFqn = :featureFqn "),
@NamedQuery(
name = NamedQueryNames.PERMISSION_BY_ROLE_RULE_FEATURE,
@@ -107,7 +107,7 @@ import lombok.experimental.UtilityClass;
+ "FROM org.apache.isis.extensions.secman.jpa.dom.permission.ApplicationPermission p "
+ "WHERE p.role = :role "
+ " AND p.rule = :rule "
- + " AND p.featureType = :featureType "),
+ + " AND p.featureSort = :featureSort "),
})
@EntityListeners(JpaEntityInjectionPointResolver.class)
@DomainObject(
@@ -189,17 +189,18 @@ implements
public static class TypeDomainEvent extends PropertyDomainEvent<String> {}
/**
- * Combines {@link #getFeatureType() feature type} and member type.
+ * Combines {@link #getFeatureSort() feature type} and member type.
*/
@Property(
domainEvent = TypeDomainEvent.class,
editing = Editing.DISABLED
)
@PropertyLayout(typicalLength=ApplicationPermission.TYPICAL_LENGTH_TYPE)
- public String getType() {
- final Enum<?> e = getFeatureType() != ApplicationFeatureSort.MEMBER
- ? getFeatureType()
- : getMemberType().orElse(null);
+ @Override
+ public String getSort() {
+ final Enum<?> e = getFeatureSort() != ApplicationFeatureSort.MEMBER
+ ? getFeatureSort()
+ : getMemberType().orElse(null);
return e != null ? e.name(): null;
}
@@ -210,7 +211,7 @@ implements
}
- // -- featureType
+ // -- featureSort
/**
* The {@link ApplicationFeatureId#getType() feature type} of the
@@ -226,12 +227,12 @@ implements
@Column(nullable=false)
@Enumerated(EnumType.STRING)
@Setter
- private ApplicationFeatureSort featureType;
+ private ApplicationFeatureSort featureSort;
@Override
@Programmatic
- public ApplicationFeatureSort getFeatureType() {
- return featureType;
+ public ApplicationFeatureSort getFeatureSort() {
+ return featureSort;
}
@@ -245,11 +246,11 @@ implements
* of the feature.
*
* <p>
- * The combination of the {@link #getFeatureType() feature type} and the fully qualified name is used to build
+ * The combination of the {@link #getFeatureSort() feature type} and the fully qualified name is used to build
* the corresponding {@link #getFeature() feature} (view model).
* </p>
*
- * @see #getFeatureType()
+ * @see #getFeatureSort()
*/
@Column(nullable=false)
@Property(
@@ -265,7 +266,7 @@ implements
private static final ObjectContract<ApplicationPermission> contract =
ObjectContracts.contract(ApplicationPermission.class)
.thenUse("role", ApplicationPermission::getRole)
- .thenUse("featureType", ApplicationPermission::getFeatureType)
+ .thenUse("featureSort", ApplicationPermission::getFeatureSort)
.thenUse("featureFqn", ApplicationPermission::getFeatureFqn)
.thenUse("mode", ApplicationPermission::getMode);
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 2033a66..d76dc4c 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
@@ -177,12 +177,12 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
public Collection<ApplicationPermission> findByRoleAndRuleAndFeatureType(
org.apache.isis.extensions.secman.api.role.ApplicationRole role,
final ApplicationPermissionRule rule,
- final ApplicationFeatureSort type) {
+ final ApplicationFeatureSort featureSort) {
return repository.allMatches(Query.named(
ApplicationPermission.class, NamedQueryNames.PERMISSION_BY_ROLE_RULE_FEATURE)
.withParameter("role", role)
.withParameter("rule", rule)
- .withParameter("featureType", type))
+ .withParameter("featureSort", featureSort))
.stream()
.collect(_Sets.toUnmodifiableSorted());
}
@@ -192,19 +192,19 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
public Optional<ApplicationPermission> findByRoleAndRuleAndFeatureCached(
final org.apache.isis.extensions.secman.api.role.ApplicationRole role,
final ApplicationPermissionRule rule,
- final ApplicationFeatureSort type,
+ final ApplicationFeatureSort featureSort,
final String featureFqn) {
return queryResultsCacheProvider.get().execute(
this::findByRoleAndRuleAndFeature,
ApplicationPermissionRepository.class, "findByRoleAndRuleAndFeatureCached",
- role, rule, type, featureFqn);
+ role, rule, featureSort, featureFqn);
}
@Override
public Optional<ApplicationPermission> findByRoleAndRuleAndFeature(
final org.apache.isis.extensions.secman.api.role.ApplicationRole role,
final ApplicationPermissionRule rule,
- final ApplicationFeatureSort type,
+ final ApplicationFeatureSort featureSort,
final String featureFqn) {
return repository
@@ -212,7 +212,7 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
ApplicationPermission.class, NamedQueryNames.PERMISSION_BY_ROLE_RULE_FEATURE_FQN)
.withParameter("role", role)
.withParameter("rule", rule)
- .withParameter("featureType", type)
+ .withParameter("featureSort", featureSort)
.withParameter("featureFqn", featureFqn ));
}
@@ -230,7 +230,7 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
return repository.allMatches(
Query.named(
ApplicationPermission.class, NamedQueryNames.PERMISSION_BY_FEATURE)
- .withParameter("featureType", featureId.getSort())
+ .withParameter("featureSort", featureId.getSort())
.withParameter("featureFqn", featureId.getFullyQualifiedName()))
.stream()
.collect(_Sets.toUnmodifiableSorted());
@@ -243,28 +243,28 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
final org.apache.isis.extensions.secman.api.role.ApplicationRole genericRole,
final ApplicationPermissionRule rule,
final ApplicationPermissionMode mode,
- final ApplicationFeatureSort featureType,
+ final ApplicationFeatureSort featureSort,
final String featureFqn) {
val role = _Casts.<ApplicationRole>uncheckedCast(genericRole);
- final ApplicationFeatureId featureId = ApplicationFeatureId.newFeature(featureType, featureFqn);
+ final ApplicationFeatureId featureId = ApplicationFeatureId.newFeature(featureSort, featureFqn);
final ApplicationFeature feature = applicationFeatureRepository.findFeature(featureId);
if(feature == null) {
- messages.warnUser("No such " + featureType.name().toLowerCase() + ": " + featureFqn);
+ messages.warnUser("No such " + featureSort.name().toLowerCase() + ": " + featureFqn);
return null;
}
- return newPermissionNoCheck(role, rule, mode, featureType, featureFqn);
+ return newPermissionNoCheck(role, rule, mode, featureSort, featureFqn);
}
public ApplicationPermission newPermissionNoCheck(
final ApplicationRole role,
final ApplicationPermissionRule rule,
final ApplicationPermissionMode mode,
- final ApplicationFeatureSort featureType,
+ final ApplicationFeatureSort featureSort,
final String featureFqn) {
- ApplicationPermission permission = findByRoleAndRuleAndFeature(role, rule, featureType, featureFqn)
+ ApplicationPermission permission = findByRoleAndRuleAndFeature(role, rule, featureSort, featureFqn)
.orElse(null);
if (permission != null) {
return permission;
@@ -273,7 +273,7 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
permission.setRole(role);
permission.setRule(rule);
permission.setMode(mode);
- permission.setFeatureType(featureType);
+ permission.setFeatureSort(featureSort);
permission.setFeatureFqn(featureFqn);
repository.persist(permission);
return permission;
@@ -301,12 +301,12 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
val role = _Casts.<ApplicationRole>uncheckedCast(genericRole);
- val featureType = featureId.getSort();
+ val featureSort = featureId.getSort();
val featureFqn = featureId.getFullyQualifiedName();
val feature = applicationFeatureRepository.findFeature(featureId);
if(feature == null) {
- messages.warnUser("No such " + featureType.name().toLowerCase() + ": " + featureFqn);
+ messages.warnUser("No such " + featureSort.name().toLowerCase() + ": " + featureFqn);
return null;
}
@@ -314,7 +314,7 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
permission.setRole(role);
permission.setRule(rule);
permission.setMode(mode);
- permission.setFeatureType(featureType);
+ permission.setFeatureSort(featureSort);
permission.setFeatureFqn(featureFqn);
repository.persist(permission);
@@ -347,7 +347,7 @@ implements org.apache.isis.extensions.secman.api.permission.ApplicationPermissio
val permissions = allPermissions();
for (val permission : permissions) {
- final ApplicationFeatureSort featureType = permission.getFeatureType();
+ final ApplicationFeatureSort featureType = permission.getFeatureSort();
final String featureFqn = permission.getFeatureFqn();
switch (featureType) {
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 e12c342..19c3bf1 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
@@ -103,7 +103,7 @@ public abstract class AbstractRoleAndPermissionsFixtureScript extends FixtureScr
private void newPermissions(
final ApplicationPermissionRule rule,
final ApplicationPermissionMode mode,
- final ApplicationFeatureSort featureType,
+ final ApplicationFeatureSort featureSort,
final Iterable<String> featureFqns) {
if(featureFqns == null) {
@@ -124,7 +124,7 @@ public abstract class AbstractRoleAndPermissionsFixtureScript extends FixtureScr
(org.apache.isis.extensions.secman.jpa.dom.role.ApplicationRole)securityRole,
rule,
mode,
- featureType, featureFqn);
+ featureSort, featureFqn);
}
}