Squash commits of branch feature/hikari:
- Introduce HikariCP as connection pool
- Log change
- Close maintenance stores correctly
- Do not force minimum number of connections
- Log change
- Assert stores are closed correctly
... and test QueryableStoreDeletionHandler
- Fix license
- Fix unit tests
- Use constants
- Change change log
- Move hikari version to libraries
- Enhance documentation
- Use configuration for pool settings
Squash commits of branch feature/auto_increment:
- Bootstrap auto-increment key option
- Fix changelog
- Document stuff
- Fix unit test
- Documentation
- Use id generator in unit test extension
- Do not use mockito for type descriptor in tests
- Clean up
- Fix indentation
- Fix code formatting
- Clean up
Using mockito is fine as long as one does not try to create
a huge amount of data. In this case it might happen, that
mockito needs a lot of memory (probably to track single
calls to methods) and in doing so might spoil load tests
and such.
Besides the endpoint, another API was added, the ShouldRequestPassChecker.
This api should be used to check whether a REST Request should be passed or rejected.
First, aggregate functions for minimum, maximum, sum and average
have been added to the queryable store API. These can be used
with the query fields, which have been enhanced for this.
Second, an additional stream like API has been added to retrieve
collections to avoid the creation of huge result objects.
This adds the new "queryable store" API, that allows complex
queries and is backed by SQLite. This new API can be used
for entities annotated with the new QueryableType annotation.
Tasks.documentation.javadoc threw around 50 errors due to multiple inconsistencies within the javadoc comments.
Furthermore, the option 'failOnError' is now set to 'true' so that future Javadoc errors in our codebase are avoided.
Squash commits of branch feature/permission-updater:
- Add API for updating RepositoryPermissions
- Add licensing and logging
- Fix assertion depending on the order of item serialization
- Replace manual logger setup with @Slf4j annotation
To still support the editor plugin, a new field in the
browse command results is needed to indicate, whether
such a result or rather the requested revision can be
modified by a new commit.
This is the case, when
- for Subversion repositories either the new 'head' or the
latest revision has been requested, or
- for Git and HG when a branch (or the default by specifying
no concrete revision) has been used.
A notification will be displayed when an external user
management system is activated to inform that users
created within the SCMM will not be transferred to the
external system.
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
This prevents errors in exporters (like the trace plugin) to escalate. In a specific case it could happen, that due to the cas plugin and the trace plugin the login failed when the trace file for cas was corrupt, because the trace monitor filed to log the cas request and threw an exception due to which the whole login process through cas was blocked.
Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Previously a query was only parsed by lucene as it is, if the query
contained a colon (:) or a wildcard character (*). With this, every query
gets parsed as it is, as long as there is one operator contained inside
the query (colon, quotation marks, logical operators, ...). These are
called "expert queries". All other queries are still processed as
"simple queries" where every part of the query is extended with a
wildcard operator.
Addtionally the user is now getting feedback for every
search, if the query is a simple query or an expert query. The syntax
documentation got also extended with the quotation mark operator
and the definition of the two query types.
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
With this change, every repository initializer gets its own modification command and therefore its own commit. This allows each initializer to decide on its own, if he want to use the default path of the repository.
The missing description of the plugin condition in the
logs during a condition mismatch is now included and
also displayed in a readable way. Additionally, a
specialised error will be displayed during the installation
or update of plugins detailing that a condition mismatch
happened and also which condition was not fulfilled
instead of a generic internal server error.
This new modifications provider consistently computes the modifications caused by a push to a branch. In contrast to the changeset provider that often has been used before to check what has changed, this also works for forced updates, rebased branches and fast-forwards. Because these types of changes are normally only used with git, this provider (for now) has only been implemented for git.
Pushed-by: Rene Pfeuffer<rene.pfeuffer@cloudogu.com>
Pushed-by: Alexander Dammeier<alexander.dammeier@cloudogu.com>
Co-authored-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>
Committed-by: René Pfeuffer<rene.pfeuffer@cloudogu.com>