From b504aaac922e244a24f708f82342e4ce14b29532 Mon Sep 17 00:00:00 2001 From: Evan Zeller Date: Thu, 30 Apr 2015 14:59:25 -0700 Subject: [PATCH] Bug 3010: Improve restconf error clarity. Change-Id: Ib54e96f1a70a187d940f843ed624f4a0f3c4ead0 Signed-off-by: Evan Zeller --- .../sal/rest/impl/JsonNormalizedNodeBodyReader.java | 2 ++ .../sal/rest/impl/XmlNormalizedNodeBodyReader.java | 2 ++ .../controller/sal/restconf/impl/ControllerContext.java | 5 +++++ 3 files changed, 9 insertions(+) diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/JsonNormalizedNodeBodyReader.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/JsonNormalizedNodeBodyReader.java index 4d8463adae..3be247a3bb 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/JsonNormalizedNodeBodyReader.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/JsonNormalizedNodeBodyReader.java @@ -104,6 +104,8 @@ public class JsonNormalizedNodeBodyReader extends AbstractIdentifierAwareJaxRsPr result = partialResult; } return new NormalizedNodeContext(path,result); + } catch (final RestconfDocumentedException e) { + throw e; } catch (final Exception e) { LOG.debug("Error parsing json input", e); diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/XmlNormalizedNodeBodyReader.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/XmlNormalizedNodeBodyReader.java index 74a9bd2d31..2a9c5bf190 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/XmlNormalizedNodeBodyReader.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/XmlNormalizedNodeBodyReader.java @@ -104,6 +104,8 @@ public class XmlNormalizedNodeBodyReader extends AbstractIdentifierAwareJaxRsPro final NormalizedNode result = parse(path,doc); return new NormalizedNodeContext(path,result); + } catch (final RestconfDocumentedException e){ + throw e; } catch (final Exception e) { LOG.debug("Error parsing xml input", e); diff --git a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/ControllerContext.java b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/ControllerContext.java index 2da58a3820..6cc62e859c 100644 --- a/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/ControllerContext.java +++ b/opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/restconf/impl/ControllerContext.java @@ -153,6 +153,11 @@ public class ControllerContext implements SchemaContextListener { final InstanceIdentifierBuilder builder = YangInstanceIdentifier.builder(); final Module latestModule = globalSchema.findModuleByName(startModule, null); + + if (latestModule == null) { + throw new RestconfDocumentedException("The module named '" + startModule + "' does not exist.", ErrorType.PROTOCOL, ErrorTag.UNKNOWN_ELEMENT); + } + final InstanceIdentifierContext iiWithSchemaNode = collectPathArguments(builder, pathArgs, latestModule, null, toMountPointIdentifier); -- 2.36.6