storagehub-client-library/src/main/java/org/gcube/common/storagehub/client/dsl/StorageHubClient.java

63 lines
2.0 KiB
Java

package org.gcube.common.storagehub.client.dsl;
import org.gcube.common.storagehub.client.plugins.AbstractPlugin;
import org.gcube.common.storagehub.client.proxies.GroupManagerClient;
import org.gcube.common.storagehub.client.proxies.ItemManagerClient;
import org.gcube.common.storagehub.client.proxies.WorkspaceManagerClient;
import org.gcube.common.storagehub.model.exceptions.StorageHubException;
import org.gcube.common.storagehub.model.items.Item;
public class StorageHubClient {
private WorkspaceManagerClient wsClient = AbstractPlugin.workspace().build();
private ItemManagerClient itemclient = AbstractPlugin.item().build();
private GroupManagerClient groupClient = AbstractPlugin.groups().build();
public FolderContainer getWSRoot(){
return new FolderContainer(itemclient, wsClient.getWorkspace());
}
/* public OpenResolver open(Path relativePath) {
Item item = wsClient.retieveItemByPath(relativePath.toPath());
return new OpenResolver(item, itemclient);
}*/
public OpenResolver open(String id) throws StorageHubException{
Item item = itemclient.get(id);
return new OpenResolver(item, itemclient);
}
public FolderContainer openVREFolder() {
return new FolderContainer(itemclient, wsClient.getVreFolder());
}
public ListResolver getVREFolders() {
return new ListResolver((onlyType, includeHidden, excludes) -> wsClient.getVreFolders(excludes), itemclient);
}
public VREFolderManager getVreFolderManager() {
return new VREFolderManager(wsClient, groupClient);
}
public FolderContainer openTrash() {
return new FolderContainer(itemclient, wsClient.getTrashFolder());
}
public void emptyTrash() {
wsClient.emptyTrash();
}
public long getTotalVolume() {
return wsClient.getTotalVolume();
}
public long getTotalItemCount() {
return wsClient.getTotalItemCount();
}
public GenericItemContainer restoreThrashItem(String itemId) {
return new GenericItemContainer(itemclient, wsClient.restoreFromTrash(itemId));
}
}