diff --git a/src/program/config/common.lua b/src/program/config/common.lua index 067608adf8..9b6b7d513b 100644 --- a/src/program/config/common.lua +++ b/src/program/config/common.lua @@ -10,6 +10,7 @@ local file = require("lib.stream.file") local rpc = require("lib.yang.rpc") local yang = require("lib.yang.yang") local data = require("lib.yang.data") +local path_data = require("lib.yang.path_data") local path_resolver = require("lib.yang.path_data").resolver function show_usage(command, status, err_msg) @@ -38,7 +39,14 @@ end function data_parser(schema_name, path, is_config) local grammar = path_grammar(schema_name, path, is_config) - return data.data_parser_from_grammar(grammar) + local parser = data.data_parser_from_grammar(grammar) + local validator = path_data.consistency_checker_from_grammar(grammar) + return function (data) + local config = parser(data) + validator(config) + print("validated") + return config + end end function config_parser(schema_name, path)