From fed022e21a206e6a9f23790c7a3d280e6d9156cf Mon Sep 17 00:00:00 2001 From: Ananth Suryanarayana Date: Mon, 13 Feb 2017 15:24:51 -0800 Subject: [PATCH] Call wrappers to retrieve integers and booleans from json objects ParseInteger() and ParseBoolean() tries to ignore errors and convert from other json forms into desired forms Change-Id: I88e109783f8302dc302cdae7252500ac9ccd1263 Partial-Bug: 1632470 --- ifmap_parser.py | 11 +++-------- type_parser.py | 2 -- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/ifmap_parser.py b/ifmap_parser.py index 9d8d118..86a0940 100644 --- a/ifmap_parser.py +++ b/ifmap_parser.py @@ -259,16 +259,11 @@ def getMetaParentName(meta): file.write(" if (parent.IsNull()) return true;\n") if info.ctypename == 'std::string': - file.write(indent + 'std::string var;\n') - file.write(indent + 'if (!autogen::ParseString(parent, &var)) return false;\n') - file.write(indent + 'data->data = var;\n') + file.write(indent + 'if (!autogen::ParseString(parent, &data->data)) return false;\n') elif info.ctypename == 'int': - file.write(indent + 'if (!parent.IsInt()) return false;\n') - file.write(indent + - 'data->data = parent.GetInt();\n') + file.write(indent + 'if (!autogen::ParseInteger(parent, &data->data)) return false;\n') elif info.ctypename == 'bool': - file.write(indent + 'if (!parent.IsBool()) return false;\n'); - file.write(indent + 'data->data = parent.GetBool();\n'); + file.write(indent + 'if (!autogen::ParseBoolean(parent, &data->data)) return false;\n') file.write(indent + 'return true;\n') file.write('}\n\n') diff --git a/type_parser.py b/type_parser.py index 822fef2..1701864 100644 --- a/type_parser.py +++ b/type_parser.py @@ -69,8 +69,6 @@ def GenerateJsonTypeParser(self, file, ctype): file.write(indent1 + '%s.push_back(var);\n' % member.membername) elif member.sequenceType == 'int': - file.write(indent1 + - 'if (!value_node[i].IsInt()) return false;\n') file.write(indent1 + 'int var;\n') file.write(indent1 + 'if (!ParseInteger(value_node[i], &var)) return false;\n')