* added column action status code to RolloutGroupTarget view, currently bug too many rows
* changed JPA query to return also action status code
* added repository tests
* additional checks in tests
* improved jpa query to retrieve targets of rollout group
* added new property lastActionStatusCode to action for performance reasons
* added new property lastActionStatusCode to action for performance reasons
* adapted test cases
* fixing build problems on MAC with asciidoctor
* added testcase to ensure action status code is stored on action
* setting min push size to this value reduces multiple calls to the db
* renamed properties for consistency
* incorporated code review remarks
* provided infrastructure to enable sorting in grids
* Fixed sorting in RolloutGroupTarget
* fixed sorting with pinning and assigned SoftwareModules
* Added sorting for columns createdBy, createdAt, lastModifiedBy and lastModifiedAt
* Adapted status columns to be sortable
* fixed unit tests
* fixing sonar findings
* making Sonar happy
* added testcases for management classes regarding sorting
* added testcases for management classes regarding sorting
* using name for element ids in DOM
* incorporated code review remarks
Signed-off-by: Markus Block <markus.block@bosch-si.com>
* Adapt assignment events to communicate mass cancel operations within one event.
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Fix edge cases identified by test failures. Adapt tests and reduce amount of published cancel events.
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Fix license header
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Refactor visibility of methods in assignment strategy classes. Avoid having empty action status messages.
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Fix api docs
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
Co-authored-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
* Allow providing a custom code with an action status feedback to give more fine grained device specific details.
* Add ddi rest docs for new optional status code value.
* Provide new code value via mgmt api. Fix review findings.
* Fix failing tests
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
Co-authored-by: Stefan Behl <stefan.behl@bosch.io>
* Dmf batch support changes. Implement single batch message instead of multiple messages for assigment on multiple targets. Added system property to switch on/off.
Signed-off-by: Dimitar Shterev <dimitar.shterev@bosch.io>
* Dmf batch support changes. Implement single batch message instead of multiple messages for assigment on multiple targets. Added system property to switch on/off.
Signed-off-by: Dimitar Shterev <dimitar.shterev@bosch.io>
* Dmf batch support changes. Implement single batch message instead of multiple messages for assigment on multiple targets. Added system property to switch on/off.
Signed-off-by: Dimitar Shterev <dimitar.shterev@bosch.io>
* Dmf batch support changes. Implement single batch message instead of multiple messages for assigment on multiple targets. Added system property to switch on/off.
Signed-off-by: Dimitar Shterev <dimitar.shterev@bosch.io>
* Update hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpMessageDispatcherServiceIntegrationTest.java
Co-authored-by: Bondar Bogdan <36962546+bogdan-bondar@users.noreply.github.com>
* Dmf batch support changes. Implement single batch message instead of multiple messages for assigment on multiple targets. Added system property to switch on/off.
Signed-off-by: Dimitar Shterev <dimitar.shterev@bosch.io>
* Dmf batch support changes. Implement single batch message instead of multiple messages for assigment on multiple targets. Added system property to switch on/off.
Signed-off-by: Dimitar Shterev <dimitar.shterev@bosch.io>
* Dmf batch support changes. Implement code review comments.
Signed-off-by: Dimitar Shterev <dimitar.shterev@bosch.io>
Signed-off-by: Dimitar Shterev <dimitar.shterev@bosch.io>
Co-authored-by: Bondar Bogdan <36962546+bogdan-bondar@users.noreply.github.com>
* initial draft to maximize custom target filer table for better UX in case of long keys/names
* Set correct maximize icon identifier and fix problem with wrong db table structure.
* Remove unnecessary local variable.
* Fix db migration scripts
* Fix losing the target tag table when mac and minimizing target table.
* fixed minor styling, removed duplication
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Fix join type for targets with their assignedDs
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Override saveAll method and make use of it in the JpaTargetManagement
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Use unmodifiable list and flip transactional logic
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Initialize new list instead of an unmodifiable list.
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Fix testdata factory
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Extend event information by it's first interface class and improve constructing the event by providing the directly only.
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Check if entity interface is assignable from TenantAwareBaseEntity.
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* first iteration of query optimization for target and distribution set
* fixed type distribution set filter
* adapted all ui dataproviders to use repository count
* adapted test to not check target attributes within search query
* unified search behaviuor for ds and sm
* removed unneccessary count queries for some mgmt calls
* removed unneccessary type id proprty from ProxyDistributionSetInfo to minimize lazy fetches
* refactored mgmt classes
* removed duplication of name version filter
* fixed copy rollout compatibility check
* cleaned-up management left overs
* added index to rollouts table on tenant/status queries
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
* reduce the number of created entities in tests
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch.io>
* fixed tests
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch.io>
* fixed review findings
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch.io>
* merged master
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch.io>
* adapted target count
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch.io>
* fixed review findings
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch.io>
* fixed RolloutManagementTest
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch.io>
* fixed flaky test ConcurrentDistributionSetInvalidationTest
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch.io>
* Fixed sonar warnings
- "Cognitive Complexity"
- "Do not use replaceAll when not using a regex"
- java:S5869 - Character classes in regular expressions should not contain the same character twice
- Improved bad name
- Typos
- reduced code duplications
- Replaced hand-made wait-utility with Awaitility
- Log messages
- Duplicate code
- Typos
- Removed Thread.sleep, instead relaxed check condition
- Removed use of deprecated API
- Removed use of deprecated API
- Added supress-warnings as I do not see a better way to write the tests
- Removed Thread.sleep / redundant functionality to Awaitility
- Fixed other warnings (use isZero, isEmpty, hasToString)
- Removed/Reduced duplicate code
- Added generics
- Fixed asserts
- removed: field.setAccessible(true) actually should not be needed for public static fields!
- Too long constructor passes arguments in wrong order - how surprisingly...
- Clean-up use of varargs arguments
- Fixed regex
- Fixed typos and other minor stuff
- Making public constructors protected in abstract classes
- Swapped expected and asserted argument
- volatile not enough for syncing threads
- volatile not enough for syncing threads
- out-commented code
- Made regex not-greedy, added tests for verification
- Avoid exposure of thread-local member var
Signed-off-by: Peter Vigier <Peter.Vigier@bosch.io>
* Fixed Sonar warnings
* License header fix
Signed-off-by: Peter Vigier <Peter.Vigier@bosch.io>
* License header fix#2
Signed-off-by: Peter Vigier <Peter.Vigier@bosch.io>
* Fixing review findings
Signed-off-by: Peter Vigier <Peter.Vigier@bosch.io>
* Fixing tests
- Fixed '&' usage in javadoc and typos
- Fixing some warnings
Signed-off-by: Peter Vigier <Peter.Vigier@bosch.io>
* explicitly return an optional entity by an event
Signed-off-by: Stefan Klotz <stefan.klotz@bosch.io>
* fix assertions in tests
Signed-off-by: Stefan Klotz <stefan.klotz@bosch.io>
* Added Target type filter with drag and drop support
Signed-off-by: Anand kumar <anand.kumar@bosch-si.com>
* Removed the unused enums and target type filter button class
Signed-off-by: Anand kumar <anand.kumar@bosch-si.com>
* Resolved merge conflicts
Signed-off-by: Anand kumar <anand.kumar@bosch-si.com>
* Fixed java doc issue with the method link in the comment
Signed-off-by: Anand kumar <anand.kumar@bosch-si.com>
* Fixed the IN query overflow for target Type assignment
Signed-off-by: Anand kumar <anand.kumar@bosch-si.com>
* Fixed Review comments
Signed-off-by: Anand kumar <anand.kumar@bosch-si.com>
* Added compatibility calls needed for UI
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* Adapted UI for target type compatibility checks
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* improved exception handling for incompatibility check
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* added & fixed unit tests
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* fixed merged conflicts
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* fixed target type incompatibly specification
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* changed UI behaviour to close assignment popup in case of IncompatibleTargetTypeException
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* added unit test to validate incompatibly specification fix
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* fixed review findings
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* fixed review findings
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* fix potential null pointer
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* Fixed rolloutcopy by adding dsTypeId to ProxyDistributionSetInfo
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* suppressed warning
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* Introduce custom base repository factory bean
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Simplify ordered DS service call by using specs
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Annotate getBaseRepoType interface as FunctionalInterface
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Use CustomBaseRepositoryFactory instead of static BaseClass
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Fix license headers
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Add ordered specification back
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Adapted code to allow '.' inside of metadata key and attribute names
Signed-off-by: Markus Block <markus.block@bosch-si.com>
* added handling of corner cases
Signed-off-by: Markus Block <markus.block@bosch-si.com>
* Adapted metadata and attribute tests to check that dot is allowed
Signed-off-by: Markus Block <markus.block@bosch-si.com>
* fixed documentation
Signed-off-by: Markus Block <markus.block@bosch-si.com>
* Allow usage of dot in key names for every map attribute, e.g. also for
metadata in distribution set
Signed-off-by: Markus Block <markus.block@bosch-si.com>
* fixed typo
Signed-off-by: Markus Block <markus.block@bosch-si.com>
* adapted test key to ensure a dot can be used
Signed-off-by: Markus Block <markus.block@bosch-si.com>
* fixed typo
Signed-off-by: Markus Block <markus.block@bosch-si.com>
* add assign/unassign type endpoints to target api docs
Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>
* fix target type creation for api rest docs test
Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>
* fix review comments: rename tests
Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>
* adapt test to avoid failing when translated
Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>
* added targettype compatibility check in deployment
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* added targettype compatibility for autssignment
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* added / fixed tests for auto assignment compatibility check
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* adapted rollout creation to use JPA specifications for compatibility checks
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* fix unit tests and javadoc
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* fix copyright header
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* fixed review findings
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* fixed review findings
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* replaced validated-DS management calls
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* improved compatibility check in DeploymentManagementTest
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* fixed review findings
Signed-off-by: Robert Sing <robert.sing@bosch-si.com>
* Update name SP to hawkbit in api guide adocs
Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>
* fix javadoc class descriptions of existing resource/api classes
Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>
* Add color property to api response of ds/sw type
Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>
* Add color property to sw type test data & adapt rest docu
Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>
* Add missing property description for "colour" and "deleted"
Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>
* fix review findings
Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>
* Add additional specifications to cover use cases of queries
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Replace reading target queries by spec, use empty spec in default repo calls
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Use correct NonNull annotation
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Added default exists based on spec count to TargetRepository
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Replace NoCountPagingRepository by enhanced BaseRepository
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Add missed withoutcount call in distributionsettype find all
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Add missing overrides to NoCountRepository implementation
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Remove need of repository by referencing base class directly in configuration
Signed-off-by: Alexander Dobler <alexander.dobler3@bosch.io>
* Interpret /parse RSQL expressions case insensitive
Signed-off-by: Stefan Behl <stefan.behl@bosch.io>
* Add unit test verifying that RSQL expressions are case insensitive
Signed-off-by: Stefan Behl <stefan.behl@bosch.io>
* Throw the TargetAssignDistributionSetEvent even if there are actions in CANCELING state present. Filter the actions on the receiver side. In this case at the DMF.
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Fix deploymentManagementTest
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Add debug logs and fix tests to verify correct DMF message behaviour
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Extend test case for the DMF in case the cancel is confirmed by the device
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Remove unsued import
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Fix review findings by filtering the list of targets first before querying the database for distribution set and software module.
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* flip list verification logic
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Refactor amqp tests
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
* Removed unnecessary DB queries when editing/validating RSQL query in Target Filter Management (#1023)
Added valid TargetFields to RSQL validation when editing Target Filter.
Signed-off-by: Sergey Gerasimov <sergey.gerasimov@devolo.de>
* Corrected visit OrNode implementation.
Changed isValid to receive FieldNameProvider as parameter
Reduced code duplication by moving commonly used utility methods to AbstractFieldNameRSQLVisitor from ValidationRSQLVisitor abd JpqQueryRSQLVisitor
Refactored and extended Unit Tests.
Minor corrections and typos.
Signed-off-by: Sergey Gerasimov <sergey.gerasimov@devolo.de>
* Added Maven entry for devolo 2020 copyright header.
Signed-off-by: Sergey Gerasimov <sergey.gerasimov@devolo.de>
* Fix failing unit tests
* # WARNING: head commit changed in the meantime
Signed-off-by: Stefan Behl <stefan.behl@bosch.io>
* Fix Sonar findings.
Signed-off-by: Stefan Behl <stefan.behl@bosch.io>
* Cleanup
Signed-off-by: Stefan Behl <stefan.behl@bosch.io>
* Fix PR review findings
* Fix invalid queries in unit tests
Signed-off-by: Stefan Behl <stefan.behl@bosch.io>
* Added test case to create filter with invalid query via Mgmt REST API
Signed-off-by: Stefan Behl <stefan.behl@bosch.io>
Co-authored-by: Sergey Gerasimov <sergey.gerasimov@devolo.de>