From 977f57bab027854c507a310775a6a24b474e1191 Mon Sep 17 00:00:00 2001 From: mbaudier Date: Sun, 15 Jul 2018 12:31:37 +0200 Subject: [PATCH] Make the admin group member of the userAdmin group by default --- .../argeo/cms/internal/kernel/CmsDeployment.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java index c4dee903f..67abe90fa 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java @@ -45,6 +45,7 @@ import org.osgi.framework.wiring.BundleWiring; import org.osgi.service.cm.Configuration; import org.osgi.service.cm.ConfigurationAdmin; import org.osgi.service.cm.ManagedService; +import org.osgi.service.useradmin.Group; import org.osgi.service.useradmin.Role; import org.osgi.service.useradmin.UserAdmin; import org.osgi.util.tracker.ServiceTracker; @@ -160,10 +161,14 @@ public class CmsDeployment implements NodeDeployment { UserTransaction userTransaction = bc.getService(bc.getServiceReference(UserTransaction.class)); try { userTransaction.begin(); - if (userAdmin.getRole(NodeConstants.ROLE_ADMIN) == null) - userAdmin.createRole(NodeConstants.ROLE_ADMIN, Role.GROUP); - if (userAdmin.getRole(NodeConstants.ROLE_USER_ADMIN) == null) - userAdmin.createRole(NodeConstants.ROLE_USER_ADMIN, Role.GROUP); + Role adminRole = userAdmin.getRole(NodeConstants.ROLE_ADMIN); + if (adminRole == null) { + adminRole = userAdmin.createRole(NodeConstants.ROLE_ADMIN, Role.GROUP); + } + if (userAdmin.getRole(NodeConstants.ROLE_USER_ADMIN) == null) { + Group userAdminRole = (Group) userAdmin.createRole(NodeConstants.ROLE_USER_ADMIN, Role.GROUP); + userAdminRole.addMember(adminRole); + } userTransaction.commit(); } catch (Exception e) { try { -- 2.30.2