X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.maintenance%2Fsrc%2Forg%2Fargeo%2Fmaintenance%2FAbstractMaintenanceService.java;h=6003d638ddadab47a630d694903704ca62dce2c4;hb=442a293f2ce6ddcb73e66cba7d1ebc873591bd63;hp=6755a647ab83e2666b873392d9e091b9fb60e349;hpb=548cb105b0d50d3ead77f989596f8ba32623e17d;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.maintenance/src/org/argeo/maintenance/AbstractMaintenanceService.java b/org.argeo.maintenance/src/org/argeo/maintenance/AbstractMaintenanceService.java index 6755a647a..6003d638d 100644 --- a/org.argeo.maintenance/src/org/argeo/maintenance/AbstractMaintenanceService.java +++ b/org.argeo.maintenance/src/org/argeo/maintenance/AbstractMaintenanceService.java @@ -13,10 +13,10 @@ import javax.transaction.UserTransaction; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.argeo.api.NodeUtils; import org.argeo.jcr.Jcr; import org.argeo.jcr.JcrUtils; import org.argeo.naming.Distinguished; -import org.argeo.node.NodeUtils; import org.osgi.service.useradmin.Group; import org.osgi.service.useradmin.Role; import org.osgi.service.useradmin.UserAdmin; @@ -159,25 +159,27 @@ public abstract class AbstractMaintenanceService { } /** Add a user or group to a group. */ - protected void addToGroup(String roledDn, String groupDn) { - if (roledDn.contentEquals(groupDn)) { + protected void addToGroup(String groupToAddDn, String groupDn) { + if (groupToAddDn.contentEquals(groupDn)) { if (log.isTraceEnabled()) log.trace("Ignore adding group " + groupDn + " to itself"); return; } if (getUserAdmin() == null) { - log.warn("No user admin service available, cannot add group " + roledDn + " to " + groupDn); + log.warn("No user admin service available, cannot add group " + groupToAddDn + " to " + groupDn); return; } - Group managerGroup = (Group) getUserAdmin().getRole(roledDn); + Group groupToAdd = (Group) getUserAdmin().getRole(groupToAddDn); + if (groupToAdd == null) + throw new IllegalArgumentException("Group " + groupToAddDn + " not found"); Group group = (Group) getUserAdmin().getRole(groupDn); if (group == null) throw new IllegalArgumentException("Group " + groupDn + " not found"); try { getUserTransaction().begin(); - if (group.addMember(managerGroup)) - log.info("Added " + roledDn + " to " + group); + if (group.addMember(groupToAdd)) + log.info("Added " + groupToAddDn + " to " + group); getUserTransaction().commit(); } catch (Exception e) { try { @@ -185,7 +187,7 @@ public abstract class AbstractMaintenanceService { } catch (Exception e1) { // silent } - throw new IllegalStateException("Cannot add " + managerGroup + " to " + group); + throw new IllegalStateException("Cannot add " + groupToAddDn + " to " + groupDn); } }