Task #1810
closedFE: Add agenda for reqistered filter builders.
100%
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).
Updated by Artem Kolychev over 5 years ago
- Status changed from New to In Progress
Updated by Radek Tomiška over 5 years ago
- Subject changed from FE: Add agenda for reqistered filter bulders. to FE: Add agenda for reqistered filter builders.
Updated by Vít Švanda over 5 years ago
- Target version changed from Rhyolite (9.7.5) to 10.0.0
Updated by Artem Kolychev over 5 years ago
- Status changed from In Progress to Needs feedback
- Assignee changed from Artem Kolychev to Radek Tomiška
https://github.com/bcvsolutions/CzechIdMng/compare/develop...artem/1810/filterBuilderFilter#diff-b3070c0fec01bbf1ea4c6a0eeb60472dR110
Added new agenda for visible filter builders.
Updated by Radek Tomiška over 5 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 extends FilterBuilder extends BaseEntity, ? extends DataFilter>>' (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.
Updated by Radek Tomiška over 5 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?
Updated by Vít Švanda about 5 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).
Updated by Radek Tomiška about 5 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
Updated by Radek Tomiška about 5 years ago
- Status changed from Resolved to Closed