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;
},