From 47b01483c5daf825370061e5aa3f161cb6668154 Mon Sep 17 00:00:00 2001 From: Ivan Hrasko Date: Mon, 25 Jul 2016 12:12:07 +0200 Subject: [PATCH] Bug 5509 - HTTP Patch in Restconf doesn't support general absolute or relative target xpath - dependencies shared between XML and JSON PATCH implementations Change-Id: Ia649763379fab03019ddfd16eac564da576cb35b Signed-off-by: Ivan Hrasko --- .../sal/restconf/impl/PATCHEditOperation.java | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/restconf/sal-rest-connector/src/main/java/org/opendaylight/netconf/sal/restconf/impl/PATCHEditOperation.java b/restconf/sal-rest-connector/src/main/java/org/opendaylight/netconf/sal/restconf/impl/PATCHEditOperation.java index d7b4ebd1dd..da98193f23 100644 --- a/restconf/sal-rest-connector/src/main/java/org/opendaylight/netconf/sal/restconf/impl/PATCHEditOperation.java +++ b/restconf/sal-rest-connector/src/main/java/org/opendaylight/netconf/sal/restconf/impl/PATCHEditOperation.java @@ -8,6 +8,8 @@ package org.opendaylight.netconf.sal.restconf.impl; +import javax.annotation.Nonnull; + /** * * Each YANG patch edit specifies one edit operation on the target data @@ -22,5 +24,25 @@ public enum PATCHEditOperation { MERGE, MOVE, //delete+post REPLACE, //put - REMOVE //delete -} + REMOVE; //delete + + /** + * Not all patch operations support value node. Check if operation requires value or not. + * @param operation Name of the operation to be checked + * @return true if operation requires value, false otherwise + */ + public static final boolean isPatchOperationWithValue(@Nonnull final String operation) { + switch (PATCHEditOperation.valueOf(operation.toUpperCase())) { + case CREATE: + // fall through + case MERGE: + // fall through + case REPLACE: + // fall through + case INSERT: + return true; + default: + return false; + } + } +} \ No newline at end of file -- 2.36.6