X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=dom%2Fmdsal-dom-spi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fdom%2Fspi%2FSimpleDOMActionResult.java;h=68645e8d124f1656ea9ececb3f5c1daa2d63cfe2;hb=refs%2Fchanges%2F79%2F97379%2F60;hp=4dce0b71050027e0e1572691be8936bb162640e9;hpb=d3f47f41baba4d284a136cee08ab5411ccf6470d;p=mdsal.git diff --git a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/SimpleDOMActionResult.java b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/SimpleDOMActionResult.java index 4dce0b7105..68645e8d12 100644 --- a/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/SimpleDOMActionResult.java +++ b/dom/mdsal-dom-spi/src/main/java/org/opendaylight/mdsal/dom/spi/SimpleDOMActionResult.java @@ -20,7 +20,10 @@ import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.opendaylight.mdsal.dom.api.DOMActionResult; import org.opendaylight.yangtools.concepts.Immutable; +import org.opendaylight.yangtools.yang.common.ErrorTag; +import org.opendaylight.yangtools.yang.common.ErrorType; import org.opendaylight.yangtools.yang.common.RpcError; +import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; @Beta @@ -34,6 +37,11 @@ public final class SimpleDOMActionResult implements DOMActionResult, Immutable { this.output = output; } + public SimpleDOMActionResult(final ContainerNode output) { + errors = ImmutableList.of(); + this.output = requireNonNull(output); + } + @SuppressFBWarnings("NP_NULL_PARAM_DEREF_NONVIRTUAL") public SimpleDOMActionResult(final Collection errors) { this(errors, null); @@ -43,6 +51,12 @@ public final class SimpleDOMActionResult implements DOMActionResult, Immutable { this(errors, requireNonNull(output)); } + // As per RFC7950 page 80 (top) + public static SimpleDOMActionResult ofMalformedMessage(final Exception cause) { + return new SimpleDOMActionResult(ImmutableList.of(RpcResultBuilder.newError(ErrorType.RPC, + ErrorTag.MALFORMED_MESSAGE, cause.getMessage(), null, null, requireNonNull(cause))), null); + } + @Override public Collection getErrors() { return errors; @@ -61,4 +75,4 @@ public final class SimpleDOMActionResult implements DOMActionResult, Immutable { } return helper.toString(); } -} \ No newline at end of file +}