Commit Graph

715 Commits

Author SHA1 Message Date
Avgustin Marinov
4b3c3cc870 Remove org.eclipse.hawkbit.repository.jpa.specifications.SpecificationsBuilder and fix deprecated Specification.where (#2760)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-16 16:01:29 +03:00
Avgustin Marinov
811b163d22 Optimize get targets via REST API (#2757)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-15 14:08:58 +03:00
Avgustin Marinov
04cd9fb30d Refactor TenantAware - remove TenantRunner and replace with standard Runnable / Callable (#2755)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-14 16:36:42 +03:00
Avgustin Marinov
3447ac3b1b Fix system context resolving in ACM (#2737)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-10 12:02:16 +03:00
Avgustin Marinov
82bbb2a553 Fix rollout handler all metric (#2730)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-09 11:02:55 +03:00
Avgustin Marinov
e23d2aa920 Add DeploymentManagement ACM test (#2726)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-08 11:07:15 +03:00
Avgustin Marinov
cc36ca8801 Fix EntityMatcher when for Identifiable.getId (#2724)
* Fix EntityMatcher to process properly filters of type targetType.id - to resolve correctly the getter return type Long not T
* Add AutoAsssignTest access control test
* Simplify rest of the ACM tests

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-07 15:26:04 +03:00
Avgustin Marinov
cf89861f1e Fix Sonar Findings - add @Override (#2712)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-01 09:15:14 +03:00
Avgustin Marinov
3714d408d0 Cleanup QL parse and tranform API (#2707)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-29 16:36:41 +03:00
Avgustin Marinov
a2929757d8 Encapsulate time overdue into VirtualPropertyResolver (#2704)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-29 13:14:40 +03:00
Avgustin Marinov
1919af4a9d Remove VirtualPropertyReplacer (#2701)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-26 17:17:38 +03:00
Avgustin Marinov
a6867219b1 Remove FieldValueConverter (#2699)
* (because) used only for ActionFields.STATUS
* could be part of new Node mapping mechanism
* simplify
* Deprecate ActionFields.STATUS, add / replace it with ActionFields.ACTIVE. In future STATUS will become the real action status (and DETAILSTATUS will be removed)
* Deprecate MgmtAction.getStatus add / replace it with MgmtAction.isActive. In future status will become the real action status (and detailStatus will be removed)

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-26 16:57:10 +03:00
Avgustin Marinov
1abfa0a2f4 Add support for plugable QL for EntityManager (#2698)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-26 15:39:21 +03:00
Avgustin Marinov
4434484d35 Deprecate VirtualPropertyReplacer (#2697)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-26 14:56:32 +03:00
Avgustin Marinov
b181b66ee5 Extend Query Langage Support (#2696)
* add option for parser replacement - so, one could replace the query language and don't use RSQL
* add easy way to modify query root Node 
* add easy Node modification utilities
* code refactored and naming more 'QL' than 'RSQL' oriented

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-26 14:19:25 +03:00
Avgustin Marinov
c906c2f2eb Type Access Controllers enabled by default if AC is enabled (#2694)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-25 16:53:19 +03:00
Avgustin Marinov
c20ee8bdf3 Fix fine-grained permissions config (#2688)
* disabled by default
* evaluaton context considers fine-grained only when acm is enabled

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-24 09:40:27 +03:00
Avgustin Marinov
e7765bf4d2 Add suppor for deeper RSQL search (#2682)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-23 17:15:48 +03:00
Avgustin Marinov
b702ea41d1 Implement Action Access Control (#2687)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-23 13:31:17 +03:00
Avgustin Marinov
117f2bf683 Fix Sonar Findings (#2683)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-19 16:01:57 +03:00
Avgustin Marinov
8bdcc51985 Add actions contxt management (#2680)
* based on TARGET permissions - action is accessible iff it its target is accessible
* add some more (id) serch fields
* (backward incompatible) software module search supports now search by name (type.name) and the old search by type (indead by type key) is now with type.key

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-19 15:47:20 +03:00
Avgustin Marinov
2d45e2a76c Fix Json serializer defaults (#2663)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-10 10:56:19 +03:00
Avgustin Marinov
2c995b3665 Add fine grained sm/ds type permission (#2649)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-04 15:05:32 +03:00
Avgustin Marinov
2e97d67489 Small Artifact storage refactoring (#2648)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-03 17:05:59 +03:00
Avgustin Marinov
59cb320fcc Get rid of artifactRepository naming of ArtifactStorage (#2645)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-03 11:55:14 +03:00
Avgustin Marinov
93f7e51565 Rename LocalArtifactRepository to ArtifactRepository (#2643)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-09-03 08:53:11 +03:00
Avgustin Marinov
2a636328a0 20250828 cleanup (#2639)
* Cleanup

* Refactor artifact management
2025-09-02 16:08:14 +03:00
Avgustin Marinov
4f0a8893c7 Abstract RepositoryManagement test (#2631)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-28 12:58:53 +03:00
Avgustin Marinov
b4edde8cc3 Refactor Management interfaces: find/get pattern (#2609)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-15 16:18:32 +03:00
Avgustin Marinov
8abf7275c4 Unified secman test (#2606)
* Unified Security Management Test

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>

* Add unified ManagementSecurityTest

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>

---------

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-13 12:12:16 +03:00
Avgustin Marinov
c5bbbeaac7 Align DeploymentRequestBuilder with the rest of the builders (#2607)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-13 08:58:35 +03:00
Stanislav Trailov
45cd012532 Introduce Stop of a rollout (#2595)
* Stop of a rollout feature

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* remove some test comments

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* make stop transactional

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* attempt to fix hibernate failed tests

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* fix some sonar issues

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* changes after review

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* fix build

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* fixes after review

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* finish all rollout groups on deletion of rollout

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* refactor finishing groups

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

* fix RolloutManagementTest

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>

---------

Signed-off-by: strailov <Stanislav.Trailov@bosch.io>
2025-08-12 17:13:50 +03:00
Avgustin Marinov
441b78460d Improve Permission Management (#2604)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-12 14:09:27 +03:00
Avgustin Marinov
124fef189e Remove Rollout(Group) builders (#2603)
* Fix entityManager.merge for ds and sm

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>

* Remove Rollout(Group) builders

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>

* Remove EntityFactory

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>

---------

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-11 14:01:03 +03:00
Avgustin Marinov
861483f0d6 Fix entityManager.merge for ds and sm (#2602)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-08 16:39:18 +03:00
Avgustin Marinov
bff77ac224 Cleanup TargetManagement (#2601)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-08 13:13:28 +03:00
Avgustin Marinov
5217297c24 Fix Sonar findings (#2600)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-08 10:33:17 +03:00
Avgustin Marinov
c038c507a9 TargetManagement over RepositoryManagement (#2599)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-07 17:20:22 +03:00
Avgustin Marinov
b3e32c14b6 Fix Sonar Findings (#2596)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-07 09:27:52 +03:00
Avgustin Marinov
e2805fd386 Refactor SofrwareModule Management (#2594)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-05 17:26:22 +03:00
Avgustin Marinov
6aa8ccaa9c Refactor DS Management (#2591)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-05 15:45:41 +03:00
Avgustin Marinov
7b24981a1d Implement TargetFilterQueryManagement with AbstractJpaRepositoryManagement (#2587)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-05 09:53:24 +03:00
Avgustin Marinov
e7b553cd5d Fix Sonar Findings (#2584)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-04 09:35:43 +03:00
Avgustin Marinov
a689733d4c TargetType management over common RepositoryManagement (#2581)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-01 19:24:49 +03:00
Avgustin Marinov
fd9c0fc50d Implement target tag management using common RepositoryManagement (and abstract JPA impl) (#2580)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-01 13:41:20 +03:00
Avgustin Marinov
5d75c9b0cc Absract metatype impl (#2575)
* Add common "interface" for metadata supporting entities
* Add common metadata implementation for distribution set and software module
* Extract PermissionSupport + extend by TargetManagement
* TargetManagement tags are now protected by Target permissions - as it should be

---------

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-08-01 12:41:53 +03:00
Vasil Ilchev
cca105c80e Move EventPublisher to hawkbit-repository-core making hawkbit-reposit… (#2576)
* Move EventPublisher to hawkbit-repository-core making hawkbit-repository-api non dependent to rabbit binders

* Move EventPublisherHolder to org.eclipse.hawkbit.repository.event

* Fix overriding default values of RemoteEvents and rabbit binder

---------

Co-authored-by: vasilchev <vasil.ilchev@bosch.com>
2025-08-01 08:48:07 +03:00
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
10da0288d9 Fix sonar findings (#2572)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-07-30 10:13:23 +03:00