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/07/29 16:35:56 UTC

[isis] branch master updated: ISIS-2829: SecMan: housekeeping

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 ae2e338  ISIS-2829: SecMan: housekeeping
ae2e338 is described below

commit ae2e33822bb5f8ea5f54e347a084e37477f812a7
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Jul 29 18:34:31 2021 +0200

    ISIS-2829: SecMan: housekeeping
---
 .../jpa/permission/dom/ApplicationPermission.java  | 14 +++++------
 .../secman/jpa/role/dom/ApplicationRole.java       | 10 ++++----
 .../secman/jpa/user/dom/ApplicationUser.java       | 26 ++++++++++----------
 .../{orm-secman.xml => orm-secman.template}        | 28 ++++++++++++++--------
 4 files changed, 42 insertions(+), 36 deletions(-)

diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/permission/dom/ApplicationPermission.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/permission/dom/ApplicationPermission.java
index c89d9a8..27d66a1 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/permission/dom/ApplicationPermission.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/permission/dom/ApplicationPermission.java
@@ -42,7 +42,7 @@ import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionMode;
 import org.apache.isis.extensions.secman.applib.permission.dom.ApplicationPermissionRule;
 import org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole;
-import org.apache.isis.persistence.jpa.applib.integration.JpaEntityInjectionPointResolver;
+import org.apache.isis.persistence.jpa.applib.integration.IsisEntityListener;
 
 @Entity
 @Table(
@@ -89,7 +89,7 @@ import org.apache.isis.persistence.jpa.applib.integration.JpaEntityInjectionPoin
                   + "   AND p.rule = :rule "
                   + "   AND p.featureSort = :featureSort "),
 })
-@EntityListeners(JpaEntityInjectionPointResolver.class)
+@EntityListeners(IsisEntityListener.class)
 @DomainObject(
         logicalTypeName = ApplicationPermission.LOGICAL_TYPE_NAME
 )
@@ -120,7 +120,7 @@ public class ApplicationPermission
         return role;
     }
     @Override
-    public void setRole(ApplicationRole applicationRole) {
+    public void setRole(final ApplicationRole applicationRole) {
         role = _Casts.uncheckedCast(applicationRole);
     }
 
@@ -137,7 +137,7 @@ public class ApplicationPermission
         return rule;
     }
     @Override
-    public void setRule(ApplicationPermissionRule rule) {
+    public void setRule(final ApplicationPermissionRule rule) {
         this.rule = rule;
     }
 
@@ -154,7 +154,7 @@ public class ApplicationPermission
         return mode;
     }
     @Override
-    public void setMode(ApplicationPermissionMode mode) {
+    public void setMode(final ApplicationPermissionMode mode) {
         this.mode = mode;
     }
 
@@ -171,7 +171,7 @@ public class ApplicationPermission
         return featureSort;
     }
     @Override
-    public void setFeatureSort(ApplicationFeatureSort featureSort) {
+    public void setFeatureSort(final ApplicationFeatureSort featureSort) {
         this.featureSort = featureSort;
     }
 
@@ -187,7 +187,7 @@ public class ApplicationPermission
         return featureFqn;
     }
     @Override
-    public void setFeatureFqn(String featureFqn) {
+    public void setFeatureFqn(final String featureFqn) {
         this.featureFqn = featureFqn;
     }
 
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/role/dom/ApplicationRole.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/role/dom/ApplicationRole.java
index 2ee2fde..0155444 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/role/dom/ApplicationRole.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/role/dom/ApplicationRole.java
@@ -27,8 +27,6 @@ import javax.persistence.Entity;
 import javax.persistence.EntityListeners;
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
 import javax.persistence.ManyToMany;
 import javax.persistence.NamedQueries;
 import javax.persistence.NamedQuery;
@@ -42,7 +40,7 @@ import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.extensions.secman.applib.user.dom.ApplicationUser;
-import org.apache.isis.persistence.jpa.applib.integration.JpaEntityInjectionPointResolver;
+import org.apache.isis.persistence.jpa.applib.integration.IsisEntityListener;
 
 @Entity
 @Table(
@@ -65,7 +63,7 @@ import org.apache.isis.persistence.jpa.applib.integration.JpaEntityInjectionPoin
                   + "FROM ApplicationRole r "
                   + "WHERE r.name LIKE :regex"),
 })
-@EntityListeners(JpaEntityInjectionPointResolver.class)
+@EntityListeners(IsisEntityListener.class)
 @DomainObject(
         bounding = Bounding.BOUNDED,
         logicalTypeName = ApplicationRole.LOGICAL_TYPE_NAME,
@@ -97,7 +95,7 @@ public class ApplicationRole
         return name;
     }
     @Override
-    public void setName(String name) {
+    public void setName(final String name) {
         this.name = name;
     }
 
@@ -113,7 +111,7 @@ public class ApplicationRole
         return description;
     }
     @Override
-    public void setDescription(String description) {
+    public void setDescription(final String description) {
         this.description = description;
     }
 
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/user/dom/ApplicationUser.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/user/dom/ApplicationUser.java
index 70ee2f3..971eaa2 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/user/dom/ApplicationUser.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/user/dom/ApplicationUser.java
@@ -44,7 +44,7 @@ import org.apache.isis.applib.annotation.DomainObjectLayout;
 import org.apache.isis.commons.internal.base._Casts;
 import org.apache.isis.extensions.secman.applib.role.dom.ApplicationRole;
 import org.apache.isis.extensions.secman.applib.user.dom.ApplicationUserStatus;
-import org.apache.isis.persistence.jpa.applib.integration.JpaEntityInjectionPointResolver;
+import org.apache.isis.persistence.jpa.applib.integration.IsisEntityListener;
 
 @Entity
 @Table(
@@ -81,7 +81,7 @@ import org.apache.isis.persistence.jpa.applib.integration.JpaEntityInjectionPoin
                   + "    OR u.knownAs LIKE :regex"
                   + "    OR u.emailAddress LIKE :regex")
 })
-@EntityListeners(JpaEntityInjectionPointResolver.class)
+@EntityListeners(IsisEntityListener.class)
 @DomainObject(
         logicalTypeName = ApplicationUser.LOGICAL_TYPE_NAME,
         autoCompleteRepository = ApplicationUserRepository.class,
@@ -113,7 +113,7 @@ public class ApplicationUser
         return username;
     }
     @Override
-    public void setUsername(String username) { this.username = username; }
+    public void setUsername(final String username) { this.username = username; }
 
 
     // -- FAMILY NAME
@@ -127,7 +127,7 @@ public class ApplicationUser
         return familyName;
     }
     @Override
-    public void setFamilyName(String familyName) {
+    public void setFamilyName(final String familyName) {
         this.familyName = familyName;
     }
 
@@ -143,7 +143,7 @@ public class ApplicationUser
         return givenName;
     }
     @Override
-    public void setGivenName(String givenName) {
+    public void setGivenName(final String givenName) {
         this.givenName = givenName;
     }
 
@@ -159,7 +159,7 @@ public class ApplicationUser
         return knownAs;
     }
     @Override
-    public void setKnownAs(String knownAs) {
+    public void setKnownAs(final String knownAs) {
         this.knownAs = knownAs;
     }
 
@@ -175,7 +175,7 @@ public class ApplicationUser
         return emailAddress;
     }
     @Override
-    public void setEmailAddress(String emailAddress) {
+    public void setEmailAddress(final String emailAddress) {
         this.emailAddress = emailAddress;
     }
 
@@ -191,7 +191,7 @@ public class ApplicationUser
         return phoneNumber;
     }
     @Override
-    public void setPhoneNumber(String phoneNumber) {
+    public void setPhoneNumber(final String phoneNumber) {
         this.phoneNumber = phoneNumber;
     }
 
@@ -207,7 +207,7 @@ public class ApplicationUser
         return faxNumber;
     }
     @Override
-    public void setFaxNumber(String faxNumber) {
+    public void setFaxNumber(final String faxNumber) {
         this.faxNumber = faxNumber;
     }
 
@@ -223,7 +223,7 @@ public class ApplicationUser
         return atPath;
     }
     @Override
-    public void setAtPath(String atPath) {
+    public void setAtPath(final String atPath) {
         this.atPath = atPath;
     }
 
@@ -240,7 +240,7 @@ public class ApplicationUser
         return accountType;
     }
     @Override
-    public void setAccountType(org.apache.isis.extensions.secman.applib.user.dom.AccountType accountType) {
+    public void setAccountType(final org.apache.isis.extensions.secman.applib.user.dom.AccountType accountType) {
         this.accountType = accountType;
     }
 
@@ -257,7 +257,7 @@ public class ApplicationUser
         return status;
     }
     @Override
-    public void setStatus(ApplicationUserStatus status) {
+    public void setStatus(final ApplicationUserStatus status) {
         this.status = status;
     }
 
@@ -273,7 +273,7 @@ public class ApplicationUser
         return encryptedPassword;
     }
     @Override
-    public void setEncryptedPassword(String encryptedPassword) {
+    public void setEncryptedPassword(final String encryptedPassword) {
         this.encryptedPassword = encryptedPassword;
     }
 
diff --git a/extensions/security/secman/persistence-jpa/src/main/resources/META-INF/orm-secman.xml b/extensions/security/secman/persistence-jpa/src/main/resources/META-INF/orm-secman.template
similarity index 55%
rename from extensions/security/secman/persistence-jpa/src/main/resources/META-INF/orm-secman.xml
rename to extensions/security/secman/persistence-jpa/src/main/resources/META-INF/orm-secman.template
index b2f9e6a..418ac8a 100644
--- a/extensions/security/secman/persistence-jpa/src/main/resources/META-INF/orm-secman.xml
+++ b/extensions/security/secman/persistence-jpa/src/main/resources/META-INF/orm-secman.template
@@ -23,22 +23,30 @@
       http://xmlns.jcp.org/xml/ns/persistence/orm_2_1.xsd"
     version="2.1">
 
-	<package>org.apache.isis.extensions.secman.jpa.dom</package>
-	
-	<entity class="permission.ApplicationPermission">
-		<table schema="secman"/>
+	<!-- rename file to .xml then customize-->
+
+	<entity class="org.apache.isis.extensions.secman.jpa.permission.dom.ApplicationPermission">
+		<table schema="isisExtensionsSecman" name="ApplicationPermission"/>
 	</entity>
 	
-	<entity class="role.ApplicationRole">
-		<table schema="secman"/>
+	<entity class="org.apache.isis.extensions.secman.jpa.role.dom.ApplicationRole">
+		<table schema="isisExtensionsSecman" name="ApplicationRole"/>
 	</entity>
 	
-	<entity class="tenancy.ApplicationTenancy">
-		<table schema="secman"/>
+	<entity class="org.apache.isis.extensions.secman.jpa.tenancy.dom.ApplicationTenancy">
+		<table schema="isisExtensionsSecman" name="ApplicationTenancy"/>
 	</entity>
 	
-	<entity class="user.ApplicationUser">
-		<table schema="secman"/>
+	<entity class="org.apache.isis.extensions.secman.jpa.user.dom.ApplicationUser">
+		<table schema="isisExtensionsSecman" name="ApplicationUser"/>
+		<attributes>
+			<many-to-many name="roles">
+				<join-table schema="isisExtensionsSecman" name="ApplicationUserRoles">
+					<join-column name="userId" />
+					<inverse-join-column name="roleId" />
+				</join-table>
+			</many-to-many>
+		</attributes>
 	</entity>
 
 </entity-mappings>
\ No newline at end of file