External folder interface added
This commit is contained in:
parent
456e587aa0
commit
2d2ba1c58b
9
pom.xml
9
pom.xml
|
@ -44,19 +44,14 @@
|
|||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-core</artifactId>
|
||||
<version>2.8.11</version>
|
||||
<version>2.3.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-annotations</artifactId>
|
||||
<version>2.8.11</version>
|
||||
<version>2.3.0</version>
|
||||
</dependency>
|
||||
|
||||
<!-- <dependency> <groupId>org.gcube.common</groupId> <artifactId>gcube-jackson-core</artifactId>
|
||||
</dependency> <dependency> <groupId>org.gcube.common</groupId> <artifactId>gcube-jackson-annotations</artifactId>
|
||||
</dependency> -->
|
||||
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
|
||||
|
||||
<dependency>
|
||||
<groupId>org.gcube.core</groupId>
|
||||
<artifactId>common-clients</artifactId>
|
||||
|
|
|
@ -5,16 +5,24 @@ import static org.gcube.common.storagehub.model.NodeConstants.PARAMETERS_NAME;
|
|||
import org.gcube.common.storagehub.model.Metadata;
|
||||
import org.gcube.common.storagehub.model.annotations.Attribute;
|
||||
import org.gcube.common.storagehub.model.annotations.NodeAttribute;
|
||||
import org.gcube.common.storagehub.model.annotations.RootNode;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@RootNode("nthl:externalFolder")
|
||||
public class ExternalFolder extends FolderItem {
|
||||
|
||||
@Attribute("hl:pluginName")
|
||||
String plugin;
|
||||
String managedBy;
|
||||
|
||||
@JsonIgnore
|
||||
@NodeAttribute(value=PARAMETERS_NAME)
|
||||
Metadata metadata = new Metadata();
|
||||
Metadata connectionParameters = new Metadata();
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package org.gcube.common.storagehub.model.items;
|
|||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
@ -9,6 +10,7 @@ import lombok.Setter;
|
|||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(of = "id" )
|
||||
public abstract class RootItem {
|
||||
|
||||
//for service internal use
|
||||
|
|
|
@ -5,6 +5,8 @@ import org.gcube.common.storagehub.model.storages.StorageBackend;
|
|||
|
||||
public interface FolderManager {
|
||||
|
||||
FolderItem getRootFolder();
|
||||
|
||||
StorageBackend getStorageBackend();
|
||||
|
||||
boolean manageVersion();
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package org.gcube.common.storagehub.model.plugins;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.gcube.common.storagehub.model.exceptions.PluginInitializationException;
|
||||
import org.gcube.common.storagehub.model.items.FolderItem;
|
||||
|
||||
|
@ -9,7 +11,7 @@ public interface FolderManagerConnector {
|
|||
return this.getClass().getCanonicalName();
|
||||
}
|
||||
|
||||
FolderManager connect(FolderItem item, PluginParameters parameters) throws PluginInitializationException;
|
||||
FolderManager connect(FolderItem item, Map<String, Object> parameters) throws PluginInitializationException;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@ package org.gcube.common.storagehub.model.storages;
|
|||
import java.io.InputStream;
|
||||
|
||||
import org.gcube.common.storagehub.model.items.AbstractFileItem;
|
||||
import org.gcube.common.storagehub.model.items.nodes.Content;
|
||||
|
||||
public interface StorageBackend {
|
||||
|
||||
|
@ -12,16 +13,15 @@ public interface StorageBackend {
|
|||
|
||||
String onMove(AbstractFileItem item);
|
||||
|
||||
void onDelete(AbstractFileItem item);
|
||||
void onDelete(Content item);
|
||||
|
||||
MetaInfo upload(InputStream stream, String itemPath);
|
||||
MetaInfo upload(InputStream stream, String relativePath, String name);
|
||||
|
||||
InputStream download(Content item);
|
||||
|
||||
InputStream download(String id);
|
||||
|
||||
@Deprecated
|
||||
String getTotalSizeStored();
|
||||
@Deprecated
|
||||
String getTotalItemsCount();
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue