You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/04/14 22:25:32 UTC
[isis] 01/01: ISIS-2614 : cleans up secman imports and references
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch ISIS-2614
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 658d594b4deab989371fbf7679b2016a68498ea7
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Apr 14 23:25:04 2021 +0100
ISIS-2614 : cleans up secman imports and references
---
.../secman/api/role/ApplicationRoleRepository.java | 5 ++++
.../secman/api/user/ApplicationUserRepository.java | 8 ++++++
.../secman/model/IsisModuleExtSecmanModel.java | 30 +++++++++++++++++---
.../dom/feature/ApplicationFeatureViewModel.java | 25 +++++++----------
.../model/dom/feature/ApplicationTypeMember.java | 7 ++---
.../secman/model/dom/role/ApplicationRoleMenu.java | 10 ++++---
extensions/security/secman/persistence-jdo/pom.xml | 23 ++++++++--------
.../jdo/IsisModuleExtSecmanPersistenceJdo.java | 32 ++++++++++++++++++----
.../jdo/dom/role/ApplicationRoleRepository.java | 28 +++++++++++--------
.../AbstractRoleAndPermissionsFixtureScript.java | 14 ++++------
extensions/security/secman/persistence-jpa/pom.xml | 29 +++++++++-----------
.../jpa/IsisModuleExtSecmanPersistenceJpa.java | 17 ++++++++----
12 files changed, 143 insertions(+), 85 deletions(-)
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/role/ApplicationRoleRepository.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/role/ApplicationRoleRepository.java
index 75b16a1..da3e1e7 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/role/ApplicationRoleRepository.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/role/ApplicationRoleRepository.java
@@ -50,6 +50,11 @@ public interface ApplicationRoleRepository<R extends ApplicationRole> {
Optional<R> findByName(String roleName);
Optional<R> findByNameCached(String roleName);
+ default R upsert(final String name, final String roleDescription) {
+ return findByName(name)
+ .orElseGet(() -> newRole(name, roleDescription));
+ }
+
void addRoleToUser(ApplicationRole role, ApplicationUser user);
void removeRoleFromUser(ApplicationRole role, ApplicationUser user);
diff --git a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUserRepository.java b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUserRepository.java
index 7d0b7cf..791620b 100644
--- a/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUserRepository.java
+++ b/extensions/security/secman/api/src/main/java/org/apache/isis/extensions/secman/api/user/ApplicationUserRepository.java
@@ -65,6 +65,14 @@ public interface ApplicationUserRepository<U extends ApplicationUser> {
U newUser(String username, AccountType accountType, Consumer<U> beforePersist);
+ default U upsertLocal(
+ @NonNull String username,
+ @Nullable Password password,
+ @NonNull ApplicationUserStatus status) {
+ return findByUsername(username)
+ .orElseGet(() -> newLocalUser(username, password, status));
+ }
+
default U newLocalUser(
@NonNull String username,
@Nullable Password password,
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisModuleExtSecmanModel.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisModuleExtSecmanModel.java
index 642daec..e7f9dc1 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisModuleExtSecmanModel.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/IsisModuleExtSecmanModel.java
@@ -20,15 +20,37 @@ package org.apache.isis.extensions.secman.model;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
+import org.apache.isis.extensions.secman.model.dom.feature.ApplicationFeatureViewModels;
+import org.apache.isis.extensions.secman.model.dom.permission.ApplicationOrphanedPermissionManager;
+import org.apache.isis.extensions.secman.model.dom.permission.ApplicationPermissionMenu;
+import org.apache.isis.extensions.secman.model.dom.role.ApplicationRoleMenu;
+import org.apache.isis.extensions.secman.model.dom.tenancy.ApplicationTenancyMenu;
+import org.apache.isis.extensions.secman.model.dom.user.ApplicationUserMenu;
+import org.apache.isis.extensions.secman.model.facets.TenantedAuthorizationFacetFactory;
/**
* @since 2.0 {@index}
*/
@Configuration
-@ComponentScan(
- basePackageClasses= {
- IsisModuleExtSecmanModel.class
- })
+@Import({
+ // Module
+ IsisModuleExtSecmanApi.class,
+
+ // @DomainService
+ ApplicationFeatureViewModels.class,
+ ApplicationOrphanedPermissionManager.class,
+ ApplicationPermissionMenu.class,
+ ApplicationRoleMenu.class,
+ ApplicationTenancyMenu.class,
+ ApplicationUserMenu.class,
+
+ // @Component
+ TenantedAuthorizationFacetFactory.Register.class,
+
+})
public class IsisModuleExtSecmanModel {
}
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/feature/ApplicationFeatureViewModel.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/feature/ApplicationFeatureViewModel.java
index 955c8c1..dbcd3be 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/feature/ApplicationFeatureViewModel.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/feature/ApplicationFeatureViewModel.java
@@ -53,11 +53,6 @@ import lombok.val;
/**
* View model identified by {@link ApplicationFeatureId} and backed by an {@link ApplicationFeature}.
*/
-//@MemberGroupLayout(
-// columnSpans = {6,0,6,12},
-// left = {"Id", "Data Type", "Metadata"},
-// right= {"Parent", "Contributed", "Detail"}
-//)
public abstract class ApplicationFeatureViewModel implements ViewModel {
public static abstract class PropertyDomainEvent<S extends ApplicationFeatureViewModel,T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<S, T> {}
@@ -86,8 +81,8 @@ public abstract class ApplicationFeatureViewModel implements ViewModel {
case TYPE:
return ApplicationType.class;
case MEMBER:
-
- val memberSort =
+
+ val memberSort =
Optional.ofNullable(applicationFeatureRepository.findFeature(featureId))
.flatMap(ApplicationFeature::getMemberSort)
.orElse(null);
@@ -182,7 +177,7 @@ public abstract class ApplicationFeatureViewModel implements ViewModel {
)
@PropertyLayout(
typicalLength=ApplicationFeatureConstants.TYPICAL_LENGTH_NAMESPACE,
- fieldSetId="Id",
+ fieldSetId="Id",
sequence = "2.2")
public String getNamespaceName() {
return getFeatureId().getNamespace();
@@ -201,7 +196,7 @@ public abstract class ApplicationFeatureViewModel implements ViewModel {
)
@PropertyLayout(
typicalLength=ApplicationFeatureConstants.TYPICAL_LENGTH_TYPE_SIMPLE_NAME,
- fieldSetId="Id",
+ fieldSetId="Id",
sequence = "2.3")
public String getTypeSimpleName() {
return getFeatureId().getTypeSimpleName();
@@ -222,7 +217,7 @@ public abstract class ApplicationFeatureViewModel implements ViewModel {
)
@PropertyLayout(
typicalLength=ApplicationFeatureConstants.TYPICAL_LENGTH_MEMBER_NAME,
- fieldSetId="Id",
+ fieldSetId="Id",
sequence = "2.4")
public String getMemberName() {
return getFeatureId().getMemberName();
@@ -243,7 +238,7 @@ public abstract class ApplicationFeatureViewModel implements ViewModel {
@PropertyLayout(
navigable = Navigable.PARENT,
hidden = Where.ALL_TABLES,
- fieldSetId = "Parent",
+ fieldSetId = "Parent",
sequence = "2.6")
public ApplicationFeatureViewModel getParent() {
final ApplicationFeatureId parentId;
@@ -257,7 +252,7 @@ public abstract class ApplicationFeatureViewModel implements ViewModel {
if (feature == null) {
return null;
}
- final Class<? extends ApplicationFeatureViewModel> cls =
+ final Class<? extends ApplicationFeatureViewModel> cls =
viewModelClassFor(parentId, featureRepository);
return factory.viewModel(cls, parentId.asEncodedString());
}
@@ -332,16 +327,16 @@ public abstract class ApplicationFeatureViewModel implements ViewModel {
private Functions(){}
public static <T extends ApplicationFeatureViewModel> Function<ApplicationFeatureId, T> asViewModelForId(
- final ApplicationFeatureRepository applicationFeatureRepository,
+ final ApplicationFeatureRepository applicationFeatureRepository,
final FactoryService factoryService) {
- return (ApplicationFeatureId input) ->
+ return (ApplicationFeatureId input) ->
_Casts.uncheckedCast(ApplicationFeatureViewModel
.newViewModel(input, applicationFeatureRepository, factoryService));
}
public static <T extends ApplicationFeatureViewModel> Function<ApplicationFeature, T> asViewModel(
- final ApplicationFeatureRepository applicationFeatureRepository,
+ final ApplicationFeatureRepository applicationFeatureRepository,
final FactoryService factoryService) {
return (ApplicationFeature input) ->
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/feature/ApplicationTypeMember.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/feature/ApplicationTypeMember.java
index a9aa8b8..4c4b66c 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/feature/ApplicationTypeMember.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/feature/ApplicationTypeMember.java
@@ -25,12 +25,15 @@ import org.apache.isis.applib.annotation.Property;
import org.apache.isis.applib.annotation.PropertyLayout;
import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
+import lombok.NoArgsConstructor;
+
@DomainObject(
objectType = "isis.ext.secman.ApplicationTypeMember"
)
@DomainObjectLayout(
bookmarking = BookmarkPolicy.AS_CHILD
)
+@NoArgsConstructor
public abstract class ApplicationTypeMember extends ApplicationFeatureViewModel {
public static abstract class PropertyDomainEvent<S extends ApplicationTypeMember, T> extends ApplicationFeatureViewModel.PropertyDomainEvent<ApplicationTypeMember, T> {}
@@ -40,11 +43,7 @@ public abstract class ApplicationTypeMember extends ApplicationFeatureViewModel
public static abstract class ActionDomainEvent<S extends ApplicationTypeMember> extends ApplicationFeatureViewModel.ActionDomainEvent<S> {}
-
// -- constructors
- public ApplicationTypeMember() {
- }
-
public ApplicationTypeMember(final ApplicationFeatureId featureId) {
super(featureId);
}
diff --git a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRoleMenu.java b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRoleMenu.java
index db640e1..8360006 100644
--- a/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRoleMenu.java
+++ b/extensions/security/secman/model/src/main/java/org/apache/isis/extensions/secman/model/dom/role/ApplicationRoleMenu.java
@@ -36,6 +36,8 @@ import org.apache.isis.extensions.secman.api.IsisModuleExtSecmanApi;
import org.apache.isis.extensions.secman.api.role.ApplicationRole;
import org.apache.isis.extensions.secman.api.role.ApplicationRoleRepository;
+import lombok.RequiredArgsConstructor;
+
@DomainService(
nature = NatureOfService.VIEW,
objectType = "isis.ext.secman.ApplicationRoleMenu"
@@ -44,16 +46,16 @@ import org.apache.isis.extensions.secman.api.role.ApplicationRoleRepository;
named = "Security",
menuBar = DomainServiceLayout.MenuBar.SECONDARY
)
-public class ApplicationRoleMenu {
+@RequiredArgsConstructor(onConstructor_ = {@Inject})
+public class ApplicationRoleMenu {
// -- domain event classes
public static class PropertyDomainEvent<T> extends IsisModuleExtSecmanApi.PropertyDomainEvent<ApplicationRoleMenu, T> {}
public static abstract class CollectionDomainEvent<T> extends IsisModuleExtSecmanApi.CollectionDomainEvent<ApplicationRoleMenu, T> {}
public static abstract class ActionDomainEvent extends IsisModuleExtSecmanApi.ActionDomainEvent<ApplicationRoleMenu> {}
-
- @Inject private ApplicationRoleRepository<? extends ApplicationRole> applicationRoleRepository;
-
+ private final ApplicationRoleRepository<? extends ApplicationRole> applicationRoleRepository;
+
// -- iconName
public String iconName() {
diff --git a/extensions/security/secman/persistence-jdo/pom.xml b/extensions/security/secman/persistence-jdo/pom.xml
index 02b6541..8293472 100644
--- a/extensions/security/secman/persistence-jdo/pom.xml
+++ b/extensions/security/secman/persistence-jdo/pom.xml
@@ -34,42 +34,41 @@
<properties>
<jar-plugin.automaticModuleName>org.apache.isis.extensions.secman.persistence.jdo</jar-plugin.automaticModuleName>
<git-plugin.propertiesDir>org/apache/isis/extensions/secman/persistence/jdo</git-plugin.propertiesDir>
-
+
</properties>
<dependencies>
-
+
+ <dependency>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-secman-api</artifactId>
+ </dependency>
+
<dependency>
<groupId>org.apache.isis.persistence</groupId>
<artifactId>isis-persistence-jdo-applib</artifactId>
<scope>provided</scope>
</dependency>
-
+
<dependency>
<groupId>org.apache.isis.persistence</groupId>
<artifactId>isis-persistence-jdo-datanucleus</artifactId>
<scope>provided</scope>
</dependency>
-
+
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-runtime</artifactId>
<scope>provided</scope>
</dependency>
-
- <dependency>
- <groupId>org.apache.isis.extensions</groupId>
- <artifactId>isis-extensions-secman-api</artifactId>
- <scope>provided</scope>
- </dependency>
-
+
<dependency>
<groupId>org.apache.isis.extensions</groupId>
<artifactId>isis-extensions-secman-model</artifactId>
<scope>provided</scope>
</dependency>
-
+
<dependency>
<groupId>org.apache.isis.testing</groupId>
<artifactId>isis-testing-fixtures-applib</artifactId>
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisModuleExtSecmanPersistenceJdo.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisModuleExtSecmanPersistenceJdo.java
index 148215d..856cdc3 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisModuleExtSecmanPersistenceJdo.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/IsisModuleExtSecmanPersistenceJdo.java
@@ -18,17 +18,39 @@
*/
package org.apache.isis.extensions.secman.jdo;
-import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+import org.apache.isis.extensions.secman.api.permission.ApplicationPermissionRepository;
+import org.apache.isis.extensions.secman.api.role.ApplicationRoleRepository;
+import org.apache.isis.extensions.secman.api.tenancy.ApplicationTenancyRepository;
+import org.apache.isis.extensions.secman.api.user.ApplicationUserRepository;
+import org.apache.isis.extensions.secman.jdo.seed.SeedSecurityModuleService;
+import org.apache.isis.extensions.secman.model.IsisModuleExtSecmanModel;
/**
* @since 2.0 {@index}
*/
@Configuration
-@ComponentScan(
- basePackageClasses= {
- IsisModuleExtSecmanPersistenceJdo.class
- })
+@Import({
+ // modules
+ IsisModuleExtSecmanModel.class,
+
+ // services
+ ApplicationPermissionRepository.class,
+ ApplicationRoleRepository.class,
+ ApplicationTenancyRepository.class,
+ ApplicationUserRepository.class,
+ SeedSecurityModuleService.class,
+
+ // pretty sure we don't need to import/register these view models
+// ApplicationPermission.class,
+// ApplicationRole.class,
+// ApplicationTenancy.class,
+// ApplicationUser.class,
+
+
+})
public class IsisModuleExtSecmanPersistenceJdo {
}
diff --git a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/role/ApplicationRoleRepository.java b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/role/ApplicationRoleRepository.java
index 24ecaa1..ff5178e 100644
--- a/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/role/ApplicationRoleRepository.java
+++ b/extensions/security/secman/persistence-jdo/src/main/java/org/apache/isis/extensions/secman/jdo/dom/role/ApplicationRoleRepository.java
@@ -42,21 +42,21 @@ import lombok.val;
@Repository
@Named("isis.ext.secman.ApplicationRoleRepository")
-public class ApplicationRoleRepository
+public class ApplicationRoleRepository
implements org.apache.isis.extensions.secman.api.role.ApplicationRoleRepository<ApplicationRole> {
@Inject private FactoryService factoryService;
@Inject private RepositoryService repository;
@Inject private SecmanConfiguration configBean;
-
+
@Inject private javax.inject.Provider<QueryResultsCache> queryResultsCacheProvider;
-
+
@Override
public ApplicationRole newApplicationRole() {
return factoryService.detachedEntity(new ApplicationRole());
}
-
+
@Override
public Optional<ApplicationRole> findByNameCached(final String name) {
return queryResultsCacheProvider.get().execute(()->findByName(name),
@@ -64,6 +64,12 @@ implements org.apache.isis.extensions.secman.api.role.ApplicationRoleRepository<
}
@Override
+ public ApplicationRole upsert(final String name, final String roleDescription) {
+ return findByName(name)
+ .orElseGet(() -> newRole(name, roleDescription));
+ }
+
+ @Override
public Optional<ApplicationRole> findByName(final String name) {
if(name == null) {
return Optional.empty();
@@ -74,7 +80,7 @@ implements org.apache.isis.extensions.secman.api.role.ApplicationRoleRepository<
@Override
public Collection<ApplicationRole> findNameContaining(final String search) {
-
+
if(search != null && search.length() > 0) {
String nameRegex = String.format("(?i).*%s.*", search.replace("*", ".*").replace("?", "."));
return repository.allMatches(
@@ -117,20 +123,20 @@ implements org.apache.isis.extensions.secman.api.role.ApplicationRoleRepository<
@Override
public void addRoleToUser(
- org.apache.isis.extensions.secman.api.role.ApplicationRole genericRole,
+ org.apache.isis.extensions.secman.api.role.ApplicationRole genericRole,
org.apache.isis.extensions.secman.api.user.ApplicationUser genericUser) {
-
+
val role = _Casts.<ApplicationRole>uncheckedCast(genericRole);
val user = _Casts.<ApplicationUser>uncheckedCast(genericUser);
// no need to add to users set, since will be done by JDO/DN.
user.getRoles().add(role);
}
-
+
@Override
public void removeRoleFromUser(
org.apache.isis.extensions.secman.api.role.ApplicationRole genericRole,
org.apache.isis.extensions.secman.api.user.ApplicationUser genericUser) {
-
+
val role = _Casts.<ApplicationRole>uncheckedCast(genericRole);
val user = _Casts.<ApplicationUser>uncheckedCast(genericUser);
// no need to remove from users set, since will be done by JDO/DN.
@@ -145,9 +151,9 @@ implements org.apache.isis.extensions.secman.api.role.ApplicationRoleRepository<
@Override
public void deleteRole(org.apache.isis.extensions.secman.api.role.ApplicationRole genericRole) {
-
+
val role = _Casts.<ApplicationRole>uncheckedCast(genericRole);
-
+
role.getUsers().clear();
val permissions = role.getPermissions();
for (val permission : permissions) {
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 4e5ad4a..67642da 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
@@ -35,7 +35,7 @@ public abstract class AbstractRoleAndPermissionsFixtureScript extends FixtureScr
@Inject private ApplicationRoleRepository applicationRoleRepository;
@Inject private ApplicationPermissionRepository applicationPermissionRepository;
-
+
private final String roleName;
private final String roleDescription;
@@ -66,12 +66,10 @@ public abstract class AbstractRoleAndPermissionsFixtureScript extends FixtureScr
return;
}
- ApplicationRole securityRole = applicationRoleRepository.findByName(roleName).orElse(null);
- if(securityRole == null) {
- securityRole = applicationRoleRepository.newRole(roleName, roleDescription);
- }
-
- for(ApplicationFeatureId featureId : featureIds) {
+ val securityRole = applicationRoleRepository.findByName(roleName)
+ .orElseGet(() -> applicationRoleRepository.newRole(roleName, roleDescription));
+
+ for(val featureId : featureIds) {
val featureFqn = featureId.getFullyQualifiedName();
// can't use role#addPackage because that does a check for existence of the package, which is
@@ -82,7 +80,7 @@ public abstract class AbstractRoleAndPermissionsFixtureScript extends FixtureScr
(org.apache.isis.extensions.secman.jdo.dom.role.ApplicationRole)securityRole,
rule,
mode,
- featureId.getSort(),
+ featureId.getSort(),
featureFqn);
}
}
diff --git a/extensions/security/secman/persistence-jpa/pom.xml b/extensions/security/secman/persistence-jpa/pom.xml
index d6b04de..22b7181 100644
--- a/extensions/security/secman/persistence-jpa/pom.xml
+++ b/extensions/security/secman/persistence-jpa/pom.xml
@@ -34,36 +34,33 @@
<properties>
<jar-plugin.automaticModuleName>org.apache.isis.extensions.secman.persistence.jpa</jar-plugin.automaticModuleName>
<git-plugin.propertiesDir>org/apache/isis/extensions/secman/persistence/jpa</git-plugin.propertiesDir>
-
+
</properties>
<dependencies>
-
+
<dependency>
- <groupId>org.apache.isis.persistence</groupId>
- <artifactId>isis-persistence-jpa-applib</artifactId>
- <scope>provided</scope>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-secman-api</artifactId>
</dependency>
-
<dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-runtime</artifactId>
- <scope>provided</scope>
+ <groupId>org.apache.isis.extensions</groupId>
+ <artifactId>isis-extensions-secman-model</artifactId>
</dependency>
-
+
<dependency>
- <groupId>org.apache.isis.extensions</groupId>
- <artifactId>isis-extensions-secman-api</artifactId>
+ <groupId>org.apache.isis.persistence</groupId>
+ <artifactId>isis-persistence-jpa-applib</artifactId>
<scope>provided</scope>
</dependency>
-
+
<dependency>
- <groupId>org.apache.isis.extensions</groupId>
- <artifactId>isis-extensions-secman-model</artifactId>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-runtime</artifactId>
<scope>provided</scope>
</dependency>
-
+
<dependency>
<groupId>org.apache.isis.testing</groupId>
<artifactId>isis-testing-fixtures-applib</artifactId>
diff --git a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/IsisModuleExtSecmanPersistenceJpa.java b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/IsisModuleExtSecmanPersistenceJpa.java
index 6fe1ec0..6d79bae 100644
--- a/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/IsisModuleExtSecmanPersistenceJpa.java
+++ b/extensions/security/secman/persistence-jpa/src/main/java/org/apache/isis/extensions/secman/jpa/IsisModuleExtSecmanPersistenceJpa.java
@@ -31,24 +31,29 @@ import org.apache.isis.extensions.secman.jpa.dom.tenancy.ApplicationTenancyRepos
import org.apache.isis.extensions.secman.jpa.dom.user.ApplicationUser;
import org.apache.isis.extensions.secman.jpa.dom.user.ApplicationUserRepository;
import org.apache.isis.extensions.secman.jpa.seed.SeedSecurityModuleService;
+import org.apache.isis.extensions.secman.model.IsisModuleExtSecmanModel;
/**
* @since 2.0 {@index}
*/
@Configuration
@Import({
+ // modules
+ IsisModuleExtSecmanModel.class,
+
+ // services
ApplicationPermissionRepository.class,
ApplicationRoleRepository.class,
ApplicationTenancyRepository.class,
ApplicationUserRepository.class,
-
- ApplicationPermission.class,
- ApplicationRole.class,
- ApplicationTenancy.class,
- ApplicationUser.class,
-
SeedSecurityModuleService.class,
+ // pretty sure we don't need to import/register these view models
+// ApplicationPermission.class,
+// ApplicationRole.class,
+// ApplicationTenancy.class,
+// ApplicationUser.class,
+
})
@EntityScan(basePackageClasses = {
ApplicationPermission.class,