From 93816f7aeacd89785f083a82036bf6a7d90c316a Mon Sep 17 00:00:00 2001 From: Tomas Cere Date: Mon, 21 Dec 2015 13:36:43 +0100 Subject: [PATCH] BUG 2594 - PUT method returns wrong status on create Port of: https://git.opendaylight.org/gerrit/#/c/19009/ Change-Id: Ic225f9290c49fde29be3fbf7c51ef4cc36d8e532 Signed-off-by: Tomas Cere --- .../opendaylight/netconf/sal/restconf/impl/RestconfImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/opendaylight/restconf/sal-rest-connector/src/main/java/org/opendaylight/netconf/sal/restconf/impl/RestconfImpl.java b/opendaylight/restconf/sal-rest-connector/src/main/java/org/opendaylight/netconf/sal/restconf/impl/RestconfImpl.java index 18b02cfa34..bc62b3eff9 100644 --- a/opendaylight/restconf/sal-rest-connector/src/main/java/org/opendaylight/netconf/sal/restconf/impl/RestconfImpl.java +++ b/opendaylight/restconf/sal-rest-connector/src/main/java/org/opendaylight/netconf/sal/restconf/impl/RestconfImpl.java @@ -714,11 +714,14 @@ public class RestconfImpl implements RestconfService { * document the behavior). */ int tries = 2; + Status status = Status.NOT_MODIFIED; while(true) { try { if (mountPoint != null) { + status = broker.readConfigurationData(mountPoint, normalizedII) != null ? Status.OK : Status.CREATED; broker.commitConfigurationDataPut(mountPoint, normalizedII, payload.getData()).checkedGet(); } else { + status = broker.readConfigurationData(normalizedII) != null ? Status.OK : Status.CREATED; broker.commitConfigurationDataPut(controllerContext.getGlobalSchema(), normalizedII, payload.getData()).checkedGet(); } @@ -742,7 +745,7 @@ public class RestconfImpl implements RestconfService { } } - return Response.status(Status.OK).build(); + return Response.status(status).build(); } private static void validateTopLevelNodeName(final NormalizedNodeContext node, -- 2.36.6