Do no use Builder concept in RpcResultBuilder 51/99351/2
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 18 Jan 2022 08:55:29 +0000 (09:55 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 18 Jan 2022 09:42:17 +0000 (10:42 +0100)
The concept as such will be removed in a future release, make sure we do
not use it internally.

JIRA: YANGTOOLS-1328
Change-Id: Ic9a128a9ae62b97e9346630f53fe822050a2b5b9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/RpcResultBuilder.java
common/yang-common/src/test/java/org/opendaylight/yangtools/yang/common/RpcResultBuilderTest.java

index 6b0cc3fb2d607f456ea55f225c78c8441b883c9f..3f87698bee8aad20aa9da26ecb3ad17604c163ae 100644 (file)
@@ -15,7 +15,7 @@ import com.google.common.util.concurrent.Futures;
 import java.io.Serializable;
 import java.util.Collection;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.concepts.Builder;
+import org.opendaylight.yangtools.concepts.Mutable;
 
 /**
  * A builder for creating RpcResult instances.
@@ -24,7 +24,7 @@ import org.opendaylight.yangtools.concepts.Builder;
  *
  * @param <T> the result value type
  */
-public final class RpcResultBuilder<T> implements Builder<RpcResult<T>> {
+public final class RpcResultBuilder<T> implements Mutable {
 
     private static class RpcResultImpl<T> implements RpcResult<T>, Serializable {
         private static final long serialVersionUID = 1L;
@@ -152,15 +152,6 @@ public final class RpcResultBuilder<T> implements Builder<RpcResult<T>> {
         return new RpcResultBuilder<>(true, result);
     }
 
-    /**
-     * Returns a builder for a successful result.
-     *
-     * @param builder builder for the result value
-     */
-    public static <T> @NonNull RpcResultBuilder<T> success(final Builder<T> builder) {
-        return success(builder.build());
-    }
-
     /**
      * Returns a builder for a failed result.
      */
@@ -266,15 +257,6 @@ public final class RpcResultBuilder<T> implements Builder<RpcResult<T>> {
         return this;
     }
 
-    /**
-     * Sets the value of the result.
-     *
-     * @param builder builder for the result value
-     */
-    public @NonNull RpcResultBuilder<T> withResult(final Builder<T> builder) {
-        return withResult(builder.build());
-    }
-
     private void addError(final ErrorSeverity severity, final ErrorType errorType, final ErrorTag tag,
             final String message, final String applicationTag, final String info, final Throwable cause) {
         addError(new RpcErrorImpl(severity, errorType, tag != null ? tag : ErrorTag.OPERATION_FAILED, message,
@@ -401,8 +383,12 @@ public final class RpcResultBuilder<T> implements Builder<RpcResult<T>> {
         return this;
     }
 
-    @Override
-    public RpcResult<T> build() {
+    /**
+     * Build the resulting {@link RpcResult}.
+     *
+     * @return An RpcResult instance
+     */
+    public @NonNull RpcResult<T> build() {
         return new RpcResultImpl<>(successful, result, errors != null ? errors.build() : ImmutableList.of());
     }
 
index ad600d87eaec58901eb670ddea3939720ef1f884..c4a057db4dee93db5b204a74ff2ff3a597ddf596 100644 (file)
@@ -120,14 +120,9 @@ public class RpcResultBuilderTest {
             "info", null);
         rpcResultBuilder.withRpcError(rpcErrorShort);
         final RpcResult<Object> rpcResult = rpcResultBuilder.build();
-        final RpcResultBuilder<RpcResult<Object>> rpcResultRpcResultBuilder1 = RpcResultBuilder.success(
-                rpcResultBuilder);
-        final RpcResultBuilder<RpcResult<Object>> rpcResultRpcResultBuilder2 = rpcResultRpcResultBuilder1.withResult(
-                rpcResultBuilder);
 
         assertEquals(rpcErrorShort.getErrorType(), rpcErrorShortWarn.getErrorType());
         assertEquals(rpcErrorLong.getErrorType(), rpcErrorLongWarn.getErrorType());
-        assertEquals(rpcResultRpcResultBuilder1, rpcResultRpcResultBuilder2);
         assertNotNull(rpcResultBuilder.buildFuture());
         assertEquals("RpcResult [successful=true, result=null, errors=[RpcError [message=msg, severity=ERROR, "
                 + "errorType=RPC, tag=tag, applicationTag=null, info=null, cause=null]]]", rpcResult.toString());