kitodo / kitodo-production

Kitodo.Production is a workflow management tool for mass digitization and is part of the Kitodo Digital Library Suite.
http://www.kitodo.org/software/kitodoproduction/
GNU General Public License v3.0
64 stars 63 forks source link

[hibernate search] Introduce interfaces for the database- and search-related functions of the services #6051

Closed matthias-ronge closed 2 months ago

matthias-ronge commented 6 months ago

Issue #5760 1c) -- part 2

1c) part 2 introduces interfaces for the database- and search-related functionality of the data services, that by now still use the search index. The data services implement a lot of functionality, some of which is thoroughly covered by tests, but otherwise is not used in the code.

The aim of this step was to clarify and document which of these functions are actually used in the source code—and you can see that there isn't that much—and how they work, in particular to clarify the implicit functionality: Does a function search on all data? Or does it access the user session in the background, and look only for the data for the client, for which the logged-in user is currently working? Or are there other criteria, if so, which ones, and where are they passed?

You can see that this is not implemented uniformly everywhere, and not every function name describes exactly, what the function actually does. Clarifying this was a prerequisite for a re-implementation with identical functionality, which will follow in the next step.

For better reviewability, this part is provided as a separate pull request.

Follow-up pull request to #6032 (immediate diff)