Filter manager system and method of managing filter expressions
A filter manager system has a predicate combiner for handling grouping of predicates with brackets into one or more predicate groups based on a user input. The system also has an operator handler for handling one or more operators between the predicate groups to compose a filter. A filter user interface of the system receives the user input and presents the predicates and the operators to the user based on information from the predicate combiner and the operator handler.
1 . A filter manager system comprising:
a predicate combiner for handling grouping of predicates with brackets into one or more predicate groups based on a user input;
an operator handler for handling one or more operators between the predicate groups to compose a filter; and
a filter user interface for receiving the user input and for presenting the predicates and the operators to the user based on information from the predicate combiner and the operator handler.
2 . The filter manager system as claimed in claim 1 , wherein the predicate combiner comprises:
a predicate selector for selecting multiple predicates for determining the predicate groups based on the user input;
a bracket handler for automatically adding a set of brackets to each of the predicate groups.
3 . The filter manager system as claimed in claim 2 , wherein the predicate combiner further comprises:
a predicate arranger for arranging the predicates such that the grouped predicates are ordered together.
4 . The filter manager system as claimed in claim 1 , wherein the operator handler has an AND/OR switch for allowing the user to switch operators between AND and OR.
5 . The filter manager system as claimed in claim 1 further comprising:
a basic predicate handler for handling creation and modification of the predicates to provide the predicates to the predicate combiner.
6 . The filter manager system as claimed in claim 1 , wherein the filter user interface has a command generator for generating a command describing the composed filter.
7 . The filter manager system as claimed in claim 6 further comprising:
a filter expression generator for generating a filter expression based on the command describing the composed filter.
8 . The filter manager system as claimed in claim 7 , wherein the filter expression generator comprises:
a filter representation builder for building from the command a filter representation that is understandable by a server that executes a report using the filter expression; and
a filter adder for adding the filter representation to a query that is to be sent to the server.
9 . The filter manager system as claimed in claim 8 , wherein the filter expression generator further comprises:
a filter translator for translating the filter representation in the query into a filter expression that the server is capable of handling.
10 . The filter manager system as claimed in claim 8 , wherein the filter user interface has a filter text generator for generating a human readable text of the predicates based on the filter representation.
11 . A filter manager system comprising:
a basic filter manager for handling one or more basic filter predicates, the basic filter manager providing a simple filter user interface for a user to manipulate the basic filter predicates;
a combine filter manager for handling grouping of one or more basic filter predicates to define one or more combined filters, the combine filter manager providing a combine filter user interface for the user to define the combined filters; and
an operator handler for handling one or more operators between the combined filter to generate a filter expression for the combined filter.
12 . The filter manager system as claimed in claim 11 , wherein the combine filter manager has a bracket handler to add a set of brackets to each of the combined filters.
13 . A combine filter user interface comprising:
a dialog for presenting a list of predicates for allowing a user to select one or more predicates or predicate groups;
a combine filter control for combining the selected predicates as a predicate group, and presenting the predicate group with a set of brackets; and
an operator selector for allowing the user to select an operator between predicates or predicate groups.
14 . The combine filter user interface as claimed in claim 13 , wherein the dialog allows the user to delete one or more selected predicates or predicate groups.
15 . The combine filter user interface as claimed in claim 13 , wherein
the dialog allows the user to select one or more predicate groups for ungrouping; and
the combine filter control performs ungrouping of the selected predicate groups by removing the brackets, and presents predicates of the ungrouped predicate groups individually.
16 . A method of managing a filter expression, the method comprising steps of:
presenting a user predicates for selection;
receiving a user input of selected predicates;
grouping the selected predicates with brackets into one or more predicate groups;
providing one or more operators between the predicate groups to define a composed filter; and
presenting the user the composed filter with the brackets and the operators.
17 . The method as claimed in claim 16 , wherein the grouping step comprises the step of automatically adding a set of brackets to each of the predicate groups.
18 . The method as claimed in claim 16 , wherein the grouping step having the step of arranging the predicates such that the grouped predicates are ordered together.
19 . The method as claimed in claim 16 , wherein the operator providing step having the step of allowing the user to switch operators between AND and OR.
20 . The method as claimed in claim 16 further comprising the steps of:
providing a predicate manager user interface; and
allowing creation and modification of one or more predicates.
21 . The method as claimed in claim 16 further comprising the step of:
generating a command describing the composed filter.
22 . The method as claimed in claim 21 further comprising the step of:
generating a filter expression based on the command describing the composed filter.
23 . The method as claimed in claim 22 , wherein the filter expression generating step comprises the steps of:
building from the command a filter representation that is understandable by a server that executes a report using the filter expression;
adding the filter representation to a query that is to be sent to the server; and
translating the filter representation in the query into a filter expression that the server is capable of handling.
24 . The method as claimed in claim 16 further comprising the steps of:
sending the query with the filter expression to a server to execute the query to generate a report; and
returning the report to the user with the filter representation in a user readable format.
25 . A computer readable medium storing computer readable code for use in the execution in a computer of a method of managing a filter expression, the method comprising the steps of:
presenting a user predicates for selection;
receiving a user input of selected predicates;
grouping the selected predicates with brackets into one or more predicate groups;
providing one or more operators between the predicate groups to define a composed filter; and
presenting the user the composed filter with the brackets and the operators.
26 . A propagated signal carrier containing computer executable instructions and/or statements that can be read and executed by a computer, the computer executable instructions being used to execute a method of managing a filter expression, the method comprising the steps of:
presenting a user predicates for selection;
receiving a user input of selected predicates;
grouping the selected predicates with brackets into one or more predicate groups;
providing one or more operators between the predicate groups to define a composed filter; and
presenting the user the composed filter with the brackets and the operators.