This is an automated email from the ASF dual-hosted git repository.
adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new dfb564b7702 HDDS-13938. Extract builderFromProtobuf methods (#9303)
dfb564b7702 is described below
commit dfb564b77022efd27f0529007a77aa143ee468f0
Author: GUAN-HAO HUANG <[email protected]>
AuthorDate: Mon Nov 17 00:00:19 2025 +0800
HDDS-13938. Extract builderFromProtobuf methods (#9303)
---
.../hadoop/ozone/om/helpers/OmBucketArgs.java | 16 +++++++---
.../hadoop/ozone/om/helpers/OmBucketInfo.java | 37 +++++++++++++++++-----
.../hadoop/ozone/om/helpers/OmDirectoryInfo.java | 17 +++++++---
.../apache/hadoop/ozone/om/helpers/OmKeyInfo.java | 9 ++++--
.../ozone/om/helpers/OmMultipartKeyInfo.java | 19 ++++++++---
.../hadoop/ozone/om/helpers/OmVolumeArgs.java | 9 ++++--
.../hadoop/ozone/om/helpers/RepeatedOmKeyInfo.java | 8 +++--
.../hadoop/ozone/om/helpers/SnapshotInfo.java | 18 ++++++++---
.../hadoop/ozone/om/helpers/OmPrefixInfo.java | 17 +++++++---
9 files changed, 114 insertions(+), 36 deletions(-)
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketArgs.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketArgs.java
index f0c0c2deea6..356d9a3fcd8 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketArgs.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketArgs.java
@@ -335,10 +335,10 @@ public BucketArgs getProtobuf() {
}
/**
- * Parses BucketInfo protobuf and creates OmBucketArgs.
- * @return instance of OmBucketArgs
+ * Parses BucketInfo protobuf and creates OmBucketArgs Builder.
+ * @return Builder instance
*/
- public static OmBucketArgs getFromProtobuf(BucketArgs bucketArgs) {
+ public static Builder builderFromProtobuf(BucketArgs bucketArgs) {
final OmBucketArgs.Builder builder = newBuilder()
.setVolumeName(bucketArgs.getVolumeName())
.setBucketName(bucketArgs.getBucketName())
@@ -372,6 +372,14 @@ public static OmBucketArgs getFromProtobuf(BucketArgs
bucketArgs) {
OMPBHelper.convert(bucketArgs.getBekInfo()));
}
- return builder.build();
+ return builder;
+ }
+
+ /**
+ * Parses BucketInfo protobuf and creates OmBucketArgs.
+ * @return instance of OmBucketArgs
+ */
+ public static OmBucketArgs getFromProtobuf(BucketArgs bucketArgs) {
+ return builderFromProtobuf(bucketArgs).build();
}
}
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketInfo.java
index b10dcbb2822..c8c1a038139 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmBucketInfo.java
@@ -653,20 +653,21 @@ public BucketInfo getProtobuf() {
}
/**
- * Parses BucketInfo protobuf and creates OmBucketInfo.
+ * Parses BucketInfo protobuf and creates OmBucketInfo Builder.
* @param bucketInfo
- * @return instance of OmBucketInfo
+ * @return Builder instance
*/
- public static OmBucketInfo getFromProtobuf(BucketInfo bucketInfo) {
- return getFromProtobuf(bucketInfo, null);
+ public static Builder builderFromProtobuf(BucketInfo bucketInfo) {
+ return builderFromProtobuf(bucketInfo, null);
}
/**
- * Parses BucketInfo protobuf and creates OmBucketInfo.
+ * Parses BucketInfo protobuf and creates OmBucketInfo Builder.
* @param bucketInfo
- * @return instance of OmBucketInfo
+ * @param buckLayout
+ * @return Builder instance
*/
- public static OmBucketInfo getFromProtobuf(BucketInfo bucketInfo,
+ public static Builder builderFromProtobuf(BucketInfo bucketInfo,
BucketLayout buckLayout) {
Builder obib = OmBucketInfo.newBuilder()
.setVolumeName(bucketInfo.getVolumeName())
@@ -717,7 +718,27 @@ public static OmBucketInfo getFromProtobuf(BucketInfo
bucketInfo,
if (bucketInfo.hasOwner()) {
obib.setOwner(bucketInfo.getOwner());
}
- return obib.build();
+ return obib;
+ }
+
+ /**
+ * Parses BucketInfo protobuf and creates OmBucketInfo.
+ * @param bucketInfo
+ * @return instance of OmBucketInfo
+ */
+ public static OmBucketInfo getFromProtobuf(BucketInfo bucketInfo) {
+ return builderFromProtobuf(bucketInfo).build();
+ }
+
+ /**
+ * Parses BucketInfo protobuf and creates OmBucketInfo.
+ * @param bucketInfo
+ * @param buckLayout
+ * @return instance of OmBucketInfo
+ */
+ public static OmBucketInfo getFromProtobuf(BucketInfo bucketInfo,
+ BucketLayout buckLayout) {
+ return builderFromProtobuf(bucketInfo, buckLayout).build();
}
@Override
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmDirectoryInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmDirectoryInfo.java
index fcd5f4a7600..c0fc58f3537 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmDirectoryInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmDirectoryInfo.java
@@ -209,11 +209,11 @@ public DirectoryInfo getProtobuf() {
}
/**
- * Parses DirectoryInfo protobuf and creates OmPrefixInfo.
+ * Parses DirectoryInfo protobuf and creates OmDirectoryInfo Builder.
* @param dirInfo
- * @return instance of OmDirectoryInfo
+ * @return Builder instance
*/
- public static OmDirectoryInfo getFromProtobuf(DirectoryInfo dirInfo) {
+ public static Builder builderFromProtobuf(DirectoryInfo dirInfo) {
OmDirectoryInfo.Builder opib = OmDirectoryInfo.newBuilder()
.setName(dirInfo.getName())
.setCreationTime(dirInfo.getCreationTime())
@@ -235,7 +235,16 @@ public static OmDirectoryInfo
getFromProtobuf(DirectoryInfo dirInfo) {
if (dirInfo.hasOwnerName()) {
opib.setOwner(dirInfo.getOwnerName());
}
- return opib.build();
+ return opib;
+ }
+
+ /**
+ * Parses DirectoryInfo protobuf and creates OmDirectoryInfo.
+ * @param dirInfo
+ * @return instance of OmDirectoryInfo
+ */
+ public static OmDirectoryInfo getFromProtobuf(DirectoryInfo dirInfo) {
+ return builderFromProtobuf(dirInfo).build();
}
@Override
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java
index 0cc2a8ff4b9..232f0c82fe4 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyInfo.java
@@ -805,7 +805,7 @@ private KeyInfo getProtobuf(boolean ignorePipeline, String
fullKeyName,
return kb.build();
}
- public static OmKeyInfo getFromProtobuf(KeyInfo keyInfo) {
+ public static Builder builderFromProtobuf(KeyInfo keyInfo) {
if (keyInfo == null) {
return null;
}
@@ -858,7 +858,12 @@ public static OmKeyInfo getFromProtobuf(KeyInfo keyInfo) {
}
// not persisted to DB. FileName will be filtered out from keyName
builder.setFileName(OzoneFSUtils.getFileName(keyInfo.getKeyName()));
- return builder.build();
+ return builder;
+ }
+
+ public static OmKeyInfo getFromProtobuf(KeyInfo keyInfo) {
+ Builder builder = builderFromProtobuf(keyInfo);
+ return builder == null ? null : builder.build();
}
@Override
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmMultipartKeyInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmMultipartKeyInfo.java
index 30bd2864759..7bdf31485cb 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmMultipartKeyInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmMultipartKeyInfo.java
@@ -288,11 +288,11 @@ public OmMultipartKeyInfo build() {
}
/**
- * Construct OmMultipartInfo from MultipartKeyInfo proto object.
+ * Construct OmMultipartInfo Builder from MultipartKeyInfo proto object.
* @param multipartKeyInfo
- * @return OmMultipartKeyInfo
+ * @return Builder instance
*/
- public static OmMultipartKeyInfo getFromProto(
+ public static Builder builderFromProto(
MultipartKeyInfo multipartKeyInfo) {
final SortedMap<Integer, PartKeyInfo> list = new TreeMap<>();
multipartKeyInfo.getPartKeyInfoListList().forEach(partKeyInfo ->
@@ -311,8 +311,17 @@ public static OmMultipartKeyInfo getFromProto(
.setPartKeyInfoList(list)
.setObjectID(multipartKeyInfo.getObjectID())
.setUpdateID(multipartKeyInfo.getUpdateID())
- .setParentID(multipartKeyInfo.getParentID())
- .build();
+ .setParentID(multipartKeyInfo.getParentID());
+ }
+
+ /**
+ * Construct OmMultipartInfo from MultipartKeyInfo proto object.
+ * @param multipartKeyInfo
+ * @return OmMultipartKeyInfo
+ */
+ public static OmMultipartKeyInfo getFromProto(
+ MultipartKeyInfo multipartKeyInfo) {
+ return builderFromProto(multipartKeyInfo).build();
}
/**
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmVolumeArgs.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmVolumeArgs.java
index 435543d8717..bb5086d4521 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmVolumeArgs.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmVolumeArgs.java
@@ -403,7 +403,7 @@ public VolumeInfo getProtobuf() {
.build();
}
- public static OmVolumeArgs getFromProtobuf(VolumeInfo volInfo) {
+ public static Builder builderFromProtobuf(VolumeInfo volInfo) {
return new Builder(OzoneAclUtil.fromProtobuf(volInfo.getVolumeAclsList()))
.setAdminName(volInfo.getAdminName())
.setOwnerName(volInfo.getOwnerName())
@@ -416,8 +416,11 @@ public static OmVolumeArgs getFromProtobuf(VolumeInfo
volInfo) {
.setModificationTime(volInfo.getModificationTime())
.setObjectID(volInfo.getObjectID())
.setUpdateID(volInfo.getUpdateID())
- .setRefCount(volInfo.getRefCount())
- .build();
+ .setRefCount(volInfo.getRefCount());
+ }
+
+ public static OmVolumeArgs getFromProtobuf(VolumeInfo volInfo) {
+ return builderFromProtobuf(volInfo).build();
}
@Override
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/RepeatedOmKeyInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/RepeatedOmKeyInfo.java
index 90e38d8b878..0f10832114e 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/RepeatedOmKeyInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/RepeatedOmKeyInfo.java
@@ -109,7 +109,7 @@ public List<OmKeyInfo> cloneOmKeyInfoList() {
return new ArrayList<>(omKeyInfoList);
}
- public static RepeatedOmKeyInfo getFromProto(RepeatedKeyInfo
repeatedKeyInfo) {
+ public static Builder builderFromProto(RepeatedKeyInfo repeatedKeyInfo) {
List<OmKeyInfo> list = new ArrayList<>();
for (KeyInfo k : repeatedKeyInfo.getKeyInfoList()) {
list.add(OmKeyInfo.getFromProtobuf(k));
@@ -118,7 +118,11 @@ public static RepeatedOmKeyInfo
getFromProto(RepeatedKeyInfo repeatedKeyInfo) {
if (repeatedKeyInfo.hasBucketId()) {
builder.setBucketId(repeatedKeyInfo.getBucketId());
}
- return builder.build();
+ return builder;
+ }
+
+ public static RepeatedOmKeyInfo getFromProto(RepeatedKeyInfo
repeatedKeyInfo) {
+ return builderFromProto(repeatedKeyInfo).build();
}
/**
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/SnapshotInfo.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/SnapshotInfo.java
index a26422cd81f..2e899aeca6e 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/SnapshotInfo.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/SnapshotInfo.java
@@ -447,11 +447,11 @@ public OzoneManagerProtocolProtos.SnapshotInfo
getProtobuf() {
}
/**
- * Parses SnapshotInfo protobuf and creates SnapshotInfo.
+ * Parses SnapshotInfo protobuf and creates SnapshotInfo Builder.
* @param snapshotInfoProto protobuf
- * @return instance of SnapshotInfo
+ * @return Builder instance
*/
- public static SnapshotInfo getFromProtobuf(
+ public static Builder builderFromProtobuf(
OzoneManagerProtocolProtos.SnapshotInfo snapshotInfoProto) {
SnapshotInfo.Builder osib = SnapshotInfo.newBuilder()
@@ -527,7 +527,17 @@ public static SnapshotInfo getFromProtobuf(
osib.setSnapshotPath(snapshotInfoProto.getSnapshotPath())
.setDbTxSequenceNumber(snapshotInfoProto.getDbTxSequenceNumber());
- return osib.build();
+ return osib;
+ }
+
+ /**
+ * Parses SnapshotInfo protobuf and creates SnapshotInfo.
+ * @param snapshotInfoProto protobuf
+ * @return instance of SnapshotInfo
+ */
+ public static SnapshotInfo getFromProtobuf(
+ OzoneManagerProtocolProtos.SnapshotInfo snapshotInfoProto) {
+ return builderFromProtobuf(snapshotInfoProto).build();
}
@Override
diff --git
a/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/helpers/OmPrefixInfo.java
b/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/helpers/OmPrefixInfo.java
index 1644100f8fb..fe046bac0aa 100644
---
a/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/helpers/OmPrefixInfo.java
+++
b/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/helpers/OmPrefixInfo.java
@@ -174,11 +174,11 @@ public PersistedPrefixInfo getProtobuf() {
}
/**
- * Parses PrefixInfo protobuf and creates OmPrefixInfo.
+ * Parses PrefixInfo protobuf and creates OmPrefixInfo Builder.
* @param prefixInfo
- * @return instance of OmPrefixInfo
+ * @return Builder instance
*/
- public static OmPrefixInfo getFromProtobuf(PersistedPrefixInfo prefixInfo) {
+ public static Builder builderFromProtobuf(PersistedPrefixInfo prefixInfo) {
OmPrefixInfo.Builder opib = OmPrefixInfo.newBuilder()
.setName(prefixInfo.getName());
if (prefixInfo.getMetadataList() != null) {
@@ -196,7 +196,16 @@ public static OmPrefixInfo
getFromProtobuf(PersistedPrefixInfo prefixInfo) {
if (prefixInfo.hasUpdateID()) {
opib.setUpdateID(prefixInfo.getUpdateID());
}
- return opib.build();
+ return opib;
+ }
+
+ /**
+ * Parses PrefixInfo protobuf and creates OmPrefixInfo.
+ * @param prefixInfo
+ * @return instance of OmPrefixInfo
+ */
+ public static OmPrefixInfo getFromProtobuf(PersistedPrefixInfo prefixInfo) {
+ return builderFromProtobuf(prefixInfo).build();
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]