* 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>
* Upload artefacts directly without creating a temp file
* Remove redundant code that checks if user tries to update a directory
* Handle UI upload exceptions, use Spring thread pool
* Clean up code
* Fix review findings
* Fix Sonar findings
Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* Defined the model for target matadata and the corresponding repository layer/management
* Added target metadata quotas incl enforcement
* Extended Target Mgmt REST API to allow for metadata CRUD operations
* Added migration scripts for each database
* Added back reference to target metadata in JpaTarget
* Added tests for target management, Mgmt REST API, target metadata RSQL, and REST documentation
* Updated asciidocs for target rest documentation
* Fix Allure imports and annotations
* Fix review findings
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
* fix: set offline DS action inactive on creation
* test: assert that all offline actions are inactive
Signed-off-by: Subhadip Pramanik <pramaniksubhadip@gmail.com>
* Remove process and discard upload buttons; change upload process to only have one upload status window that is displayed immediately when an upload is triggered.
* Separation of FileTransferHandler: FileTransferHandler was split into 3 parts. One common part remains in the abstract super class. The other pieces were moved to the upload-specific and the streaming-specific subclasses.
* Fix upload process: Fix status visualization in progress window. Move repository transfer to the file upload handler so it can report if the complete upload process succeeded or failed.
* Prevent file upload if no software module or more than one is selected.
* Added Unit Tests and fixed Sonar findings.
* Move upload button from the buttom to the right side of the drag and drop area.
* Remove minimize and resize buttons in progress dialog. Remove unused code.
* Code cleanup and layout adaptions: Remove unnecessary code and fix layout problems when showing the upload button on the right side of the drag and drop area.
* Removed abort functionality for user because of Vaadin bug https://github.com/vaadin/framework/issues/10545
* Fixed Vaadin upload bug by subclassing Upload and overriding necessary methods.
* Disable drag-and-drop area in case no OR more than one software module selected.
* Enhance /adapt unit tests
* Enhance /adapt UI tests
Signed-off-by: Markus Block <markus.block@bosch-si.com>
* First draw, insert delete button in entity tables
* Add shortcuts to cancel/confirm buttons in confirmation dialog
* First draw, target/distribution assignment
* Entity assignments for tables
* Fix table row mark correctly when assigning entities
* Mark the right entity in table when deleting an entity
* Refactor code for distribution tags on deployment view
* Target Tags can be managed with Menu Bar
* Refactor classes for managing tags and types for all entities
* Disable fields correctly when updating/deleting tags and types
* Remove delete and action buttons in the bottom
* Delete Metadata column in tables
* Redesign tables for tags and types. Show action icon for update/delete
* Correct CSS for menubar for tag/type actions
* Add confirmation window when deleting tag or type
* Remove unused code. Fix style for target tag config menu bar
* New abstract classes for target/ds tags
* Reorganize package structure tags, set ids for tags
* Add total targets count in target table, add close icon for menubar
* Add total target label and remove footer styles
* MenuBar is displayed when update/delete action is cancelled, finished, or update/delete modus is left
* Insert EventHandling for show menuBar/CancelButton
* Delete drag & drop criteria where not needed anymore
* Fix mandatory field check in DistributionTypeLayout
* Fix notification message
* Move upload button into drop area
* Enhance /adapt unit tests
* Enhance /adapt UI tests
Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
* Change length of createdBy and lastModifiedBy property to 64 characters
* Change length of approval_decided_by property to 64 characters
* Use one update statement for one DB table for MySQL
* Fix migration skript for rollout approval
Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
* Added Maintenance Window properties to API and UI
* extended Management API with Maintenance Window schedule, duration, timezone and nextAt properties
* extended integration tests for the above properties
* extended Management UI with Maintenance Window column in Action History grid, added tooltip for next execution
* general refactoring
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* fixed Sonar issues
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* changed the documentation help link for maintenance window
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* added licence header, first refactoring after partial PR review
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* changes related to PR review findings
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* last PR review findings
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* First preparation to build HawkBit with JDK 9
Signed-off-by: Dominic Schabel <dominic.schabel@bosch-si.com>
* Reverted Mockito 2 update since it is not compiling under JDK 8 anymore
* Fix for JDK internal calls by old version
* Guava raised to 25.0-jre and CQ added.
Signed-off-by: Dominic Schabel <dominic.schabel@bosch-si.com>
* Add updated RabbitMQ http client
* Exclude test dependencies.
Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
* Exclusions for unnecessary Guava dependencies added
Signed-off-by: Dominic Schabel <dominic.schabel@bosch-si.com>
* Remove provided annotation dependency for maven plugin
Signed-off-by: Dominic Schabel <dominic.schabel@bosch-si.com>
* Optimize maintenance window UI
Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
* Refactor
Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
* Add new downloaded status to UI.
Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
* Changed Accordion to Tabsheet for better visualization of action types
and maintanance window.
Signed-off-by: Markus Block <markus.block@bosch-si.com>
* Refined UI for maintenance window, refactoring
Added ENTER shortcut for save button in dialog windows
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Extended validation for maintenance window, refactored the maintenance window helper class
Added text change listeners for the schedule and duration text fields in order to activate "save all" button
Added client Locale identification for cron expression translation
Moved maintenance window validation from TargetWithActionType constructor to saveAll method of assignment tab
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Added SupressWarnings annotation for exception handling cases
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Fixed Sonar issue: added private constructor to Maintenance schedule helper class
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Sonar Issue: make utility class Maintenance Schedule final
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Added Maintenance Window validation to Distribution Set and Target Management API
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Added unit tests for MaintenanceScheduleHelper class
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Added the license header to MaintenanceScheduleHelperTest class
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Small changes after PR review
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Added Id for Maintenance Window layout for UI Tests
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* — refactored distribution set update test, changed rollout test steps to check if deleted flag is set to false
— added deleted json property for soft deletion of rollout, distribution set, distribution set type, software module, software module type, covered relevant get and put requests with tests
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Changed deleted flag json property to primitive boolean type, tests refactoring
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* Deleted flag getters renaming
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
* DistributionSet type is no longer changable for an existing distribution
set in the ui.
Signed-off-by: Markus Block <markus.block@bosch-si.com>
* Removed field "type" from a distribution update.
Signed-off-by: Markus Block <markus.block@bosch-si.com>
* Incorporated review comments.
Signed-off-by: Markus Block <markus.block@bosch-si.com>