Commit Graph

86 Commits

Author SHA1 Message Date
Paul Beckingham
8a43f4902d libhsared: migrating from local to libshared 2018-05-13 20:26:34 -04:00
Paul Beckingham
14f1002680 Context: Eliminated filter timer 2018-05-13 20:20:22 -04:00
Paul Beckingham
820cc4b2e5 DOM: Demoted from class to functions
- The DOM object contains no members, and only two (effectively) const methods.
  Demoting DOM to function calls reduces coupling with Context.
2016-02-03 21:54:37 -05:00
Paul Beckingham
3b82be9c16 Filter: C++11 2016-02-03 21:12:18 -05:00
Paul Beckingham
406f77efe2 Bug: Fixed bug where 'rc.allow.empty.filter' was not behaving properly
- Thanks to Scott Kostyshak.
2016-01-23 15:22:25 -05:00
Paul Beckingham
7c5ddee4e5 Filter: Removed obsolete method 2016-01-09 22:34:54 -05:00
Paul Beckingham
641d232dea Copyright: Updated to 2016 2015-12-31 15:06:43 -05:00
Paul Beckingham
5c8b7148b4 Task: Moved include to top of list, per flint++ recommendation 2015-11-01 19:59:10 -05:00
Paul Beckingham
c64c6ee870 Filter: Removed unused ::hasModifications and ::hasMiscellaneous methods 2015-10-28 20:23:32 -04:00
Paul Beckingham
b4077775c2 Filter: When GC is turned off, disable the query shortcuts, which do not apply. 2015-09-19 07:49:55 -04:00
Tomas Babej
d210c6d07f debug: Display parser trees at level 2, eval output at 3 2015-09-07 12:22:35 -04:00
Paul Beckingham
ec0728ff8e Filter: Implemented ::hasMiscellaneous 2015-08-28 07:24:50 -04:00
Paul Beckingham
54fecafcec Context: Eliminated 'readcmd' and 'writcmd' entities 2015-08-22 11:09:29 -04:00
Paul Beckingham
257edc535a CLI2: Eliminated READCMD/WRITECMD tags
- Now tags command with DNA.
2015-08-22 08:29:23 -04:00
Paul Beckingham
758df84539 Context: Now obeys command DNA
- Applying a context filter is now performed only when a command requests it.
2015-08-02 10:08:04 -04:00
Paul Beckingham
8684639f72 Filter: Implemnted ::hasFilter to detect command line filters 2015-07-25 10:01:06 -04:00
Paul Beckingham
7aa101de58 Filter: Implemented ::hasModifications to detect command line modifications 2015-07-25 09:28:55 -04:00
Paul Beckingham
f0c8330ebf Filter: Added a mechanism to override ::safety 2015-07-12 22:02:11 -04:00
Paul Beckingham
f0d27dcaac Filter: Removed Eval::disambiguity 2015-07-01 17:53:09 -04:00
Paul Beckingham
5d02291077 Merge branch '2.4.5' of ssh://git.tasktools.org/tm/task into 2.4.5 2015-06-30 07:54:22 -04:00
Paul Beckingham
12bec38f12 Filter: Typo (thanks to Peter Rochen) 2015-06-30 07:53:26 -04:00
Paul Beckingham
358223a6b1 Filter: Corrected implementation of ::safety 2015-06-27 21:08:24 -04:00
Paul Beckingham
b67b2ccc96 CLI2: Added ::addContextFilter, and supporting processing 2015-06-27 15:53:24 -04:00
Paul Beckingham
737cb23546 CLI2: Eliminated CLI
- This is a large commit, as all the changes are centered around the elimination
  of CLI.
- CLI is no longer compiled.
- Context no longer maintains CLI + CLI2.
- Filter now walks the parse tree and sends to Eval a
  std::vector <std::pair <std::string, Lexer::Type>> containing only args tagged
  with FILTER.
- Filter more efficiently sets/unsets Eval::debug, by doing it less often.
- The filterExpr.length() check is no longer meaningful, and instead the size of
  the std::vector above is used.
- Filter::pendingOnly performs better analysis.
- Filter::safety makes use of the std::vector size also.
- Task::modify makes use of 'canonical' rather than 'name', which is a policy
  change, not a fix.
2015-06-24 13:23:56 -04:00
Paul Beckingham
6c0ba77204 CLI2: Added ::prepareFilter for the deferred parsing of filters 2015-06-19 10:15:01 -07:00
Paul Beckingham
e74c6963a9 C++11: Cleaned up program framework with range-based for 2015-05-11 17:50:53 -04:00
Tomas Babej
1465bcb918 Context: Do not apply context for the export command 2015-03-14 17:28:20 -04:00
Paul Beckingham
b7ad091d00 Updated copyright to 2015 2015-01-01 00:00:41 -05:00
Paul Beckingham
8795b0a692 TW-1447
- TW-1447 Not possible to filter on a UDA of type String (thanks to atomicules).
2014-12-25 17:18:44 -05:00
Paul Beckingham
d5c937ba8c Filter
- Diagnostics for filter eval were not enabled properly. Now rc.debug.parser=2
  will show all filter eval diagnostics.
2014-11-22 13:48:28 -05:00
Paul Beckingham
dc1e01b1c2 Filter
- Identifies Filter::subset as source of CLI::dump call, rather than the
  default label, which was confusing.
2014-11-22 12:24:55 -05:00
Paul Beckingham
fd518e3fce Filter
- Improved ::pendingOnly algorithm.
2014-11-10 18:11:13 -05:00
Paul Beckingham
771ec1d080 Filter
- Removed all Parser references.
2014-10-31 22:53:00 -04:00
Paul Beckingham
f804a43cee Filter
- Corrected use of rc.debug.parser.
- Added notes for fixing ::pendingOnly.
2014-10-31 22:31:58 -04:00
Paul Beckingham
74526ee564 CLI
- Converted ::safety from Parser to CLI.
- Updated unit tests to use the new template.
- Added tests to cover both values of rc.allow.empty.filter.
2014-10-26 09:02:51 -04:00
Paul Beckingham
b7efb753b5 Filter
- Rewrote ::pendingOnly to work with CLI instead of Parser.
2014-10-24 23:00:06 -04:00
Paul Beckingham
fab9fe2a7d Filter
- Modified algorithm for ::pendingOnly.
2014-10-23 00:36:04 -04:00
Paul Beckingham
b484abea4a CLI, Filter
- Moved parse tree dump into Context::debug output.
2014-10-20 01:01:27 -04:00
Paul Beckingham
fa011c5bfb Filter
- Modified diagnostics to observe rc.debug.parser.
2014-10-06 23:25:31 -04:00
Paul Beckingham
1ccc284cc7 Safety Valve Override
- Support 'allow.empty.filter', defaulting to 'yes', but if 'no' disallows the
  combination of a write command and an empty filter.  Ordinarily this is just
  a warning that requires confirmation (thanks to Lee Lieske).
2014-08-11 12:32:11 -04:00
Paul Beckingham
a3cfc2de7f Filter
- The 'ambiguity' control for Eval was being set *after* the expression was
  parsed, which was useless and misleading.
2014-07-03 15:27:00 -04:00
Paul Beckingham
456b982ced DOM
- Updated DOM to use Variant ovjects, which carry a type which improves
  expression evaluation.
2014-06-11 21:53:00 -04:00
Paul Beckingham
ddcadb35f7 Filter
- Set ambiguity to false, thus disabling recognition of certain date forms.
2014-06-08 14:17:50 -04:00
Paul Beckingham
e6df1b38e2 DOM
- Standardized DOM interface to return success/failure, with the possibility
  of blank values. This matches the Eval::source callback interface‥
- Added more unit tests.
2014-06-04 18:57:36 -04:00
Paul Beckingham
ba8c007ace Filter
- When a filter resolves an identifier through a DOM reference, it records
  the source. In other words, when 'priority' is resolved to 'H', the source
  reference ('priority') is stored in the variant. This is because different
  data attributes behave differently when compared.
2014-05-31 10:01:00 -04:00
Paul Beckingham
688dcb6cd3 Filter
- Fixed ::pendingOnly, which now has a clearly-defined set of rules.
2014-05-30 00:39:38 -04:00
Paul Beckingham
bba0b75a3b Eval
- Cleaned up debug FILTER diagnostics.
2014-05-26 12:16:44 -04:00
Paul Beckingham
79ac26cb02 Filter
- The domSource function is no longer static, and is prototyped in Filter.h
  for general use.
2014-05-25 16:57:46 -04:00
Paul Beckingham
949063102a Diagnostics
- Further removal of diagnostic output.
2014-05-25 14:59:09 -04:00
Paul Beckingham
c0c1eca0fc Filter
- Filter diagnostics include which data file was loaded.
2014-05-25 13:21:36 -04:00