package org.gcube.storagehub; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.gcube.common.storagehub.client.dsl.ContainerType; import org.gcube.common.storagehub.client.dsl.FileContainer; import org.gcube.common.storagehub.client.dsl.FolderContainer; import org.gcube.common.storagehub.client.dsl.ItemContainer; import org.gcube.common.storagehub.client.dsl.ListResolver; import org.gcube.common.storagehub.client.dsl.ListResolverTyped; import org.gcube.common.storagehub.client.dsl.OpenResolver; import org.gcube.common.storagehub.model.Metadata; import org.gcube.common.storagehub.model.items.Item; import org.gcube.common.storagehub.model.service.Version; import org.junit.Ignore; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class StorageHubManagementTest extends ContextTest { private static final Logger logger = LoggerFactory.getLogger(StorageHubManagementTest.class); @Test public void myTest() throws Exception { StorageHubManagement storageHubManagement = new StorageHubManagement(); FolderContainer contextFolder = storageHubManagement.getContextFolder(); logger.debug("Context Folder ID : {} - Name : {}", contextFolder.getId(), contextFolder.get().getName()); } @Test public void test() throws Exception { StorageHubManagement storageHubManagement = new StorageHubManagement(); @SuppressWarnings("unused") OpenResolver openResolver = storageHubManagement.storageHubClient.open(""); /* openResolver.asItem().delete(); openResolver = storageHubManagement.storageHubClient.open(""); openResolver.asItem().delete(); openResolver = storageHubManagement.storageHubClient.open(""); openResolver.asItem().delete(); openResolver = storageHubManagement.storageHubClient.open(""); openResolver.asItem().delete(); */ } @Ignore @Test public void listFolders() throws Exception { List contexts = new ArrayList<>(); // contexts.add(GCUBE); // 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(); // storageHubManagement.tree(contextFolder); ListResolverTyped listResolverTyped = contextFolder.list(); List> containers = listResolverTyped.includeHidden().getContainers(); for(ItemContainer itemContainer : containers) { Item item = itemContainer.get(); String name = item.getName(); ContainerType containerType = itemContainer.getType(); if(containerType==ContainerType.FOLDER) { if(name.compareTo(".catalogue")==0 || name.compareTo("service-account-gcat")==0 || name.compareTo("service-account-grsf-publisher")==0) { logger.info("Catalogue folder found"); storageHubManagement.tree((FolderContainer) itemContainer); // if(false) { // itemContainer.delete(); // } }else { storageHubManagement.logItem(itemContainer); // storageHubManagement.tree((FolderContainer) itemContainer); } } } } } @Test public void getFileInfo() throws Exception { StorageHubManagement storageHubManagement = new StorageHubManagement(); String id = ""; OpenResolver openResolver = storageHubManagement.storageHubClient.open(id); FileContainer fileContainer = (FileContainer) openResolver.asFile(); storageHubManagement.logItem(fileContainer); /* ListResolver listResolver = fileContainer.getAnchestors(); List> itemContainers = listResolver.getContainers(); for(ItemContainer itemContainer : itemContainers) { logger.debug("{}", itemContainer.get().getName()); } */ Metadata metadata = fileContainer.get().getMetadata(); Map map = metadata.getMap(); logger.debug("{}", map); List versions = fileContainer.getVersions(); for(Version version : versions){ logger.debug("Version {} {}", version.getId(), version.getName()); } } @Test public void getFileInfoViaDirectoryListing() throws Exception { StorageHubManagement storageHubManagement = new StorageHubManagement(); String id = ""; OpenResolver openResolver = storageHubManagement.storageHubClient.open(id); FolderContainer folderContainer = (FolderContainer) openResolver.asFolder(); String filename = ""; ListResolver listResolver = folderContainer.findByName(filename); List> itemContainers = listResolver.withMetadata().getContainers(); for(ItemContainer itemContainer : itemContainers) { FileContainer fileContainer = (FileContainer) itemContainer; storageHubManagement.logItem(fileContainer); /* ListResolver listResolver = fileContainer.getAnchestors(); List> itemContainers = listResolver.getContainers(); for(ItemContainer itemContainer : itemContainers) { logger.debug("{}", itemContainer.get().getName()); } */ Metadata metadata = fileContainer.get().getMetadata(); Map map = metadata.getMap(); logger.debug("{}", map); List versions = fileContainer.getVersions(); for(Version version : versions){ logger.debug("Version {} {}", version.getId(), version.getName()); } } } }