[#34] Provide input parameters for all grpc methods
Signed-off-by: Ori Bruk <o.bruk@yadro.com>
This commit is contained in:
parent
e9e9480701
commit
1ccb1f2013
61 changed files with 1411 additions and 625 deletions
|
@ -6,7 +6,7 @@
|
|||
<parent>
|
||||
<groupId>info.frostfs.sdk</groupId>
|
||||
<artifactId>frostfs-sdk-java</artifactId>
|
||||
<version>0.2.0</version>
|
||||
<version>0.3.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>models</artifactId>
|
||||
|
@ -21,17 +21,17 @@
|
|||
<dependency>
|
||||
<groupId>info.frostfs.sdk</groupId>
|
||||
<artifactId>cryptography</artifactId>
|
||||
<version>0.2.0</version>
|
||||
<version>0.3.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>info.frostfs.sdk</groupId>
|
||||
<artifactId>protos</artifactId>
|
||||
<version>0.2.0</version>
|
||||
<version>0.3.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>info.frostfs.sdk</groupId>
|
||||
<artifactId>exceptions</artifactId>
|
||||
<version>0.2.0</version>
|
||||
<version>0.3.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ public class AppConst {
|
|||
public static final int OBJECT_CHUNK_SIZE = 3 * MIB;
|
||||
public static final int SHA256_HASH_LENGTH = 32;
|
||||
public static final int UUID_BYTE_ARRAY_LENGTH = 16;
|
||||
public static final int DEFAULT_GRPC_TIMEOUT = 5;
|
||||
|
||||
private AppConst() {
|
||||
}
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
package info.frostfs.sdk.dto.object;
|
||||
|
||||
import frostfs.object.Types;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public class SplitInfo {
|
||||
private final Types.SplitInfo splitInfo;
|
||||
|
||||
private final SplitId splitId;
|
||||
|
||||
private final ObjectId link;
|
||||
|
||||
private final ObjectId lastPart;
|
||||
}
|
|
@ -13,7 +13,6 @@ import java.util.stream.Collectors;
|
|||
|
||||
import static info.frostfs.sdk.UuidExtension.asBytes;
|
||||
import static info.frostfs.sdk.UuidExtension.asUuid;
|
||||
import static info.frostfs.sdk.constants.AttributeConst.DISABLE_HOMOMORPHIC_HASHING_ATTRIBUTE;
|
||||
import static info.frostfs.sdk.constants.ErrorConst.UNKNOWN_ENUM_VALUE_TEMPLATE;
|
||||
import static java.util.Objects.isNull;
|
||||
|
||||
|
@ -31,7 +30,6 @@ public class ContainerMapper {
|
|||
.setPlacementPolicy(PlacementPolicyMapper.toGrpcMessage(container.getPlacementPolicy()))
|
||||
.setNonce(ByteString.copyFrom(asBytes(container.getNonce())));
|
||||
|
||||
container.getAttributes().putIfAbsent(DISABLE_HOMOMORPHIC_HASHING_ATTRIBUTE, Boolean.TRUE.toString());
|
||||
var attributes = container.getAttributes().entrySet().stream()
|
||||
.map(entry ->
|
||||
Types.Container.Attribute.newBuilder()
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
package info.frostfs.sdk.mappers.object;
|
||||
|
||||
import frostfs.object.Types;
|
||||
import info.frostfs.sdk.dto.object.ObjectId;
|
||||
import info.frostfs.sdk.dto.object.SplitId;
|
||||
import info.frostfs.sdk.dto.object.SplitInfo;
|
||||
|
||||
import static info.frostfs.sdk.UuidExtension.asUuid;
|
||||
import static java.util.Objects.isNull;
|
||||
|
||||
public class SplitInfoMapper {
|
||||
private SplitInfoMapper() {
|
||||
}
|
||||
|
||||
public static SplitInfo toModel(Types.SplitInfo splitInfo) {
|
||||
if (isNull(splitInfo) || splitInfo.getSerializedSize() == 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var splitId = new SplitId(asUuid(splitInfo.getSplitId().toByteArray()));
|
||||
var link = splitInfo.getLink().getSerializedSize() == 0
|
||||
? null
|
||||
: new ObjectId(splitInfo.getLink().getValue().toByteArray());
|
||||
var lastPart = splitInfo.getLastPart().getSerializedSize() == 0
|
||||
? null
|
||||
: new ObjectId(splitInfo.getLastPart().getValue().toByteArray());
|
||||
|
||||
return new SplitInfo(splitInfo, splitId, link, lastPart);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,61 @@
|
|||
package info.frostfs.sdk.mappers.object;
|
||||
|
||||
import com.google.protobuf.ByteString;
|
||||
import frostfs.object.Types;
|
||||
import info.frostfs.sdk.dto.object.ObjectId;
|
||||
import info.frostfs.sdk.dto.object.SplitId;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
public class SplitInfoMapperTest {
|
||||
@Test
|
||||
void toModel_successLastPart() {
|
||||
//Given
|
||||
var splitId = new SplitId();
|
||||
var objectId = new ObjectId("85orCLKSu3X1jGiTFmwmTUsBU88RBARNwuRwrEy5pyww");
|
||||
var splitInfo = Types.SplitInfo.newBuilder()
|
||||
.setSplitId(ByteString.copyFrom(splitId.toBinary()))
|
||||
.setLastPart(ObjectIdMapper.toGrpcMessage(objectId))
|
||||
.build();
|
||||
|
||||
//When
|
||||
var result = SplitInfoMapper.toModel(splitInfo);
|
||||
|
||||
//Then
|
||||
assertNotNull(result);
|
||||
assertNull(result.getLink());
|
||||
assertThat(result.getSplitInfo()).isEqualTo(splitInfo);
|
||||
assertThat(result.getSplitId().toBinary()).containsExactly(splitId.toBinary());
|
||||
assertEquals(objectId.getValue(), result.getLastPart().getValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
void toModel_successLink() {
|
||||
//Given
|
||||
var splitId = new SplitId();
|
||||
var objectId = new ObjectId("85orCLKSu3X1jGiTFmwmTUsBU88RBARNwuRwrEy5pyww");
|
||||
var splitInfo = Types.SplitInfo.newBuilder()
|
||||
.setSplitId(ByteString.copyFrom(splitId.toBinary()))
|
||||
.setLink(ObjectIdMapper.toGrpcMessage(objectId))
|
||||
.build();
|
||||
|
||||
//When
|
||||
var result = SplitInfoMapper.toModel(splitInfo);
|
||||
|
||||
//Then
|
||||
assertNotNull(result);
|
||||
assertNull(result.getLastPart());
|
||||
assertThat(result.getSplitInfo()).isEqualTo(splitInfo);
|
||||
assertThat(result.getSplitId().toBinary()).containsExactly(splitId.toBinary());
|
||||
assertEquals(objectId.getValue(), result.getLink().getValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
void toModel_null() {
|
||||
//When + Then
|
||||
assertNull(SplitInfoMapper.toModel(null));
|
||||
assertNull(SplitInfoMapper.toModel(Types.SplitInfo.getDefaultInstance()));
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue