Avgustin Marinov
08cacf9034
Soft Module metadata as complex map value ( #2568 )
...
---------
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-07-30 17:29:02 +03:00
Vasil Ilchev
4a8e60764f
Remote Events migrated from Spring Bus to Spring Cloud Stream ( #2563 )
...
* Remote Events migrated from Spring Bus to Spring Cloud Stream
---------
Co-authored-by: vasilchev <vasil.ilchev@bosch.com >
2025-07-30 16:58:00 +03:00
Avgustin Marinov
2b66449ff1
Fine grained repository permissions ( #2562 )
...
1. Introduce @PrreAuthorize check based on hasPermission - allowing custom processing (compared with non-modifiable hasAuthority/Role processing)
2. Dedicated permissions could be implemented on management api level. Check is made by plugged in PermissionEvaluator
3. Thus common XXX_REPOSITORY permissions could differ for extending services
4. Change create/update entity builder pattern - not via EntityFactory but via clean static lombok based builders (with fine fluent api).
5. Implement abstract repository management jpa class that handles the boilerplate code from extending classes in single place consistently -> AbsreactJpaRepositoryManagement
6. Register management api-s as **Sevice**-s instead of **Bean**-s in order to make easier maintainable and get away from heavy argument forwading
7. Simplify custom hawkbit repository registration + adding proxy to handle exception mapping at lower level - thus not depending on Aspects for converting exceptions
8. Implemented general purpose 'copy' utility (ObjectCopyUtil) that using getter/setter patterns is able to copy (e.g. Create/Update) objects to other objects (e.g. JPA entity objects)
2025-07-28 14:57:33 +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
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
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
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
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
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
ea8fa4e1bd
Small code style refactoring ( #2302 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-02-25 17:22:23 +02:00
Avgustin Marinov
54a53a3631
Remove anonymous download ( #2291 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-02-19 14:28:15 +02:00
Avgustin Marinov
46caed139d
Remove unused group repo methods ( #2263 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-02-04 17:21:04 +02:00
Avgustin Marinov
e3c41eb0b2
Fix CustomBaseRepositoryBean - not initialized in some cases ( #2241 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-01-27 14:53:28 +02:00
Avgustin Marinov
ef4c0c6d18
Sonar Fixes ( #2234 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-01-24 17:22:34 +02:00
Avgustin Marinov
a61e9cd6ae
Sonar Fixes ( #2233 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-01-24 15:41:06 +02:00
Avgustin Marinov
bb9c9bfad8
Remove some of the field injections (Sonar recomendtion) ( #2218 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-01-23 09:52:29 +02:00
Avgustin Marinov
4909a65d8c
Improve autowiring for tests (Sonar) ( #2217 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-01-22 15:20:57 +02:00
Avgustin Marinov
f09db20b71
Sonar Fixes (7) ( #2215 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-01-21 16:40:16 +02:00
Avgustin Marinov
567e8b38f1
Sonar Fixes (5) ( #2211 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-01-21 11:20:50 +02:00
Avgustin Marinov
5dabe9117a
Fix SonarQube issues (2) ( #2205 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-01-20 16:29:45 +02:00
Avgustin Marinov
e1f43c8705
Lombok Usage Improvements ( #2192 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2025-01-10 11:58:35 +02:00
Avgustin Marinov
8774ab734d
Remove dash from bus endpoint config ( #2158 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2024-12-20 14:29:12 +02:00
Avgustin Marinov
42b6b597fe
Fix endpoint config deprecations ( #2157 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2024-12-20 14:24:00 +02:00
Vasil Ilchev
1d52d3b102
Fix NPE when DMF Status Messages contain null element ( #2119 )
...
Co-authored-by: vasilchev <vasil.ilchev@bosch.com >
2024-12-05 11:25:09 +02:00
Vasil Ilchev
b4215a9d76
Add timestamp to Actions ( #2113 )
...
* Add timestamp to Actions
Signed-off-by: Vasil Ilchev <Vasil.Ilchev@bosch.com >
* Add Timestamp to All Actions Feedback DDI/DMF
* After review
* Removed Action timestamp as we have timestamp in each ActionStatus so use that instead
* Unify to use everywhere System.currentTimeMillis()
* Add constructor w/o timestamp to DmfActionUpdateStatus
---------
Signed-off-by: Vasil Ilchev <Vasil.Ilchev@bosch.com >
Co-authored-by: vasilchev <vasil.ilchev@bosch.com >
2024-12-04 09:53:10 +02:00
Avgustin Marinov
a9f3d1491a
JPA Refactoring (3) ( #2109 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2024-12-02 13:50:06 +02:00
Avgustin Marinov
794f26bea2
JPA Refactoring (2) ( #2108 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2024-12-02 11:52:30 +02:00
Avgustin Marinov
e91cc5a349
Move EventuPublisherConfiguration into repository ( #2100 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2024-11-22 19:19:58 +02:00
Avgustin Marinov
4de34eacc3
Fix AmqpMessageDispatcherServiceTest.testSendCancelRequest - set action tenant ( #2098 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2024-11-22 17:36:07 +02:00
Avgustin Marinov
a3468b2ba9
Fix some issues found by qodana ( #2083 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2024-11-19 17:04:19 +02:00
Avgustin Marinov
9c8c82fd8b
Switch from deprecated EnableGlobalMethodSecurity to EnableMethodSecurity ( #2081 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2024-11-19 16:46:31 +02:00
Avgustin Marinov
4861e7c29f
Refactor the tenantcy configuration ( #2080 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2024-11-19 08:45:50 +02:00
Avgustin Marinov
f9bb48d697
Code refactoring of hawkbit-repository ( #2056 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2024-11-17 15:03:03 +02:00
Avgustin Marinov
b912f2aa9a
Fix AbstractActionStatusCreate.messages -> mutable list ( #2046 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2024-11-15 22:16:26 +02:00
Avgustin Marinov
05dd580a28
Remove CustomEvents - unused ( #2039 )
...
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2024-11-15 20:01:18 +02:00
Avgustin Marinov
fe8fb3a602
Move ControllerPollProperties -> org.eclipse.hawkbit.tenancy.configuration ( #1981 )
...
_release_notes_
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com >
2024-11-08 17:52:48 +02:00
Avgustin Marinov
da7fa9e022
Code format hawkbit-repository-core ( #1927 )
...
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com >
2024-11-05 09:46:55 +02:00
Avgustin Marinov
8e82a9252f
Fix applying createdat less or equal to rollout group filter ( #1765 )
...
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com >
2024-07-11 16:04:24 +03:00
Avgustin Marinov
494170405a
Small Rollout create code improvements ( #1754 )
...
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com >
2024-06-26 11:06:56 +03:00
Avgustin Marinov
8b3434fc17
Add support for dynamic rollout group template ( #1752 )
...
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 >
2024-06-26 08:31:01 +03:00
Avgustin Marinov
40f99962d2
Add REST method for update rollout ( #1749 )
...
* 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 >
2024-06-24 09:16:39 +03:00
Avgustin Marinov
3f060e84a3
[ #1651 ] Fix tenant level config for DistributionSet implicit lock (enabled by default) ( #1679 )
...
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com >
2024-03-08 14:16:31 +02:00
Avgustin Marinov
9ac51ab988
[ #1651 ] Implement tenant level config for DistributionSet implicit lock ( #1678 )
...
enabled by default
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com >
2024-03-08 12:43:53 +02:00
Avgustin Marinov
ce9918ce00
[ #1651 ] Add SoftwareModule and DistributionSet unlock (REST) ( #1677 )
...
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com >
2024-03-08 11:28:24 +02:00
Avgustin Marinov
850fa3507f
[ #1580 ] Software Module & Distribution Set lock: add lock at rest level ( #1646 )
...
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com >
2024-02-15 11:46:06 +02:00
Avgustin Marinov
c320a45b55
Refactoring/Improving source: dmf 2 ( #1612 )
...
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com >
2024-02-04 11:46:43 +02:00
Avgustin Marinov
ba685ef429
Refactoring/Improving source: repository & fix log() ( #1601 ) ( #1602 )
...
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com >
2024-02-03 17:25:30 +02:00