def validate_compount_filter(compound_filter)
compound_filter.each do |filter|
filter.each do |statement|
if statement["fstatement"]
functionname = statement["fstatement"]["name"]
pluginname = Data.pluginname(functionname)
value = statement["fstatement"]["value"]
begin
ddl = DDL.new(pluginname, :data)
rescue
raise DDLValidationError, "Could not find DDL for data plugin #{pluginname}, cannot use #{functionname}() in discovery"
end
statement["fstatement"]["params"] = Data.ddl_transform_input(ddl, statement["fstatement"]["params"])
Data.ddl_validate(ddl, statement["fstatement"]["params"])
unless value && Data.ddl_has_output?(ddl, value)
raise DDLValidationError, "#{functionname}() does not return a #{value} value"
end
end
end
end
end