bug on group creation fixed
This commit is contained in:
parent
8f725d46c0
commit
b9d62994f9
|
@ -146,7 +146,7 @@ public class GroupManager {
|
||||||
boolean success = this.internalAddUserToGroup(session, createdGroup, user);
|
boolean success = this.internalAddUserToGroup(session, createdGroup, user);
|
||||||
|
|
||||||
if (!success) log.warn("the user have not been added to the group");
|
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();
|
session.save();
|
||||||
}catch(StorageHubException se) {
|
}catch(StorageHubException se) {
|
||||||
log.error("error creating group {}", group, se);
|
log.error("error creating group {}", group, se);
|
||||||
|
@ -175,15 +175,18 @@ public class GroupManager {
|
||||||
session = (JackrabbitSession) repository.getRepository().login(CredentialHandler.getAdminCredentials(context));
|
session = (JackrabbitSession) repository.getRepository().login(CredentialHandler.getAdminCredentials(context));
|
||||||
|
|
||||||
org.apache.jackrabbit.api.security.user.UserManager usrManager = session.getUserManager();
|
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);
|
Authorizable authorizable = usrManager.getAuthorizable(group);
|
||||||
if (authorizable.isGroup())
|
if (authorizable.isGroup())
|
||||||
authorizable.remove();
|
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();
|
session.save();
|
||||||
}catch(RepositoryException re ){
|
}catch(RepositoryException re ){
|
||||||
log.error("jcr error creating item", 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 {
|
private boolean internalAddUserToGroup(JackrabbitSession session, Group group, User user) throws RepositoryException, StorageHubException {
|
||||||
boolean success = group.addMember(user);
|
boolean success = group.addMember(user);
|
||||||
|
session.save();
|
||||||
String folderName = group.getPrincipal().getName();
|
String folderName = group.getPrincipal().getName();
|
||||||
Node folder = getVreFolderNode(session, folderName);
|
Node folder = getVreFolderNode(session, folderName);
|
||||||
|
|
||||||
String userPath = String.format("%s%s/%s",Utils.getWorkspacePath(user.getPrincipal().getName()).toPath(),Constants.VRE_FOLDER_PARENT_NAME, 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);
|
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;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue