From 0b6c0274b65c50e896972fb409ac4122ce4e7828 Mon Sep 17 00:00:00 2001 From: Mathieu Date: Thu, 1 Dec 2022 05:54:05 +0100 Subject: [PATCH] Make sure that we rollback only if there is transaction --- .../cms/internal/runtime/CmsUserManagerImpl.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserManagerImpl.java b/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserManagerImpl.java index 9a05d2b59..1eb227b0e 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserManagerImpl.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/runtime/CmsUserManagerImpl.java @@ -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(); -- 2.30.2