Project

General

Profile

Actions

Task #1810

closed

FE: Add agenda for reqistered filter builders.

Added by Radek Tomiška over 4 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Radek Tomiška
Category:
Filters
Target version:
Start date:
08/22/2019
Due date:
% Done:

100%

Estimated time:
Owner:

Description

Dynamic filter can be created and registed in custom module (or product provided filter can be overriden, see ''FilterBuilder'', https://wiki.czechidm.com/devel/documentation/architecture/dev/filters).
We need to show, which filters are used in FE agenda - which filter (property) can be used for find entities (~endpoints, by entity type).
The agenda will be the same as Setting -> Modules -> Processors. Filter will be on new tab (last tab afrer processors, see ''EntityEventProcessors'' conternt for inspiration).
New controller ''FilterBuilderController'' for providing installed filters will be exposed (see ''EntityEventProcessorController'' for inspiration).

Actions #1

Updated by Artem Kolychev over 4 years ago

  • Status changed from New to In Progress
Actions #2

Updated by Radek Tomiška over 4 years ago

  • Subject changed from FE: Add agenda for reqistered filter bulders. to FE: Add agenda for reqistered filter builders.
Actions #3

Updated by Vít Švanda over 4 years ago

  • Target version changed from Rhyolite (9.7.5) to 10.0.0
Actions #4

Updated by Artem Kolychev over 4 years ago

  • Status changed from In Progress to Needs feedback
  • Assignee changed from Artem Kolychev to Radek Tomiška
Actions #5

Updated by Radek Tomiška over 4 years ago

  • Status changed from Needs feedback to In Progress
  • Target version changed from 10.0.0 to Rhyolite (9.7.7)
  • % Done changed from 0 to 70

New agenda basically works, thx. I think this agenda will be usefull i hope so (for developers / api consultants).
But i changed a lot of things - something we spoke of before, but it wasn't implemented properly ... and some other (see bellow).

Changes / fixed (code review) :
- Removed wrong field 'text' from 'FilterBuilderDto' (text field doesn't exist for filter builder).
- Added template of 'BaseEntity' for field 'entityClass' used in 'FilterBuilderDto' (warning was shown).
- Changed type of field 'filterBuilderClass' to 'Class>' (the same convention as for 'entityClass' field).
- Redundant field 'entityType', 'disabled' removed (we spoke before).
- 'serialVersionUID' missed in 'FilterBuilderDto'.
- Layout for agenda fixed - column order, filter layout ("The agenda will be the same as Setting > Modules > Processors."), no data alert added, wrong structure, errors and warnings, forgotten event type ...
- Removed redundant field 'text' 'FilterBuilderFilter' (see 'DataFilter' generalization).
- Removed redundant field 'entityType' 'FilterBuilderFilter' (the same as dto).
- Removed unimplemented field 'disabled' 'FilterBuilderFilter'.
- 'FilterBuildersFilterUnitTest' removed - test used random filter returned from context and checks size of returned filters only - new unit test will be created.

Implemented (added):
- added property 'id' to FilterBuilder interface - filled automatically from spring bean name.
- added implementation for find by 'text' (same as entity processors)
- added implementation for find by 'entityClass' (same as entity processors)
- added showing internally implemented filters directly in service.

I will continue with showing, which filter is used currently (by configuration) and implement new integration tests.

Actions #6

Updated by Radek Tomiška over 4 years ago

  • Status changed from In Progress to Needs feedback
  • Assignee changed from Radek Tomiška to Vít Švanda
  • % Done changed from 70 to 90

I added action for enable filter from this new agenda. All features are implemented, tests added, commit:
https://github.com/bcvsolutions/CzechIdMng/commit/10c172604006451928df4b6ee7d534bd7d364ac5

Doc:
https://wiki.czechidm.com/devel/documentation/architecture/dev/filters#filter_agenda

Could you do a feedback, please?

Actions #7

Updated by Vít Švanda over 4 years ago

  • Status changed from Needs feedback to Resolved
  • Assignee changed from Vít Švanda to Radek Tomiška
  • % Done changed from 90 to 100

I did review. Works nice. Showing filters from a serivce's predicates are very useful. Thanks for that. I have only one improvement suggestion: Add name of DTO filter to the table (this could be useful for beginner developer).

Actions #8

Updated by Radek Tomiška over 4 years ago

Thx for feedback, I've added filter class into table and rename dynamically constructed form value services.

https://github.com/bcvsolutions/CzechIdMng/commit/d52596ffceebbba2f9f23d52d8bb59e3486cbde5

Actions #9

Updated by Radek Tomiška over 4 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF