|
|
|
@ -9,7 +9,6 @@ import java.util.Iterator;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Objects;
|
|
|
|
|
|
|
|
|
|
import javax.enterprise.context.RequestScoped;
|
|
|
|
|
import javax.inject.Inject;
|
|
|
|
|
import javax.jcr.Node;
|
|
|
|
|
import javax.jcr.PathNotFoundException;
|
|
|
|
@ -40,7 +39,6 @@ import org.apache.jackrabbit.api.security.user.QueryBuilder;
|
|
|
|
|
import org.apache.jackrabbit.api.security.user.User;
|
|
|
|
|
import org.apache.jackrabbit.commons.jackrabbit.authorization.AccessControlUtils;
|
|
|
|
|
import org.gcube.common.authorization.control.annotations.AuthorizationControl;
|
|
|
|
|
import org.gcube.common.authorization.library.AuthorizationEntry;
|
|
|
|
|
import org.gcube.common.authorization.library.provider.AuthorizationProvider;
|
|
|
|
|
import org.gcube.common.gxrest.response.outbound.GXOutboundErrorResponse;
|
|
|
|
|
import org.gcube.common.scope.api.ScopeProvider;
|
|
|
|
@ -200,11 +198,11 @@ public class GroupManager {
|
|
|
|
|
org.apache.jackrabbit.api.security.user.UserManager usrManager = session.getUserManager();
|
|
|
|
|
|
|
|
|
|
Authorizable authorizable = usrManager.getAuthorizable(group);
|
|
|
|
|
if (authorizable.isGroup())
|
|
|
|
|
if (authorizable!=null && authorizable.isGroup())
|
|
|
|
|
authorizable.remove();
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
Node node = groupHandler.getVreFolderNode(session, group);
|
|
|
|
|
Node node = groupHandler.getFolderNodeRelatedToGroup(session, group);
|
|
|
|
|
List<Item> workspaceItems = Utils.getItemList(node, Excludes.GET_ONLY_CONTENT, null, true, null);
|
|
|
|
|
trashHandler.removeOnlyNodesContent(session, workspaceItems);
|
|
|
|
|
node.removeSharedSet();
|
|
|
|
@ -242,7 +240,7 @@ public class GroupManager {
|
|
|
|
|
|
|
|
|
|
session = (JackrabbitSession) repository.getRepository().login(CredentialHandler.getAdminCredentials(context));
|
|
|
|
|
|
|
|
|
|
Node vreFolder = groupHandler.getVreFolderNode(session, groupId);
|
|
|
|
|
Node vreFolder = groupHandler.getFolderNodeRelatedToGroup(session, groupId);
|
|
|
|
|
String currentUser = AuthorizationProvider.instance.get().getClient().getId();
|
|
|
|
|
|
|
|
|
|
if (!isInfraManager() && !(isVREManager() && isValidGroupForContext(groupId) ))
|
|
|
|
@ -296,7 +294,7 @@ public class GroupManager {
|
|
|
|
|
Objects.nonNull(userId);
|
|
|
|
|
|
|
|
|
|
session = (JackrabbitSession) repository.getRepository().login(CredentialHandler.getAdminCredentials(context));
|
|
|
|
|
Node vreFolder = groupHandler.getVreFolderNode(session, groupId);
|
|
|
|
|
Node vreFolder = groupHandler.getFolderNodeRelatedToGroup(session, groupId);
|
|
|
|
|
String currentUser = AuthorizationProvider.instance.get().getClient().getId();
|
|
|
|
|
|
|
|
|
|
if (!isInfraManager() && !(isVREManager() && isValidGroupForContext(groupId) ))
|
|
|
|
@ -422,7 +420,7 @@ public class GroupManager {
|
|
|
|
|
boolean success = group.addMember(user);
|
|
|
|
|
session.save();
|
|
|
|
|
String folderName = group.getPrincipal().getName();
|
|
|
|
|
Node folder = groupHandler.getVreFolderNode(session, folderName);
|
|
|
|
|
Node folder = groupHandler.getFolderNodeRelatedToGroup(session, folderName);
|
|
|
|
|
|
|
|
|
|
String userPath = Paths.append(pathUtil.getVREsPath(user.getPrincipal().getName(), session), folderName).toPath();
|
|
|
|
|
log.debug("creating folder in user path {} from {}", userPath, folder.getPath() );
|
|
|
|
|