Commit Graph

34 Commits

Author SHA1 Message Date
Avgustin Marinov
c029c88db6 Improved AccessContext (#3029)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2026-04-21 13:51:37 +03:00
Avgustin Marinov
37559cdedc Cleanup/fix jackson 2 -> 3 migration (#3024)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2026-04-16 13:29:26 +03:00
Avgustin Marinov
82ee1cc4e6 Fix sonar findings on 21 style (#3020)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2026-04-15 16:57:10 +03:00
Avgustin Marinov
1be473b22c [#2845] Bump Spring boot to 4.x (#2941)
Notes:
1. (!) Eclipselink shall be migrated to 5.0 (in 4.0.8 there are incompatible classes, e.g EJBQueryImpl doesn't implement some newer methods). In the moment is with beta (5.0.0-B12) - JUST for testing!
2. (!) Ethlo plugin doesn't work with Eclipselink 5.0, it builds with Eclipselink 4.0.8 (could be a problem)
3. Dependencies - new starters, test starters changes, some dependencies refactoring
4. Auto-configs split - package changes, some properties classes changes
5. Spring nullable org.springframework.lang.Nullable/NonNull are depecated and replaced with jspcify -> org.jspecify.annotations.Nullable/NonNull (NullMarked)
6. Lombok config - adding lombok.addNullAnnotations=jspecify - to do not mess annotations
7. Distributed lock table changes - SP_LOCK table db migration
8. Spring Retry replaced with Spring Core Retry - does repace retry in hawkbit
9. Specifications -> added Update/Delete(/Predicate) Specifications and JpaSpecificationExecutor changed
10. HawkbitBaseRepositoryFactoryBean modified to register properly
11. Jackson - 2 -> 3, package migrations, finals are not deserialized by default(enable finals deserialization, consider make non-final), too ‘smart’ tries to set complex objects instead of using non args constructor (-> @JsonIgnore), some other default configs made

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2026-04-14 11:31:41 +03:00
Avgustin Marinov
7a642f564e Remove the ROLE_CONTROLLER_ANONYMOUS (#2948)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2026-03-05 10:01:43 +02:00
Avgustin Marinov
14f754b30e Remove HawkbitEclipseLinkJpaDialect sync workaround - already in Spring (#2940)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2026-02-26 08:58:08 +02:00
Avgustin Marinov
cd22716bf1 [#2876] Temporary workaround of #2876 (#2874)
Should be fixed with next Spring ORM - 7.0.4 / 6.2.16

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2026-01-19 10:07:03 +02:00
Avgustin Marinov
f6f62db0ad Refactor hawkbit core and security (#2833)
* Refactor hawkbit core and security

* improve access to the base core features - static
* thus easiear access
* and less boilerplate passing of instances

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

* Refactor context classes

* make JSON context serialization default

* AccessContext

* Split hawkbit-security-core to other modules and remove it

---------

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-11-27 13:07:49 +02:00
Avgustin Marinov
98daa696de Refactor caches (#2775)
* added static usage of cache in order access it easier
* added mandatory (in hawkbit-core) registration - always tenant aware caches shall be used - hawkbit depends on it
* added per cache and tenant name configuration
* (not really realted to caches) but in order to be easier evicted entities after commit handlers are now statically accessed

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-10-24 16:42:40 +03:00
Avgustin Marinov
2a636328a0 20250828 cleanup (#2639)
* Cleanup

* Refactor artifact management
2025-09-02 16:08:14 +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
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
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
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
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
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
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
Avgustin Marinov
36fa915cbc Improve @Value properties (#2352)
Implement recommendation from https://docs.spring.io/spring-boot/reference/features/external-config.html to use kebab case for @Values:

If you do want to use @Value, we recommend that you refer to property names using their canonical form (kebab-case using only lowercase letters). This will allow Spring Boot to use the same logic as it does when relaxed binding @ConfigurationProperties.

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-04-11 16:46:34 +03:00
Avgustin Marinov
36d8ab47ad Bump spring boot to 3.4.4 (#2324)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-03-21 11:24:22 +02:00
Avgustin Marinov
1e4e45f7bb Ethlo back (#2267)
* Return Ethlo plugin

* Return back statick weaving for EclipseLink in order to use lazy fetch
2025-02-11 12:50:51 +02:00
Avgustin Marinov
881900600f Sonar Fixes (#2243)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-01-27 16:46:28 +02:00
Avgustin Marinov
5cc4372981 EclipseLink JpaConfiguration to depend on TenantResolver (#2242)
minimize dependencies

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-01-27 15:42:22 +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
bbb5f40207 Sonar Fixes (6) (#2214)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-01-21 16:13:43 +02:00
Avgustin Marinov
e8406afeba Add hibernate support for printing Specification/TypedQuery to string (for debug purposes) (#2213)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-01-21 15:50:26 +02:00
Avgustin Marinov
25e45d5825 User friendly map toString in StatisticsUtils (#2203)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-01-20 13:31:31 +02:00
Avgustin Marinov
1f71d6ddb0 Add JPA statistics support for eclipselink and hibernate (#2202)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-01-20 13:17:55 +02:00
Avgustin Marinov
52fec7c82b Non static native query prefix (#2152)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-12-18 16:43:56 +02:00
Avgustin Marinov
1c211c81c2 Jpa vendor native support extended for in of collections (#2150)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-12-17 13:55:21 +02:00
Avgustin Marinov
db3ac7f2dd Hibernate support (#2147)
* Hibernate support

---------

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-12-16 16:08:07 +02:00