[MDSAL-617] Refactor DOMQueryPredicate for proper algebra Created: 28/Oct/20 Updated: 01/Nov/20 Resolved: 01/Nov/20 |
|
| Status: | Resolved |
| Project: | mdsal |
| Component/s: | DOM API, DOM runtime |
| Affects Version/s: | None |
| Fix Version/s: | 5.0.15, 7.0.2, 6.0.8 |
| Type: | Improvement | Priority: | Medium |
| Reporter: | Robert Varga | Assignee: | Robert Varga |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Description |
|
Current predicates do not quite work for complex queries. We have the makings of a DOMQueryPredicate.And in the fact that a query has a set of predicates and DOMQueryPredicate.Not, which is a negation. Generalize these concepts to have proper algebra and combination of predicates. As Predicate.Not is showing such CompositePredicates do not have a path – hence we'll have two immediate subclasses of DOMQueryPredicate to distinguish these two. It seems that we have to separate the combination of predicates with differing paths (lookup+match) and same paths (lookup + multiple matches). Target class hierarchy will be ... interesting, but should cover the algebra quite well. Also update DOMQueryMatcher to handle these changes. |