Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add resource collection /rest/v1/actions to Management REST API #1299

Conversation

stefbehl
Copy link
Contributor

@stefbehl stefbehl commented Dec 8, 2022

This pull request enhances the Management REST API with a new primary resource collection for deployment actions. It will be available under the context path /rest/v1/actions. So far, actions are only exposed as part of the /rest/v1/targets resource collection, e.g. by requesting them for a specific target (/rest/v1/targets/<controller-id>/actions).

The actions resource collection is read-only and allows to filter and sort the list of actions based on different criteria, such as the associated target, distribution set, and /or rollout. As usual, the filter needs to be specified as a RSQL query. Example requests:

  • /rest/v1/actions?q=target.name==Target123
  • /rest/v1/actions?q=distributionSet.name==MyDS,distributionSet.version==1.0.0
  • /rest/v1/actions?q=rollout.id==123
    etc.

Note that the resource links which are exposed in the JSON representation of an Action point to the corresponding REST entry points of the target resource collection (/rest/v1/targets/<controller-id>/actions/<action-id>).

Copy link
Contributor

@StefanKlt StefanKlt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, thanks @stefbehl

@bogdan-bondar bogdan-bondar merged commit d779612 into eclipse-hawkbit:master Jan 10, 2023
@bogdan-bondar bogdan-bondar deleted the feature/actions-resource-collection branch January 10, 2023 16:19
krishna-devolo added a commit to devolo/hawkbit that referenced this pull request Sep 28, 2023
* Bump docker setup to 0.3.0M7

Signed-off-by: Dominic Schabel <[email protected]>

* Proxy support for sandbox fixed

Signed-off-by: Dominic Schabel <[email protected]>

* upgraded Vaadin to 8.12.3

Signed-off-by: Bogdan Bondar <[email protected]>

* How to report vulnerability

Signed-off-by: Dominic Schabel <[email protected]>

* Security chapter added and minor formatting issues fixed

Signed-off-by: Dominic Schabel <[email protected]>

* adapted DEPENDENCIES list, changed vaadin themes CQ to 8.12.3

Signed-off-by: Bogdan Bondar <[email protected]>

* Migration to JUnit5 as default test runtime (#1082)

* Migrate tests to JUnit5

Signed-off-by: Dominic Schabel <[email protected]>

* REST docs tests migrated to JUnit5

Signed-off-by: Dominic Schabel <[email protected]>

* Migrated security and UI tests to JUnit5

Signed-off-by: Dominic Schabel <[email protected]>

* Migrated management tests to JUnit5

Signed-off-by: Dominic Schabel <[email protected]>

* Reflecting changes from JUnit5 migration

Signed-off-by: Dominic Schabel <[email protected]>

* Fix RabbitMQ test detection

Signed-off-by: Dominic Schabel <[email protected]>

* Drop support for JUnit4

Signed-off-by: Dominic Schabel <[email protected]>

* Fix the creation of the Usage Report (#1101)

* Use the forEachTenant method to generate the report for each tenant.
* add a test to verify the functionality of getSystemUsageStatisticsWithTenants

Signed-off-by: Michael Herdt <[email protected]>

* Introduce new tenant configuration events (#1059)

* Introduce new events that are triggered when changes are made to the tenant configuration.
* Add new events to EventTypes
* Fix DeploymentManagement tests.
* Fix AmqpMessageDispatcherServiceIntegration tests.
* Fix DdiRootControlle test.
* Remove unused imports.
* TenantConfigUpdatedEvent should implement EntityUpdatedEvent

Signed-off-by: Michael Herdt <[email protected]>

* Feature/remove junit5 leftovers (#1097)

* Migrate JUnit4 leftovers to JUnit5

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Fix method name typos

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Avoid unnecessary Mockito stubbings

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Replace assertThrows by assertThatExceptionOfType, fix test TODO

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Fix error for downloading soft deleted artifact binary (#1102)

* download soft deleted artifact throws binary gone exception

Signed-off-by: Stefan Klotz <[email protected]>

* add test and update documentation

Signed-off-by: Stefan Klotz <[email protected]>

* fix javadoc

Signed-off-by: Stefan Klotz <[email protected]>

* test soft deleted artifact has no download link

Signed-off-by: Stefan Klotz <[email protected]>

* Use TargetManagement for the quota related count operation when activating auto assignment instead of performing this operation directly on the repository. (#1108)

Signed-off-by: Michael Herdt <[email protected]>

* Fix output folder for REST docu tests (#1109)

* Fix output folder for REST docu tests

Signed-off-by: Natalia Kislicyn <[email protected]>

* Add description to abstract method

Signed-off-by: Natalia Kislicyn <[email protected]>

* Execute rollouts and auto assignments in the correct user context (#1100)

* Execute rollouts and auto assignments in correct user context

Signed-off-by: Stefan Behl <[email protected]>

* Fix PR review findings

Signed-off-by: Stefan Behl <[email protected]>

* Cleanup usage of lenient

Signed-off-by: Stefan Behl <[email protected]>

* UI error handling refactoring (#1106)

* refactored HawkbitUIErrorHandler to delegate error details extraction to external extractor beans
* refactored ui error handling, allowed ui error details extractors to return a list of error details
* added license headers, restructured package structure
* adapted javadocs
* fixed sonar findings
* fixed license header
* added tests for HawkbitUIErrorHandler
* refactored ConstraintViolationErrorExtractor, added test for extractors
* changed UI tests feature to Management UI
* fixed the parent/child error type resolution by ui error details extractor, added test

Signed-off-by: Bogdan Bondar <[email protected]>

* Refactor AutoAssignExecutor to improve the extensibility (#1110)

* Refactor AutoAssignExecutor to improve the extensibility.

Signed-off-by: Michael Herdt <[email protected]>

* introduce protected getters

Signed-off-by: Michael Herdt <[email protected]>

* Refactor auto assign executor. Create deployment requests based on list of controllerIds.

Signed-off-by: Michael Herdt <[email protected]>

* Fix review findings

Signed-off-by: Michael Herdt <[email protected]>

* Surround consumer with a try catch block to continue assignment process for other filter. Execute assignment in user context.

Signed-off-by: Michael Herdt <[email protected]>

* Fix the action status icon "CANCEL_REJECTED" because it was displayed as unknown (#1115)

Signed-off-by: Michael Herdt <[email protected]>

* ManagementApi: Action does not have property containing rollout name (#1116)

* Mgmt Rest API: Enhance Action payload with rollout properties

Signed-off-by: Stefan Behl <[email protected]>

* Enhance Mgmt REST API docs

Signed-off-by: Stefan Behl <[email protected]>

* Minor changes

Signed-off-by: Stefan Behl <[email protected]>

* Simplified JpaRolloutManagement, moved rollout handling logic to JpaRolloutHandler (#1094)

* introduce RolloutExecutor
* removed unused method

Signed-off-by: Ahmed Sayed <[email protected]>

* Fix test name in order to get executed by surefire (#1117)

* Fix test name in order to get executed by surefire

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Fix expected group amount for outer query

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Removed flyway downgrade so that spring default is pickedup (#1114)

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Injectable UI target data suppliers (#1123)

* initial proposal for injectible target data provider

Signed-off-by: Bogdan Bondar <[email protected]>

* improved selection of first entity in grid

Signed-off-by: Bogdan Bondar <[email protected]>

* introduced constructor to explicitely set DataCommunicator for a Grid

Signed-off-by: Bogdan Bondar <[email protected]>

* made data communicator for target grid injectable

Signed-off-by: Bogdan Bondar <[email protected]>

* adapted size page request to load only one entity for getting total elements, fixed grid duplicates in case lastModified property is the same for targets and rollouts

Signed-off-by: Bogdan Bondar <[email protected]>

* DeleteSupport rethrows the exception to be intercepted by error handlers

Signed-off-by: Bogdan Bondar <[email protected]>

* minor grid refactoring

Signed-off-by: Bogdan Bondar <[email protected]>

* adapted docu for base data providers

Signed-off-by: Bogdan Bondar <[email protected]>

* added custom filter data provider, made filter effectively immutable by cloning before data refresh

Signed-off-by: Bogdan Bondar <[email protected]>

* grid returns size directly from data provider instead of data communicator

Signed-off-by: Bogdan Bondar <[email protected]>

* restructured data provider/communicator dependency injection, added injectable data supplier for target filter view grid

Signed-off-by: Bogdan Bondar <[email protected]>

* do not remove confirmation dialog window from UI explicitely

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed sonar, added docs

Signed-off-by: Bogdan Bondar <[email protected]>

* added remote entity events dispatch topic to be fired on deffered events dispatch (#1129)

Signed-off-by: Bogdan Bondar <[email protected]>

* Remove wrong license header (#1127)

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Set DdiActionFeedback ID deprecated (#1091)

* Deprecate DdiActionFeedback ID

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Add deprecation to FEEDBACK_ACTION_ID in docu

Signed-off-by: Florian Ruschbaschan <[email protected]>

* PopUp dialog for canceling queued uploads (#1112)

* added cancel dialog for queued uploads

Signed-off-by: Robert Sing <[email protected]>

* fix PR review findings

Signed-off-by: Robert Sing <[email protected]>

* fix sonar finding

Signed-off-by: Robert Sing <[email protected]>

* fixed DashboardMenu navigation

Signed-off-by: Robert Sing <[email protected]>

* Consider Target Fields when validating RSQL filters (#1121)

* 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 <[email protected]>

* 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 <[email protected]>

* Added Maven entry for devolo 2020 copyright header.

Signed-off-by: Sergey Gerasimov <[email protected]>

* Fix failing unit tests

* # WARNING: head commit changed in the meantime

Signed-off-by: Stefan Behl <[email protected]>

* Fix Sonar findings.

Signed-off-by: Stefan Behl <[email protected]>

* Cleanup

Signed-off-by: Stefan Behl <[email protected]>

* Fix PR review findings

* Fix invalid queries in unit tests

Signed-off-by: Stefan Behl <[email protected]>

* Added test case to create filter with invalid query via Mgmt REST API

Signed-off-by: Stefan Behl <[email protected]>

Co-authored-by: Sergey Gerasimov <[email protected]>

* Added userinfo endpoint to validate basic auth (#1131)

* Added userinfo endpoint to validate basic auth
* Fixed the bean exception for failing tests
* Added tests for userinfo endpoint with basic auth
* Added the missing license header

Signed-off-by: Anand kumar <[email protected]>

* Publish target assign event (#1136)

* 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 <[email protected]>

* Fix deploymentManagementTest

Signed-off-by: Michael Herdt <[email protected]>

* Add debug logs and fix tests to verify correct DMF message behaviour

Signed-off-by: Michael Herdt <[email protected]>

* Extend test case for the DMF in case the cancel is confirmed by the device

Signed-off-by: Michael Herdt <[email protected]>

* Remove unsued import

Signed-off-by: Michael Herdt <[email protected]>

* 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 <[email protected]>

* flip list verification logic

Signed-off-by: Michael Herdt <[email protected]>

* Refactor amqp tests

Signed-off-by: Michael Herdt <[email protected]>

* suppressed functional interface sonar issue for MgmtBasicAuthRestApi

Signed-off-by: Bogdan Bondar <[email protected]>

* Support case-insensitive RSQL expressions /target filters (#1137)

* Interpret /parse RSQL expressions case insensitive

Signed-off-by: Stefan Behl <[email protected]>

* Add unit test verifying that RSQL expressions are case insensitive

Signed-off-by: Stefan Behl <[email protected]>

* Feature/handle amqp fatal errors (#1111)

* Adding support to handle lengthy error msgs more precisely

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Added check at conditionalHandler level and changes assertions in test class

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Fixed sonar lint issues

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Reverted the change on making class final

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* To trigger the circle-ci build and check

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Addressed last set of PR comments

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Fixe sonar issue for nullpointer dereference

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Handling null case explicitly

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Make RSQL visitor pluggable via a managed bean (#1145)

* Add a managed bean for a RsqlVisitorFactory

Signed-off-by: Stefan Behl <[email protected]>

* Fix failing unit tests

* Fix Sonar findings

* Fix PR review findings

* View-scoped event listeners (#1134)

* added UI EntityNotFound error details extractor

Signed-off-by: Bogdan Bondar <[email protected]>

* changed Target count label to not rely on grid data change events but rather on EntityModified UI events to decide how to react dependand on the event type

Signed-off-by: Bogdan Bondar <[email protected]>

* added current view check on entity modified events

Signed-off-by: Bogdan Bondar <[email protected]>

* unsubscribe/resubscribe event listeners on view leave/enter, reselect grid entities on view enter

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed target grid count reset on initial load and after view change

Signed-off-by: Bogdan Bondar <[email protected]>

* re-evaluate filters on Deployment View enter

Signed-off-by: Bogdan Bondar <[email protected]>

* added on view enter logic for rest of the views

Signed-off-by: Bogdan Bondar <[email protected]>

* introduced event listener aware layout and view, adapted code accordingly

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed bulk upload

Signed-off-by: Bogdan Bondar <[email protected]>

* added missing docs

Signed-off-by: Bogdan Bondar <[email protected]>

* adapted software module deselection upon master entity change

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed npe in case master support is not present (Artifact View)

Signed-off-by: Bogdan Bondar <[email protected]>

* restructured amqp assignDistributionSetMultipleTimes test

Signed-off-by: Bogdan Bondar <[email protected]>

* added waiting for the messages to be dispached by test

Signed-off-by: Bogdan Bondar <[email protected]>

* Optional controller attributes for THING_CREATED (#1154)

* added optional attributes payload to THING_CREATED DMF message

Signed-off-by: Bogdan Bondar <[email protected]>

* added optional attributes unit test for THING_CREATED message handler

Signed-off-by: Bogdan Bondar <[email protected]>

* extended Target interface with getControllerAttributes method, extended DMF message handler integration tests

Signed-off-by: Bogdan Bondar <[email protected]>

* updated hawkbit docs

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed review findings

Signed-off-by: Bogdan Bondar <[email protected]>

* Set key of DistributionSetType and SoftwareModuleType required (#1140)

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Replace NoCountPagingRepository by interface with dedicated findAllWithoutCount (#1146)

* Replace NoCountPagingRepository by enhanced BaseRepository

Signed-off-by: Alexander Dobler <[email protected]>

* Add missed withoutcount call in distributionsettype find all

Signed-off-by: Alexander Dobler <[email protected]>

* Add missing overrides to NoCountRepository implementation

Signed-off-by: Alexander Dobler <[email protected]>

* Remove need of repository by referencing base class directly in configuration

Signed-off-by: Alexander Dobler <[email protected]>

* Align target queries to only use specifications (#1148)

* Add additional specifications to cover use cases of queries

Signed-off-by: Alexander Dobler <[email protected]>

* Replace reading target queries by spec, use empty spec in default repo calls

Signed-off-by: Alexander Dobler <[email protected]>

* Use correct NonNull annotation

Signed-off-by: Alexander Dobler <[email protected]>

* Added default exists based on spec count to TargetRepository

Signed-off-by: Alexander Dobler <[email protected]>

* Feature/enforce hash validation for uploads (#1158)

* moved artifact duplication check after hash check

Signed-off-by: Robert Sing <[email protected]>

* added unit tests

Signed-off-by: Robert Sing <[email protected]>

* fixed copyright header

Signed-off-by: Robert Sing <[email protected]>

* fixed review finding

Signed-off-by: Robert Sing <[email protected]>

* Feature target type entity (#1162)

* Added Target Type model

Signed-off-by: Anand kumar <[email protected]>

* Added Target Type JPA model

Signed-off-by: Anand kumar <[email protected]>

* Added Target Type repository model classes

Signed-off-by: Anand kumar <[email protected]>

* Removed the name entity from Target Type

Signed-off-by: Anand kumar <[email protected]>

* Refactored the Target Type models

Signed-off-by: Anand kumar <[email protected]>

* Added the DB migration script and updated the Target Type models

Signed-off-by: Anand kumar <[email protected]>

* Added target type in target Mapper

Signed-off-by: Anand kumar <[email protected]>

* Changed the target type ID to Long

Signed-off-by: Anand kumar <[email protected]>

* Added MYSQL DB migration script and removed the deleted column for target type

Signed-off-by: Anand kumar <[email protected]>

* Updated the DB migration script for target table

Signed-off-by: Anand kumar <[email protected]>

* Added manyToMany reltation between target type and Ds type

Signed-off-by: Anand kumar <[email protected]>

* Added POSTGRESQL DB migration script

Signed-off-by: Anand kumar <[email protected]>

* Added MSSQL SERVER DB migration script

Signed-off-by: Anand kumar <[email protected]>

* Added DB2 DB migration script

Signed-off-by: Anand kumar <[email protected]>

* Added missing license header and java docs

Signed-off-by: Anand kumar <[email protected]>

* Added on delete cascade in DB migration script

Signed-off-by: Anand kumar <[email protected]>

* Added Target Type specification

Signed-off-by: Anand kumar <[email protected]>

* Removed the delete cascade and Added type API
Signed-off-by: Anand kumar <[email protected]>

* fixed API doc build

Signed-off-by: Anand kumar <[email protected]>

* Added target type management test

Signed-off-by: Anand kumar <[email protected]>

* Added target type events test

Signed-off-by: Anand kumar <[email protected]>

* Added target type update and unassign to target

Signed-off-by: Anand kumar <[email protected]>

* Added API tests for assigning target type to target

Signed-off-by: Anand kumar <[email protected]>

* Added missing license header

Signed-off-by: Anand kumar <[email protected]>

* Added missing docs

Signed-off-by: Anand kumar <[email protected]>

* Fixed sonar issues

Signed-off-by: Anand kumar <[email protected]>

* Fixed license header build issue

Signed-off-by: Anand kumar <[email protected]>

* Updated the attribute name to target type

Signed-off-by: Anand kumar <[email protected]>

* Fixed the review comments

Signed-off-by: Anand kumar <[email protected]>

* Removed unused error status variable

Signed-off-by: Anand kumar <[email protected]>

* Added target API to assign target type

Signed-off-by: Anand kumar <[email protected]>

* Added the tests for assigning target type to target

Signed-off-by: Anand kumar <[email protected]>

* Fixed the review comments for null check

Signed-off-by: Anand kumar <[email protected]>

* Fix sonar/repository for target type (#1169)

* fix sonar/repository for target type changes

Signed-off-by: Bogdan Bondar <[email protected]>

* review finding

Signed-off-by: Bogdan Bondar <[email protected]>

* Dependency upgrades (#1170)

* Increase jsoup version

Signed-off-by: Bogdan Bondar <[email protected]>

* bumped vaadin/guava/common-io to newest versions

Signed-off-by: Bogdan Bondar <[email protected]>

* substituted deprecated guava create temp dir method

Signed-off-by: Bogdan Bondar <[email protected]>

* fix null pointer exception in rsql target field validation test (#1172)

Signed-off-by: Bogdan Bondar <[email protected]>

* Colour property in Mgmt API response for DS/SM type (#1174)

* Update name SP to hawkbit in api guide adocs

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix javadoc class descriptions of existing resource/api classes

Signed-off-by: Natalia Kislicyn <[email protected]>

* Add color property to api response of ds/sw type

Signed-off-by: Natalia Kislicyn <[email protected]>

* Add color property to sw type test data & adapt rest docu

Signed-off-by: Natalia Kislicyn <[email protected]>

* Add missing property description for "colour" and "deleted"

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix review findings

Signed-off-by: Natalia Kislicyn <[email protected]>

* Test: max DS Types per TargetType (#1175)

* add dsTypes in targetType quota test

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix review findings

Signed-off-by: Natalia Kislicyn <[email protected]>

* README: add mention to Hara and hara-ddiclient (#1173)

Add a mention to the Eclipse Hara project and the hara-ddiclient library
that has been pushed recently to the Eclipse Foundation repositories.
Rework a bit the text to reflect this change.

Signed-off-by: Diego Rondini <[email protected]>

* Introduce basic functionality for invalidation of distributionsets (#1179)

* Basic DS invalidation functionality

Signed-off-by: Sebastian Firsching <[email protected]>

* Add checks for valid/complete DS

Signed-off-by: Sebastian Firsching <[email protected]>

* Stop rollouts + auto assignments when invalidating a DS

Signed-off-by: Sebastian Firsching <[email protected]>

* Add methods to count AAs + rollouts for invalidation

Signed-off-by: Sebastian Firsching <[email protected]>

* Small refactoring for DS management

Signed-off-by: Sebastian Firsching <[email protected]>

* Add invalidation functionality to REST API

Signed-off-by: Sebastian Firsching <[email protected]>

* Fix update stopped rollouts status

Signed-off-by: Sebastian Firsching <[email protected]>

* Add various tests

Signed-off-by: Sebastian Firsching <[email protected]>

* Introduce countActionsForInvalidation

Signed-off-by: Sebastian Firsching <[email protected]>

* Fix event tests with incomplete DS

Signed-off-by: Sebastian Firsching <[email protected]>

* Add H2 migration script

Signed-off-by: Sebastian Firsching <[email protected]>

* Fix action count method

Signed-off-by: Sebastian Firsching <[email protected]>

* Fix REST documentation tests

Signed-off-by: Sebastian Firsching <[email protected]>

* Change flyway version number

Signed-off-by: Sebastian Firsching <[email protected]>

* Add lock for DS invalidation + adapt tests

Signed-off-by: Sebastian Firsching <[email protected]>

* Move concurrency test to own class

Signed-off-by: Sebastian Firsching <[email protected]>

* Handle possible InterruptedException

Signed-off-by: Sebastian Firsching <[email protected]>

* Fix concurrency test

Signed-off-by: Sebastian Firsching <[email protected]>

* Use one transaction for all invalidations

Signed-off-by: Sebastian Firsching <[email protected]>

* Add invalidate endpoint to REST docu

Signed-off-by: Sebastian Firsching <[email protected]>

* Execute invalidation in transaction when actions are cancelled

Signed-off-by: Sebastian Firsching <[email protected]>

* Check that distribution set is valid when editing/creating metadata

Signed-off-by: Sebastian Firsching <[email protected]>

* Remove all changes in UI

Signed-off-by: Sebastian Firsching <[email protected]>

* Add DB migration files for all databases

Signed-off-by: Sebastian Firsching <[email protected]>

* Implement review findings

Signed-off-by: Sebastian Firsching <[email protected]>

* Move DS invalidation to own class to check permissions for single steps

Signed-off-by: Sebastian Firsching <[email protected]>

* Move invalidation count methods to management classes

Signed-off-by: Sebastian Firsching <[email protected]>

* Fix failing tests

Signed-off-by: Sebastian Firsching <[email protected]>

* Feature invalidation of distribution sets [UI part] (#1176)

* Visualization of action/button invalidate DistributionSet

Signed-off-by: Markus Block <[email protected]>

* introduced two dialogs to confirm ds invalidation

Signed-off-by: Markus Block <[email protected]>

* fixed dialog titles appear centered and added manamgement classes

Signed-off-by: Markus Block <[email protected]>

* retrieving affected entities from repository

Signed-off-by: Markus Block <[email protected]>

* considered multiselection for invalidating dist sets

Signed-off-by: Markus Block <[email protected]>

* adapt style and tooltip of invalid distributions in grid

Signed-off-by: Markus Block <[email protected]>

* showing errors for actions not allowed for invalidate DS

Signed-off-by: Markus Block <[email protected]>

* enhanced error message with dist name and version

Signed-off-by: Markus Block <[email protected]>

* added ids to the labels to be used in tests

Signed-off-by: Markus Block <[email protected]>

* added support for overwriting entity specific edit behaviour

Signed-off-by: Markus Block <[email protected]>

* Fixed incorrect label for cancelled action due to invalidation of ds in
a rollout

Signed-off-by: Markus Block <[email protected]>

* Fixed error notification to not show "please try again" for an invalid
DS

Signed-off-by: Markus Block <[email protected]>

* fixed typo

Signed-off-by: Markus Block <[email protected]>

* fixed Sonar findings

Signed-off-by: Markus Block <[email protected]>

* remove DS of a copied Rollout in case the DS is invalidated

Signed-off-by: Markus Block <[email protected]>

* changed icon of RolloutActionStatus in case of stopped Rollout because
of invalidation of DS and DS wasn't yet assigned to target. This is to
distinguish from the case of not assigned DS because of duplicate DS
assignemnt

Signed-off-by: Markus Block <[email protected]>

* Prevent editing Metadata of invalid DS

Signed-off-by: Markus Block <[email protected]>

* show DS as invalidated in Rollout view

Signed-off-by: Markus Block <[email protected]>

* incorporated code review remarks

Signed-off-by: Markus Block <[email protected]>

* invalidated DS should be removed from the list of DS to be invalidated

Signed-off-by: Markus Block <[email protected]>

* fixed missing code due to merge

Signed-off-by: Markus Block <[email protected]>

* Fixed compile error due to rebase

Signed-off-by: Markus Block <[email protected]>

* README.md: Add rauc-hawkbit-updater to the list of clients supporting hawkBit (#1181)

Also add the word 'demo' to the python variant to give a hint to not use
this for real-world applications.

Signed-off-by: Enrico Joerns <[email protected]>

* Feature mass cancel running actions on ds invalidation (#1177)

* Extend DS invalidation dialog to include mass-cancellation of actions

Signed-off-by: Natalia Kislicyn <[email protected]>

add component id for cancelation type radio buttons

Signed-off-by: Natalia Kislicyn <[email protected]>

* add infos about ds invalidation to UI documentation;
update UI images; add screenshot about ds invalidation

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix review findings

Signed-off-by: Natalia Kislicyn <[email protected]>

* add link property to invalidation docu

Signed-off-by: Natalia Kislicyn <[email protected]>

* Put invalidation counts into one object

Signed-off-by: Natalia Kislicyn <[email protected]>

* add hint to invalidation dialog, that invalidation is unrepeatable

Signed-off-by: Natalia Kislicyn <[email protected]>

* disable invalidate button if insufficient permission

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix auto assignment error with insufficient permission

Signed-off-by: Natalia Kislicyn <[email protected]>

* implement permissions check for invalidation dialog

Signed-off-by: Natalia Kislicyn <[email protected]>

* add update_target permission to api doc description

Signed-off-by: Natalia Kislicyn <[email protected]>

* Feature target with target type in UI (#1178)

* Added the target type combo box to add or update Target in UI

Signed-off-by: Anand kumar <[email protected]>

* Fixed NPE for empty target type

Signed-off-by: Anand kumar <[email protected]>

* Added target type option to target bulk upload

Signed-off-by: Anand kumar <[email protected]>

* Added Target type filter

Signed-off-by: Anand kumar <[email protected]>

* Added Named entity mapper for target type UI

Signed-off-by: Anand kumar <[email protected]>

* Fixed review comments

Signed-off-by: Anand kumar <[email protected]>

* Fixed sonar issues for serialization

Signed-off-by: Anand kumar <[email protected]>

* Fixed Review comments

Signed-off-by: Anand kumar <[email protected]>

* Fixed Bulk upload target type combo box

Signed-off-by: Anand kumar <[email protected]>

* Feature - TargetType compatibility check (#1180)

* added targettype compatibility check in deployment

Signed-off-by: Robert Sing <[email protected]>

* added targettype compatibility for autssignment

Signed-off-by: Robert Sing <[email protected]>

* added / fixed tests for auto assignment compatibility check

Signed-off-by: Robert Sing <[email protected]>

* adapted rollout creation to use JPA specifications for compatibility checks

Signed-off-by: Robert Sing <[email protected]>

* fix unit tests and javadoc

Signed-off-by: Robert Sing <[email protected]>

* fix copyright header

Signed-off-by: Robert Sing <[email protected]>

* fixed review findings

Signed-off-by: Robert Sing <[email protected]>

* fixed review findings

Signed-off-by: Robert Sing <[email protected]>

* replaced validated-DS management calls

Signed-off-by: Robert Sing <[email protected]>

* improved compatibility check in DeploymentManagementTest

Signed-off-by: Robert Sing <[email protected]>

* fixed review findings

Signed-off-by: Robert Sing <[email protected]>

* Vaadin security upgrade to 8.14.1 (#1188)

Signed-off-by: Bogdan Bondar <[email protected]>

* Docu for target type endpoints in Target API  (#1185)

* add assign/unassign type endpoints to target api docs

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix target type creation for api rest docs test

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix review comments: rename tests

Signed-off-by: Natalia Kislicyn <[email protected]>

* adapt test to avoid failing when translated

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix api doc tests in regard to type compatibility (#1191)

Signed-off-by: Natalia Kislicyn <[email protected]>

* Ensure a '.' character is allowed to be used in target filter query for metadata key and attribute name (#1186)

* Adapted code to allow '.' inside of metadata key and attribute names


Signed-off-by: Markus Block <[email protected]>

* added handling of corner cases

Signed-off-by: Markus Block <[email protected]>

* Adapted metadata and attribute tests to check that dot is allowed

Signed-off-by: Markus Block <[email protected]>

* fixed documentation

Signed-off-by: Markus Block <[email protected]>

* Allow usage of dot in key names for every map attribute, e.g. also for
metadata in distribution set

Signed-off-by: Markus Block <[email protected]>

* fixed typo

Signed-off-by: Markus Block <[email protected]>

* adapted test key to ensure a dot can be used

Signed-off-by: Markus Block <[email protected]>

* fixed typo

Signed-off-by: Markus Block <[email protected]>

* Support keywords in queries (#1193)

* support targettype as keyword in target-queries

Signed-off-by: Natalia Kislicyn <[email protected]>

* support valid as keyword in distributionset-queries

Signed-off-by: Natalia Kislicyn <[email protected]>

* remove targettype.id from filter queries

Signed-off-by: Natalia Kislicyn <[email protected]>

* remove targettype.description from filter queries

Signed-off-by: Natalia Kislicyn <[email protected]>

* Implement target type CRUD UI operations (#1184)

* implement target type CRUD UI operations

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix licenses

Signed-off-by: Virginijus Kandrotas <[email protected]>

* code clean up

Signed-off-by: Virginijus Kandrotas <[email protected]>

* code clean up

Signed-off-by: Virginijus Kandrotas <[email protected]>

* refactor proxy target type

Signed-off-by: Virginijus Kandrotas <[email protected]>

* refactor proxy target type

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix review comments

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix review comments

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix review comments

Signed-off-by: Virginijus Kandrotas <[email protected]>

* update class description

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix review comments

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix review comments

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix review comments

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix sonar issue

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix sonar issue

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix sonar issue

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix showing assigned ds types

Signed-off-by: Virginijus Kandrotas <[email protected]>

* remove unused import

Signed-off-by: Virginijus Kandrotas <[email protected]>

* Specification and BaseRepositotyProvider improvements (#1182)

* Introduce custom base repository factory bean

Signed-off-by: Alexander Dobler <[email protected]>

* Simplify ordered DS service call by using specs

Signed-off-by: Alexander Dobler <[email protected]>

* Annotate getBaseRepoType interface as FunctionalInterface

Signed-off-by: Alexander Dobler <[email protected]>

* Use CustomBaseRepositoryFactory instead of static BaseClass

Signed-off-by: Alexander Dobler <[email protected]>

* Fix license headers

Signed-off-by: Alexander Dobler <[email protected]>

* Add ordered specification back

Signed-off-by: Alexander Dobler <[email protected]>

* added Insufficient Permissions UI error extractor (#1196)

Signed-off-by: Bogdan Bondar <[email protected]>

* Adapt UI for target type compatibility check (#1189)

* Added compatibility calls needed for UI

Signed-off-by: Robert Sing <[email protected]>

* Adapted UI for target type compatibility checks

Signed-off-by: Robert Sing <[email protected]>

* improved exception handling for incompatibility check

Signed-off-by: Robert Sing <[email protected]>

* added & fixed unit tests

Signed-off-by: Robert Sing <[email protected]>

* fixed merged conflicts

Signed-off-by: Robert Sing <[email protected]>

* fixed target type incompatibly specification

Signed-off-by: Robert Sing <[email protected]>

* changed UI behaviour to close assignment popup in case of IncompatibleTargetTypeException

Signed-off-by: Robert Sing <[email protected]>

* added unit test to validate incompatibly specification fix

Signed-off-by: Robert Sing <[email protected]>

* fixed review findings

Signed-off-by: Robert Sing <[email protected]>

* fixed review findings

Signed-off-by: Robert Sing <[email protected]>

* fix potential null pointer

Signed-off-by: Robert Sing <[email protected]>

* Fixed rolloutcopy by adding dsTypeId to ProxyDistributionSetInfo

Signed-off-by: Robert Sing <[email protected]>

* suppressed warning

Signed-off-by: Robert Sing <[email protected]>

* Feature target type filter (#1197)

* Added Target type filter with drag and drop support

Signed-off-by: Anand kumar <[email protected]>

* Removed the unused enums and target type filter button class

Signed-off-by: Anand kumar <[email protected]>

* Resolved merge conflicts

Signed-off-by: Anand kumar <[email protected]>

* Fixed java doc issue with the method link in the comment

Signed-off-by: Anand kumar <[email protected]>

* Fixed the IN query overflow for target Type assignment

Signed-off-by: Anand kumar <[email protected]>

* Fixed Review comments

Signed-off-by: Anand kumar <[email protected]>

* Remove mysql_user and update documentation (#1139)

* Remove mysql_user and update documentation

* MG, udpate based on maintainers feedback

* Remove extra comments for password, already in doc

* fixed compatibility check bug (#1198)

* fixed compatibility check bug & improved testing

Signed-off-by: Robert Sing <[email protected]>

* fixed review finding

Signed-off-by: Robert Sing <[email protected]>

* reduced amount of targets in test

Signed-off-by: Robert Sing <[email protected]>

* mention target type in docu (#1199)

Signed-off-by: Natalia Kislicyn <[email protected]>

* Use an empty AMQP Message body instead of a null value (#1200)

* Artifact Encryption plug point (#1202)

* added ArtifactEncryption interface, injected it into SM creation UI module, added encryption metadata key generation upon SM creation, used encryptor during file upload

Signed-off-by: Bogdan Bondar <[email protected]>

* add default artifact encryption implementation based on gcm aes algorithm

Signed-off-by: Bogdan Bondar <[email protected]>

* changed ArtifactEncryptor interface to manage encryption secrets by itself

Signed-off-by: Bogdan Bondar <[email protected]>

* cleaned up stale code, fixed sonar

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed software module encryption within transaction

Signed-off-by: Bogdan Bondar <[email protected]>

* added artifact encryption secrets store

Signed-off-by: Bogdan Bondar <[email protected]>

* extended ArtifactEncryption interface to allow decryption, secrets store provides removeSecret, added missing javadocs

Signed-off-by: Bogdan Bondar <[email protected]>

* intriduced DbArtifact interface, use EncryptionAwareDbArtifact for artifact decryption during download

Signed-off-by: Bogdan Bondar <[email protected]>

* introduced ArtifactEncryptionService to minimize duplications and unneccessary dependency injections

Signed-off-by: Bogdan Bondar <[email protected]>

* declared ArtifactEncryptionService as a bean

Signed-off-by: Bogdan Bondar <[email protected]>

* added persistant encryption flag to software module

Signed-off-by: Bogdan Bondar <[email protected]>

* further adptations for encryption flag persistence

Signed-off-by: Bogdan Bondar <[email protected]>

* added ArtifactEncryptionException, fixed encryption check in UI

Signed-off-by: Bogdan Bondar <[email protected]>

* added encryption error handling

Signed-off-by: Bogdan Bondar <[email protected]>

* added encrypted flag to DDI/DMF, adapted exception handling

Signed-off-by: Bogdan Bondar <[email protected]>

* adapted rest docs

Signed-off-by: Bogdan Bondar <[email protected]>

* Add test to verify artifact encryption is not given by default

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Add isEncrypted() to toString() of JpaSoftwareModule, fix typos

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Fix sql migration scripts

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Calculate encrypted artifact size by subtract encryption size overhead

Signed-off-by: Florian Ruschbaschan <[email protected]>

* publish upload failed without waiting for interuption during UI file upload

Signed-off-by: Bogdan Bondar <[email protected]>

* upgraded cron utils to 9.1.6

Signed-off-by: Bogdan Bondar <[email protected]>

Co-authored-by: Florian Ruschbaschan <[email protected]>

* added same origin x-frame-options header security config (#1207)

Signed-off-by: Bogdan Bondar <[email protected]>

* Make entity object of event optional (#1209)

* explicitly return an optional entity by an event

Signed-off-by: Stefan Klotz <[email protected]>

* fix assertions in tests

Signed-off-by: Stefan Klotz <[email protected]>

* fix distribution set tag api doc (#1219)

Signed-off-by: Natalia Kislicyn <[email protected]>

* add license header for Bosch.IO 2022 (#1221)

Signed-off-by: Natalia Kislicyn <[email protected]>

* DDI API: /controller/v1/{controllerid}/installedBase/{actionId} (#1220)

* installedBase DDI: initial impl + rest docs

Signed-off-by: Natalia Kislicyn <[email protected]>

* refactor installedBase implementation

Signed-off-by: Natalia Kislicyn <[email protected]>

* ddi installed base tests

Signed-off-by: Natalia Kislicyn <[email protected]>

* restructure root controller rest docs

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix some java docs and formatting

Signed-off-by: Natalia Kislicyn <[email protected]>

* don't add action history message when calling /installedBase

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix test after removing action history message

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix review comments

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix review comments

Signed-off-by: Natalia Kislicyn <[email protected]>

* set the JpaControllerManagement constructor public (#1227)

Signed-off-by: Robert Sing <[email protected]>

* Updated migration guide to include deprecated property (#1225)

* updated m7 migration to include spring boot deprecated property

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed hawkbit sandbox link

Signed-off-by: Bogdan Bondar <[email protected]>

* Feature/fix sonar warnings (#1226)

* 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 <[email protected]>

* Fixed Sonar warnings

* License header fix

Signed-off-by: Peter Vigier <[email protected]>

* License header fix #2

Signed-off-by: Peter Vigier <[email protected]>

* Fixing review findings

Signed-off-by: Peter Vigier <[email protected]>

* Fixing tests

- Fixed '&' usage in javadoc and typos
- Fixing some warnings

Signed-off-by: Peter Vigier <[email protected]>

* Feature/speedup quota tests (#1125)

* reduce the number of created entities in tests

Signed-off-by: Ahmed Sayed <[email protected]>

* fixed tests

Signed-off-by: Ahmed Sayed <[email protected]>

* fixed review findings

Signed-off-by: Ahmed Sayed <[email protected]>

* merged master

Signed-off-by: Ahmed Sayed <[email protected]>

* adapted target count

Signed-off-by: Ahmed Sayed <[email protected]>

* fixed review findings

Signed-off-by: Ahmed Sayed <[email protected]>

* fixed RolloutManagementTest

Signed-off-by: Ahmed Sayed <[email protected]>

* fixed flaky test ConcurrentDistributionSetInvalidationTest

Signed-off-by: Ahmed Sayed <[email protected]>

* UI deep-linking for targets (#1230)

* added target deeplinking through url param
* populate search irregardless of target existence
* adapted view state paramater evaluation flow
* fixed review comments

Signed-off-by: Bogdan Bondar <[email protected]>

* Fix installedBase link in DDI base resource (#1232)

* add test for installedBase bug

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix for test scenario I

Signed-off-by: Natalia Kislicyn <[email protected]>

* add another test scenario for installedbase bug

Signed-off-by: Natalia Kislicyn <[email protected]>

* add fix for scenario 2a+b

Signed-off-by: Natalia Kislicyn <[email protected]>

* Optimize UI queries (#1234)

* 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 <[email protected]>

* Fix overdue timestamp calculation permission (#1235)

* fixed overdue timestamp calculation permission error

Signed-off-by: Bogdan Bondar <[email protected]>

* changed method visibility

Signed-off-by: Bogdan Bondar <[email protected]>

* upgrade spring framework to 5.2.20 (#1243)

Signed-off-by: Bogdan Bondar <[email protected]>

* Extend event for entity events (#1250)

* Extend event information by it's first interface class and improve constructing the event by providing the directly only.

Signed-off-by: Michael Herdt <[email protected]>

* Check if entity interface is assignable from TenantAwareBaseEntity.

Signed-off-by: Michael Herdt <[email protected]>

* improved debug logs for autoassignment (#1253)

Signed-off-by: Bogdan Bondar <[email protected]>

* Avoid using RegexRequestMatcher due to [CVE-2022-22978] (#1258)

* Use ant instead of regex matcher.

Signed-off-by: Michael Herdt <[email protected]>

* fix ant matcher

Signed-off-by: Michael Herdt <[email protected]>

* Do some cleanup and revert unnecessary changes.

Signed-off-by: Michael Herdt <[email protected]>

* Improve target management (#1260)

* Fix join type for targets with their assignedDs

Signed-off-by: Michael Herdt <[email protected]>

* Override saveAll method and make use of it in the JpaTargetManagement

Signed-off-by: Michael Herdt <[email protected]>

* Use unmodifiable list and flip transactional logic

Signed-off-by: Michael Herdt <[email protected]>

* Initialize new list instead of an unmodifiable list.

Signed-off-by: Michael Herdt <[email protected]>

* Fix testdata factory

Signed-off-by: Michael Herdt <[email protected]>

* Calculate target count asynchronously (#1263)

* first prototype

Signed-off-by: Bogdan Bondar <[email protected]>

* moved asynchrinous count caclucation to abstract footer support

Signed-off-by: Bogdan Bondar <[email protected]>

* added asynchronous count details calculation

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed typo

Signed-off-by: Bogdan Bondar <[email protected]>

* Provide API for auto assignment check for specific device (#1262)

* Extend the auto assign executor to execute a auto assignment check for a specific device.

Signed-off-by: Michael Herdt <[email protected]>

* add tests and handle exceptions

Signed-off-by: Stefan Klotz <[email protected]>

* add unit test

Signed-off-by: Stefan Klotz <[email protected]>

* add Copyright header

Signed-off-by: Stefan Klotz <[email protected]>

* fix Copyright header

Signed-off-by: Stefan Klotz <[email protected]>

* add authorization

Signed-off-by: Stefan Klotz <[email protected]>

* fix exception handling and authorization

Signed-off-by: Stefan Klotz <[email protected]>

* renaming

Signed-off-by: Stefan Klotz <[email protected]>

* Rename auto assignment functions

Signed-off-by: Michael Herdt <[email protected]>

Co-authored-by: Stefan Klotz <[email protected]>

* Make custom target filter table expandable (#1267)

* 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 <[email protected]>
Signed-off-by: Michael Herdt <[email protected]>

* add SystemSecurityContext (#1269)

Signed-off-by: Stefan Klotz <[email protected]>

* changed cors configuration bean definition to be reusable under different routes (#1272)

Signed-off-by: Bogdan Bondar <[email protected]>

Signed-off-by: Bogdan Bondar <[email protected]>

* Dmf batch support changes. (#1273)

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* Update hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpMessageDispatcherServiceIntegrationTest.java

Co-authored-by: Bondar Bogdan <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* Dmf batch support changes. Implement code review comments.

Signed-off-by: Dimitar Shterev <[email protected]>

Signed-off-by: Dimitar Shterev <[email protected]>
Co-authored-by: Bondar Bogdan <[email protected]>

* Update jsoup (#1276)

* upgraded jsoup to 1.15.3
* removed deprecated safe html annotation
* added own valid string jsoup validator, disabled hibernate parallel method declaration constraint
* adapted valid string validator
* static method
* return invalid value in case of processing exception

Signed-off-by: Bogdan Bondar <[email protected]>

* Feature/java11 build (#1280)

* hawkBit on Java 11

Signed-off-by: Dominic Schabel <[email protected]>

* Preparing java 11 build

- Update eclipse-link maven plugin dependencies
- Fixing warnings, adopt to java-11 style

Signed-off-by: Peter Vigier <[email protected]>

* Preparing java 11 build

- Fixing warnings, adapt to java-11 style
- Added since to deprecated

Signed-off-by: Peter Vigier <[email protected]>

* Fixing sonar warnings

- removed deprecated API

Signed-off-by: Peter Vigier <[email protected]>

* Fixing sonar warnings & failing test

- Added suppressWarning
- added WithSpringAuthorityRule to clean-up listener

Signed-off-by: Peter Vigier <[email protected]>

* Compile warnings

- Test if final causes issues in tests

Signed-off-by: Peter Vigier <[email protected]>

* Removed deprecated code

Signed-off-by: Peter Vigier <[email protected]>

* Reverted changes

Signed-off-by: Peter Vigier <[email protected]>

* Removed final as this causes invalid reflective access exceptions

- The eclipselink generated classes seem to modify the field directly
- update plugin version

Signed-off-by: Peter Vigier <[email protected]>

* Upgrade eclipselink from 2.7.9 to 2.7.10

* Remove @deprecated endpoints from MgmtTargetTagResource

* Remove dependencies already defined in eclipselink-maven-plugin

* Try eclipselink 2.7.11-RC1

* Set project encoding to UTF-8

* Upgrade surefire and failsafe plugins to 3.0.0-M7

* Try fixed string instead of a random generated one

* Replace JsonBuilder by Jackson ObjectMapper usage

* Use JsonBuilder again

* Use APPLICATION_JSON_UTF8 instead of APPLICATION_JSON

* Try to replace com.vaadin.external.google:android-json by org.json:json

* Add debugging outputs

* Improve debugging outputs

* Improve debugging outputs

* Use Jackson instead of JsonBuilder

* Use Jackson instead of JsonBuilder 2nd part

* Use Spring json dependency

* Use eclipselink 2.7.11

* Fix RootControllerDocumentationTest

* Improve helper methods of AbstractDDiApiIntegrationTest

* Upgrade SpringBoot and SpringCloud versions

* Improve deprecation notice for 0.3.0M8

* Fix BaseAmqpServiceTest

* Fix SpecificationsBuilderTest

* Removed deprecated code

* Define maven-enforcer-plugin version

* Remove com.google.code.findbugs.jsr305

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Update circleci image to openjdk:openjdk:11.0.13-jdk-buster

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Fix javadoc generation and license check

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Fix review findings

Signed-off-by: Florian Ruschbaschan <[email protected]>

Signed-off-by: Dominic Schabel <[email protected]>
Signed-off-by: Peter Vigier <[email protected]>
Signed-off-by: Florian Ruschbaschan <[email protected]>
Co-authored-by: Dominic Schabel <[email protected]>
Co-authored-by: Peter Vigier <[email protected]>
Co-authored-by: Markus Block <[email protected]>

* Introduce action status scoped custom code (#1277)

* 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 <[email protected]>
Co-authored-by: Stefan Behl <[email protected]>

* Adapt cancel flow (#1274)

* Adapt assignment events to communicate mass cancel operations within one event.

Signed-off-by: Michael Herdt <[email protected]>

* Fix edge cases identified by test failures. Adapt tests and reduce amount of published cancel events.

Signed-off-by: Michael Herdt <[email protected]>

* Fix license header

Signed-off-by: Michael Herdt <[email protected]>

* Refactor visibility of methods in assignment strategy classes. Avoid having empty action status messages.

Signed-off-by: Michael Herdt <[email protected]>

* Fix api docs

Signed-off-by: Michael Herdt <[email protected]>

Signed-off-by: Michael Herdt <[email protected]>
Co-authored-by: Bogdan Bondar <[email protected]>

* Remove unused (public) methods from JsonBuilder (#1281)

* Provide target quicklinks from Target Filters and Rollout views to Deployment view (#1270)

* 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

* Enable sorting in tables (#1279)

* 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 <[email protected]>

* make DdiActionFeedback#time value an optional property (#1283)

Signed-off-by: Michael Herdt <[email protected]>

* Send DMF batch message on thing_created event (#1284)

* send dmf batch message on thing created event
* fix tests

Signed-off-by: Stefan Klotz <[email protected]>

* Replacing self-managed SonarQube with Sonarcloud (#1286)

* replaced sonar url to use sonarcloud
* changed sonar properties in pom for sonarcloud
* changed sonar properties in pom for sonarcloud
* added sonar plugin to avoid warning regarding relocation of sonar project
* refactoring
* removed sonar plugin from pom.xml, will added to seedjopb build parameter

* specify explicit branch name for sonar (#1289)

Signed-off-by: Bogdan Bondar <[email protected]>

Signed-off-by: Bogdan Bondar <[email protected]>

* Add db migration script of action status code for POSTRESQL databases. (#1291)

Signed-off-by: Michael Herdt <[email protected]>

Signed-off-by: Michael Herdt <[email protected]>

* Adapted resources to reflect switch to sonarcloud (#1290)

* adapted Readme and resources to reflect sonarcloud
* fixed badges

* Upgraded few dependencies (#1296)

* Upgraded versions of gson, netty-all,logback, jackson-bom dependencies

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Fixed PR comments

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* removed upgraded versions of gson and netty-codec

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Fix Sonar issue (#1301)

* Exclude soft deleted entities from findByRsql result for all entities (#1297)

* exclude soft deleted SMs and SM types from findByRsql result

Signed-off-by: Stefan Klotz <[email protected]>

* add tests

Signed-off-by: Stefan Klotz <[email protected]>

* clean up code

Signed-off-by: Stefan Klotz <[email protected]>

Signed-off-by: Stefan Klotz <[email protected]>

* Fix website build with recent Hugo (#1302)

The website currently fails to build with recent versions of Hugo.
Apply some minimal changes to allow the website to build with hugo
v0.93.3.

Signed-off-by: Diego Rondini <[email protected]>

* docs: fix sandbox URL (#1303)

The sandbox has moved to a new URL some time ago; replace occurrences
with the new URL.

Signed-off-by: Diego Rondini <[email protected]>

* docs: switch to goldmark markdown handler (#1304)

Abandon no longer supported blackfriday markdown handler and switch to
default goldmark markdown handler. Enabled typographer extension to
handle quotes and dashes.

Website is now building with hugo > 0.100 as well.

Build tested with hugo 0.101.0:
$ docker run --rm -it -v $(pwd):/src:Z -p 1313:1313 klakegg/hugo:0.101.0
server

Signed-off-by: Diego Rondini <[email protected]>

* add type name to mgmt api responses (#1298)

Signed-off-by: Stefan Klotz <[email protected]>

Signed-off-by: Stefan Klotz <[email protected]>

* Add resource collection /rest/v1/actions to Management REST API (#1299)

* Initial commit

Signed-off-by: Stefan Behl <[email protected]>

* Added filtering by RSQL

Signed-off-by: Stefan Behl <[email protected]>

* Support for filtering actions by distribution set, target, rollout

* Added REST docs

* Fixed REST docs

* Introduce a config property which allows to disable the actions endpoint

* Introduce representation mode parameter

* Adapt REST docs

* Incorporate review findings

* Adapt REST docs

* Improve unit tests

* Minor improvements

* Fix REST docs

* Fix REST docs

* Fix PR review findings

Signed-off-by: Stefan Behl <[email protected]>

* Adding last action status code …
krishna-devolo added a commit to devolo/hawkbit that referenced this pull request Jan 17, 2024
* Bump docker setup to 0.3.0M7

Signed-off-by: Dominic Schabel <[email protected]>

* Proxy support for sandbox fixed

Signed-off-by: Dominic Schabel <[email protected]>

* upgraded Vaadin to 8.12.3

Signed-off-by: Bogdan Bondar <[email protected]>

* How to report vulnerability

Signed-off-by: Dominic Schabel <[email protected]>

* Security chapter added and minor formatting issues fixed

Signed-off-by: Dominic Schabel <[email protected]>

* adapted DEPENDENCIES list, changed vaadin themes CQ to 8.12.3

Signed-off-by: Bogdan Bondar <[email protected]>

* Migration to JUnit5 as default test runtime (#1082)

* Migrate tests to JUnit5

Signed-off-by: Dominic Schabel <[email protected]>

* REST docs tests migrated to JUnit5

Signed-off-by: Dominic Schabel <[email protected]>

* Migrated security and UI tests to JUnit5

Signed-off-by: Dominic Schabel <[email protected]>

* Migrated management tests to JUnit5

Signed-off-by: Dominic Schabel <[email protected]>

* Reflecting changes from JUnit5 migration

Signed-off-by: Dominic Schabel <[email protected]>

* Fix RabbitMQ test detection

Signed-off-by: Dominic Schabel <[email protected]>

* Drop support for JUnit4

Signed-off-by: Dominic Schabel <[email protected]>

* Fix the creation of the Usage Report (#1101)

* Use the forEachTenant method to generate the report for each tenant.
* add a test to verify the functionality of getSystemUsageStatisticsWithTenants

Signed-off-by: Michael Herdt <[email protected]>

* Introduce new tenant configuration events (#1059)

* Introduce new events that are triggered when changes are made to the tenant configuration.
* Add new events to EventTypes
* Fix DeploymentManagement tests.
* Fix AmqpMessageDispatcherServiceIntegration tests.
* Fix DdiRootControlle test.
* Remove unused imports.
* TenantConfigUpdatedEvent should implement EntityUpdatedEvent

Signed-off-by: Michael Herdt <[email protected]>

* Feature/remove junit5 leftovers (#1097)

* Migrate JUnit4 leftovers to JUnit5

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Fix method name typos

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Avoid unnecessary Mockito stubbings

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Replace assertThrows by assertThatExceptionOfType, fix test TODO

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Fix error for downloading soft deleted artifact binary (#1102)

* download soft deleted artifact throws binary gone exception

Signed-off-by: Stefan Klotz <[email protected]>

* add test and update documentation

Signed-off-by: Stefan Klotz <[email protected]>

* fix javadoc

Signed-off-by: Stefan Klotz <[email protected]>

* test soft deleted artifact has no download link

Signed-off-by: Stefan Klotz <[email protected]>

* Use TargetManagement for the quota related count operation when activating auto assignment instead of performing this operation directly on the repository. (#1108)

Signed-off-by: Michael Herdt <[email protected]>

* Fix output folder for REST docu tests (#1109)

* Fix output folder for REST docu tests

Signed-off-by: Natalia Kislicyn <[email protected]>

* Add description to abstract method

Signed-off-by: Natalia Kislicyn <[email protected]>

* Execute rollouts and auto assignments in the correct user context (#1100)

* Execute rollouts and auto assignments in correct user context

Signed-off-by: Stefan Behl <[email protected]>

* Fix PR review findings

Signed-off-by: Stefan Behl <[email protected]>

* Cleanup usage of lenient

Signed-off-by: Stefan Behl <[email protected]>

* UI error handling refactoring (#1106)

* refactored HawkbitUIErrorHandler to delegate error details extraction to external extractor beans
* refactored ui error handling, allowed ui error details extractors to return a list of error details
* added license headers, restructured package structure
* adapted javadocs
* fixed sonar findings
* fixed license header
* added tests for HawkbitUIErrorHandler
* refactored ConstraintViolationErrorExtractor, added test for extractors
* changed UI tests feature to Management UI
* fixed the parent/child error type resolution by ui error details extractor, added test

Signed-off-by: Bogdan Bondar <[email protected]>

* Refactor AutoAssignExecutor to improve the extensibility (#1110)

* Refactor AutoAssignExecutor to improve the extensibility.

Signed-off-by: Michael Herdt <[email protected]>

* introduce protected getters

Signed-off-by: Michael Herdt <[email protected]>

* Refactor auto assign executor. Create deployment requests based on list of controllerIds.

Signed-off-by: Michael Herdt <[email protected]>

* Fix review findings

Signed-off-by: Michael Herdt <[email protected]>

* Surround consumer with a try catch block to continue assignment process for other filter. Execute assignment in user context.

Signed-off-by: Michael Herdt <[email protected]>

* Fix the action status icon "CANCEL_REJECTED" because it was displayed as unknown (#1115)

Signed-off-by: Michael Herdt <[email protected]>

* ManagementApi: Action does not have property containing rollout name (#1116)

* Mgmt Rest API: Enhance Action payload with rollout properties

Signed-off-by: Stefan Behl <[email protected]>

* Enhance Mgmt REST API docs

Signed-off-by: Stefan Behl <[email protected]>

* Minor changes

Signed-off-by: Stefan Behl <[email protected]>

* Simplified JpaRolloutManagement, moved rollout handling logic to JpaRolloutHandler (#1094)

* introduce RolloutExecutor
* removed unused method

Signed-off-by: Ahmed Sayed <[email protected]>

* Fix test name in order to get executed by surefire (#1117)

* Fix test name in order to get executed by surefire

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Fix expected group amount for outer query

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Removed flyway downgrade so that spring default is pickedup (#1114)

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Injectable UI target data suppliers (#1123)

* initial proposal for injectible target data provider

Signed-off-by: Bogdan Bondar <[email protected]>

* improved selection of first entity in grid

Signed-off-by: Bogdan Bondar <[email protected]>

* introduced constructor to explicitely set DataCommunicator for a Grid

Signed-off-by: Bogdan Bondar <[email protected]>

* made data communicator for target grid injectable

Signed-off-by: Bogdan Bondar <[email protected]>

* adapted size page request to load only one entity for getting total elements, fixed grid duplicates in case lastModified property is the same for targets and rollouts

Signed-off-by: Bogdan Bondar <[email protected]>

* DeleteSupport rethrows the exception to be intercepted by error handlers

Signed-off-by: Bogdan Bondar <[email protected]>

* minor grid refactoring

Signed-off-by: Bogdan Bondar <[email protected]>

* adapted docu for base data providers

Signed-off-by: Bogdan Bondar <[email protected]>

* added custom filter data provider, made filter effectively immutable by cloning before data refresh

Signed-off-by: Bogdan Bondar <[email protected]>

* grid returns size directly from data provider instead of data communicator

Signed-off-by: Bogdan Bondar <[email protected]>

* restructured data provider/communicator dependency injection, added injectable data supplier for target filter view grid

Signed-off-by: Bogdan Bondar <[email protected]>

* do not remove confirmation dialog window from UI explicitely

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed sonar, added docs

Signed-off-by: Bogdan Bondar <[email protected]>

* added remote entity events dispatch topic to be fired on deffered events dispatch (#1129)

Signed-off-by: Bogdan Bondar <[email protected]>

* Remove wrong license header (#1127)

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Set DdiActionFeedback ID deprecated (#1091)

* Deprecate DdiActionFeedback ID

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Add deprecation to FEEDBACK_ACTION_ID in docu

Signed-off-by: Florian Ruschbaschan <[email protected]>

* PopUp dialog for canceling queued uploads (#1112)

* added cancel dialog for queued uploads

Signed-off-by: Robert Sing <[email protected]>

* fix PR review findings

Signed-off-by: Robert Sing <[email protected]>

* fix sonar finding

Signed-off-by: Robert Sing <[email protected]>

* fixed DashboardMenu navigation

Signed-off-by: Robert Sing <[email protected]>

* Consider Target Fields when validating RSQL filters (#1121)

* 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 <[email protected]>

* 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 <[email protected]>

* Added Maven entry for devolo 2020 copyright header.

Signed-off-by: Sergey Gerasimov <[email protected]>

* Fix failing unit tests

* # WARNING: head commit changed in the meantime

Signed-off-by: Stefan Behl <[email protected]>

* Fix Sonar findings.

Signed-off-by: Stefan Behl <[email protected]>

* Cleanup

Signed-off-by: Stefan Behl <[email protected]>

* Fix PR review findings

* Fix invalid queries in unit tests

Signed-off-by: Stefan Behl <[email protected]>

* Added test case to create filter with invalid query via Mgmt REST API

Signed-off-by: Stefan Behl <[email protected]>

Co-authored-by: Sergey Gerasimov <[email protected]>

* Added userinfo endpoint to validate basic auth (#1131)

* Added userinfo endpoint to validate basic auth
* Fixed the bean exception for failing tests
* Added tests for userinfo endpoint with basic auth
* Added the missing license header

Signed-off-by: Anand kumar <[email protected]>

* Publish target assign event (#1136)

* 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 <[email protected]>

* Fix deploymentManagementTest

Signed-off-by: Michael Herdt <[email protected]>

* Add debug logs and fix tests to verify correct DMF message behaviour

Signed-off-by: Michael Herdt <[email protected]>

* Extend test case for the DMF in case the cancel is confirmed by the device

Signed-off-by: Michael Herdt <[email protected]>

* Remove unsued import

Signed-off-by: Michael Herdt <[email protected]>

* 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 <[email protected]>

* flip list verification logic

Signed-off-by: Michael Herdt <[email protected]>

* Refactor amqp tests

Signed-off-by: Michael Herdt <[email protected]>

* suppressed functional interface sonar issue for MgmtBasicAuthRestApi

Signed-off-by: Bogdan Bondar <[email protected]>

* Support case-insensitive RSQL expressions /target filters (#1137)

* Interpret /parse RSQL expressions case insensitive

Signed-off-by: Stefan Behl <[email protected]>

* Add unit test verifying that RSQL expressions are case insensitive

Signed-off-by: Stefan Behl <[email protected]>

* Feature/handle amqp fatal errors (#1111)

* Adding support to handle lengthy error msgs more precisely

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Added check at conditionalHandler level and changes assertions in test class

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Fixed sonar lint issues

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Reverted the change on making class final

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* To trigger the circle-ci build and check

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Addressed last set of PR comments

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Fixe sonar issue for nullpointer dereference

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Handling null case explicitly

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Make RSQL visitor pluggable via a managed bean (#1145)

* Add a managed bean for a RsqlVisitorFactory

Signed-off-by: Stefan Behl <[email protected]>

* Fix failing unit tests

* Fix Sonar findings

* Fix PR review findings

* View-scoped event listeners (#1134)

* added UI EntityNotFound error details extractor

Signed-off-by: Bogdan Bondar <[email protected]>

* changed Target count label to not rely on grid data change events but rather on EntityModified UI events to decide how to react dependand on the event type

Signed-off-by: Bogdan Bondar <[email protected]>

* added current view check on entity modified events

Signed-off-by: Bogdan Bondar <[email protected]>

* unsubscribe/resubscribe event listeners on view leave/enter, reselect grid entities on view enter

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed target grid count reset on initial load and after view change

Signed-off-by: Bogdan Bondar <[email protected]>

* re-evaluate filters on Deployment View enter

Signed-off-by: Bogdan Bondar <[email protected]>

* added on view enter logic for rest of the views

Signed-off-by: Bogdan Bondar <[email protected]>

* introduced event listener aware layout and view, adapted code accordingly

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed bulk upload

Signed-off-by: Bogdan Bondar <[email protected]>

* added missing docs

Signed-off-by: Bogdan Bondar <[email protected]>

* adapted software module deselection upon master entity change

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed npe in case master support is not present (Artifact View)

Signed-off-by: Bogdan Bondar <[email protected]>

* restructured amqp assignDistributionSetMultipleTimes test

Signed-off-by: Bogdan Bondar <[email protected]>

* added waiting for the messages to be dispached by test

Signed-off-by: Bogdan Bondar <[email protected]>

* Optional controller attributes for THING_CREATED (#1154)

* added optional attributes payload to THING_CREATED DMF message

Signed-off-by: Bogdan Bondar <[email protected]>

* added optional attributes unit test for THING_CREATED message handler

Signed-off-by: Bogdan Bondar <[email protected]>

* extended Target interface with getControllerAttributes method, extended DMF message handler integration tests

Signed-off-by: Bogdan Bondar <[email protected]>

* updated hawkbit docs

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed review findings

Signed-off-by: Bogdan Bondar <[email protected]>

* Set key of DistributionSetType and SoftwareModuleType required (#1140)

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Replace NoCountPagingRepository by interface with dedicated findAllWithoutCount (#1146)

* Replace NoCountPagingRepository by enhanced BaseRepository

Signed-off-by: Alexander Dobler <[email protected]>

* Add missed withoutcount call in distributionsettype find all

Signed-off-by: Alexander Dobler <[email protected]>

* Add missing overrides to NoCountRepository implementation

Signed-off-by: Alexander Dobler <[email protected]>

* Remove need of repository by referencing base class directly in configuration

Signed-off-by: Alexander Dobler <[email protected]>

* Align target queries to only use specifications (#1148)

* Add additional specifications to cover use cases of queries

Signed-off-by: Alexander Dobler <[email protected]>

* Replace reading target queries by spec, use empty spec in default repo calls

Signed-off-by: Alexander Dobler <[email protected]>

* Use correct NonNull annotation

Signed-off-by: Alexander Dobler <[email protected]>

* Added default exists based on spec count to TargetRepository

Signed-off-by: Alexander Dobler <[email protected]>

* Feature/enforce hash validation for uploads (#1158)

* moved artifact duplication check after hash check

Signed-off-by: Robert Sing <[email protected]>

* added unit tests

Signed-off-by: Robert Sing <[email protected]>

* fixed copyright header

Signed-off-by: Robert Sing <[email protected]>

* fixed review finding

Signed-off-by: Robert Sing <[email protected]>

* Feature target type entity (#1162)

* Added Target Type model

Signed-off-by: Anand kumar <[email protected]>

* Added Target Type JPA model

Signed-off-by: Anand kumar <[email protected]>

* Added Target Type repository model classes

Signed-off-by: Anand kumar <[email protected]>

* Removed the name entity from Target Type

Signed-off-by: Anand kumar <[email protected]>

* Refactored the Target Type models

Signed-off-by: Anand kumar <[email protected]>

* Added the DB migration script and updated the Target Type models

Signed-off-by: Anand kumar <[email protected]>

* Added target type in target Mapper

Signed-off-by: Anand kumar <[email protected]>

* Changed the target type ID to Long

Signed-off-by: Anand kumar <[email protected]>

* Added MYSQL DB migration script and removed the deleted column for target type

Signed-off-by: Anand kumar <[email protected]>

* Updated the DB migration script for target table

Signed-off-by: Anand kumar <[email protected]>

* Added manyToMany reltation between target type and Ds type

Signed-off-by: Anand kumar <[email protected]>

* Added POSTGRESQL DB migration script

Signed-off-by: Anand kumar <[email protected]>

* Added MSSQL SERVER DB migration script

Signed-off-by: Anand kumar <[email protected]>

* Added DB2 DB migration script

Signed-off-by: Anand kumar <[email protected]>

* Added missing license header and java docs

Signed-off-by: Anand kumar <[email protected]>

* Added on delete cascade in DB migration script

Signed-off-by: Anand kumar <[email protected]>

* Added Target Type specification

Signed-off-by: Anand kumar <[email protected]>

* Removed the delete cascade and Added type API
Signed-off-by: Anand kumar <[email protected]>

* fixed API doc build

Signed-off-by: Anand kumar <[email protected]>

* Added target type management test

Signed-off-by: Anand kumar <[email protected]>

* Added target type events test

Signed-off-by: Anand kumar <[email protected]>

* Added target type update and unassign to target

Signed-off-by: Anand kumar <[email protected]>

* Added API tests for assigning target type to target

Signed-off-by: Anand kumar <[email protected]>

* Added missing license header

Signed-off-by: Anand kumar <[email protected]>

* Added missing docs

Signed-off-by: Anand kumar <[email protected]>

* Fixed sonar issues

Signed-off-by: Anand kumar <[email protected]>

* Fixed license header build issue

Signed-off-by: Anand kumar <[email protected]>

* Updated the attribute name to target type

Signed-off-by: Anand kumar <[email protected]>

* Fixed the review comments

Signed-off-by: Anand kumar <[email protected]>

* Removed unused error status variable

Signed-off-by: Anand kumar <[email protected]>

* Added target API to assign target type

Signed-off-by: Anand kumar <[email protected]>

* Added the tests for assigning target type to target

Signed-off-by: Anand kumar <[email protected]>

* Fixed the review comments for null check

Signed-off-by: Anand kumar <[email protected]>

* Fix sonar/repository for target type (#1169)

* fix sonar/repository for target type changes

Signed-off-by: Bogdan Bondar <[email protected]>

* review finding

Signed-off-by: Bogdan Bondar <[email protected]>

* Dependency upgrades (#1170)

* Increase jsoup version

Signed-off-by: Bogdan Bondar <[email protected]>

* bumped vaadin/guava/common-io to newest versions

Signed-off-by: Bogdan Bondar <[email protected]>

* substituted deprecated guava create temp dir method

Signed-off-by: Bogdan Bondar <[email protected]>

* fix null pointer exception in rsql target field validation test (#1172)

Signed-off-by: Bogdan Bondar <[email protected]>

* Colour property in Mgmt API response for DS/SM type (#1174)

* Update name SP to hawkbit in api guide adocs

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix javadoc class descriptions of existing resource/api classes

Signed-off-by: Natalia Kislicyn <[email protected]>

* Add color property to api response of ds/sw type

Signed-off-by: Natalia Kislicyn <[email protected]>

* Add color property to sw type test data & adapt rest docu

Signed-off-by: Natalia Kislicyn <[email protected]>

* Add missing property description for "colour" and "deleted"

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix review findings

Signed-off-by: Natalia Kislicyn <[email protected]>

* Test: max DS Types per TargetType (#1175)

* add dsTypes in targetType quota test

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix review findings

Signed-off-by: Natalia Kislicyn <[email protected]>

* README: add mention to Hara and hara-ddiclient (#1173)

Add a mention to the Eclipse Hara project and the hara-ddiclient library
that has been pushed recently to the Eclipse Foundation repositories.
Rework a bit the text to reflect this change.

Signed-off-by: Diego Rondini <[email protected]>

* Introduce basic functionality for invalidation of distributionsets (#1179)

* Basic DS invalidation functionality

Signed-off-by: Sebastian Firsching <[email protected]>

* Add checks for valid/complete DS

Signed-off-by: Sebastian Firsching <[email protected]>

* Stop rollouts + auto assignments when invalidating a DS

Signed-off-by: Sebastian Firsching <[email protected]>

* Add methods to count AAs + rollouts for invalidation

Signed-off-by: Sebastian Firsching <[email protected]>

* Small refactoring for DS management

Signed-off-by: Sebastian Firsching <[email protected]>

* Add invalidation functionality to REST API

Signed-off-by: Sebastian Firsching <[email protected]>

* Fix update stopped rollouts status

Signed-off-by: Sebastian Firsching <[email protected]>

* Add various tests

Signed-off-by: Sebastian Firsching <[email protected]>

* Introduce countActionsForInvalidation

Signed-off-by: Sebastian Firsching <[email protected]>

* Fix event tests with incomplete DS

Signed-off-by: Sebastian Firsching <[email protected]>

* Add H2 migration script

Signed-off-by: Sebastian Firsching <[email protected]>

* Fix action count method

Signed-off-by: Sebastian Firsching <[email protected]>

* Fix REST documentation tests

Signed-off-by: Sebastian Firsching <[email protected]>

* Change flyway version number

Signed-off-by: Sebastian Firsching <[email protected]>

* Add lock for DS invalidation + adapt tests

Signed-off-by: Sebastian Firsching <[email protected]>

* Move concurrency test to own class

Signed-off-by: Sebastian Firsching <[email protected]>

* Handle possible InterruptedException

Signed-off-by: Sebastian Firsching <[email protected]>

* Fix concurrency test

Signed-off-by: Sebastian Firsching <[email protected]>

* Use one transaction for all invalidations

Signed-off-by: Sebastian Firsching <[email protected]>

* Add invalidate endpoint to REST docu

Signed-off-by: Sebastian Firsching <[email protected]>

* Execute invalidation in transaction when actions are cancelled

Signed-off-by: Sebastian Firsching <[email protected]>

* Check that distribution set is valid when editing/creating metadata

Signed-off-by: Sebastian Firsching <[email protected]>

* Remove all changes in UI

Signed-off-by: Sebastian Firsching <[email protected]>

* Add DB migration files for all databases

Signed-off-by: Sebastian Firsching <[email protected]>

* Implement review findings

Signed-off-by: Sebastian Firsching <[email protected]>

* Move DS invalidation to own class to check permissions for single steps

Signed-off-by: Sebastian Firsching <[email protected]>

* Move invalidation count methods to management classes

Signed-off-by: Sebastian Firsching <[email protected]>

* Fix failing tests

Signed-off-by: Sebastian Firsching <[email protected]>

* Feature invalidation of distribution sets [UI part] (#1176)

* Visualization of action/button invalidate DistributionSet

Signed-off-by: Markus Block <[email protected]>

* introduced two dialogs to confirm ds invalidation

Signed-off-by: Markus Block <[email protected]>

* fixed dialog titles appear centered and added manamgement classes

Signed-off-by: Markus Block <[email protected]>

* retrieving affected entities from repository

Signed-off-by: Markus Block <[email protected]>

* considered multiselection for invalidating dist sets

Signed-off-by: Markus Block <[email protected]>

* adapt style and tooltip of invalid distributions in grid

Signed-off-by: Markus Block <[email protected]>

* showing errors for actions not allowed for invalidate DS

Signed-off-by: Markus Block <[email protected]>

* enhanced error message with dist name and version

Signed-off-by: Markus Block <[email protected]>

* added ids to the labels to be used in tests

Signed-off-by: Markus Block <[email protected]>

* added support for overwriting entity specific edit behaviour

Signed-off-by: Markus Block <[email protected]>

* Fixed incorrect label for cancelled action due to invalidation of ds in
a rollout

Signed-off-by: Markus Block <[email protected]>

* Fixed error notification to not show "please try again" for an invalid
DS

Signed-off-by: Markus Block <[email protected]>

* fixed typo

Signed-off-by: Markus Block <[email protected]>

* fixed Sonar findings

Signed-off-by: Markus Block <[email protected]>

* remove DS of a copied Rollout in case the DS is invalidated

Signed-off-by: Markus Block <[email protected]>

* changed icon of RolloutActionStatus in case of stopped Rollout because
of invalidation of DS and DS wasn't yet assigned to target. This is to
distinguish from the case of not assigned DS because of duplicate DS
assignemnt

Signed-off-by: Markus Block <[email protected]>

* Prevent editing Metadata of invalid DS

Signed-off-by: Markus Block <[email protected]>

* show DS as invalidated in Rollout view

Signed-off-by: Markus Block <[email protected]>

* incorporated code review remarks

Signed-off-by: Markus Block <[email protected]>

* invalidated DS should be removed from the list of DS to be invalidated

Signed-off-by: Markus Block <[email protected]>

* fixed missing code due to merge

Signed-off-by: Markus Block <[email protected]>

* Fixed compile error due to rebase

Signed-off-by: Markus Block <[email protected]>

* README.md: Add rauc-hawkbit-updater to the list of clients supporting hawkBit (#1181)

Also add the word 'demo' to the python variant to give a hint to not use
this for real-world applications.

Signed-off-by: Enrico Joerns <[email protected]>

* Feature mass cancel running actions on ds invalidation (#1177)

* Extend DS invalidation dialog to include mass-cancellation of actions

Signed-off-by: Natalia Kislicyn <[email protected]>

add component id for cancelation type radio buttons

Signed-off-by: Natalia Kislicyn <[email protected]>

* add infos about ds invalidation to UI documentation;
update UI images; add screenshot about ds invalidation

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix review findings

Signed-off-by: Natalia Kislicyn <[email protected]>

* add link property to invalidation docu

Signed-off-by: Natalia Kislicyn <[email protected]>

* Put invalidation counts into one object

Signed-off-by: Natalia Kislicyn <[email protected]>

* add hint to invalidation dialog, that invalidation is unrepeatable

Signed-off-by: Natalia Kislicyn <[email protected]>

* disable invalidate button if insufficient permission

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix auto assignment error with insufficient permission

Signed-off-by: Natalia Kislicyn <[email protected]>

* implement permissions check for invalidation dialog

Signed-off-by: Natalia Kislicyn <[email protected]>

* add update_target permission to api doc description

Signed-off-by: Natalia Kislicyn <[email protected]>

* Feature target with target type in UI (#1178)

* Added the target type combo box to add or update Target in UI

Signed-off-by: Anand kumar <[email protected]>

* Fixed NPE for empty target type

Signed-off-by: Anand kumar <[email protected]>

* Added target type option to target bulk upload

Signed-off-by: Anand kumar <[email protected]>

* Added Target type filter

Signed-off-by: Anand kumar <[email protected]>

* Added Named entity mapper for target type UI

Signed-off-by: Anand kumar <[email protected]>

* Fixed review comments

Signed-off-by: Anand kumar <[email protected]>

* Fixed sonar issues for serialization

Signed-off-by: Anand kumar <[email protected]>

* Fixed Review comments

Signed-off-by: Anand kumar <[email protected]>

* Fixed Bulk upload target type combo box

Signed-off-by: Anand kumar <[email protected]>

* Feature - TargetType compatibility check (#1180)

* added targettype compatibility check in deployment

Signed-off-by: Robert Sing <[email protected]>

* added targettype compatibility for autssignment

Signed-off-by: Robert Sing <[email protected]>

* added / fixed tests for auto assignment compatibility check

Signed-off-by: Robert Sing <[email protected]>

* adapted rollout creation to use JPA specifications for compatibility checks

Signed-off-by: Robert Sing <[email protected]>

* fix unit tests and javadoc

Signed-off-by: Robert Sing <[email protected]>

* fix copyright header

Signed-off-by: Robert Sing <[email protected]>

* fixed review findings

Signed-off-by: Robert Sing <[email protected]>

* fixed review findings

Signed-off-by: Robert Sing <[email protected]>

* replaced validated-DS management calls

Signed-off-by: Robert Sing <[email protected]>

* improved compatibility check in DeploymentManagementTest

Signed-off-by: Robert Sing <[email protected]>

* fixed review findings

Signed-off-by: Robert Sing <[email protected]>

* Vaadin security upgrade to 8.14.1 (#1188)

Signed-off-by: Bogdan Bondar <[email protected]>

* Docu for target type endpoints in Target API  (#1185)

* add assign/unassign type endpoints to target api docs

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix target type creation for api rest docs test

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix review comments: rename tests

Signed-off-by: Natalia Kislicyn <[email protected]>

* adapt test to avoid failing when translated

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix api doc tests in regard to type compatibility (#1191)

Signed-off-by: Natalia Kislicyn <[email protected]>

* Ensure a '.' character is allowed to be used in target filter query for metadata key and attribute name (#1186)

* Adapted code to allow '.' inside of metadata key and attribute names


Signed-off-by: Markus Block <[email protected]>

* added handling of corner cases

Signed-off-by: Markus Block <[email protected]>

* Adapted metadata and attribute tests to check that dot is allowed

Signed-off-by: Markus Block <[email protected]>

* fixed documentation

Signed-off-by: Markus Block <[email protected]>

* Allow usage of dot in key names for every map attribute, e.g. also for
metadata in distribution set

Signed-off-by: Markus Block <[email protected]>

* fixed typo

Signed-off-by: Markus Block <[email protected]>

* adapted test key to ensure a dot can be used

Signed-off-by: Markus Block <[email protected]>

* fixed typo

Signed-off-by: Markus Block <[email protected]>

* Support keywords in queries (#1193)

* support targettype as keyword in target-queries

Signed-off-by: Natalia Kislicyn <[email protected]>

* support valid as keyword in distributionset-queries

Signed-off-by: Natalia Kislicyn <[email protected]>

* remove targettype.id from filter queries

Signed-off-by: Natalia Kislicyn <[email protected]>

* remove targettype.description from filter queries

Signed-off-by: Natalia Kislicyn <[email protected]>

* Implement target type CRUD UI operations (#1184)

* implement target type CRUD UI operations

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix licenses

Signed-off-by: Virginijus Kandrotas <[email protected]>

* code clean up

Signed-off-by: Virginijus Kandrotas <[email protected]>

* code clean up

Signed-off-by: Virginijus Kandrotas <[email protected]>

* refactor proxy target type

Signed-off-by: Virginijus Kandrotas <[email protected]>

* refactor proxy target type

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix review comments

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix review comments

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix review comments

Signed-off-by: Virginijus Kandrotas <[email protected]>

* update class description

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix review comments

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix review comments

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix review comments

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix sonar issue

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix sonar issue

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix sonar issue

Signed-off-by: Virginijus Kandrotas <[email protected]>

* fix showing assigned ds types

Signed-off-by: Virginijus Kandrotas <[email protected]>

* remove unused import

Signed-off-by: Virginijus Kandrotas <[email protected]>

* Specification and BaseRepositotyProvider improvements (#1182)

* Introduce custom base repository factory bean

Signed-off-by: Alexander Dobler <[email protected]>

* Simplify ordered DS service call by using specs

Signed-off-by: Alexander Dobler <[email protected]>

* Annotate getBaseRepoType interface as FunctionalInterface

Signed-off-by: Alexander Dobler <[email protected]>

* Use CustomBaseRepositoryFactory instead of static BaseClass

Signed-off-by: Alexander Dobler <[email protected]>

* Fix license headers

Signed-off-by: Alexander Dobler <[email protected]>

* Add ordered specification back

Signed-off-by: Alexander Dobler <[email protected]>

* added Insufficient Permissions UI error extractor (#1196)

Signed-off-by: Bogdan Bondar <[email protected]>

* Adapt UI for target type compatibility check (#1189)

* Added compatibility calls needed for UI

Signed-off-by: Robert Sing <[email protected]>

* Adapted UI for target type compatibility checks

Signed-off-by: Robert Sing <[email protected]>

* improved exception handling for incompatibility check

Signed-off-by: Robert Sing <[email protected]>

* added & fixed unit tests

Signed-off-by: Robert Sing <[email protected]>

* fixed merged conflicts

Signed-off-by: Robert Sing <[email protected]>

* fixed target type incompatibly specification

Signed-off-by: Robert Sing <[email protected]>

* changed UI behaviour to close assignment popup in case of IncompatibleTargetTypeException

Signed-off-by: Robert Sing <[email protected]>

* added unit test to validate incompatibly specification fix

Signed-off-by: Robert Sing <[email protected]>

* fixed review findings

Signed-off-by: Robert Sing <[email protected]>

* fixed review findings

Signed-off-by: Robert Sing <[email protected]>

* fix potential null pointer

Signed-off-by: Robert Sing <[email protected]>

* Fixed rolloutcopy by adding dsTypeId to ProxyDistributionSetInfo

Signed-off-by: Robert Sing <[email protected]>

* suppressed warning

Signed-off-by: Robert Sing <[email protected]>

* Feature target type filter (#1197)

* Added Target type filter with drag and drop support

Signed-off-by: Anand kumar <[email protected]>

* Removed the unused enums and target type filter button class

Signed-off-by: Anand kumar <[email protected]>

* Resolved merge conflicts

Signed-off-by: Anand kumar <[email protected]>

* Fixed java doc issue with the method link in the comment

Signed-off-by: Anand kumar <[email protected]>

* Fixed the IN query overflow for target Type assignment

Signed-off-by: Anand kumar <[email protected]>

* Fixed Review comments

Signed-off-by: Anand kumar <[email protected]>

* Remove mysql_user and update documentation (#1139)

* Remove mysql_user and update documentation

* MG, udpate based on maintainers feedback

* Remove extra comments for password, already in doc

* fixed compatibility check bug (#1198)

* fixed compatibility check bug & improved testing

Signed-off-by: Robert Sing <[email protected]>

* fixed review finding

Signed-off-by: Robert Sing <[email protected]>

* reduced amount of targets in test

Signed-off-by: Robert Sing <[email protected]>

* mention target type in docu (#1199)

Signed-off-by: Natalia Kislicyn <[email protected]>

* Use an empty AMQP Message body instead of a null value (#1200)

* Artifact Encryption plug point (#1202)

* added ArtifactEncryption interface, injected it into SM creation UI module, added encryption metadata key generation upon SM creation, used encryptor during file upload

Signed-off-by: Bogdan Bondar <[email protected]>

* add default artifact encryption implementation based on gcm aes algorithm

Signed-off-by: Bogdan Bondar <[email protected]>

* changed ArtifactEncryptor interface to manage encryption secrets by itself

Signed-off-by: Bogdan Bondar <[email protected]>

* cleaned up stale code, fixed sonar

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed software module encryption within transaction

Signed-off-by: Bogdan Bondar <[email protected]>

* added artifact encryption secrets store

Signed-off-by: Bogdan Bondar <[email protected]>

* extended ArtifactEncryption interface to allow decryption, secrets store provides removeSecret, added missing javadocs

Signed-off-by: Bogdan Bondar <[email protected]>

* intriduced DbArtifact interface, use EncryptionAwareDbArtifact for artifact decryption during download

Signed-off-by: Bogdan Bondar <[email protected]>

* introduced ArtifactEncryptionService to minimize duplications and unneccessary dependency injections

Signed-off-by: Bogdan Bondar <[email protected]>

* declared ArtifactEncryptionService as a bean

Signed-off-by: Bogdan Bondar <[email protected]>

* added persistant encryption flag to software module

Signed-off-by: Bogdan Bondar <[email protected]>

* further adptations for encryption flag persistence

Signed-off-by: Bogdan Bondar <[email protected]>

* added ArtifactEncryptionException, fixed encryption check in UI

Signed-off-by: Bogdan Bondar <[email protected]>

* added encryption error handling

Signed-off-by: Bogdan Bondar <[email protected]>

* added encrypted flag to DDI/DMF, adapted exception handling

Signed-off-by: Bogdan Bondar <[email protected]>

* adapted rest docs

Signed-off-by: Bogdan Bondar <[email protected]>

* Add test to verify artifact encryption is not given by default

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Add isEncrypted() to toString() of JpaSoftwareModule, fix typos

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Fix sql migration scripts

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Calculate encrypted artifact size by subtract encryption size overhead

Signed-off-by: Florian Ruschbaschan <[email protected]>

* publish upload failed without waiting for interuption during UI file upload

Signed-off-by: Bogdan Bondar <[email protected]>

* upgraded cron utils to 9.1.6

Signed-off-by: Bogdan Bondar <[email protected]>

Co-authored-by: Florian Ruschbaschan <[email protected]>

* added same origin x-frame-options header security config (#1207)

Signed-off-by: Bogdan Bondar <[email protected]>

* Make entity object of event optional (#1209)

* explicitly return an optional entity by an event

Signed-off-by: Stefan Klotz <[email protected]>

* fix assertions in tests

Signed-off-by: Stefan Klotz <[email protected]>

* fix distribution set tag api doc (#1219)

Signed-off-by: Natalia Kislicyn <[email protected]>

* add license header for Bosch.IO 2022 (#1221)

Signed-off-by: Natalia Kislicyn <[email protected]>

* DDI API: /controller/v1/{controllerid}/installedBase/{actionId} (#1220)

* installedBase DDI: initial impl + rest docs

Signed-off-by: Natalia Kislicyn <[email protected]>

* refactor installedBase implementation

Signed-off-by: Natalia Kislicyn <[email protected]>

* ddi installed base tests

Signed-off-by: Natalia Kislicyn <[email protected]>

* restructure root controller rest docs

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix some java docs and formatting

Signed-off-by: Natalia Kislicyn <[email protected]>

* don't add action history message when calling /installedBase

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix test after removing action history message

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix review comments

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix review comments

Signed-off-by: Natalia Kislicyn <[email protected]>

* set the JpaControllerManagement constructor public (#1227)

Signed-off-by: Robert Sing <[email protected]>

* Updated migration guide to include deprecated property (#1225)

* updated m7 migration to include spring boot deprecated property

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed hawkbit sandbox link

Signed-off-by: Bogdan Bondar <[email protected]>

* Feature/fix sonar warnings (#1226)

* 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 <[email protected]>

* Fixed Sonar warnings

* License header fix

Signed-off-by: Peter Vigier <[email protected]>

* License header fix #2

Signed-off-by: Peter Vigier <[email protected]>

* Fixing review findings

Signed-off-by: Peter Vigier <[email protected]>

* Fixing tests

- Fixed '&' usage in javadoc and typos
- Fixing some warnings

Signed-off-by: Peter Vigier <[email protected]>

* Feature/speedup quota tests (#1125)

* reduce the number of created entities in tests

Signed-off-by: Ahmed Sayed <[email protected]>

* fixed tests

Signed-off-by: Ahmed Sayed <[email protected]>

* fixed review findings

Signed-off-by: Ahmed Sayed <[email protected]>

* merged master

Signed-off-by: Ahmed Sayed <[email protected]>

* adapted target count

Signed-off-by: Ahmed Sayed <[email protected]>

* fixed review findings

Signed-off-by: Ahmed Sayed <[email protected]>

* fixed RolloutManagementTest

Signed-off-by: Ahmed Sayed <[email protected]>

* fixed flaky test ConcurrentDistributionSetInvalidationTest

Signed-off-by: Ahmed Sayed <[email protected]>

* UI deep-linking for targets (#1230)

* added target deeplinking through url param
* populate search irregardless of target existence
* adapted view state paramater evaluation flow
* fixed review comments

Signed-off-by: Bogdan Bondar <[email protected]>

* Fix installedBase link in DDI base resource (#1232)

* add test for installedBase bug

Signed-off-by: Natalia Kislicyn <[email protected]>

* fix for test scenario I

Signed-off-by: Natalia Kislicyn <[email protected]>

* add another test scenario for installedbase bug

Signed-off-by: Natalia Kislicyn <[email protected]>

* add fix for scenario 2a+b

Signed-off-by: Natalia Kislicyn <[email protected]>

* Optimize UI queries (#1234)

* 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 <[email protected]>

* Fix overdue timestamp calculation permission (#1235)

* fixed overdue timestamp calculation permission error

Signed-off-by: Bogdan Bondar <[email protected]>

* changed method visibility

Signed-off-by: Bogdan Bondar <[email protected]>

* upgrade spring framework to 5.2.20 (#1243)

Signed-off-by: Bogdan Bondar <[email protected]>

* Extend event for entity events (#1250)

* Extend event information by it's first interface class and improve constructing the event by providing the directly only.

Signed-off-by: Michael Herdt <[email protected]>

* Check if entity interface is assignable from TenantAwareBaseEntity.

Signed-off-by: Michael Herdt <[email protected]>

* improved debug logs for autoassignment (#1253)

Signed-off-by: Bogdan Bondar <[email protected]>

* Avoid using RegexRequestMatcher due to [CVE-2022-22978] (#1258)

* Use ant instead of regex matcher.

Signed-off-by: Michael Herdt <[email protected]>

* fix ant matcher

Signed-off-by: Michael Herdt <[email protected]>

* Do some cleanup and revert unnecessary changes.

Signed-off-by: Michael Herdt <[email protected]>

* Improve target management (#1260)

* Fix join type for targets with their assignedDs

Signed-off-by: Michael Herdt <[email protected]>

* Override saveAll method and make use of it in the JpaTargetManagement

Signed-off-by: Michael Herdt <[email protected]>

* Use unmodifiable list and flip transactional logic

Signed-off-by: Michael Herdt <[email protected]>

* Initialize new list instead of an unmodifiable list.

Signed-off-by: Michael Herdt <[email protected]>

* Fix testdata factory

Signed-off-by: Michael Herdt <[email protected]>

* Calculate target count asynchronously (#1263)

* first prototype

Signed-off-by: Bogdan Bondar <[email protected]>

* moved asynchrinous count caclucation to abstract footer support

Signed-off-by: Bogdan Bondar <[email protected]>

* added asynchronous count details calculation

Signed-off-by: Bogdan Bondar <[email protected]>

* fixed typo

Signed-off-by: Bogdan Bondar <[email protected]>

* Provide API for auto assignment check for specific device (#1262)

* Extend the auto assign executor to execute a auto assignment check for a specific device.

Signed-off-by: Michael Herdt <[email protected]>

* add tests and handle exceptions

Signed-off-by: Stefan Klotz <[email protected]>

* add unit test

Signed-off-by: Stefan Klotz <[email protected]>

* add Copyright header

Signed-off-by: Stefan Klotz <[email protected]>

* fix Copyright header

Signed-off-by: Stefan Klotz <[email protected]>

* add authorization

Signed-off-by: Stefan Klotz <[email protected]>

* fix exception handling and authorization

Signed-off-by: Stefan Klotz <[email protected]>

* renaming

Signed-off-by: Stefan Klotz <[email protected]>

* Rename auto assignment functions

Signed-off-by: Michael Herdt <[email protected]>

Co-authored-by: Stefan Klotz <[email protected]>

* Make custom target filter table expandable (#1267)

* 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 <[email protected]>
Signed-off-by: Michael Herdt <[email protected]>

* add SystemSecurityContext (#1269)

Signed-off-by: Stefan Klotz <[email protected]>

* changed cors configuration bean definition to be reusable under different routes (#1272)

Signed-off-by: Bogdan Bondar <[email protected]>

Signed-off-by: Bogdan Bondar <[email protected]>

* Dmf batch support changes. (#1273)

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* Update hawkbit-dmf/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/integration/AmqpMessageDispatcherServiceIntegrationTest.java

Co-authored-by: Bondar Bogdan <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* Dmf batch support changes. Implement code review comments.

Signed-off-by: Dimitar Shterev <[email protected]>

Signed-off-by: Dimitar Shterev <[email protected]>
Co-authored-by: Bondar Bogdan <[email protected]>

* Update jsoup (#1276)

* upgraded jsoup to 1.15.3
* removed deprecated safe html annotation
* added own valid string jsoup validator, disabled hibernate parallel method declaration constraint
* adapted valid string validator
* static method
* return invalid value in case of processing exception

Signed-off-by: Bogdan Bondar <[email protected]>

* Feature/java11 build (#1280)

* hawkBit on Java 11

Signed-off-by: Dominic Schabel <[email protected]>

* Preparing java 11 build

- Update eclipse-link maven plugin dependencies
- Fixing warnings, adopt to java-11 style

Signed-off-by: Peter Vigier <[email protected]>

* Preparing java 11 build

- Fixing warnings, adapt to java-11 style
- Added since to deprecated

Signed-off-by: Peter Vigier <[email protected]>

* Fixing sonar warnings

- removed deprecated API

Signed-off-by: Peter Vigier <[email protected]>

* Fixing sonar warnings & failing test

- Added suppressWarning
- added WithSpringAuthorityRule to clean-up listener

Signed-off-by: Peter Vigier <[email protected]>

* Compile warnings

- Test if final causes issues in tests

Signed-off-by: Peter Vigier <[email protected]>

* Removed deprecated code

Signed-off-by: Peter Vigier <[email protected]>

* Reverted changes

Signed-off-by: Peter Vigier <[email protected]>

* Removed final as this causes invalid reflective access exceptions

- The eclipselink generated classes seem to modify the field directly
- update plugin version

Signed-off-by: Peter Vigier <[email protected]>

* Upgrade eclipselink from 2.7.9 to 2.7.10

* Remove @deprecated endpoints from MgmtTargetTagResource

* Remove dependencies already defined in eclipselink-maven-plugin

* Try eclipselink 2.7.11-RC1

* Set project encoding to UTF-8

* Upgrade surefire and failsafe plugins to 3.0.0-M7

* Try fixed string instead of a random generated one

* Replace JsonBuilder by Jackson ObjectMapper usage

* Use JsonBuilder again

* Use APPLICATION_JSON_UTF8 instead of APPLICATION_JSON

* Try to replace com.vaadin.external.google:android-json by org.json:json

* Add debugging outputs

* Improve debugging outputs

* Improve debugging outputs

* Use Jackson instead of JsonBuilder

* Use Jackson instead of JsonBuilder 2nd part

* Use Spring json dependency

* Use eclipselink 2.7.11

* Fix RootControllerDocumentationTest

* Improve helper methods of AbstractDDiApiIntegrationTest

* Upgrade SpringBoot and SpringCloud versions

* Improve deprecation notice for 0.3.0M8

* Fix BaseAmqpServiceTest

* Fix SpecificationsBuilderTest

* Removed deprecated code

* Define maven-enforcer-plugin version

* Remove com.google.code.findbugs.jsr305

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Update circleci image to openjdk:openjdk:11.0.13-jdk-buster

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Fix javadoc generation and license check

Signed-off-by: Florian Ruschbaschan <[email protected]>

* Fix review findings

Signed-off-by: Florian Ruschbaschan <[email protected]>

Signed-off-by: Dominic Schabel <[email protected]>
Signed-off-by: Peter Vigier <[email protected]>
Signed-off-by: Florian Ruschbaschan <[email protected]>
Co-authored-by: Dominic Schabel <[email protected]>
Co-authored-by: Peter Vigier <[email protected]>
Co-authored-by: Markus Block <[email protected]>

* Introduce action status scoped custom code (#1277)

* 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 <[email protected]>
Co-authored-by: Stefan Behl <[email protected]>

* Adapt cancel flow (#1274)

* Adapt assignment events to communicate mass cancel operations within one event.

Signed-off-by: Michael Herdt <[email protected]>

* Fix edge cases identified by test failures. Adapt tests and reduce amount of published cancel events.

Signed-off-by: Michael Herdt <[email protected]>

* Fix license header

Signed-off-by: Michael Herdt <[email protected]>

* Refactor visibility of methods in assignment strategy classes. Avoid having empty action status messages.

Signed-off-by: Michael Herdt <[email protected]>

* Fix api docs

Signed-off-by: Michael Herdt <[email protected]>

Signed-off-by: Michael Herdt <[email protected]>
Co-authored-by: Bogdan Bondar <[email protected]>

* Remove unused (public) methods from JsonBuilder (#1281)

* Provide target quicklinks from Target Filters and Rollout views to Deployment view (#1270)

* 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

* Enable sorting in tables (#1279)

* 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 <[email protected]>

* make DdiActionFeedback#time value an optional property (#1283)

Signed-off-by: Michael Herdt <[email protected]>

* Send DMF batch message on thing_created event (#1284)

* send dmf batch message on thing created event
* fix tests

Signed-off-by: Stefan Klotz <[email protected]>

* Replacing self-managed SonarQube with Sonarcloud (#1286)

* replaced sonar url to use sonarcloud
* changed sonar properties in pom for sonarcloud
* changed sonar properties in pom for sonarcloud
* added sonar plugin to avoid warning regarding relocation of sonar project
* refactoring
* removed sonar plugin from pom.xml, will added to seedjopb build parameter

* specify explicit branch name for sonar (#1289)

Signed-off-by: Bogdan Bondar <[email protected]>

Signed-off-by: Bogdan Bondar <[email protected]>

* Add db migration script of action status code for POSTRESQL databases. (#1291)

Signed-off-by: Michael Herdt <[email protected]>

Signed-off-by: Michael Herdt <[email protected]>

* Adapted resources to reflect switch to sonarcloud (#1290)

* adapted Readme and resources to reflect sonarcloud
* fixed badges

* Upgraded few dependencies (#1296)

* Upgraded versions of gson, netty-all,logback, jackson-bom dependencies

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Fixed PR comments

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* removed upgraded versions of gson and netty-codec

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

Signed-off-by: Shruthi Manavalli Ramanna <[email protected]>

* Fix Sonar issue (#1301)

* Exclude soft deleted entities from findByRsql result for all entities (#1297)

* exclude soft deleted SMs and SM types from findByRsql result

Signed-off-by: Stefan Klotz <[email protected]>

* add tests

Signed-off-by: Stefan Klotz <[email protected]>

* clean up code

Signed-off-by: Stefan Klotz <[email protected]>

Signed-off-by: Stefan Klotz <[email protected]>

* Fix website build with recent Hugo (#1302)

The website currently fails to build with recent versions of Hugo.
Apply some minimal changes to allow the website to build with hugo
v0.93.3.

Signed-off-by: Diego Rondini <[email protected]>

* docs: fix sandbox URL (#1303)

The sandbox has moved to a new URL some time ago; replace occurrences
with the new URL.

Signed-off-by: Diego Rondini <[email protected]>

* docs: switch to goldmark markdown handler (#1304)

Abandon no longer supported blackfriday markdown handler and switch to
default goldmark markdown handler. Enabled typographer extension to
handle quotes and dashes.

Website is now building with hugo > 0.100 as well.

Build tested with hugo 0.101.0:
$ docker run --rm -it -v $(pwd):/src:Z -p 1313:1313 klakegg/hugo:0.101.0
server

Signed-off-by: Diego Rondini <[email protected]>

* add type name to mgmt api responses (#1298)

Signed-off-by: Stefan Klotz <[email protected]>

Signed-off-by: Stefan Klotz <[email protected]>

* Add resource collection /rest/v1/actions to Management REST API (#1299)

* Initial commit

Signed-off-by: Stefan Behl <[email protected]>

* Added filtering by RSQL

Signed-off-by: Stefan Behl <[email protected]>

* Support for filtering actions by distribution set, target, rollout

* Added REST docs

* Fixed REST docs

* Introduce a config property which allows to disable the actions endpoint

* Introduce representation mode parameter

* Adapt REST docs

* Incorporate review findings

* Adapt REST docs

* Improve unit tests

* Minor improvements

* Fix REST docs

* Fix REST docs

* Fix PR review findings

Signed-off-by: Stefan Behl <[email protected]>

* Adding last action status code in view Rollout…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants