X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-spi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fspi%2FDefaultDOMRpcResult.java;h=a2955616865ef1ba2d617b5c15a517da034ef4c7;hp=269fd3537cc794402a5a4557065bcb6897fc1eea;hb=aaea3e9a92ae9d6fac04c4a065db4b35cbca9ed0;hpb=c64ef5f44f131976c20fcf8ced56627f81091838 diff --git a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/DefaultDOMRpcResult.java b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/DefaultDOMRpcResult.java index 269fd3537c..a295561686 100644 --- a/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/DefaultDOMRpcResult.java +++ b/opendaylight/md-sal/sal-dom-spi/src/main/java/org/opendaylight/controller/md/sal/dom/spi/DefaultDOMRpcResult.java @@ -7,14 +7,16 @@ */ package org.opendaylight.controller.md.sal.dom.spi; +import static java.util.Objects.requireNonNull; + import com.google.common.annotations.Beta; -import com.google.common.base.Preconditions; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.Serializable; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Objects; -import javax.annotation.Nonnull; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.md.sal.dom.api.DOMRpcResult; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.common.RpcError; @@ -22,11 +24,21 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; /** * Utility class implementing {@link DefaultDOMRpcResult}. + * @deprecated Use {@link org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult} instead. */ +@Deprecated(forRemoval = true) @Beta public final class DefaultDOMRpcResult implements DOMRpcResult, Immutable, Serializable { private static final long serialVersionUID = 1L; - private final Collection errors; + + // Flagged as "Non-transient non-serializable instance field" - the Collection is Serializable but the RpcError + // interface isn't. In lieu of changing the interface, we assume the implementation is Serializable which is + // reasonable since the only implementation that is actually used is from the RpcResultBuilder. + @SuppressFBWarnings("SE_BAD_FIELD") + private final Collection errors; + + // Unfortunately the NormalizedNode interface isn't Serializable but we assume the implementations are. + @SuppressFBWarnings("SE_BAD_FIELD") private final NormalizedNode result; private static Collection asCollection(final RpcError... errors) { @@ -46,20 +58,21 @@ public final class DefaultDOMRpcResult implements DOMRpcResult, Immutable, Seria } public DefaultDOMRpcResult(final NormalizedNode result) { - this(result, Collections.emptyList()); + this(result, Collections.emptyList()); } - public DefaultDOMRpcResult(final NormalizedNode result, final @Nonnull Collection errors) { + public DefaultDOMRpcResult(final NormalizedNode result, + final @NonNull Collection errors) { this.result = result; - this.errors = Preconditions.checkNotNull(errors); + this.errors = requireNonNull(errors); } - public DefaultDOMRpcResult(final @Nonnull Collection errors) { + public DefaultDOMRpcResult(final @NonNull Collection errors) { this(null, errors); } @Override - public @Nonnull Collection getErrors() { + public Collection getErrors() { return errors; }