[#2] update examples for v0.3.0
This commit is contained in:
parent
8404943e0f
commit
8314427dfe
15 changed files with 136 additions and 63 deletions
2
pom.xml
2
pom.xml
|
@ -24,7 +24,7 @@
|
|||
<dependency>
|
||||
<groupId>info.frostfs.sdk</groupId>
|
||||
<artifactId>client</artifactId>
|
||||
<version>0.2.0</version>
|
||||
<version>0.3.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
|
@ -5,9 +5,14 @@ import info.frostfs.sdk.examples.NetmapExample;
|
|||
import info.frostfs.sdk.examples.ObjectExample;
|
||||
import info.frostfs.sdk.examples.PoolExample;
|
||||
import info.frostfs.sdk.jdo.ClientSettings;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
CallContext callContext = new CallContext(1, TimeUnit.SECONDS);
|
||||
|
||||
//INIT
|
||||
ClientSettings clientSettings = new ClientSettings(
|
||||
"KwHDAJ66o8FoLBjVbjP2sWBmgBMGjt7Vv4boA7xQrBoAYBE397Aq",
|
||||
|
@ -16,15 +21,15 @@ public class Main {
|
|||
FrostFSClient frostFSClient = new FrostFSClient(clientSettings);
|
||||
|
||||
//NETMAP
|
||||
NetmapExample.testNetmap(frostFSClient);
|
||||
NetmapExample.testNetmap(frostFSClient, callContext);
|
||||
|
||||
//CONTAINER
|
||||
ContainerExample.testContainer(frostFSClient);
|
||||
ContainerExample.testContainer(frostFSClient, callContext);
|
||||
|
||||
//OBJECT
|
||||
ObjectExample.testObject(frostFSClient);
|
||||
ObjectExample.testObject(frostFSClient, callContext);
|
||||
|
||||
//POOL
|
||||
PoolExample.testPool();
|
||||
PoolExample.initPool(callContext);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,26 +6,33 @@ import info.frostfs.sdk.dto.container.ContainerId;
|
|||
import info.frostfs.sdk.dto.netmap.PlacementPolicy;
|
||||
import info.frostfs.sdk.dto.netmap.Replica;
|
||||
import info.frostfs.sdk.enums.BasicAcl;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
import info.frostfs.sdk.jdo.parameters.container.PrmContainerCreate;
|
||||
import info.frostfs.sdk.jdo.parameters.container.PrmContainerDelete;
|
||||
import info.frostfs.sdk.jdo.parameters.container.PrmContainerGet;
|
||||
import info.frostfs.sdk.jdo.parameters.container.PrmContainerGetAll;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ContainerExample {
|
||||
|
||||
public static void testContainer(FrostFSClient frostFSClient) {
|
||||
public static void testContainer(FrostFSClient frostFSClient, CallContext callContext) {
|
||||
//LIST
|
||||
List<ContainerId> containerIds = frostFSClient.listContainers();
|
||||
List<ContainerId> containerIds = frostFSClient.listContainers(new PrmContainerGetAll(), callContext);
|
||||
|
||||
//CREATE
|
||||
var placementPolicy = new PlacementPolicy(new Replica[]{new Replica(1)}, true);
|
||||
var containerId = frostFSClient.createContainer(new Container(BasicAcl.PUBLIC_RW, placementPolicy));
|
||||
var prmContainerCreate = new PrmContainerCreate(new Container(BasicAcl.PUBLIC_RW, placementPolicy));
|
||||
var containerId = frostFSClient.createContainer(prmContainerCreate, callContext);
|
||||
|
||||
//GET
|
||||
var container = frostFSClient.getContainer(containerId);
|
||||
List<ContainerId> updateContainerIds = frostFSClient.listContainers();
|
||||
var prmContainerGet = new PrmContainerGet(containerId);
|
||||
var container = frostFSClient.getContainer(prmContainerGet, callContext);
|
||||
|
||||
//DELETE
|
||||
frostFSClient.deleteContainer(containerId);
|
||||
var prmContainerDelete = new PrmContainerDelete(containerId);
|
||||
frostFSClient.deleteContainer(prmContainerDelete, callContext);
|
||||
|
||||
List<ContainerId> updateContainerIds2 = frostFSClient.listContainers();
|
||||
List<ContainerId> updateContainerIds2 = frostFSClient.listContainers(new PrmContainerGetAll(), callContext);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,11 +2,12 @@ package info.frostfs.sdk.examples;
|
|||
|
||||
import info.frostfs.sdk.FrostFSClient;
|
||||
import info.frostfs.sdk.Helper;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
|
||||
public class NetmapExample {
|
||||
|
||||
public static void testNetmap(FrostFSClient frostFSClient) {
|
||||
var netmap = frostFSClient.getNetmapSnapshot();
|
||||
public static void testNetmap(FrostFSClient frostFSClient, CallContext callContext) {
|
||||
var netmap = frostFSClient.getNetmapSnapshot(callContext);
|
||||
System.out.printf("Epoch: %s%n", netmap.getEpoch());
|
||||
System.out.println("Nodes:");
|
||||
var i = 0;
|
||||
|
|
|
@ -11,8 +11,13 @@ import info.frostfs.sdk.dto.object.ObjectHeader;
|
|||
import info.frostfs.sdk.dto.object.ObjectId;
|
||||
import info.frostfs.sdk.enums.BasicAcl;
|
||||
import info.frostfs.sdk.enums.ObjectType;
|
||||
import info.frostfs.sdk.exceptions.ResponseFrostFSException;
|
||||
import info.frostfs.sdk.jdo.PutObjectParameters;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
import info.frostfs.sdk.jdo.parameters.container.PrmContainerCreate;
|
||||
import info.frostfs.sdk.jdo.parameters.container.PrmContainerDelete;
|
||||
import info.frostfs.sdk.jdo.parameters.object.PrmObjectClientCutPut;
|
||||
import info.frostfs.sdk.jdo.parameters.object.PrmObjectDelete;
|
||||
import info.frostfs.sdk.jdo.parameters.object.PrmObjectGet;
|
||||
import info.frostfs.sdk.jdo.parameters.object.PrmObjectSearch;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
|
@ -23,28 +28,34 @@ import static java.util.Objects.isNull;
|
|||
|
||||
public class ObjectExample {
|
||||
|
||||
public static void testObject(FrostFSClient frostFSClient) {
|
||||
public static void testObject(FrostFSClient frostFSClient, CallContext callContext) {
|
||||
var placementPolicy = new PlacementPolicy(new Replica[]{new Replica(1)}, true);
|
||||
var containerId = frostFSClient.createContainer(new Container(BasicAcl.PUBLIC_RW, placementPolicy));
|
||||
|
||||
//SEARCH
|
||||
var objects = frostFSClient.searchObjects(containerId);
|
||||
var prmContainerCreate = new PrmContainerCreate(new Container(BasicAcl.PUBLIC_RW, placementPolicy));
|
||||
prmContainerCreate.getContainer().getAttributes().put("__SYSTEM__DISABLE_HOMOMORPHIC_HASHING", "false");
|
||||
var containerId = frostFSClient.createContainer(prmContainerCreate, callContext);
|
||||
|
||||
//CREATE
|
||||
ObjectId oid;
|
||||
try (FileInputStream file = new FileInputStream("/home/ori/Desktop/DemoExample/cat.jpg")) {
|
||||
var attribute = new ObjectAttribute("Filename", "cat.jpg");
|
||||
var cat = new ObjectHeader(containerId, ObjectType.REGULAR, attribute);
|
||||
var params = new PutObjectParameters(cat, file, false, 1024);
|
||||
|
||||
oid = frostFSClient.putObject(params);
|
||||
var prmObjectPut = PrmObjectClientCutPut.builder()
|
||||
.objectHeader(cat)
|
||||
.payload(file)
|
||||
.bufferMaxSize(1024)
|
||||
.build();
|
||||
oid = frostFSClient.putClientCutObject(prmObjectPut, callContext);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
//SEARCH
|
||||
var prmObjectSearch = new PrmObjectSearch(containerId);
|
||||
var objects = frostFSClient.searchObjects(prmObjectSearch, callContext);
|
||||
|
||||
//GET
|
||||
var newObjects = frostFSClient.searchObjects(containerId);
|
||||
ObjectFrostFS object = frostFSClient.getObject(containerId, oid);
|
||||
var prmObjectGet = new PrmObjectGet(containerId, oid);
|
||||
ObjectFrostFS object = frostFSClient.getObject(prmObjectGet, callContext);
|
||||
|
||||
var reader = object.getObjectReader();
|
||||
var chunk = reader.readChunk();
|
||||
|
@ -63,17 +74,10 @@ public class ObjectExample {
|
|||
}
|
||||
|
||||
//DELETE
|
||||
newObjects = frostFSClient.searchObjects(containerId);
|
||||
ObjectFrostFS object3 = frostFSClient.getObject(containerId, newObjects.iterator().next());
|
||||
var prmObjectDelete = new PrmObjectDelete(containerId, oid);
|
||||
frostFSClient.deleteObject(prmObjectDelete, callContext);
|
||||
|
||||
|
||||
try {
|
||||
ObjectFrostFS object2 = frostFSClient.getObject(containerId, oid);
|
||||
} catch (ResponseFrostFSException exp) {
|
||||
System.out.println(exp.getMessage());
|
||||
}
|
||||
|
||||
|
||||
frostFSClient.deleteContainer(containerId);
|
||||
var prmContainerDelete = new PrmContainerDelete(containerId);
|
||||
frostFSClient.deleteContainer(prmContainerDelete, callContext);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,13 +5,15 @@ import info.frostfs.sdk.dto.netmap.PlacementPolicy;
|
|||
import info.frostfs.sdk.dto.netmap.Replica;
|
||||
import info.frostfs.sdk.enums.BasicAcl;
|
||||
import info.frostfs.sdk.jdo.ECDsa;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
import info.frostfs.sdk.jdo.parameters.container.PrmContainerCreate;
|
||||
import info.frostfs.sdk.jdo.pool.NodeParameters;
|
||||
import info.frostfs.sdk.jdo.pool.PoolInitParameters;
|
||||
import info.frostfs.sdk.pool.Pool;
|
||||
|
||||
public class PoolExample {
|
||||
|
||||
public static void testPool() {
|
||||
public static void initPool(CallContext callContext) {
|
||||
//Init
|
||||
var nodeParam1 = new NodeParameters(1, "http://ip1:8080", 1);
|
||||
var nodeParam2 = new NodeParameters(1, "http://ip2:8080", 1);
|
||||
|
@ -26,13 +28,15 @@ public class PoolExample {
|
|||
Pool pool = new Pool(initParameters);
|
||||
|
||||
//Dial (Required!)
|
||||
pool.dial();
|
||||
pool.dial(callContext);
|
||||
|
||||
//Operations
|
||||
var netmap = pool.getNetmapSnapshot();
|
||||
var netmap = pool.getNetmapSnapshot(callContext);
|
||||
|
||||
var placementPolicy = new PlacementPolicy(new Replica[]{new Replica(4)}, true);
|
||||
var containerId = pool.createContainer(new Container(BasicAcl.PUBLIC_RW, placementPolicy));
|
||||
var prmContainerCreate = new PrmContainerCreate(new Container(BasicAcl.PUBLIC_RW, placementPolicy));
|
||||
|
||||
var containerId = pool.createContainer(prmContainerCreate, callContext);
|
||||
//ETC
|
||||
}
|
||||
}
|
|
@ -5,11 +5,14 @@ import info.frostfs.sdk.dto.container.Container;
|
|||
import info.frostfs.sdk.dto.netmap.PlacementPolicy;
|
||||
import info.frostfs.sdk.dto.netmap.Replica;
|
||||
import info.frostfs.sdk.enums.BasicAcl;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
import info.frostfs.sdk.jdo.parameters.container.PrmContainerCreate;
|
||||
|
||||
public class ContainerCreate {
|
||||
|
||||
public static void example(FrostFSClient frostFSClient) {
|
||||
public static void example(FrostFSClient frostFSClient, CallContext callContext) {
|
||||
var placementPolicy = new PlacementPolicy(new Replica[]{new Replica(1)}, true);
|
||||
var containerId = frostFSClient.createContainer(new Container(BasicAcl.PUBLIC_RW, placementPolicy));
|
||||
var prmContainerCreate = new PrmContainerCreate(new Container(BasicAcl.PUBLIC_RW, placementPolicy));
|
||||
var containerId = frostFSClient.createContainer(prmContainerCreate, callContext);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,10 +2,13 @@ package info.frostfs.sdk.examples.container;
|
|||
|
||||
import info.frostfs.sdk.FrostFSClient;
|
||||
import info.frostfs.sdk.dto.container.ContainerId;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
import info.frostfs.sdk.jdo.parameters.container.PrmContainerDelete;
|
||||
|
||||
public class ContainerDelete {
|
||||
|
||||
public static void example(FrostFSClient frostFSClient, ContainerId containerId) {
|
||||
frostFSClient.deleteContainer(containerId);
|
||||
public static void example(FrostFSClient frostFSClient, ContainerId containerId, CallContext callContext) {
|
||||
var prmContainerDelete = new PrmContainerDelete(containerId);
|
||||
frostFSClient.deleteContainer(prmContainerDelete, callContext);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,10 +2,13 @@ package info.frostfs.sdk.examples.container;
|
|||
|
||||
import info.frostfs.sdk.FrostFSClient;
|
||||
import info.frostfs.sdk.dto.container.ContainerId;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
import info.frostfs.sdk.jdo.parameters.container.PrmContainerGet;
|
||||
|
||||
public class ContainerGet {
|
||||
|
||||
public static void example(FrostFSClient frostFSClient, ContainerId containerId) {
|
||||
var container = frostFSClient.getContainer(containerId);
|
||||
public static void example(FrostFSClient frostFSClient, ContainerId containerId, CallContext callContext) {
|
||||
var prmContainerGet = new PrmContainerGet(containerId);
|
||||
var container = frostFSClient.getContainer(prmContainerGet, callContext);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,12 +2,14 @@ package info.frostfs.sdk.examples.container;
|
|||
|
||||
import info.frostfs.sdk.FrostFSClient;
|
||||
import info.frostfs.sdk.dto.container.ContainerId;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
import info.frostfs.sdk.jdo.parameters.container.PrmContainerGetAll;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ContainerList {
|
||||
|
||||
public static void example(FrostFSClient frostFSClient) {
|
||||
List<ContainerId> containerIds = frostFSClient.listContainers();
|
||||
public static void example(FrostFSClient frostFSClient, CallContext callContext) {
|
||||
List<ContainerId> containerIds = frostFSClient.listContainers(new PrmContainerGetAll(), callContext);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,10 +3,14 @@ package info.frostfs.sdk.examples.object;
|
|||
import info.frostfs.sdk.FrostFSClient;
|
||||
import info.frostfs.sdk.dto.container.ContainerId;
|
||||
import info.frostfs.sdk.dto.object.ObjectId;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
import info.frostfs.sdk.jdo.parameters.object.PrmObjectDelete;
|
||||
|
||||
public class ObjectDelete {
|
||||
|
||||
public static void example(FrostFSClient frostFSClient, ContainerId containerId, ObjectId objectId) {
|
||||
frostFSClient.deleteObject(containerId, objectId);
|
||||
public static void example(FrostFSClient frostFSClient, ContainerId containerId, ObjectId objectId,
|
||||
CallContext callContext) {
|
||||
var prmObjectDelete = new PrmObjectDelete(containerId, objectId);
|
||||
frostFSClient.deleteObject(prmObjectDelete, callContext);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,14 +5,18 @@ import info.frostfs.sdk.FrostFSClient;
|
|||
import info.frostfs.sdk.dto.container.ContainerId;
|
||||
import info.frostfs.sdk.dto.object.ObjectFrostFS;
|
||||
import info.frostfs.sdk.dto.object.ObjectId;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
import info.frostfs.sdk.jdo.parameters.object.PrmObjectGet;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
|
||||
import static java.util.Objects.isNull;
|
||||
|
||||
public class ObjectGet {
|
||||
|
||||
public static void exampleStream(FrostFSClient frostFSClient, ContainerId containerId, ObjectId objectId) {
|
||||
ObjectFrostFS object = frostFSClient.getObject(containerId, objectId);
|
||||
public static void exampleStream(FrostFSClient frostFSClient, ContainerId containerId, ObjectId objectId,
|
||||
CallContext callContext) {
|
||||
var prmObjectGet = new PrmObjectGet(containerId, objectId);
|
||||
ObjectFrostFS object = frostFSClient.getObject(prmObjectGet, callContext);
|
||||
|
||||
var reader = object.getObjectReader();
|
||||
var chunk = reader.readChunk();
|
||||
|
@ -24,6 +28,5 @@ public class ObjectGet {
|
|||
chunk = object.getObjectReader().readChunk();
|
||||
length = ArrayUtils.isEmpty(chunk) ? 0 : chunk.length;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
package info.frostfs.sdk.examples.object;
|
||||
|
||||
import info.frostfs.sdk.FrostFSClient;
|
||||
import info.frostfs.sdk.dto.container.ContainerId;
|
||||
import info.frostfs.sdk.dto.object.ObjectAttribute;
|
||||
import info.frostfs.sdk.dto.object.ObjectHeader;
|
||||
import info.frostfs.sdk.dto.object.ObjectId;
|
||||
import info.frostfs.sdk.enums.ObjectType;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
import info.frostfs.sdk.jdo.parameters.object.PrmObjectPut;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class ObjectPut {
|
||||
|
||||
public static void exampleStream(FrostFSClient frostFSClient, ContainerId containerId, CallContext callContext) {
|
||||
ObjectId oid;
|
||||
try (FileInputStream file = new FileInputStream("/home/ori/Desktop/DemoExample/cat.jpg")) {
|
||||
var attribute = new ObjectAttribute("Filename", "cat.jpg");
|
||||
var cat = new ObjectHeader(containerId, ObjectType.REGULAR, attribute);
|
||||
var prmObjectPut = PrmObjectPut.builder().objectHeader(cat).build();
|
||||
var writer = frostFSClient.putObject(prmObjectPut, callContext);
|
||||
|
||||
writer.write(file.readAllBytes());
|
||||
oid = writer.complete();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,20 +6,21 @@ import info.frostfs.sdk.dto.object.ObjectAttribute;
|
|||
import info.frostfs.sdk.dto.object.ObjectHeader;
|
||||
import info.frostfs.sdk.dto.object.ObjectId;
|
||||
import info.frostfs.sdk.enums.ObjectType;
|
||||
import info.frostfs.sdk.jdo.PutObjectParameters;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
import info.frostfs.sdk.jdo.parameters.object.PrmObjectClientCutPut;
|
||||
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
public class ObjectCreate {
|
||||
public class ObjectPutClientCut {
|
||||
|
||||
public static void exampleStream(FrostFSClient frostFSClient, ContainerId containerId) {
|
||||
public static void exampleStream(FrostFSClient frostFSClient, ContainerId containerId, CallContext callContext) {
|
||||
ObjectId oid;
|
||||
try (FileInputStream file = new FileInputStream("/home/ori/Desktop/DemoExample/cat.jpg")) {
|
||||
var attribute = new ObjectAttribute("Filename", "cat.jpg");
|
||||
var cat = new ObjectHeader(containerId, ObjectType.REGULAR, attribute);
|
||||
var params = new PutObjectParameters(cat, file, false, 1024);
|
||||
|
||||
ObjectId objectId = frostFSClient.putObject(params);
|
||||
var prmObjectPut = PrmObjectClientCutPut.builder().objectHeader(cat).payload(file).bufferMaxSize(1024).build();
|
||||
oid = frostFSClient.putClientCutObject(prmObjectPut, callContext);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
|
@ -2,11 +2,13 @@ package info.frostfs.sdk.examples.object;
|
|||
|
||||
import info.frostfs.sdk.FrostFSClient;
|
||||
import info.frostfs.sdk.dto.container.ContainerId;
|
||||
import info.frostfs.sdk.dto.object.ObjectId;
|
||||
import info.frostfs.sdk.jdo.parameters.CallContext;
|
||||
import info.frostfs.sdk.jdo.parameters.object.PrmObjectSearch;
|
||||
|
||||
public class ObjectSearch {
|
||||
|
||||
public static void example(FrostFSClient frostFSClient, ContainerId containerId) {
|
||||
Iterable<ObjectId> objects = frostFSClient.searchObjects(containerId);
|
||||
public static void example(FrostFSClient frostFSClient, ContainerId containerId, CallContext callContext) {
|
||||
var prmObjectSearch = new PrmObjectSearch(containerId);
|
||||
var objects = frostFSClient.searchObjects(prmObjectSearch, callContext);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue