bug on group creation fixed

This commit is contained in:
lucio 2020-01-29 17:14:44 +01:00
parent 8f725d46c0
commit b9d62994f9
1 changed files with 20 additions and 9 deletions

View File

@ -146,7 +146,7 @@ public class GroupManager {
boolean success = this.internalAddUserToGroup(session, createdGroup, user);
if (!success) log.warn("the user have not been added to the group");
else log.debug("the user have been added to the group");
session.save();
}catch(StorageHubException se) {
log.error("error creating group {}", group, se);
@ -175,15 +175,18 @@ public class GroupManager {
session = (JackrabbitSession) repository.getRepository().login(CredentialHandler.getAdminCredentials(context));
org.apache.jackrabbit.api.security.user.UserManager usrManager = session.getUserManager();
try {
getVreFolderNode(session, group).removeSharedSet();
}catch (Exception e) {
log.warn("vreFolder {} not found, removing only the group", group);
}
Authorizable authorizable = usrManager.getAuthorizable(group);
if (authorizable.isGroup())
authorizable.remove();
try {
Node node = getVreFolderNode(session, group);
node.removeSharedSet();
}catch (Exception e) {
log.warn("vreFolder {} not found, removing only the group", group);
}
session.save();
}catch(RepositoryException re ){
log.error("jcr error creating item", re);
@ -377,13 +380,21 @@ public class GroupManager {
private boolean internalAddUserToGroup(JackrabbitSession session, Group group, User user) throws RepositoryException, StorageHubException {
boolean success = group.addMember(user);
session.save();
String folderName = group.getPrincipal().getName();
Node folder = getVreFolderNode(session, folderName);
String userPath = String.format("%s%s/%s",Utils.getWorkspacePath(user.getPrincipal().getName()).toPath(),Constants.VRE_FOLDER_PARENT_NAME, folderName);
log.debug("creating folder in user path {}", userPath );
log.debug("creating folder in user path {} from {}", userPath, folder.getPath() );
session.getWorkspace().clone(session.getWorkspace().getName(), folder.getPath(),userPath , false);
try {
session.getNode(userPath);
log.debug("the new folder exists ({}) ", userPath );
}catch (PathNotFoundException e) {
log.debug("the new folder doesn't exists ({}) ", userPath );
}
return success;
}