def self.ddl_validate(ddl, argument)
name = ddl.meta[:name]
query = ddl.entities[:data]
raise DDLValidationError, "No dataquery has been defined in the DDL for data plugin #{name}" unless query
input = query.fetch(:input, {})
output = query.fetch(:output, {})
raise DDLValidationError, "No output has been defined in the DDL for data plugin #{name}" if output.keys.empty?
if input[:query]
return true if argument.nil? && input[:query][:optional]
ddl.validate_input_argument(input, :query, argument)
else
raise("No data plugin argument was declared in the %s DDL but an input was supplied" % name) if argument
return true
end
end