2019-01-10 12:23:59 +01:00
|
|
|
package org.gcube.storagehub;
|
|
|
|
|
2023-07-04 15:22:44 +02:00
|
|
|
import java.util.ArrayList;
|
2019-01-10 12:23:59 +01:00
|
|
|
import java.util.List;
|
|
|
|
import java.util.Map;
|
|
|
|
|
2021-11-26 16:38:20 +01:00
|
|
|
import org.gcube.common.storagehub.client.dsl.ContainerType;
|
2019-01-10 12:23:59 +01:00
|
|
|
import org.gcube.common.storagehub.client.dsl.FileContainer;
|
|
|
|
import org.gcube.common.storagehub.client.dsl.FolderContainer;
|
2019-12-19 16:21:01 +01:00
|
|
|
import org.gcube.common.storagehub.client.dsl.ItemContainer;
|
|
|
|
import org.gcube.common.storagehub.client.dsl.ListResolver;
|
2021-11-26 16:38:20 +01:00
|
|
|
import org.gcube.common.storagehub.client.dsl.ListResolverTyped;
|
2019-01-10 12:23:59 +01:00
|
|
|
import org.gcube.common.storagehub.client.dsl.OpenResolver;
|
|
|
|
import org.gcube.common.storagehub.model.Metadata;
|
2019-12-19 16:21:01 +01:00
|
|
|
import org.gcube.common.storagehub.model.items.Item;
|
2019-01-10 12:23:59 +01:00
|
|
|
import org.gcube.common.storagehub.model.service.Version;
|
2023-07-04 15:22:44 +02:00
|
|
|
import org.junit.Ignore;
|
2019-12-19 12:38:36 +01:00
|
|
|
import org.junit.Test;
|
2019-01-10 12:23:59 +01:00
|
|
|
import org.slf4j.Logger;
|
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
|
|
|
public class StorageHubManagementTest extends ContextTest {
|
|
|
|
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(StorageHubManagementTest.class);
|
|
|
|
|
2019-12-19 12:38:36 +01:00
|
|
|
@Test
|
2019-01-10 12:23:59 +01:00
|
|
|
public void myTest() throws Exception {
|
|
|
|
StorageHubManagement storageHubManagement = new StorageHubManagement();
|
|
|
|
FolderContainer contextFolder = storageHubManagement.getContextFolder();
|
|
|
|
logger.debug("Context Folder ID : {} - Name : {}", contextFolder.getId(), contextFolder.get().getName());
|
|
|
|
}
|
|
|
|
|
2019-12-19 12:38:36 +01:00
|
|
|
@Test
|
2019-01-10 12:23:59 +01:00
|
|
|
public void test() throws Exception {
|
|
|
|
StorageHubManagement storageHubManagement = new StorageHubManagement();
|
2021-12-07 14:31:30 +01:00
|
|
|
@SuppressWarnings("unused")
|
2021-11-26 16:38:20 +01:00
|
|
|
OpenResolver openResolver = storageHubManagement.storageHubClient.open("");
|
2019-01-10 12:23:59 +01:00
|
|
|
/*
|
|
|
|
openResolver.asItem().delete();
|
2023-07-04 15:22:44 +02:00
|
|
|
openResolver = storageHubManagement.storageHubClient.open("");
|
|
|
|
openResolver.asItem().delete();
|
|
|
|
openResolver = storageHubManagement.storageHubClient.open("");
|
|
|
|
openResolver.asItem().delete();
|
|
|
|
openResolver = storageHubManagement.storageHubClient.open("");
|
2019-01-10 12:23:59 +01:00
|
|
|
openResolver.asItem().delete();
|
|
|
|
*/
|
|
|
|
}
|
|
|
|
|
2023-07-04 15:22:44 +02:00
|
|
|
@Ignore
|
2021-11-26 16:38:20 +01:00
|
|
|
@Test
|
2019-01-10 12:23:59 +01:00
|
|
|
public void listFolders() throws Exception {
|
2023-07-04 15:22:44 +02:00
|
|
|
List<String> contexts = new ArrayList<>();
|
2023-07-14 11:01:14 +02:00
|
|
|
// contexts.add(GCUBE);
|
2023-07-04 15:22:44 +02:00
|
|
|
// contexts.add(DEVSEC);
|
|
|
|
// contexts.add(DEVVRE);
|
|
|
|
// contexts.add(DEVNEXT);
|
|
|
|
// contexts.add(NEXTNEXT);
|
|
|
|
|
|
|
|
for(String context : contexts) {
|
|
|
|
ContextTest.setContextByName(context);
|
|
|
|
|
|
|
|
StorageHubManagement storageHubManagement = new StorageHubManagement();
|
|
|
|
|
|
|
|
// FolderContainer root = storageHubManagement.getWorkspaceRoot();
|
|
|
|
// storageHubManagement.tree(root);
|
|
|
|
|
|
|
|
FolderContainer contextFolder = storageHubManagement.getContextFolder();
|
2023-07-14 11:01:14 +02:00
|
|
|
// storageHubManagement.tree(contextFolder);
|
2023-07-04 15:22:44 +02:00
|
|
|
|
|
|
|
ListResolverTyped listResolverTyped = contextFolder.list();
|
|
|
|
List<ItemContainer<? extends Item>> containers = listResolverTyped.includeHidden().getContainers();
|
|
|
|
for(ItemContainer<? extends Item> itemContainer : containers) {
|
|
|
|
Item item = itemContainer.get();
|
|
|
|
String name = item.getName();
|
|
|
|
ContainerType containerType = itemContainer.getType();
|
|
|
|
if(containerType==ContainerType.FOLDER) {
|
2023-07-11 10:54:18 +02:00
|
|
|
if(name.compareTo(".catalogue")==0 || name.compareTo("service-account-gcat")==0 || name.compareTo("service-account-grsf-publisher")==0) {
|
2023-07-04 15:22:44 +02:00
|
|
|
logger.info("Catalogue folder found");
|
|
|
|
storageHubManagement.tree((FolderContainer) itemContainer);
|
2023-07-14 11:01:14 +02:00
|
|
|
// if(false) {
|
|
|
|
// itemContainer.delete();
|
|
|
|
// }
|
2023-07-04 15:22:44 +02:00
|
|
|
}else {
|
|
|
|
storageHubManagement.logItem(itemContainer);
|
|
|
|
// storageHubManagement.tree((FolderContainer) itemContainer);
|
|
|
|
}
|
|
|
|
}
|
2021-11-26 16:38:20 +01:00
|
|
|
}
|
|
|
|
}
|
2019-01-10 12:23:59 +01:00
|
|
|
}
|
|
|
|
|
2019-12-19 16:21:01 +01:00
|
|
|
@Test
|
2019-01-10 12:23:59 +01:00
|
|
|
public void getFileInfo() throws Exception {
|
|
|
|
StorageHubManagement storageHubManagement = new StorageHubManagement();
|
2023-07-04 15:22:44 +02:00
|
|
|
String id = "";
|
2019-01-10 12:23:59 +01:00
|
|
|
OpenResolver openResolver = storageHubManagement.storageHubClient.open(id);
|
|
|
|
FileContainer fileContainer = (FileContainer) openResolver.asFile();
|
2023-07-04 15:22:44 +02:00
|
|
|
storageHubManagement.logItem(fileContainer);
|
2019-01-10 12:23:59 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
ListResolver listResolver = fileContainer.getAnchestors();
|
|
|
|
List<ItemContainer<? extends Item>> itemContainers = listResolver.getContainers();
|
|
|
|
for(ItemContainer<? extends Item> itemContainer : itemContainers) {
|
|
|
|
logger.debug("{}", itemContainer.get().getName());
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
|
|
|
|
Metadata metadata = fileContainer.get().getMetadata();
|
|
|
|
Map<String,Object> map = metadata.getMap();
|
|
|
|
logger.debug("{}", map);
|
|
|
|
|
|
|
|
List<Version> versions = fileContainer.getVersions();
|
|
|
|
for(Version version : versions){
|
|
|
|
logger.debug("Version {} {}", version.getId(), version.getName());
|
|
|
|
}
|
|
|
|
}
|
2019-12-19 16:21:01 +01:00
|
|
|
|
|
|
|
@Test
|
|
|
|
public void getFileInfoViaDirectoryListing() throws Exception {
|
|
|
|
StorageHubManagement storageHubManagement = new StorageHubManagement();
|
2023-07-04 15:22:44 +02:00
|
|
|
String id = "";
|
2019-12-19 16:21:01 +01:00
|
|
|
OpenResolver openResolver = storageHubManagement.storageHubClient.open(id);
|
|
|
|
FolderContainer folderContainer = (FolderContainer) openResolver.asFolder();
|
2023-07-04 15:22:44 +02:00
|
|
|
String filename = "";
|
2019-12-19 16:21:01 +01:00
|
|
|
ListResolver listResolver = folderContainer.findByName(filename);
|
|
|
|
List<ItemContainer<? extends Item>> itemContainers = listResolver.withMetadata().getContainers();
|
|
|
|
for(ItemContainer<? extends Item> itemContainer : itemContainers) {
|
|
|
|
|
|
|
|
FileContainer fileContainer = (FileContainer) itemContainer;
|
2023-07-04 15:22:44 +02:00
|
|
|
storageHubManagement.logItem(fileContainer);
|
2019-12-19 16:21:01 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
ListResolver listResolver = fileContainer.getAnchestors();
|
|
|
|
List<ItemContainer<? extends Item>> itemContainers = listResolver.getContainers();
|
|
|
|
for(ItemContainer<? extends Item> itemContainer : itemContainers) {
|
|
|
|
logger.debug("{}", itemContainer.get().getName());
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
|
|
|
|
Metadata metadata = fileContainer.get().getMetadata();
|
|
|
|
Map<String,Object> map = metadata.getMap();
|
|
|
|
logger.debug("{}", map);
|
|
|
|
|
|
|
|
List<Version> versions = fileContainer.getVersions();
|
|
|
|
for(Version version : versions){
|
|
|
|
logger.debug("Version {} {}", version.getId(), version.getName());
|
|
|
|
}
|
|
|
|
}
|
2023-07-04 15:22:44 +02:00
|
|
|
|
2019-12-19 16:21:01 +01:00
|
|
|
}
|
2019-01-10 12:23:59 +01:00
|
|
|
|
|
|
|
}
|