* Do some refactoring to fix dependencies between rollout management, executor and evaluator beans.
* Move rollout retrieving in same transaction as execution.
* Do some refactoring. Extend logging and exception handling.
* Remove unnecessary transactional and validation annotations.
* remove catching never thrown bean
* Fix new rollout handling API
* Expose forceTime and startAt fields in rollout representation in Mgmt API
* Change "forceTime" to "forcetime"
* Add checks when making a POST request in the tests
* Change forced to timeforced in tests and extend validity check
* Pass aforcetime and startat arguments as test checks
* remove unused import
Signed-off-by: Stanislav Trailov <stanislav.trailov@bosch.io>
* Fix formatting of the sub entity attribute by verifying the formatting against the sub entity attributes list of the related parent property enum.
* Verify action API by target property filter
* Prevent losing headers (like CORS related ones) when resetting the response headers due to artifact stream.
* add comment
* Extend CORS tests to verify provided header.
* Add new endpoint for single action
* Adding the new endpoint to the documentation
+ reverse the representation mode to FULL
Signed-off-by: Stanislav Trailov <stanislav.trailov@bosch.io>
* Introduce user consent flow
* Add permissions to confirmation management
* rename from consent to confirmation
* Reformat code. Remove unused imports. Change and add permission checks when configuring auto-confirmation.
* Do not include null values for DDI confirmation base endpoint
* fix confirmation required checkbox id
* Remove unused import. Fix consume/produce type of new API's.
* Change term processing to proceeding when activating user consent flow
* Align formatting and extend integration test cases for DMF and DDI.
* Extend DMF test cases to consider auto-confirmation
* Refactor action management to fix problem of handling action status updates on closed actions.
* remove unsupported validation
* use new confirmation api for DMF. Extend test cases.,
* Remove unnecessary fields.
* Extend API documentation for DDI and MGMT API.
* adapt ddi api docs adoc file
* Fixed the duplicate migration version for db files
* fix method to support confirmation
* Fixed PR comments
* Addressed PR comments
* Fixed after merge compilation issue
* Fixed after merge compilation issue
* Fix failing tests in MgmtRolloutResourceTest
* Fixed the permissions issue reflected by integration tests
* Added back the missing line of code lost during merge
* Fix the failing test on Jenkins
Signed-off-by: Stanislav Trailov <stanislav.trailov@bosch.io>
Signed-off-by: Dimitar Shterev <dimitar.shterev@bosch.io>
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
Signed-off-by: Shruthi Manavalli Ramanna <shruthimanavalli.ramanna@bosch-si.com>
Co-authored-by: Shruthi Manavalli Ramanna <shruthimanavalli.ramanna@bosch-si.com>
* Trigger next rollout group - backend and management API implementations. Backend and management API tests.
* Trigger next rollout group - Fixed resource documentation test.
* Trigger next rollout group - Fixed resource documentation test.
* add rest docs
* Trigger next rollout group - UI changes. New button for trigger next rollout group in rollout view.
* add error test for rest api
* Trigger next rollout group - Added test for triggering next group for all rollout states.
* add confirm
* fix test
* replace DB calls
* fix translation
* fix error message
Signed-off-by: Dimitar Shterev <dimitar.shterev@bosch.io>
Signed-off-by: Stefan Klotz <stefan.klotz@bosch.io>
Co-authored-by: Stefan Klotz <stefan.klotz@bosch.io>
* 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
* Adapted GridComponentBuilder#addControllerIdColumn to create a link
* Do not hard-code target link ID prefix
* Encode controller ID
* Introduce HTML encoder for controller IDs
* Remove unused imports
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* download soft deleted artifact throws binary gone exception
Signed-off-by: Stefan Klotz <stefan.klotz@bosch.io>
* add test and update documentation
Signed-off-by: Stefan Klotz <stefan.klotz@bosch.io>
* fix javadoc
Signed-off-by: Stefan Klotz <stefan.klotz@bosch.io>
* test soft deleted artifact has no download link
Signed-off-by: Stefan Klotz <stefan.klotz@bosch.io>