You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
workspace-tree-widget/src/test/java/org/gcube/portlets/user/workspace/ShareFolder.java

79 lines
2.8 KiB
Java

package org.gcube.portlets.user.workspace;
import java.util.ArrayList;
import java.util.List;
import org.gcube.common.homelibary.model.items.type.WorkspaceItemType;
import org.gcube.common.homelibrary.home.HomeLibrary;
import org.gcube.common.homelibrary.home.workspace.Workspace;
import org.gcube.common.homelibrary.home.workspace.WorkspaceFolder;
import org.gcube.common.homelibrary.home.workspace.WorkspaceItem;
import org.gcube.common.homelibrary.home.workspace.WorkspaceSharedFolder;
import org.gcube.common.homelibrary.home.workspace.accessmanager.ACLType;
import org.gcube.common.homelibrary.home.workspace.folder.FolderItem;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.common.scope.impl.ScopeBean;
public class ShareFolder {
private static final String SUB_FOLDER_NAME = "subfoldermycourse";
private static final String FOLDER_NAME = "_mycourse";
public static String DEFAULT_SCOPE = "/gcube/devsec"; //DEV
// public static String DEFAULT_SCOPE = "/d4science.research-infrastructures.eu/gCubeApps";
public static String TEST_USER = "francesco.mangiacrapa";
// public static String FOLDER_ID = "4f0ff79d-3c1e-4d2a-bc74-6f731edcac98";
public static void main(String[] args) {
try {
// System.out.println("start");
// ScopeBean scope = new ScopeBean(DEFAULT_SCOPE);
ScopeProvider.instance.set(DEFAULT_SCOPE);
Workspace workspace = HomeLibrary
.getHomeManagerFactory()
.getHomeManager()
.getHome(TEST_USER)
.getWorkspace();
//
System.out.println("start get root");
WorkspaceItem theRoot = workspace.getRoot();
System.out.println("\n\n CREATING folder: "+FOLDER_NAME + "\n\n");
WorkspaceFolder myCourseFolder = workspace.createFolder(FOLDER_NAME, "", theRoot.getId());
System.out.println("\n\n FOLDER id: "+myCourseFolder.getId() +"\n\n");
System.out.println("\n\n CREATING sub folder: "+SUB_FOLDER_NAME+"\n\n");
WorkspaceFolder subFolderMyCourse = workspace.createFolder(SUB_FOLDER_NAME, "", myCourseFolder.getId());
System.out.println("\n\n SUB_FOLDER id: "+subFolderMyCourse.getId() +"\n\n");
List<String> users = new ArrayList<String>();
users.add("costantino.perciante");
WorkspaceSharedFolder subShareFolder = workspace.shareFolder(users, subFolderMyCourse.getId());
subShareFolder.setACL(users, ACLType.READ_ONLY);
System.out.println("\n\n SHARED SUB_FOLDER id: "+subShareFolder.getId() +"\n\n");
// WorkspaceSharedFolder sharedFolder = subFolderMyCourse.share(users);
// System.out.println("\n\n SHARED subFolderMyCourse id: "+sharedFolder.getId());
//
//
// WorkspaceFolder folder = (WorkspaceFolder) workspace.getItem(sharedFolder.getId());
//
// System.out.println("\n\n FINAL id: "+folder.getId());
System.out.println("end");
} catch (Exception e) {
e.printStackTrace();
}
}
}