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 2022/01/13 18:17:00 UTC
[isis] branch master updated: ISIS-2942: secman: provide more informal metadata
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 4cc62f1 ISIS-2942: secman: provide more informal metadata
4cc62f1 is described below
commit 4cc62f1e71a054ba24f80a94db1b7aa9835452b4
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Jan 13 19:16:51 2022 +0100
ISIS-2942: secman: provide more informal metadata
- also some minor fixes
---
.../specloader/SpecificationLoaderDefault.java | 2 +-
.../applib/role/man/ApplicationRoleManager.java | 21 +++++++++++++++++++++
.../dom/ApplicationTenancyRepositoryAbstract.java | 2 +-
.../tenancy/man/ApplicationTenancyManager.java | 21 +++++++++++++++++++++
.../applib/user/man/ApplicationUserManager.java | 21 +++++++++++++++++++++
5 files changed, 65 insertions(+), 2 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderDefault.java
index c16b75c..9863227 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderDefault.java
@@ -584,7 +584,7 @@ public class SpecificationLoaderDefault implements SpecificationLoader {
}
if(sort.isToBeIntrospected()) {
- log.error("Introspecting class '{}' of sort {}, after the metamodel had been fully introspected and is now locked. " +
+ log.warn("Introspecting class '{}' of sort {}, after the metamodel had been fully introspected and is now locked. " +
"One reason this can happen is if you are attempting to invoke an action through the WrapperFactory " +
"on a service class incorrectly annotated with Spring's @Service annotation instead of " +
"@DomainService.",
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/man/ApplicationRoleManager.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/man/ApplicationRoleManager.java
index 1f2cbd9..4db41fd 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/man/ApplicationRoleManager.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/role/man/ApplicationRoleManager.java
@@ -18,10 +18,17 @@
*/
package org.apache.isis.extensions.secman.applib.role.man;
+import javax.inject.Inject;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.ObjectSupport;
+import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.annotation.PropertyLayout;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.extensions.secman.applib.IsisModuleExtSecmanApplib;
+import org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole;
@DomainObject(
nature = Nature.VIEW_MODEL,
@@ -35,6 +42,20 @@ public class ApplicationRoleManager {
return "Application Role Manager";
}
+ // -- INFORMAL METADATA
+
+ @Inject private SpecificationLoader specLoader;
+
+ @Property @PropertyLayout(fieldSetId = "metadata")
+ public String getRoleType() {
+ return specLoader.specForLogicalTypeName(ApplicationRole.LOGICAL_TYPE_NAME)
+ .map(ObjectSpecification::getCorrespondingClass)
+ .map(Class::getName)
+ .orElse("not found");
+ }
+
+ // --
+
// behaviour provided by mixins
}
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/tenancy/dom/ApplicationTenancyRepositoryAbstract.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/tenancy/dom/ApplicationTenancyRepositoryAbstract.java
index b180790..24c9193 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/tenancy/dom/ApplicationTenancyRepositoryAbstract.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/tenancy/dom/ApplicationTenancyRepositoryAbstract.java
@@ -144,7 +144,7 @@ implements ApplicationTenancyRepository {
// --
@Override
- public final Collection<ApplicationTenancy> allTenancies() {
+ public Collection<ApplicationTenancy> allTenancies() {
return queryResultsCacheProvider.get().execute(
() -> allTenanciesNoCache(),
ApplicationTenancyRepositoryAbstract.class, "allTenancies");
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/tenancy/man/ApplicationTenancyManager.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/tenancy/man/ApplicationTenancyManager.java
index 7c5eb46..56381c4 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/tenancy/man/ApplicationTenancyManager.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/tenancy/man/ApplicationTenancyManager.java
@@ -18,10 +18,17 @@
*/
package org.apache.isis.extensions.secman.applib.tenancy.man;
+import javax.inject.Inject;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.ObjectSupport;
+import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.annotation.PropertyLayout;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.extensions.secman.applib.IsisModuleExtSecmanApplib;
+import org.apache.isis.extensions.secman.applib.tenancy.dom.ApplicationTenancy;
@DomainObject(
nature = Nature.VIEW_MODEL,
@@ -35,6 +42,20 @@ public class ApplicationTenancyManager {
return "Application Tenancy Manager";
}
+ // -- INFORMAL METADATA
+
+ @Inject private SpecificationLoader specLoader;
+
+ @Property @PropertyLayout(fieldSetId = "metadata")
+ public String getTenancyType() {
+ return specLoader.specForLogicalTypeName(ApplicationTenancy.LOGICAL_TYPE_NAME)
+ .map(ObjectSpecification::getCorrespondingClass)
+ .map(Class::getName)
+ .orElse("not found");
+ }
+
+ // --
+
// behaviour provided by mixins
}
diff --git a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/man/ApplicationUserManager.java b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/man/ApplicationUserManager.java
index 770697b..3f8fd4e 100644
--- a/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/man/ApplicationUserManager.java
+++ b/extensions/security/secman/applib/src/main/java/org/apache/isis/extensions/secman/applib/user/man/ApplicationUserManager.java
@@ -18,10 +18,17 @@
*/
package org.apache.isis.extensions.secman.applib.user.man;
+import javax.inject.Inject;
+
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.annotation.ObjectSupport;
+import org.apache.isis.applib.annotation.Property;
+import org.apache.isis.applib.annotation.PropertyLayout;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.extensions.secman.applib.IsisModuleExtSecmanApplib;
+import org.apache.isis.extensions.secman.applib.user.dom.ApplicationUser;
@DomainObject(
nature = Nature.VIEW_MODEL,
@@ -35,6 +42,20 @@ public class ApplicationUserManager {
return "Application User Manager";
}
+ // -- INFORMAL METADATA
+
+ @Inject private SpecificationLoader specLoader;
+
+ @Property @PropertyLayout(fieldSetId = "metadata")
+ public String getUserType() {
+ return specLoader.specForLogicalTypeName(ApplicationUser.LOGICAL_TYPE_NAME)
+ .map(ObjectSpecification::getCorrespondingClass)
+ .map(Class::getName)
+ .orElse("not found");
+ }
+
+ // --
+
// behaviour provided by mixins
}