}
// raise a flag to indicate refresh
needsRebuildAfterRunDone = true;
}
} else if (event instanceof BusinessGroupModifiedEvent) {
BusinessGroupModifiedEvent bgme = (BusinessGroupModifiedEvent) event;
Identity identity = uce.getIdentityEnvironment().getIdentity();
// only do something if this identity is affected by change and the action
// was adding or removing of the user
if (bgme.wasMyselfAdded(identity) || bgme.wasMyselfRemoved(identity)) {
// 1) reinitialize all group memberships
initGroupMemberships(identity);
// 2) reinitialize the users roles and rights
initUserRolesAndRights(identity);
// 3) rebuild toolboxes with link to groups and tools
removeAsListenerAndDispose(toolC);
toolC = initToolController(identity, null);
Component toolComp = (toolC == null ? null : toolC.getInitialComponent());
columnLayoutCtr.setCol2(toolComp);
needsRebuildAfterRunDone = true;
} else if (bgme.getCommand().equals(BusinessGroupModifiedEvent.GROUPRIGHTS_MODIFIED_EVENT)) {
// check if this affects a right group where the user does participate.
// if so, we need
// to rebuild the toolboxes
if (PersistenceHelper.listContainsObjectByKey(rightGroups, bgme.getModifiedGroupKey())) {
// 1) reinitialize all group memberships
initGroupMemberships(identity);
// 2) reinitialize the users roles and rights
initUserRolesAndRights(identity);
// 3) rebuild toolboxes with link to groups and tools