Make sure that we rollback only if there is transaction
authorMathieu <mbaudier@argeo.org>
Thu, 1 Dec 2022 04:54:05 +0000 (05:54 +0100)
committerMathieu <mbaudier@argeo.org>
Thu, 1 Dec 2022 04:54:05 +0000 (05:54 +0100)
org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserManagerImpl.java

index 9a05d2b59cc2a2ab27cfb8f7a7750ff78473b524..1eb227b0e6588e755b0fe8e77f62f42a79d915d4 100644 (file)
@@ -286,11 +286,11 @@ public class CmsUserManagerImpl implements CmsUserManager {
 
        @Override
        public CmsGroup getOrCreateGroup(HierarchyUnit groups, String commonName) {
+               String dn = LdapAttr.cn.name() + "=" + commonName + "," + groups.getBase();
+               CmsGroup group = (CmsGroup) getUserAdmin().getRole(dn);
+               if (group != null)
+                       return group;
                try {
-                       String dn = LdapAttr.cn.name() + "=" + commonName + "," + groups.getBase();
-                       CmsGroup group = (CmsGroup) getUserAdmin().getRole(dn);
-                       if (group != null)
-                               return group;
                        userTransaction.begin();
                        group = (CmsGroup) userAdmin.createRole(dn, Role.GROUP);
                        userTransaction.commit();
@@ -310,11 +310,11 @@ public class CmsUserManagerImpl implements CmsUserManager {
 
        @Override
        public CmsGroup getOrCreateSystemRole(HierarchyUnit roles, QName systemRole) {
+               String dn = LdapAttr.cn.name() + "=" + NamespaceUtils.toPrefixedName(systemRole) + "," + roles.getBase();
+               CmsGroup group = (CmsGroup) getUserAdmin().getRole(dn);
+               if (group != null)
+                       return group;
                try {
-                       String dn = LdapAttr.cn.name() + "=" + NamespaceUtils.toPrefixedName(systemRole) + "," + roles.getBase();
-                       CmsGroup group = (CmsGroup) getUserAdmin().getRole(dn);
-                       if (group != null)
-                               return group;
                        userTransaction.begin();
                        group = (CmsGroup) userAdmin.createRole(dn, Role.GROUP);
                        userTransaction.commit();