Skip to content

Commit b51fb88

Browse files
Issue 52614: AssertionError deleting site group from its details page (#343)
1 parent cc71f7f commit b51fb88

File tree

2 files changed

+13
-21
lines changed

2 files changed

+13
-21
lines changed

OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncAuditProvider.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.labkey.api.audit.AuditTypeProvider;
77
import org.labkey.api.audit.query.AbstractAuditDomainKind;
88
import org.labkey.api.audit.query.DefaultAuditTypeTable;
9+
import org.labkey.api.data.Container;
910
import org.labkey.api.data.ContainerFilter;
1011
import org.labkey.api.data.ContainerManager;
1112
import org.labkey.api.data.MutableColumnInfo;
@@ -121,7 +122,7 @@ public <K extends AuditTypeEvent> Class<K> getEventClass()
121122
public static void addAuditEntry(User user, int usersAdded, int usersRemoved, int usersInactivated, int usersModified, int groupsAdded, int groupsRemoved, int membershipsAdded, int membershipsRemoved)
122123
{
123124
String comment = String.format("LDAP Sync Summary: users added: %s, users removed: %s, users inactivated: %s, users modified: %s, groups added: %s, groups removed: %s, memberships added: %s, memberships removed: %s", usersAdded, usersRemoved, usersInactivated, usersModified, groupsAdded, groupsRemoved, membershipsAdded, membershipsRemoved);
124-
LdapSyncAuditProvider.LdapSyncAuditEvent event = new LdapSyncAuditProvider.LdapSyncAuditEvent(ContainerManager.getRoot().getId(), comment);
125+
LdapSyncAuditProvider.LdapSyncAuditEvent event = new LdapSyncAuditProvider.LdapSyncAuditEvent(ContainerManager.getRoot(), comment);
125126

126127
event.setTotalUsersAndGroupsAdded(usersAdded + groupsAdded);
127128
event.setTotalUsersAndGroupsRemoved(usersRemoved + groupsRemoved);
@@ -141,7 +142,7 @@ public LdapSyncAuditEvent()
141142
super();
142143
}
143144

144-
public LdapSyncAuditEvent(String container, String comment)
145+
public LdapSyncAuditEvent(Container container, String comment)
145146
{
146147
super(LdapSyncRunner.AUDIT_EVENT_TYPE, container, comment);
147148
}

OpenLdapSync/src/org/labkey/openldapsync/ldap/LdapSyncRunner.java

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import org.labkey.security.xml.GroupEnumType;
4141
import org.quartz.Job;
4242
import org.quartz.JobExecutionContext;
43-
import org.quartz.JobExecutionException;
4443

4544
import java.util.ArrayList;
4645
import java.util.Arrays;
@@ -99,7 +98,7 @@ public LdapSyncRunner()
9998
}
10099

101100
@Override
102-
public void execute(JobExecutionContext context) throws JobExecutionException
101+
public void execute(JobExecutionContext context)
103102
{
104103
try
105104
{
@@ -284,7 +283,7 @@ private void setUserActive(User u, boolean active, String reason)
284283
}
285284
}
286285

287-
private void handleGroupsRemovedFromLdap() throws LdapException
286+
private void handleGroupsRemovedFromLdap()
288287
{
289288
//find any previously synced groups that are no longer present
290289
List<LdapSyncModel> records = getPreviouslySyncedRecords(PrincipalType.GROUP);
@@ -522,7 +521,7 @@ private void deactivatePrincipalsPreviouslySynced()
522521
previouslySynced.remove(syncedUser);
523522
}
524523

525-
if (previouslySynced.size() > 0)
524+
if (!previouslySynced.isEmpty())
526525
{
527526
//TODO: determine whether to delete/deactive, etc?
528527
for (Integer userId : previouslySynced)
@@ -543,7 +542,7 @@ private void deactivatePrincipalsPreviouslySynced()
543542
previouslySyncedGroups.remove(syncedGroup);
544543
}
545544

546-
if (previouslySyncedGroups.size() > 0)
545+
if (!previouslySyncedGroups.isEmpty())
547546
{
548547
//TODO: determine whether to delete/deactive, etc
549548
for (Integer groupId : previouslySyncedGroups)
@@ -569,14 +568,7 @@ private void initPreviouslySyncedRecords()
569568
SimpleFilter filter = new SimpleFilter(FieldKey.fromString("provider"), _wrapper.getProviderName(), CompareType.EQUAL);
570569
TableSelector ts = new TableSelector(ti, filter, null);
571570

572-
ts.forEach(LdapSyncModel.class, new Selector.ForEachBlock<LdapSyncModel>()
573-
{
574-
@Override
575-
public void exec(LdapSyncModel model)
576-
{
577-
_syncedRecordMap.put(model.getSourceId(), model);
578-
}
579-
});
571+
ts.forEach(LdapSyncModel.class, model -> _syncedRecordMap.put(model.getSourceId(), model));
580572
}
581573

582574
private User createUser(LdapEntry ldapEntry) throws LdapException
@@ -702,7 +694,7 @@ private Group createGroup(String groupName)
702694

703695
if (!_previewOnly)
704696
{
705-
return SecurityManager.createGroup(getUserGroupContainer(), groupName);
697+
return SecurityManager.createGroup(getUserGroupContainer(), groupName, _settings.getLabKeyAdminUser());
706698
}
707699
else
708700
{
@@ -712,11 +704,11 @@ private Group createGroup(String groupName)
712704

713705
private void deleteGroup(Group g)
714706
{
715-
log("Deleteing LabKey group: " + g.getName());
707+
log("Deleting LabKey group: " + g.getName());
716708
_groupsRemoved++;
717709

718710
if (!_previewOnly)
719-
SecurityManager.deleteGroup(g);
711+
SecurityManager.deleteGroup(g, _settings.getLabKeyAdminUser());
720712
}
721713

722714
private void deleteUser(User u) throws LdapException
@@ -894,8 +886,7 @@ public void doSetup() throws Exception
894886
if (project == null)
895887
{
896888
project = ContainerManager.createContainer(ContainerManager.getRoot(), PROJECT_NAME, TestContext.get().getUser());
897-
Set<Module> modules = new HashSet<>();
898-
modules.addAll(project.getActiveModules());
889+
Set<Module> modules = new HashSet<>(project.getActiveModules());
899890
modules.add(ModuleLoader.getInstance().getModule(OpenLdapSyncModule.NAME));
900891
project.setActiveModules(modules);
901892
}
@@ -962,7 +953,7 @@ private void cleanUsersAndGroups() throws Exception
962953
_log.info("Cleaning up group: "+ groupName);
963954
Group g = GroupManager.getGroup(getProject(), groupName, GroupEnumType.PROJECT);
964955
if (g != null)
965-
SecurityManager.deleteGroup(g);
956+
SecurityManager.deleteGroup(g, TestContext.get().getUser());
966957
}
967958
}
968959

0 commit comments

Comments
 (0)