_buildFilterForOperator: function()

in broker-plugins/logging-logback/src/main/java/resources/js/qpid/management/logger/LogViewerWidget.js [502:624]


                _buildFilterForOperator: function (operator, type, name, value) {
                    var f;
                    var val = this._getConditionValue(type, value);
                    switch (operator)
                    {
                        case '=':
                        {
                            f = new this._logsStore.Filter().eq(name, val);
                            break;
                        }
                        case '<>':
                        {
                            f = new this._logsStore.Filter().ne(name, val);
                            break;
                        }
                        case '>':
                        {
                            f = new this._logsStore.Filter().gt(name, val);
                            break;
                        }
                        case '<':
                        {
                            f = new this._logsStore.Filter().lt(name, val);
                            break;
                        }
                        case '>=':
                        {
                            f = new this._logsStore.Filter().gte(name, val);
                            break;
                        }
                        case '<=':
                        {
                            f = new this._logsStore.Filter().lte(name, val);
                            break;
                        }
                        case "contains":
                        {
                            if (typeof value === 'string' || value instanceof String)
                            {
                                f = new this._logsStore.Filter().match(name,
                                    new RegExp("^.*" + escapeRegExp(val) + ".*$", "i"));
                            }
                            break;
                        }
                        case "starts with":
                        {
                            if (typeof value === 'string' || value instanceof String)
                            {
                                f = new this._logsStore.Filter().match(name,
                                    new RegExp("^" + escapeRegExp(val) + ".*$", "i"));
                            }
                            break;
                        }
                        case "ends with":
                        {
                            if (typeof value === 'string' || value instanceof String)
                            {
                                f = new this._logsStore.Filter().match(name,
                                    new RegExp("^.*" + escapeRegExp(val) + "$", "i"));
                            }
                            break;
                        }
                        case "not contains":
                        {
                            if (typeof value === 'string' || value instanceof String)
                            {
                                f = new this._logsStore.Filter().match(name,
                                    new RegExp("^((?!" + escapeRegExp(val) + ").)*$", "i"));
                            }
                            break;
                        }
                        case "not starts with":
                        {
                            if (typeof value === 'string' || value instanceof String)
                            {
                                f = new this._logsStore.Filter().match(name,
                                    new RegExp("^(?!" + escapeRegExp(val) + ".*$).*$", "i"));
                            }
                            break;
                        }
                        case "not ends with":
                        {
                            if (typeof value === 'string' || value instanceof String)
                            {
                                f = new this._logsStore.Filter().match(name,
                                    new RegExp("^(.(?!" + escapeRegExp(val) + "$))+$", "i"));
                            }
                            break;
                        }
                        case "is null":
                        {
                            f = new this._logsStore.Filter().eq(name, null);
                            f = f.or(f, f.eq(name, undefined));
                            break;
                        }
                        case "is not null":
                        {
                            f = new this._logsStore.Filter().ne(name, null);
                            f = f.and(f, f.ne(name, undefined));
                            break;
                        }
                        case "in":
                        {
                            if (Array.isArray(val))
                            {
                                f = new this._logsStore.Filter()["in"](name, val);
                            }
                            break;
                        }
                        case "not in":
                        {
                            if (Array.isArray(val))
                            {
                                var fltr = function (data) {
                                    return val.indexOf(data[name]) === -1
                                };
                                f = new this._logsStore.Filter(fltr);
                            }
                            break;
                        }
                    }
                    return f;
                },