* Fix RSQL filter for no target tag and OR
* add test for such filter
* Clean up the code
keeps the legacy Rsql Visitor which could be used with hawkbit.rsql.legacyRsqlVisitor=true
---------
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
This functionallity seems to get via AMQP (after some authentication)
a private (wihtout need of authentication) url to an artifact assigned
to the controller.
By default, DDI or DMF shall provide proper urls (for direct download)
to devices and if they have to be without authentication this shall be
solved in different ways - for instance separate download server providing
dedicated private / signed urls.
This functinallity is not a real hawkBit part but more like something
intended to solve some edge cases.
Since it is complicated, heeds support, doesn't solve wide spread use
cases, and could be achieved with other means - better to be removed.
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
* involve targets into dynamic rollouts eagerly - doesn't wait for dynamic group to become running in order to involve devices
* adds trottling for involving targes into dynamic groups
* small style refactoring
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com
* feat: allow a target to set offline assigned distribution set
Signed-off-by: Florian Bezannier <florian.bezannier@hotmail.fr>
* refacto: apply @avgustinmm recommendation
* docs: Mark update offline API as experimental
---------
Signed-off-by: Florian Bezannier <florian.bezannier@hotmail.fr>
* Remove target tag to target reference
it is not used and could lead to extensive memory usage if JPA provider load targets while loading tags
Also, remove search field controller id as not meaningful
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
* Fix review findings
---------
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
it is not used and could lead to extensive memory usage if JPA provider load targets while loading types
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
* Improve building of SQL from an RSQL query
* ignore case behavior could be disabled
* like is used only when needed
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
* Inlining of some methods and unified IN build + fix case
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
* Implement more flexible ignore case configuration
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
---------
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
* action initiated by is set as current auditor - not user
* auto assigned by is set as current auditor - not user
PS: some unused method removed from DeplopymenHelper
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
1. Add support in REST and Mgmt API for dynamic group template
2. If present - groups follows the pattern of this template, otherwise - the last static group
3. This allows to create pure dynamic rollout with 0 static groups - auto assignment equivalent with groups
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
* adds PUT method for updating name and description of a rollout
* restrict RolloutUpdate to changing only name and description
* small refactoring
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
1. The auditor is got on transaction commit - so haven't used the tenant & user context until now - write system
2. The start/stop/delete are called by the user (saved in lastModifiedBy) but then executed in JpaRolloutExecutor
So the change is:
1. Fix auditor for actions taken by JpaRolloutExecutor to be the createdBy
2. for start/stop/delete the auditor is set to the lastModifiedBy for the transaction (hence all action taken)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
These fields also could lead to big memory usage if the JPA provider doesn't get LAZY hint
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
tags the implicit lock is skipped on are configured via
RepositoryProperties.skipImplicitLockForTags list.
By default skip tags are the ones with names:
"skip-implicit-lock", "skip_implicit_lock", "SKIP_IMPLICIT_LOCK", "SKIP-IMPLICIT-LOCK"
+ this commit centralize the implicit lock enable/disable logic
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>