* Truncate target name when name is empty and controllerId exceeds name length limit
* Add check if controllerId is null
* Use seperate method to truncate controllerId + use Array.asList to create list
* Make truncateControllerIdToMaxNameLength a static method
* Additionally check target name by calling target management
Signed-off-by: Sebastian Firsching <sebastian.firsching@bosch-si.com>
* set constructor to public
* fix typo
* add exception-message for localisation
* log exception
Signed-off-by: Nazife Basbaz <nazife.basbaz@bosch-si.com>
* Updating the schema for targetfilterquery and rollout
* Updating the weight validation logic and tests
* Make weight optional
* Fix existing multi assignment tests by adding weight, remove weight from TargetFilterQuery
* Add weight validation tests, fix tests
* Add mgmt api tests for assignment and getting action with weight
* Add management layer validation and tests for creating rollouts with weight
* Fix amqp test, add repo level validation to resource tests
* Add weight to rollout mgmt-api and tests
* Add weight to mgmt api target Filter create and update
* Add target filter auto assign weight. disable enforcement of setting a weight in multiassign mode
* Remove ignored tests, fix api doc
* Fix minor findings
* Fix findings
* Remove hardcoded min weight
* Add docu text, fix findings
* Fix api documentation
* Expose weight via DMF
* Expose actions according to weight via ddi
* Fix documentation
* Add method to get actions ordered by weight to deploymentManagement
* Updating the schema for targetfilterquery and rollout
* Updated the indentation
* Updated the helper class, fixed the randomUID in test factory
* Updated the class name with prefix JPA
* Adding the missing License for WeightValidationHelper class
* Adding documentation to the dmf api on weight
* Removed the merger markers
* Updated the class name
* Removed the redundant method
* Addressed final PR comments
* Updated the missing testcase with latest default weight value
* Reverting the default value of weight back to 1000 and updated tests
Signed-off-by: Shruthi Manavalli Ramanna <shruthimanavalli.ramanna@bosch-si.com>
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* First implementation pushed because of debugging purpose
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Add name field and tests regarding name field functionality in THING_CREATED
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* SonarQube realted changes in name field functionality in THING_CREATED
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Add name field and tests regarding name field functionality in UPDATE_ATTRIBUTES
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Adapt documentation due to name field in THING_CREATED and UPDATE_ATTRIBUTES
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Add integration tests regarding name field functionality in THING_CREATED
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Reformat after finding format bug regarding THING_CREATED
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Reformat after finding the real format bug regarding THING_CREATED
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Reformat regarding THING_CREATED
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Use constant in THING_CREATED
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Format in THING_CREATED
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Resolving peer review comments regarding THING_CREATED
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Resolving peer review comments (organize imports) regarding THING_CREATED
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Refactoring regarding THING_CREATED
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Refactoring due to peer review
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Refactoring due to peer review
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Excluding UPDATE_ATTRIBUTES changes and provide functionality of updating the name property in THING_CREATED message
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Refactoring due to peer review
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Refactoring due to peer review
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Fix SonarQube finding
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Merge master into current branch
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Fix peer review findings
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Add multiassignment to mgmt api target endpoint
* Remove single assignment ds to targets offline
* Fix tests
* Add quota for maxResultingActionsPerManualAssignment
* Fix assignment with same target or distribution set multiple times in one request
* Log UI error
* Add tests
* Enable single assignment requests with multiple DSs and types
* Remove redundant target to DS assignment methods
* Add tests, fix assignment
* Fix possible nullpointer during target assignment request
* Update api docu
* Clean up deployment management code
* Enforce MaxActions quota for offline assignment
* Fix review findings
* Rename property, add migration into
* Add builder for DeploymentRequest
* Change offline assignment method to accept an assignment list, like online assignment
* Fix PR findings
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* excluded EntityAlreadyExists exceptions from requeuing
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
* moved the catch clause closer to the thrown exception
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
* reverted AmqpMessageHandlerServiceIntegrationTest package change
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
* reduced scope of method variable
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
* removed instantiation of exceptions
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
* refactored code to use EventPublisherHolder for publishing application events where possible
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* fixed comment
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Add feature to listen to rollout status update
* With this feature, extensions can update back the status of a given rollout using an event(containing distributionSetId and targetId).
* In future, AmqpMessageHandlerService can make use of this feature and de-couple its own implementation from performing status update of an action.
* Implement ActionStatusUpdateHandlerService using actionId
* Extend actions to support externalRef
* Update the action status using externalRef.
* Update securityContext to support running a callable under specific authorities.
* Fixing the review comments
* Increase length of externalRef to 128 chars
* Remove actionStatusUpdateEvent and the handler service
* Use 256 chars for externalRef
* Increment the version for migration script
* Another feature had use v1_12_12 in a recent PR. So incrementing the version.
* Create length limit for externalRef and add it to index
* Externalref will be much longer than 256 chars if controllerId is as long as 256 chars
* Adding tests for verifying externalRef in controllerManagement
* Improve test to consider multiple externalRefs
* Fix issue in migration script for mssql server
* Fix documentation
Signed-off-by: Ravindranath Sandeep (INST-IOT/ESW-Imb) <Sandeep.Ravindranath@bosch-si.com>
* Add remote event test for the new MultiActionEvent
* Improve test descriptions
* Improve sendMultiActionRequestMessages
* Moved action filtering to the database query level (#12)
* Use @ExpectedEvents instead of EventHandlerStubs
* Removed @Param from 'existsByTargetControllerIdAndStatusAndActiveIsTrue'
* Reverted metadata initialization
* Fix hawkBit bot findings
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
* fixed typos in server error codes and messages
Signed-off-by: Robert Sing <Robert.Sing@bosch-si.com>
* reverted changes of server error message keys
Signed-off-by: Robert Sing <Robert.Sing@bosch-si.com>
* fix the logic that marks distributionSet as complete
* DistributionSets without SoftwareModules shall not be marked as complete, when no Software Module is assigned
Signed-off-by: Ravindranath Sandeep (INST-IOT/ESW-Imb) <Sandeep.Ravindranath@bosch-si.com>
* test to verify that the distributionSet is complete or not
* change test description
Signed-off-by: Nazife Basbaz <nazife.basbaz@bosch-si.com>
DistributionSets without SoftwareModules shall not be marked as complete, when no Software Module is assigned
Signed-off-by: Ravindranath Sandeep (INST-IOT/ESW-Imb) <Sandeep.Ravindranath@bosch-si.com>
* refactored DdiDeploymentBaseTest.java
* removed hardcoded variables, moved createArtifact() to TestDataFactory
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
* Increase target name to 128 and target controller id to 256
* Fix test failures by using constant NamedEntity.NAME_MAX_SIZE + 1
* Use constant NamedEntity.NAME_MAX_SIZE + 1 for mgmt-resource tests
* Add db migration scripts to increase the controllerId and name limit
* Fix review issues
* Use correct constant field for junit tests
* Change Hawkbit documentation url of application-<db>.properties
* Add new line at the end of db migration scripts
* Update assertion description
* Revert copyright years to its creator year
* Add DDI-, AMQP- and controller management-tests
Signed-off-by: Florian Ruschbaschan <Florian.Ruschbaschan@bosch-si.com>
* fixed repository to check for file existence before trying to get the artifact
* added additional existence checks before retrieving the artifact from repository
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* First draft of new assignment logic
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Enhancements of System Configuration view
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Drag&drop enhancements for multiple distribution set assignments
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Misc fixes
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* test that previous assignments are not canceled
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* add description and expected events to test
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* extend TenantConfigurationManagement by NullPointerException proof
getConfigurationValue method
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* Hide "Required Migration Step" if Multi Assignments is enabled
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* Make fields transient
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* Add IDs for Required Migration Step elements
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* Save work in progress
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Added new DMF message DmfMultiActionRequest
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* DMF enhancements to send out MultiActionRequest messages
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Minor changes
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Multi Assignment support for cancellations
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* fix permission problems and immutable lists
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* add message dispatcher tests for outgoing multiassignment messages, fix
old tests
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* Implement Multi-Assignment support for rollout groups
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Minor changes
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Refactoring
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Register new deployment event with protobuff framework
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Allow same DS to be assigned multiple times
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Fix assignment with pending cancellations
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Reduce repository /DB calls
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Revert latest perf fix (causing a regression)
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* test if a rollout sends multiaction messages in multiassignment mode
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* Minor changes
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Do not close new action if DS is already assigned (if multi-assign on)
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* add test that starts and finishes multiple rollouts in multiassignt mode
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* add javadoc to test method
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* Prevent Multi-Assignments from being disabled via Repo Config UI
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Add link to Provisioning State Machine
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* test that Multiassignment can not be disabled via mgmt-api
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* refactor AmqpMessageHandlerService code
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* Prevent Multi-Assignments feature from being disabled via Mgmt REST API
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* add license header, remove unused instance variables
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* fix tenantConfigurationManagement mock in test
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* return empty list instead of null
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* add ddi test for multiassignment, fix old test
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* Prevent autoclose from being modified if Multi-Assignments is enabled
# WARNING: head commit changed in the meantime
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Add test for autoClose /multiAssign
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Javadoc improvements
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* change test method that waits for dmf messages to be dispatched
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* clean up code
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
* Fix UI-related PR review findings
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Fix PR review findings
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Fix PR review findings
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Fix PR review findings
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Fix PR review findings, Sonar issues, and test failures
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Fix PR review findings
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Fix PR review findings
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Fix PR review findings
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Fix Sonar findings
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Fix PR review findings
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Fix PR review findings
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Fix PR review findings
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* fixed typo in method name
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
* Added recover method to handle EntityAlreadyExistsException
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
* Added tests
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
* Apply suggestions from code review
Use thenThrow(Exception.class) instead of (new Exception())
Co-Authored-By: a-sayyed <ahmed.sayed@bosch-si.com>
* Apply suggestions from code review
use final modifier
Co-Authored-By: a-sayyed <ahmed.sayed@bosch-si.com>
* Adapted review findings
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
* Adapted review findings
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
* added logs for EntityAlreadyExistsException case
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
* Added initial version of DOWNLOAD_ONLY
* Added DOWNLOAD_ONLY option to ActionTypeOptionGroupLayout
* Removed DOWNLOAD_ONLY checkbox, added Download Only UI option
* Mark actions that finished with DOWNLOADED as finished
* initial changes to realize downoadOnly in UI
* Changed method of disabling maintenanceWindow into smarter solution
* Added new icon for download only option
* Set DistributionSet as unassigned when DOWNLOAD_ONLY
* Enabled update action status for DOWNLOAD_ONLY after download
* Current state of abstraction task
* Assign DistributionSet to target if target installs it after downloading
* Abstracted class redundant methods
* Added tests
* Fixed Rollout finish status for DWONLOAD_ONLY Rollouts
* Added Rollout type json property in test documentation
* Added DOWNLOAD_ONLY test for target assignment
* Added event listener also to DistributionTable
* Fixed event listener problem
* Change column name to "Type" and added also DownloadOnly icon to that column.
* Cleanup
* Center aligned the icons in type column
* Fixed DistributionSet already assigned but not installed
* Rename download_only to downloadonly
* Further changes regarding center aligned the icons
* Fixed target assign status in Rollout view when download_only
* Fixed SonarQube issues
* Fixed SonarQube issues + code formatting
* Fixed Tests
* Marked squid:S128 as suppressed - irrelevant
* Adapting rollouts view by additional column (not finished by now)
* Putted type column on proper position
* Trying to display icons in new type column in rollouts view
* Added icon also for soft, icon might change -> just change
* createOptionGroup method in ActionTypeOptionGroupLayout class
* added first draft of type column in rollouts view
* increase visibility of sendUpdateMessageToTarget method
* Ground functionality of new type column in deployment view is now implemented
* Type column implementation in rollouts view is finished for now
* Rebased on master
* Fixed DurationControl change on ScheduleControl change.
* (Re)Added Soft deployment Icon
* Fixed SonarQube issues
* Fixed SonarQube issues
* Fixed failing test
* Fixes + added missing header
* Added message to the fail() instruction
* Fixed copyright header
* Apply suggestions from code review
* Fixed TotalTargetCountStatus.java
* Removed unused method from TotalTargetCountStatus.java
* add id to rollout create and update UI popup
* Added download_only tests for MgmtTargetResourceTest.java
* added missing header in TotalTargetCountStatusTest.java
* Rename because of newest changes
* added Download_Only dmf integration tests
* Renamed MgmtAction.forcedType to actionType
* renamed actionType to forceType for Mgmt API
* added missing javadocs for public methods
* Added Download Only support for AutoAssignment
Signed-off-by: Ahmed Sayed <ahmed.sayed@bosch-si.com>
Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
* Repository layer and database migration
* Changed target filter management to update auto assignment action type together with distribution set, extended mgmt API, adapted auto assign checker/scheduler, changed auto assign distribution set select table to combobox, added filter functionality (needs refactoring)
* Refactored auto assignment dialog window, added soft/forced option group, restructured action type option group layout
* Added forced icon to target filter table autoassignment cell for the forced auto assign actions
* First working draft of distribution set select combobox for auto assignment window
* Optimised filtering queries, added alphabetical sorting on distribution set name and version
* Refactoring of distribution bean query for lazy loading
* Distribution set combobox refactoring and comments
* Added verification of auto assign distribution set validity (completed, not deleted), exdended target filter query fields with auto assign action type field, added rsql filter tests, added repository layer tests
* Added mgmt API tests
* Changed target filter rest docu tests to include auto-assignment type
* Updated hawkbit docs with auto-assignment description
* Added debouncing to key and value input fields of metadata popup layout to get rid of unnecessary value change events, removed redundant set value call in common dialog window, minimizing the repaint components calls
* Fixed sonar findings
* Reverted changes of common dialog window validaton, setting the value of the field explicitly as before, until we rethink the whole concept of validaton mechanism
* Fixed review findings
* Removed rsql filtering by filter auto-assign action type, due to missing conversion of disallowed timeforced action type
* Small fix regarding usage of page request
* Updated sql script version for flyway
* Extended tests for soft deleted distribution sets for auto-assignment and filter string within distribution set specification builder
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Added `/target/generated-sources/apt` to resources for maven and m2e
Additionally it was needed to use the `build-helper-maven-plugin`, as
m2e would otherwise exclude by default all sources from the additional
source folder (s. https://stackoverflow.com/a/7759911 )
Signed-off-by: Peter Vigier <Peter.Vigier@bosch-si.com>
* Removed resource plugin configuration
For adding the apt "source" folders the build-helper plugin is enough.
Signed-off-by: Peter Vigier <Peter.Vigier@bosch-si.com>
* Add specification for like attribute value
v2: ensure returned targets are unique
v3: remove redundant or
Signed-off-by: Stefan Schake <stefan.schake@devolo.de>
* Use like attribute value specification with target search text
Target attributes are the primary way to relay back metadata,
particularly in a plug&play application. They should therefore be
included in the target search. Attribute keys are excluded since they
are expected to be consistent between targets.
v3: remove whitespace changes
Signed-off-by: Stefan Schake <stefan.schake@devolo.de>
* Add test for target search includes attribute values
v2: test targets returned are unique
Signed-off-by: Stefan Schake <stefan.schake@devolo.de>
* implemented RSQL query filter for target metadata
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* refactored rsql fields providers code for targets, distribution sets and software modules for consistency, fixed predicate grouping for map fields in rsql utility
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* extended tests for target management rsql queries with target metadata
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* extended target management test for RSQL not equal case of target metadata, added a suggestion of comparator operators when map key ends with = or ! symbol in Target Filter View
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Fixed peer review findings
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* small test fixes: seconds are respected while scheduling the maintenance window, redundant ds-target assignment statement removed
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>