Ejemplo n.º 1
0
        public static QueryProcessResult Validate(string query)
        {
            if (String.IsNullOrEmpty(query))
            {
                return new QueryProcessResult {
                           IsValid = true
                }
            }
            ;

            GroupNode result;

            try {
                var parser = new QueryParser();

                result = parser.Parse(query);
            } catch (Exception ex) {
                return(new QueryProcessResult {
                    Message = ex.Message
                });
            }

            var validator = new QueryProcessorVisitor(_freeFields);

            result.Accept(validator);

            return(new QueryProcessResult {
                IsValid = true,
                UsesPremiumFeatures = validator.UsesPremiumFeatures
            });
        }
    }
        public static QueryProcessResult Process(string query)
        {
            if (String.IsNullOrEmpty(query))
            {
                return new QueryProcessResult {
                           IsValid = true
                }
            }
            ;

            GroupNode result;

            try {
                var parser = new QueryParser();

                result = parser.Parse(query);
            } catch (Exception ex) {
                return(new QueryProcessResult {
                    Message = ex.Message
                });
            }

            var validator = new QueryProcessorVisitor(new HashSet <string> {
                "hidden", "fixed", "type"
            });

            result.Accept(validator);

            string expandedQuery = validator.UsesDataFields ? GenerateQueryVisitor.Run(result) : query;

            return(new QueryProcessResult {
                IsValid = true, UsesPremiumFeatures = validator.UsesPremiumFeatures, ExpandedQuery = expandedQuery
            });
        }
Ejemplo n.º 3
0
        public static QueryProcessResult Process(string query)
        {
            if (String.IsNullOrWhiteSpace(query))
            {
                return new QueryProcessResult {
                           IsValid = true
                }
            }
            ;

            GroupNode result;

            try {
                var parser = new QueryParser();

                result = parser.Parse(query);
            } catch (Exception ex) {
                return(new QueryProcessResult {
                    Message = ex.Message
                });
            }

            var validator = new QueryProcessorVisitor(_freeFields);

            result.Accept(validator);

            var expandedQuery = validator.UsesDataFields ? GenerateQueryVisitor.Run(result) : query;

            return(new QueryProcessResult {
                IsValid = true,
                UsesPremiumFeatures = validator.UsesPremiumFeatures,
                ExpandedQuery = expandedQuery
            });
        }