def validate_compound_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"]
ddl = DDL.new(pluginname, :data)
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)
DDL.validation_fail!(:PLMC41, "Data plugin '%{functionname}()' does not return a '%{value}' value", :error, {:functionname => functionname, :value => value})
end
end
end
end
end