Avgustin Marinov
7752ec6c24
Fix comple attribute RSQL filters ( #2564 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-24 14:01:49 +03:00
Avgustin Marinov
a34364bc3e
Make allAuthorities unmodifiable ( #2551 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-15 13:29:20 +03:00
Stanislav Trailov
0e3fa11d3e
fix build ( #2547 )
...
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
2025-07-14 17:01:05 +03:00
Stanislav Trailov
b4793fcce1
Introduce target grouping ( #2538 )
...
* Introduce target grouping
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* minor refactor
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* throw validation exception instead direct returning bad request response
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* fix group query parameter
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* remove wrongly added import
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* add review fixes
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* apply latest review changes
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* apply latest changes after sybnc/review
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* fix after review
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
---------
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
2025-07-14 15:48:37 +03:00
Avgustin Marinov
e7373275bf
Add distribution set and target type fine grained permissions ( #2545 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-14 14:52:36 +03:00
Avgustin Marinov
7ffd64c6da
Fix tenant in TestdataFactory#rolloutHandleAll ( #2543 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-11 12:45:05 +03:00
Birk Blechschmidt
f249544f5d
Support cache eviction in microservice mode ( #2503 )
...
When running in microservice mode, updating configuration properties via
the management component does not automatically update caches in other
services.
This change introduces support for distributed cache eviction using
Spring Cloud Bus. It listens for remote tenant configuration events and
evicts the relevant cache key upon receipt.
Signed-off-by: Birk Blechschmidt <birk.blechschmidt@liebherr.com >
2025-07-11 09:16:37 +03:00
Avgustin Marinov
c5efce4ad8
Fix eclipselink static instrumentation of entity classes ( #2542 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-10 18:55:57 +03:00
Avgustin Marinov
21581c4ea4
Fine-grained permissions ( #2535 )
...
* Fine-grained permissions
Adds support for permissions of type <permission>(/<rsql filter scope>)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
* Apply review fixes
---------
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-10 13:51:49 +03:00
Avgustin Marinov
edd6dabb90
Move artifact encryption to hawkbit-artifact-api where it does belong ( #2540 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-10 11:57:44 +03:00
Avgustin Marinov
ea06783fa2
Refactor RSQL Utility - make it singleton and injectable ( #2536 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-07 17:16:26 +03:00
Avgustin Marinov
7f97d6f441
Add support for pollingTime overrides ( #2533 )
...
* Add support for pollingTime overrides
* the current format HH:mm:ss is still supported
* add option for deviation percent (HH:mm:ss~\d{1,2}%) which allows the system to do some randomizing of the poll interval
* add support for overriding default polling time interval for devices matching some RSQL filters (in order), e.g. 01:00:00~10%, group == 'eu' -> 00:02:00~15%, status != in_sync -> 00:05:00
* IMPORTANT: overdue time is calculated according to the default polling time. So, the overdue status might be incorrect for targets with overridden poll interval
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
* Remove min polling time from the tenant config - it is a system configuration
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
* Add support for bigger poll intervals and overdue + duration format config support
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
---------
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-07 16:33:55 +03:00
Avgustin Marinov
baab05f009
Rename hawkbit-repository-ql to hawkbit-repository-jpa-ql ( #2532 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-03 14:47:43 +03:00
Avgustin Marinov
426bdbf179
Move Query Language (RSQL) in separate package and add Entity Matcher ( #2531 )
...
* Move Query Language (RSQL) in separate package - hawkbit-repository-ql
* Add Entity Matcher which match an entity object agains filter
* Spec to string utils now in runtime (as a library) - could be used in tests or to dump something in runtimes
* Move eclipselink/hibernate profiles in new QL module, this way provided / set to hawkbit-repository-jpa
* Remove unused javax.el imports
2025-07-03 14:41:55 +03:00
Avgustin Marinov
8c6d56f177
Make some test timeouts (await) configurable ( #2525 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-02 12:45:26 +03:00
Avgustin Marinov
affae1026a
Improve Spring Bus usage (remove stream direct use) ( #2521 )
...
* Improve Spring Bus usage (remove stream direct use)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
* Remove getApplicaton when creating remote events
---------
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-02 08:32:55 +03:00
Avgustin Marinov
cd2c68081f
Refactor RabbitMQ configuration ( #2519 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-30 15:50:30 +03:00
Avgustin Marinov
5586e4b302
Fix Sonar findings ( #2489 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-23 10:19:43 +03:00
Avgustin Marinov
ef25aa59f0
Fix new line after @Test ( #2486 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-20 17:42:55 +03:00
Avgustin Marinov
cb7f1107fe
Remove allure (phase2) ( #2483 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-20 15:51:06 +03:00
Avgustin Marinov
d80e1e004d
Fix G3 - deep attributes ( #2462 )
2025-06-17 15:44:55 +03:00
Avgustin Marinov
044963f84c
Implement release as github action ( #2452 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-16 14:43:17 +03:00
Avgustin Marinov
103a0dade0
Fix / improves management of the Rollout's total target counter ( #2449 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-12 15:15:25 +03:00
Avgustin Marinov
4cfd90b745
Fix dynamic rollout override behavior ( #2447 )
...
Since static assigments of dynamic rollouts always override the oldest rollouts
it seems more consistent if this is the case also with dynamic assigments. I.e.
all older are overriden and if there are actions of newer rollouts - won't be assigned.
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-11 15:24:48 +03:00
Avgustin Marinov
58b969db38
Bump spring-boot to 3.5.0 ( #2418 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-11 08:52:10 +03:00
Avgustin Marinov
2992f5c211
Refactor management api style ( #2445 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-10 17:09:03 +03:00
Avgustin Marinov
e643707d41
Refactoring/simplifying rest resources code ( #2443 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-10 14:06:43 +03:00
Avgustin Marinov
6167dce214
Hide getRolloutWithStatusDetails from API ( #2442 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-10 11:50:45 +03:00
Vasil Ilchev
09a3d3e0c6
Fix retrieve Rollout with details ( #2435 )
...
* Fix retrieve Rollout with details
* Rename RolloutManagement method for retrieve Rollout slice with details. Slight refactoring in MgmtRolloutMapper
---------
Co-authored-by: vasilchev <vasil.ilchev@bosch.com >
2025-06-09 15:38:20 +03:00
Avgustin Marinov
0e0b5ed6ff
Fix dynamic rollouts when there are finished actions from previous rollouts ( #2434 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-06 16:13:21 +03:00
Avgustin Marinov
282af77bfc
Specify JPA Database H2 in SpecificationBuilderTests ( #2432 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-06 11:32:24 +03:00
Avgustin Marinov
ebdcab2aaa
Extends RSQL standalone tests ( #2431 )
...
* add more complex filters (and / or)
* add tests for legacy specification builders (visitors) in order to clearly check backward compatibility
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-05 17:08:10 +03:00
Avgustin Marinov
23fa4cdd56
Fix != and =out= for maps in G2 RSQL to Specification ( #2426 )
...
+ add initial draft of Standalone RSQL test
+ provide option to override Hibernate / Eclipselink configuration via standard spring environment properties
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-04 16:30:33 +03:00
Avgustin Marinov
c3aa2b7ae7
Rsql G3 ( #2423 )
...
* Rsql G3
* Move legacy and G2 visors in rsqllegacy and deprecate
* Refactor RSQLUtility
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
---------
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-06-02 10:08:13 +03:00
Avgustin Marinov
8184aad13c
Simplify RSQL fields ( #2416 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-23 11:17:54 +03:00
Avgustin Marinov
b4d0ee2c5d
Bump spring boot to 3.4.6 and small refactoring ( #2414 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-22 16:17:01 +03:00
Avgustin Marinov
7ac62d24c8
Fix small sonar findings ( #2413 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-22 10:29:35 +03:00
Avgustin Marinov
64ee8b9906
JpaSoftwareModule#metadata made map ( #2412 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-21 16:59:25 +03:00
Avgustin Marinov
452d8618d7
JpaDistributionSet#metadata made Map ( #2411 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-21 13:45:18 +03:00
Avgustin Marinov
ceba4f5cfb
Unify target attributes and metadata ( #2408 )
...
* Unify target attributes and metadata
Currently, the target attributes are Map while the metadata,
which has the same concept is List.
This PR unifies them making the metadata also a Map
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-21 11:26:02 +03:00
Avgustin Marinov
91811f7aa8
Remove unused imports ( #2407 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-19 08:54:18 +03:00
Avgustin Marinov
12140e468d
[ #2176 ] RSQL filtering with exist/not-exist support ( #2396 )
...
* [#2176 ] RSQL filtering with exist/not-exist support
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
* [#2176 ] Big Refactoring
* RSQL: all maps with joins with on
---------
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-16 16:13:04 +03:00
Avgustin Marinov
c0e89fbbee
Fix RSQL G2 visitor and referenes (e.g. assignedds) with multiple conditions (2) ( #2406 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-16 15:11:25 +03:00
Avgustin Marinov
86fca64e51
Fix RSQL G2 visitor and referenes (e.g. assignedds) with multiple conditions ( #2405 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-16 14:06:30 +03:00
Avgustin Marinov
05bcebc0f9
Remove ParseExceptionWrapper (unused) ( #2403 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-15 15:34:07 +03:00
Avgustin Marinov
9f8ee8041f
Remove RSQL oracle as not used anymore (UI leftover) ( #2397 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-13 15:14:25 +03:00
Avgustin Marinov
aae42b2751
DB Init: Detailed exit codes (on validate) ( #2392 )
...
* 1 means can't perform valitate - e.g. db connection failed
* 2 means it has performed validation but db schema is not valid (FlywayValidateException)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-05-08 14:20:47 +03:00
Stanislav Trailov
7456e52095
Unify Hibernate and EclipseLink exception translations ( #2388 )
...
* Unify Hibernate and EclipseLink exception translations
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* properly set custom hibernate jpa dialect
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
---------
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
2025-05-07 15:18:06 +03:00
Stanislav Trailov
5e72ea4522
Set old sql translator as a fallback in eclipseLink ( #2387 )
...
* Set old sql translator as a fallback in eclipseLink
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* small refactor
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* fix minor code smell
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
---------
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
2025-05-02 12:18:00 +03:00
Stanislav Trailov
2a71f61cc2
Extend current SQL translator in EclipseLink ( #2383 )
...
* Extend current SQL translator in EclipseLink
* Initialize translator in static block
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* translation methods to static
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
* handle DataIntegrityViolation in rest core
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
---------
Signed-off-by: strailov <Stanislav.Trailov@bosch.io >
2025-04-29 17:20:17 +03:00