Commit Graph

954 Commits

Author SHA1 Message Date
Bondar Bogdan
afdaeca25a added remote entity events dispatch topic to be fired on deffered events dispatch (#1129)
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
2021-06-07 20:28:14 +02:00
Bondar Bogdan
40b28e212d Injectable UI target data suppliers (#1123)
* initial proposal for injectible target data provider

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

* improved selection of first entity in grid

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

* introduced constructor to explicitely set DataCommunicator for a Grid

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

* made data communicator for target grid injectable

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

* 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 <Bogdan.Bondar@bosch.io>

* DeleteSupport rethrows the exception to be intercepted by error handlers

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

* minor grid refactoring

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

* adapted docu for base data providers

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

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

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

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

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

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

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

* do not remove confirmation dialog window from UI explicitely

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

* fixed sonar, added docs

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
2021-06-02 16:58:35 +02:00
Michael Herdt
efa21469cd Fix the action status icon "CANCEL_REJECTED" because it was displayed as unknown (#1115)
Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
2021-05-03 15:52:30 +02:00
Bondar Bogdan
5bcaf3d99b 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 <Bogdan.Bondar@bosch.io>
2021-04-22 08:19:45 +02:00
Dominic Schabel
81defa10a6 Migration to JUnit5 as default test runtime (#1082)
* Migrate tests to JUnit5

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* REST docs tests migrated to JUnit5

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* Migrated security and UI tests to JUnit5

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* Migrated management tests to JUnit5

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* Reflecting changes from JUnit5 migration

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* Fix RabbitMQ test detection

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* Drop support for JUnit4

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>
2021-03-15 13:40:40 +01:00
Dominic Schabel
9c5360e59d JUnit5 support (#1063)
* First preparation for JUnit5

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>

* Exclusion of JUnit5 removed

Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>
2021-02-12 08:22:26 +01:00
Natalia Kislicyn
3422781125 Restructure Tenant Configuration View to make it more flexible for adaptations (#1043)
* Extract view creation for Configuration Components into Beans;
Split implementations of config Binders into corresponding view classes:
- add ProxySystemConfig classes respectively for ConfigurationViews;
- create Binder and config Bean in BaseConfigurationView via Generics;
- extend ConfigurationViews from BaseConfigurationView;
- populate Binders and config Bean in ConfigurationView;
- access binder getter/setter in ConfigurationItem through corresponding ProxySystemConfig;
- autowire Collection of Config Views in TenantConfigurationDashboardView;
- create components, call save and undo for each config view in Collection

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* Do not send the target token when anonymous download is enabled

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* Update amqp tests to cover enabled anonymous download config

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* Do not change TargetToken functionality for hawkbit;
Make createDownloadAndUpdateRequest protected;
Undo some of previous test changes;

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* Add license header to ProxySystemConfigDsType

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* Call save methods for filtered ConfigurationViews only, not the autowired.

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* Document public classes

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* Adopt Review Comments:
- Rename DefaultDistributionSetTypeLayout
- Remove unnecessary qualifier TenantConfigurationProperties

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* Refactoring: implement InitializingBean instead of using PostConstruct

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* Apply to remaining classes: implement InitializingBean instead of using PostConstruct

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* Removed unnecessary method notifyConfigurationChanged();
Documented Bean creation of configuration views

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* Rename TenantConfigurationAutoConfiguration to SystemConfigViewAutoConfiguration

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* Rename init method of DefaultDistributionSetTypeView

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>
2021-02-11 17:21:55 +01:00
Michael Herdt
3deb325514 Show Controller ID within target, filter and rollouts view (#1056)
* Add the controllerId column to the targetGrid of the deployment, rollout target and filter search result view.

Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>

* Fix review findings.

Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>

* introduce a constant for the default min_width in GridComponentBuilder

Signed-off-by: Michael Herdt <Michael.Herdt@bosch.io>
2021-02-11 17:10:49 +01:00
Dominic Schabel
17cca56a1b Merge pull request #1018 from bosch-io/fix_migration_to_new_spring_boot_version
Update Spring Boot to 2.3.7.RELEASE
2021-02-11 16:42:14 +01:00
Natalia Kislicyn
d1c60d613a Fix NPE that occurs on invalid user input in editfields (#1077)
Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>
2021-02-05 13:57:09 +01:00
Ammar Bikic
ac8c174b2c Merge remote-tracking branch 'origin/master' into fix_migration_to_new_spring_boot_version_merge_master
Signed-off-by: Ammar Bikic <ammar.bikic@bosch.io>
2021-01-15 17:28:49 +01:00
Florian Ruschbaschan
8816396d18 Add existsByInstalledOrAssignedDistributionSet (#1064)
Signed-off-by: Florian Ruschbaschan <Florian.Ruschbaschan@bosch.io>
2021-01-12 11:29:48 +01:00
Ammar Bikic
68e4cd93e1 Merge remote-tracking branch 'origin/master' into fix_migration_to_new_spring_boot_version_merge_master
Signed-off-by: Ammar Bikic <ammar.bikic@bosch.io>
2020-11-09 16:13:10 +01:00
Markus Block
cc40529dc9 Cleanup UI code after Vaadin migration (#1027)
* Removed code duplications in DistSMTypeFilterLayout
* Removed code duplications in DistributionSetGridLayout
* fix Sonar issues
* fixed Sonar issues
* fix Sonar issues
* Removed duplications in SwModuleGridLayout and SoftwareModuleGridLayout
* started to remove ui duplications in *WindowController classes
* Removed unused variables
* introduced UIConfiguration object as container for common used dependencies
* continued introducing UIConfiguration object
* fixed Sonar issues
* Removed some duplicated code in WindowController classes
* call getter in super class instead of accessing fields directly
* introduced convinience methods for showing notifications in super class
* Renamed UIConfiguration to CommonUiDependencies
* Renamed UIConfiguration to CommonUiDependencies
* Introduced parent classes for add and update window controllers
* fixed Sonar issue
* introduced validator delegates in the window controller classes
* remove duplicate code between add/update controllers
* removed unnecessary abstract method used only for logging
* fixed DS selection after create
* check for duplicate entity only if attributes have changed
* fixed some failures
* fixed using wrong method for displaying validation error
* making hawkbit bot happy
* Fixed displaying success message now with persisted entity name
* make Sonar happy
* Incorporated review remarks

Signed-off-by: Markus Block <markus.block@bosch-si.com>
2020-11-05 09:59:10 +01:00
Ammar Bikic
165f6e0435 Change to proper versioning
Signed-off-by: Ammar Bikic <ammar.bikic@bosch.io>
2020-11-03 09:59:21 +01:00
Ammar Bikic
2e224b0ffd Merge remote-tracking branch 'origin/master' into fix_migration_to_new_spring_boot_version_merge
Signed-off-by: Ammar Bikic <ammar.bikic@bosch.io>
2020-10-23 13:32:42 +02:00
Bondar Bogdan
ac2d482aad fixed metadata permissions for entity details header metadata icons, details metadata grid, metadata window header, grid and input fields (#1035)
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
2020-10-22 13:23:10 +02:00
Bondar Bogdan
541a0129ef UI Spring Context Holder bean registration (#1026)
* register the Spring Context Holder bean for UI instead of setting the context for each UI separately
* reverted test scope for db driver

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
2020-10-13 17:04:18 +02:00
Bondar Bogdan
a092747c99 Deregister UI remote event push strategy from application context (#1022)
* deregister UI remote event push strategy from application context
* remove application context from holder after detaching the UI

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
2020-10-12 11:42:40 +02:00
Ammar Bikic
8e90ffd95e Adaptations due to Vaadin 8 merge
Signed-off-by: Ammar Bikic <ammar.bikic@bosch.io>
2020-10-02 18:17:04 +02:00
Ammar Bikic
28b65a290d Update Spring Boot to 2.3.2
-Update Spring Cloud to Hoxton.SR7
-Replace ResourceSupport by RepresentationModel (Spring Hateoas 1.0)
-Replace ControllerLinkBuilder by WebMvcLinkBuilder (Spring Hateoas 1.0)
-Move getId() from Identifiable to BaseEntity (Spring Hateoas 1.0)
-Remove hamcrest.Factory
-Use static Sort.by reference
-Place http security anyRequest().authenticated()
-Replace MockMvcRequestBuilders.fileUpload by MockMvcRequestBuilders.multipart
-Deprecate MEDIA_TYPE_CBOR_UTF8
-Replace MEDIA_TYPE_CBOR_UTF8 by MEDIA_TYPE_CBOR in tests
-Replace HAL_JSON_UTF8 by HAL_JSON in tests
-Replace APPLICATION_JSON_UTF8 by APPLICATION_JSON in tests
-Use org.mockito.junit.MockitoJUnitRunner
-Remove overridden dependency versions
-Removing not needed comments in pom.xml
-Downgrade flyway-core to be MySQL 5.6 compatible
-Add maven-site-plugin since it was removed with spring-boot 2.3
-Set servlet encoding properties
-Introducing Test that verifies the charset inside the content-type of a response
-Add @DirtiesContext to CorsTest and ContentTypeTest
-Add content-type mockmvc test with adapted mockmvc config
-Move encoding.force property to test class
-Switch expected and actual parameter values in content-type test
-Delete deprecated content-type test with TestRestTemplate
-Exclude JUnit5 from spring-boot-starter-test
-Upgrade allure-junit4 to 2.13.5
-Add aspectjweaver 1.9.6 to surefire test execution
-Add flyway-core version to property
-Use getRequiredLink() within MgmtBaseEntity.getId()

Signed-off-by: Ammar Bikic <ammar.bikic@bosch.io>
2020-10-02 18:11:18 +02:00
Bondar Bogdan
16ce6f35bf Fix combobox initial selection (#1012)
* extended TargetFilterQueryAware interface with target filter name to fix the combobox initial selection rendering issue

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

* introduced ProxyTargetFilterQueryInfo for consistency and usage of binder convertor, adapted code

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

* removed ProxyIdNameVersion in favour of ProxyDistributionSetInfo, adapted usage

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

* changed DsIdAware to use ProxyDistributionSetInfo in order to fix the initial combobox selection, adapted corresponding usages

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>

* changed ProxySystemConfigWindow to use the ProxyTypeInfo for fixing the initial selection of Ds type, adapted code

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
2020-09-22 12:02:37 +02:00
Bondar Bogdan
7ca515fb44 introduced paging while retrieving the target/ds tags (#1006)
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
2020-09-08 13:56:18 +02:00
Stefan Klotz
29bb9194a6 Improve and fix texts of confirmation popups in UI (#1002)
* fix force action confirm text, add plural wording for multiple assigning

Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>

* fix hard coded plural s on DeleteSupport

Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>

* fix entity creation and deletion notification i18n

Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>

* remove placeholder for optional plural s from UI messages

Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>

* renaming

Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
2020-09-04 14:08:49 +02:00
Bondar Bogdan
0e4b67895e Vaadin security enhancements (#1003)
* Removed VaadinManagedSecurity configuration from MgmtUiAutoConfiguration
* added SessionFixationProtectionStrategy for additional protection of UI session authentication
* added VaadinSessionClosingLogoutHandler to logout from all UI sessions
* added AccessDecisionManager to UI security configuration in order to support method security in UI in context of VaadinSharedSecurity
* Changed UI push transport from WEBSOCKET to WEBSOCKET_XHR to solve problems with Spring Security Context
* Suppressed atmosphere IOUtils false-positive warning
* Removed obsolete AsyncVaadinServletConfiguration
* Defined Vaadin4SpringServlet bean instead of plain SpringVaadinServlet for configuration flexibility
* Removed obsolete SpringSecurityAtmosphereInterceptor because the client does not communicate with the server using websocket protocol anymore
* Removed unit test for SpringSecurityAtmosphereInterceptor
* Removed obsolete AuthenticationManagerConfigurer coming from Vaadin Managed Security in InMemoryUserManagementAutoConfiguration
* Removed SessionFixationProtectionStrategy and VaadinSessionClosingLogoutHandler because all wrapper sessions are invalidated when the session managed by Spring gets invalidated together with configured HttpSessionEventPublisher events
* Added call to close the current session before logout redirect
* added comment why we used WEBSOCKET_XHR instead of WEBSOCKET

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
2020-09-03 10:35:22 +02:00
Bondar Bogdan
9f3ff40658 Migrated Hawkbit UI to Vaadin 8 (#980)
* Migrated Hawkbit UI to Vaadin 8

* fixed tag assignment messages
* disable rollout buttons instead of hinding them in Rollout Grid
* fix mssql db error
* small improvements to remove duplications while creating labels and distribution set type combo
* upgraded Vaadin to 8.11.1, upgraded jsoup to 1.11.2 (used by Vaadin 8.11.1), fixed selection in Metadata window, moved Rollout Window components to separate components package
* moved DS/SM type combobox creation to FormComponentBuilder, fixed add to collection error in SoftwareModuleDetails, changed save entity icons to harddrive, common refactoring
* removed duplications between breadcrumb grid headers (RolloutGroupGridHeader, RolloutGroupTargetGridHeader, TargetFilterDetailsGridHeader)
* replace proxy type in proxy objects with simple type info
* made all text fileds lazy (the timeout is 500ms), fixed add rollout window error on getting the bean from layout to controller
* removed duplications between ds to tag and target to tag assignment supports, extracted assignment notification from HawkbitCommonUtils
* fixed search input with caption overlap
* refactored layout visibility and resize listeners
* fixed approval strategy, adapted rollout advanced group ids to always increase
* Combine created and modified column creation
* remove Column<?, ?> variables
* fix confirmation dialog line breaks
* fix grids in details and filters
* fix column creation for upload grids
* add default ExpandRatio, fix rollouts and target filter
* add default addColumn method and fix action grids
* update deployment and rollout grid and grid css
* fix grid column widths
* refactored approval layout
* adapted approval layout
* refactored advanced rollout group layout
* refactored advanced group definitions to use proxy bean
* fixed copy rollout window enable save button
* third draft of Rollout Window validation: added UNKNOWN validation status, validate all layouts after validation listener is added
* second draft of Rollout Window Validation
* first Rollout Window Validation draft for enable/disable save button
* fixed custom target filter de-selection on delete, re-selection on update, reset edit/delete crud menu mode on custom filter tab selection
* added error threshold validation on total target and number of groups change
* added random ids to Proxy identifiable entities without defined ids
* add universal check box generator
* adapted Update and Approve Rollout Window Layout
* adapted setting and getting bean values for Add and Copy Rollout layouts
* fix setting ConfirmationDialog ID
* refactor ConfirmationDialog to use a CommonDialogWindow internally
* fix rollout group definition input width
* remove code duplication in UI grid column creation
* refactored rollout group pie chart and legend by extracing them to their own class VisualGroupDefinitionLayout
* remove code duplication on link creation
* moved creation of AutoStartOptionGroupLayout to FormComponentBuilder
* extracted RolloutFormLayout and SimpleGroupsLayout together with corresponding proxy beans from AddRolloutWindowLayout, adapted code accordingly
* move TimeforcedIcon generation to StatusIconBuilder
* move code to StatusIconBuilder
* use objects to build labels from entity states
* use generic method to generate status icon labels
* moved AdvancedGroupRow from DefineGroupsLayout to separate class
* remove code duplication on icon creation
* removed Optionals from Data Providers
* fixed remaining parts of xss vulnarable components (tags/types)
* added description to key-value details pairs, moved the logic of paginated database access to HawkbitCommonUtils
* further adapted xss atack posibilities
* adapted details header and key-value details
* adapted MetaData header
* adapted Artifact and Action History Grid headers
* adapted artifact download
* adapted already assigned notification and rollout approval permission check
* removed tenant and username cookies from hawkbit login
* adapted attributes sorting by key
* adapted controller attributes details
* removed grid ResizeSupport (can be introduced later if needed)
* refactored grids to not use resizeSupport but rather removing all columns and re-adding them after max/min state transition
* fixed selection of added items
* moved restoreState to AbstractGrid
* unified Ds grids on Distribution and Deployment Views
* moved filter support and drag and drop support to AbstractGrid
* removed stale Sm grid id for Upload view
* removed duplication between SwModuleGrid and SoftwareModuleGrid
* removed unneccessary status icons css properties
* added grid MasterEntitySupport, adapted grids
* fixed tags/types filter deselection after deletion
* fixed deletion success notification, added artifact uploads count check to software module table
* unified target/ds/sm grid headers
* unified DS and SM grid headers and details
* added Delete Support to Rollout, adapted deletion permissions
* introduced EntityResizeSupport, upgraded vaadin version to 8.10.4
* unified ds and sm type filter components
* removed duplications between Target and Ds tag filters
* removed duplication for #buildActionButton
* initial iteration of removing duplications between grids
* added GridActionsVisibilityListener
* added layout visibility listener to filter and rollout views
* unified LayoutResizeListener and LayoutVisibilityListener
* extracted ShowEntityFormLayoutListener
* refactored grid filter listeners
* refactored target filter listeners, introduced filter support
* added GenericEventListener, further unified listeners
* partially unified LayoutViewAware event listeners, added PinningChangedListener, TagFilterListener and TypeFilterListener
* fixed sql exception in case NO_TAG is selected without any additional tags active
* unified entity modified listeners, adapted tag token modified update
* fixed Upload View drop area enable on SM select
* unified selection listeners
* unified search listeners
* added common SearchFilterListener, added temporare EntityModifiedMasterAwareSupport for EntityModifiedListener, fixed Rollout View change after rollout deletion/modification, adapted state restore
* refactored entity modified and selection listeners together with support classes
* added maintenance window and created/modified at tooltips in Action History Window, added id to Bulk Upload popup window and main popup layout, fixed duplicated DS error during DS edit/update
* substituted ShowEntityDetailsEventPayload with SelectionChangedEventPayload in Rollout View for consistency with other Views, unified rollout ui state class
* added builder to EntityModifiedListener, adapted code
* refactored sm type modification of ds type
* fix removing sm type from ds type via ui
* refresh rollout group targets table on group-updated-event
* moved grid label icon creation to SpUiComponent builder
* fixed edit tag/type with invalid colour
* added range validator(0-100) to trigger threshold
* fixed rollout auto start option updates, fixed rollout grid search state restore, extended SPDateTimeUtil
* Rollout Window Form fixes
* small partial fix for error threshold percent/count validation and value change
* fixed time forced empty datetime in Rollouts Update Window
* added workaround for target/ds tags drag and drop due to the missing selection support
* fixed ds unpinning after deletion and completion state change
* added reason to bulk upload failed notification
* fixed target add/update window form name id, introduced separate layout listeners for entity modified events and selection/master changed events, extended grid selection support, refactored corresponding grids, layouts and listeners
* fixed required messages in the from builder, changed asyncExecutor to ui executor for file streaming, fixed auto-assignment for layout
* fixed drag and drop registration for non-selection grid model, small restore state refactoring
* fixed action remote events tests, adapted crudMenu/resize/search header supports to use mode-{mode} classes instead of ids modification
* changed id of metadata popup grid to 'metadata.window.table.id' and details grid to '{typePrefix}.metadata.details.table.id', fixed tag/type cell text wrapping, tooltip shows full tag/type name, removed checkboxes from Distributions Set Type Software module selection grids
* added tooltip to Rollout/RolloutGroup status bar, small bug fixes for Rollout Window target filter and approval
* fixed edit permission validation in DetailsHeader
* unbind distributionsview javascript from vaadin theme
* small refactoring of form component builder, assignment and rollout layout
* remove ds combobox code duplication, fix assig and autoassign popup
* add BoundComponent class, fix assignment popup
* remove duplicates for name, version description and actiontype fields
* removed code duplication, fix assign- and autoassign-popup
* adapted Action history eventing, changed entity modified parent event propagation
* added id to DS details modules grid
* started adapting Action History View
* adapted filter by ds drop area restore
* align drop styling with previous
* fix filter target table by assigned ds
* small refactoring of Deployment View and System config View layouts
* adapted DS tag layout
* fixed incompelete DS deselection and unpinning
* added filter to RemoteEventListener in order to ignore remote events, added select entity on add to grids
* fixed DS modules details, explained why session scope is used for bulk upload
* adapted bulk upload window to be lazy loaded, fixed restore by usinng session scope
* fixed user cell text selection in grid, drop hint highlighting
* fixed undo for iot-update-server config option
* fixed parsing in DurationField and refactored system config view
* removed unused variable from DurationField
* refactored config option view
* fixed polling option value in config option view
* fixed token refresh value in config option view
* added binder auth config option
* added binder to save config option
* added binder for auto cleanup option
* upgraded vaadin to 8.10.0, removed dd package together with CustomAcceptCriteria extension, removed CustomAcceptCriteria tests, removed all vaadin v7 dependencies, removed compatibility server and client
* added selection by pressing key up/down, refactored range selection handler and connector, drag and drop support drop style listener, removed unneccessary styles for selection extension
* show drop hint
* fix h2 cast error
* make unselected row dragable
* add support for selection using Shift and CTRL
* remove grid checkboxes, fix selection and drag and drop
* moved bulk upload classes to own package, started implementing bulk upload window builder
* further adaptations of bulk upload
* started adapting bulk upload
* partially removed stale classes/methods, vaadin v7 imports
* completeted pinning refactoring
* further pinning refactoring, added restore to distributions grid in deployment view
* started adapting pinning of target and distribution set
* further remote eventing refactoring, small styling adaptations
* added 'maximize' and 'minimize' ids to max/min grid icons
* removed event containers, adapting the delayed event bus push strategy, event provider and remote events listener
* small eventing refactoring
* adapted tag filter eventing, removed old event classes
* adapted selection eventing, fixed color styling for grid selection, added countByAssignedId to softwaremodulemanagement
* adapted type filter eventing
* adapted search filter eventing
* adapted actions visibility change eventing in filter layouts
* adapted layout eventing in Deployment View
* adapted layout eventing in Distributions View
* adapted layout eventing in Upload View
* adapted entity modified eventing
* adapted rollout eventing
* fix rollout view and window styling
* handle rollouts view remote events
* adapted eventing in Rollouts View
* fixed Target Filter session state management in Edit Form mode
* adapted target filter query add/update layout to use form layout
* started adapting tags assignment
* removed AbstractNotificationView
* added row border in grids
* fixed restoreState in Target Filters and Target Grid, refatored eventing in Deployment View
* Added event listener for DsSetType
* added confirmation window id for deletion support, added id for action type radio group, reworked restore state, small changes in Deployment view
* started adapting ds grid, ds tags, action history and Deployment View layout
* started adapting target grid
* reworked Target Filter View and event handling
* fixed Target Details error, started adapting Target Grid Layout
* refactored Date time parser
* fixed Date time parser
* fixed formatting
* fixed errors in auto close option
* fixed errors in auto cleanup option
* fixed errors in Polling view option
* adapted filter management view and selection listener behaviour
* cleanup, fix vaadin query to spring pageable convertion
* adapted target tag filter layout
* started adapting Deployment view
* fixed software modules details grid rendering under Distribution Set Details
* adapted artifact details grid popup window for Software Module details
* adapted auto assignment details grid for DS
* added get by ids to target tag management, adapted tag details layout for distribution set tag and target tag
* package structure refactoring
* started adapting software module details tab within distribution set details layout
* excluded javax.validation because of a reference to an old sources file
* fixed system config view misconfiguration
* fixed ids formating, added UI access call for updating entities through listeners
* refactored sm and ds types saving in proxy sm and ds entities
* fixed software module to distribution set assignment and software module dataprovider in Distributions View
* adapted add/update notification for software module and distribution set to show name and version, fixed search text field id
* adapted software module color highlighting in Distributions View
* adapted login ui
* started adapting Distributions View
* unified filter buttons click behaviour, added restore clicked filter to Upload View
* removed duplications in filter headers
* removed duplication in filter type/tag layouts
* added sm and ds type remote events matchers for listener
* adapted metadata details grid, update eventing fo details layout in Upload View
* adapted entity deletion eventing and selection on restore state for Upload View
* adapted file upload events handling, introduced RemoteEventsListener for the complete UI
* adapted Details Header to render two separate labels for caption prefix (entity type) and entity name to prevent xss attack
* upgraded vaadin to version 8.9.3, adapted upload artifact view and corresponding eventing further
* change visibility of components instead of removing them in Upload View
* adapted metadata popup window for target, distribution set and software module
* first iteration of adapting metadata window layout: created meta data dataproviders and window grids for target, ds and sm
* adapted auto assign window layout
* further refactoring of Target filter view and layouts
* adapted software module add/update window layout
* adapted distribution set add/update window layout
* refactored window layouts
* fixed software module add/update layout, adapted target add/update layout
* added validation of empty distribution set type software module types and mandatory property change
* further refactoring of distribution set type add/update window
* adapted distribution set type add/update window
* adapted software module type add/update window layout
* adapted tag layouts and color picker structure
* adapted target and ds tag add/update windows, refactored color picker
* added ds and sm type event containers
* refactored local eventing and remote events handling, mainly only for distributions view
* fixed ui alignment on the right side of the page
* Finalized upload view migration
* Fixed upload layout not enabled problem
* Migrated Upload view. Some small glitches still open.
* moved details headers to layouts
* added callback to update last selected entity in UI state after each grid selection, unified all details layouts
* further refactoring of Target Details
* added selected event publishing to selection support, refactored target details
* started unifying details layouts and adding details support classes
* unified grid layouts
* unified Target Filter Header
* fixed glitches in UI regarding Headers, dapted eventing for crud menu and close header supports
* unified types and tags headers
* unified more headers
* adapted TargetTableHeader to use AbstractGridHeader with Header Support classes, renamed to TargetGridHeader, removed unsused css properties
* added CrudMenuHeaderSupport, refactored AbstractGridHeader
* added AddHeaderSupport, BulkUploadHeaderSupport, CloseHeaderSupport, FilterButtonsHeaderSupport, ResizeHeaderSupport, SearchHeaderSupport, refactored ConfigMenuBar behaviour in MultipleTargetFilter
* started unifying headers
* extracted BulkUpload from AbstractTableHeader to TargetTableHeader
* removed header row for tags and types grids, adapted margin/padding for some layouts, modified css properties for borders, updated vaadin version to 8.8.6, vaadin-spring to 3.2.1
* added javax servlet api maven dependency to hawkbit-autoconfigure, because gwt-user is not used anymore, fixed a couple of runtime errors, hawkbit starts :)
* adapted TargetTableHeader drag and drop in order to filter targets by Distribution Sets, adapted gwt modules to inherit from compatibility Vaadin7WidgetSet, upgraded DistributionBar addon to be compatible with vaadin 8
* added NO TAG button to Target Tag and Distribution Tag layouts
* adapted Distribution Set Types and Software Module Types layouts
* adapted Target Tags layout, Distribution Set Tags Layout, added corresponding drag and drop supports
* migrated from Table to Grid in TargetFilterQueryButtons, adapted click listeners
* adapted twin columns layout for creating/updating Distribution Set Type
* adapted MetaData Details classes
* adapted AbstractMetadataPopupLayout and all children classes, refactored DeleteSupport
* adapted Grid in UploadProgressInfoWindow
* adapted software module details, target filter query details, removed custom combobox for autoassignment, adapted layouts and details
* removed obsolete classes, adapted layouts as needed, removed Custom Renderers because components are used directly within the grids
* added ArtifactDetailsGrid for Upload View, modified Artifact Layout to be consistent with Action History Layout in Deployment View, adapted Views and Layouts
* added SoftwareModuleGrid to Upload View
* migrated SwModuleTable to SwModuleGrid
* migrated Distribution Set Table from Distributions View to Grid, refactored drag and drop
* refactored target grid in Create/Update Filter View
* refactored tag classes to use TagData where possible
* migrated CreateOrupdateFilterTable to grid
* adapted tag token classes
* adapted Layouts, chaned Base Ui Event to except Proxy Entities
* adapted TargetFilterGrid
* Migrated TargetFilterTable to grid
* Removed vaadin Tokenfield dependency
* removed ConfirmationTab, using Component ConfirmationDialog instead; adapted MaintenanceWindowLayout, introduced AssignmentWindowLayout together with corresponding ComponentBuilder and Controller; added Drag and Drop support with differen Assignments support, adapted TargetGrid and DistributionGrid correspondingly; removed TargetAssignmentOperations utility class
* second version of PinSupport
* added DeleteSupport for target and distribution set items deletion
* first draft of PinSupport for pinning targets and distribution setes
* added first draft of Management Distribution Set Grid, adapted the corresponding data provider, adapted AbstractBaseViewFilter (should be checked)
* first draft of Target Grid, refactored Selection support to include multi-selection mode
* extracted single selection support, resize support and master details support from AbstractGrid, added filter type to AbstractGrid so the dataproviders are filterable by default, adapted some data providers to use filters, refactored master-details scenario for action history/status/msg layouts
* Adapted AbstractGrid for resize support, adapted ActionHistoryGrid, ActionStatusGrid, ActionStatusMsgGrid
* added rollout window specific classes (layouts, controllers, component builders)
* changed Rollout/Group/Target List Grids to use vaadin 8 concepts, added temp utility classes
* added ArtifactDataProvider and corresponding ProxyArtifact, SoftwareModuleArtifactsStateDataProvider, SoftwareModuleDistributionsStateDataProvider, TargetFilterStateDataProvider, TargetManagementStateDataProvider, TargetTagDataProvider and corresponding mappers
* added parent Type model class for DistributionSetType and SoftwareModuleType and corresponding ProxyType, added ActionDataProvider, ActionStatusDataProvider, ActionStatusMsgDataProvider, DistributionSetTagDataProvider, DistributionSetTypeDataProvider, SoftwareModuleTypeDataProvider and corresponding mappers
* extended data providers with filter, implemented multiple distribution set data providers for sifferent ui state (views), added target tag data provider, adapted Proxy Tag
* added data providers, mappers and proxy classes for fetching entities from backend and mapping them to ui proxy entities
* removed setImmediate on classes
* fixed usage of option group layouts, removed all setImmediate calls
* removed flexibleoptiongroup dependency and adapted the Option Group Layouts to use the default RadioButtonGroup
* adapted Vaadin Security and fixed Notifications
* Migrated vaadin 7 sources with the Vaadin migration tool to vaadin 8 compatibility mode
* fixed some minor sonar issues
* fixed license headers
* fixed dynamic stylesheet js license header
* adapted java docs parameters description, removed unused event classes
* fixed icon styles, made action icons a little bigger
* fixed download artifact action icon column header, fixed styling for the target filter query add/update layout, made it more responsive instead of hardcoding pixel values
* fixed Notification rendering regarding word wrap
* fixed restore behaviour with the invalid target filter query in Filter View
* replaced List collection with Set for better performance during DS pinning, tag assignment, target status filtering and rollout add/update window validation, ignored irrelevant sonar issues
* disable crud menu button on no CUD permissions, disable Rollout Group Button on missing permissions, removed Target Metadata details tab on missing repository read permissions, removed Autoassignment DS details tab on missing target read permissions, added UIEventPermissionChecker/HawkbitEventPermissionChecker to verify if current user has the required permissions in order to receive push events/notifications
* disable Autoassignment link in case of missing read repository permissions, disable TFQ save button in case of missing update target permissions
* adapted ordering of columns in maximized state
* limited selection in grids to 1000 entities, removed shift+ctrl selection behaviour (due to complex logic for preserving and limiting selection) disable edit/copy rollout on creation, small naming changes and java docs improvements
* added java docs to notification class
* fixed restoration of the default filter value for grids
* added caption to Delete column in grids, made target filter grid columns hidable, stoped propagation of select all event in order to not select the text on the page
* removed com.google.gwt.gwtmockito test dependency
* renamed RemoteEventsListener to HawkbitEntityEventListener to better describe the use-case for the listener
* changed Guava cache to Caffeine cache for EntityModified UI events
* removed obsolete HawkbitErrorNotificationMessage, UINotification is used instead
* added stacked notifications custom extension
* removed unused JUnitParams dependency
* fixed license header for ParallelNotificationConnector
* set ui mode back to production

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
2020-08-21 16:57:00 +02:00
ajaybalakumar
a8ec8e5544 Custom Filter refreshed in management page - #916 (#970)
* Custom Filter refreshed in management page

Add, modify and remove events handled for custom filter and the
management page is updated acordingly

Signed-off-by: Ajay Balakumar Jeyabalakrishnan <ajaybalakumar.jeyabalakrishnan@in.bosch.com>

* Custom Filter refreshed in management page - #916

Review comments fixed.

Signed-off-by: Ajay Balakumar Jeyabalakrishnan <ajaybalakumar.jeyabalakrishnan@in.bosch.com>
2020-06-18 11:28:36 +02:00
Dominic Schabel
f95be2439d Broken Quartz link fixed #962
Signed-off-by: Dominic Schabel <dominic.schabel@bosch.io>
2020-04-29 18:50:45 +02:00
Shruthi Manavalli Ramanna
21a36a8bce Re-arranged the notification to indication user of already assigned ds (#956)
Signed-off-by: Shruthi Manavalli Ramanna <shruthimanavalli.ramanna@bosch-si.com>
2020-04-16 13:39:21 +02:00
AnbazhakanSubramaniam
6df1e934ee Allow to download an artifact from the UI (#786) (#944)
This feature allows to download the artifact from the Artifact details
table

Review points are handled

Signed-off-by: usb1cob <Anbazhakan.Subramaniam@in.bosch.com>
2020-04-09 14:51:55 +02:00
amic
793227e501 Fix treshold column headers (#951)
* Adapt header of error treshold column to make it more understandable

Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>

* Adapt header of error treshold column to make it more understandable

Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
2020-03-23 16:43:28 +01:00
Natalia Kislicyn
83161ea267 Show username in tables (#946)
* formatting the username is slightly improved

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* formatting the username without steams

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>

* formatting the username without information about first or last name

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch.io>
2020-03-17 08:01:22 +01:00
amic
2dc5a959f0 Fix xss remained parts (#947)
* Fix remained XSS related tooltips by disabling them
* Adding TODOs to tooltips which has been set to null because of XSS
* Removing TODOs because of SonarQube

Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
2020-03-17 07:53:32 +01:00
Natalia Kislicyn
b1497a6f0f Configure logoutHandler and logoutSuccessHandler as Beans (#938)
* Keep the given query parameter when redirecting the login url

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch-si.com>

* Make logout endpoint configurable via properties;
Undo query parameter acceptance when redirecting the login url

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch-si.com>

* make logout base variable non static

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch-si.com>

* Redo query parameter acceptance when redirecting the login url

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch-si.com>

* Remove tenant redirection in RedirectController

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch-si.com>

* Configure logoutHandler and logoutSuccessHandler with Beans

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch-si.com>

* Undo logout endpoint configuration via properties;

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch-si.com>

* remove authenticationEntryPoint configuration; fix review issues

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch-si.com>

* adopt review comments

Signed-off-by: Natalia Kislicyn <natalia.kislicyn@bosch-si.com>
2020-03-04 17:13:54 +01:00
Michael Herdt
9e715c292c Read tenant configuration value from system context to prevent permission issues while loading the rollouts view. (#937)
Signed-off-by: Michael Herdt <Michael.Herdt2@bosch-si.com>
2020-02-20 13:44:36 +01:00
Michael Herdt
c7e910c9c3 Do not set or read user cookies on login. (#933)
* Do not set or read cookies on login.
* Change import order

Signed-off-by: Michael Herdt <Michael.Herdt2@bosch-si.com>
2020-02-19 09:45:16 +01:00
Michael Herdt
144ebd0f19 Show correct notification message for single and multiple notifications. (#931)
Signed-off-by: Michael Herdt <Michael.Herdt2@bosch-si.com>
2020-02-19 09:26:01 +01:00
Brandon Schmitt
b5f46b8b5d Make logout Button in dashboard menu context path aware. (#930)
Signed-off-by: Brandon Schmitt <Brandon.Schmitt@kiwigrid.com>
2020-02-06 10:27:54 +01:00
amic
6c162b2e93 Fix xss vulnerability (#924)
* Fix XSS vulnerability for Distribution Set and Software Module field
* Fix XSS vulnerability for Artifact Details of header in Upload view
* Fix XSS vulnerability in Distribution View Software Module box show artifact details window and fix SonarQube issue
* Fix XSS vulnerability in Upload View Software Module field manage metadata
* Fix XSS vulnerability for Notifications when creating or deleting new or existing Distributions or Software Modules plus adapting error notifications when trying to duplicate
* Fix XSS vulnerability for Distributions View when assigning sm to dist confirmation popup text
* Fix XSS vulnerability for Distributions View modules tab of distribution value of SoftwareModule
* Fix XSS vulnerability for Deployment View assigned tab of target which has risky distribution assigned
* Fix XSS vulnerability in Deployment view action history (of) field and eliminate bugs
* Fix XSS vulnerability bug in Deployment View Action history of field
* Fix XSS vulnerability for Distributions View Module tab as it rendered tool tip
* Fix XSS vulnerability formatting
* Invented some IDs to ease testing regarding XSS vulnerability
* Fix XSS peer review findings
* Fix XSS vulnerability for Distribution Set and Software Module field
* Resolve merge conflicts

Signed-off-by: Ammar Bikic <ammar.bikic@bosch-si.com>
2020-01-27 14:41:07 +01:00
Sebastian Firsching
835757e93a Sort controller attributes alphabetically (#928)
* Sort controller attributes alphabetically
* Use TreeMap instead of streams to sort controller attributes

Signed-off-by: Sebastian Firsching <sebastian.firsching@bosch-si.com>
2020-01-24 13:25:45 +01:00
Dominic Schabel
f3659f0142 List of CQs updated
Signed-off-by: Dominic Schabel <dominic.schabel@bosch-si.com>
2020-01-16 12:04:12 +01:00
Dominic Schabel
435ca500f4 Switch to OAuth2 starters + exclude mail-dependency
Signed-off-by: Dominic Schabel <dominic.schabel@bosch-si.com>
2020-01-14 15:26:02 +01:00
Brandon Schmitt
1bcced9838 OpenID Connect support (#865)
* Added OpenID Connect support

Utilized Spring Security's OAuth2 respectively OIDC support as another
possibility to manage users and their permissions.

Signed-off-by: Brandon Schmitt <Brandon.Schmitt@kiwigrid.com>

* Document OpenID Connect Support

Signed-off-by: Brandon Schmitt <Brandon.Schmitt@kiwigrid.com>

* Updated license in OidcUserManagementAutoConfiguration.java

Signed-off-by: Brandon Schmitt <Brandon.Schmitt@kiwigrid.com>

* Revert updated license notice and add Kiwigrid license file

This reverts commit 23d36245

Signed-off-by: Brandon Schmitt <Brandon.Schmitt@kiwigrid.com>

* Resolve SonarQube issues

- Explicitly import the needed specific classes
- Document public methods
- Add `static` to the constant `JwtAuthoritiesOidcUserService.INVALID_REQUEST`
- Remove superfluous runtime exception `OAuth2AuthenticationException`

Signed-off-by: Brandon Schmitt <Brandon.Schmitt@kiwigrid.com>

* Add OidcUser support in SpringSecurityAuditorAware

Signed-off-by: Brandon Schmitt <Brandon.Schmitt@kiwigrid.com>

* Secure Management API using OpenID Connect, too.

Signed-off-by: Brandon Schmitt <Brandon.Schmitt@kiwigrid.com>
2020-01-14 13:09:13 +01:00
Sebastian Firsching
5feb5873c4 Feature mgmtapi add sha256 to softwaremodules (#918)
* Add sha256 hash to softwaremodules in mgmt api

Signed-off-by: Sebastian Firsching <sebastian.firsching@bosch-si.com>

* Adapt rest docs

Signed-off-by: Sebastian Firsching <sebastian.firsching@bosch-si.com>

* Edit comments

Signed-off-by: Sebastian Firsching <sebastian.firsching@bosch-si.com>

* Add proper license header

Signed-off-by: Sebastian Firsching <sebastian.firsching@bosch-si.com>
2020-01-13 12:36:14 +01:00
Michael Herdt
0e9caf3a88 Move the refresh button for the controller attributes to the left to … (#920)
* Move the refresh button for the controller attributes to the left to prevent overlay with scrollbar.
* Move the controller attributes refresh button to a separate column.

Signed-off-by: Michael Herdt <Michael.Herdt2@bosch-si.com>
2020-01-13 11:25:16 +01:00
Michael Herdt
e815873dad Check only DELETE_TARGET permission by validating delete permissions for TargetTable (#909)
Signed-off-by: Michael Herdt <Michael.Herdt2@bosch-si.com>
2019-11-26 12:53:02 +01:00
Bondar Bogdan
f295a98314 changed PageRequest to OffsetBasedPageRequest for all of the Bean Queries (#912)
Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
2019-11-18 11:05:35 +01:00
Nazife Basbaz
ab009b2b4b Make constructor of JpaSoftwareModuleManagement and JpaSoftwareModuleTypeManagement public to allow bean overrides (#913)
* set constructor to public
* fix typo
* add exception-message for localisation
* log exception

Signed-off-by: Nazife Basbaz <nazife.basbaz@bosch-si.com>
2019-11-15 09:20:49 +01:00
Michael Herdt
e731585c45 Explain the toggle behavior in JavaDoc better. (#911)
Signed-off-by: Michael Herdt <Michael.Herdt2@bosch-si.com>
2019-11-13 12:59:18 +01:00
Alexander Dobler
51982a77e3 Fixed error message not shown when exceeding filesize (#906)
* Fixed message not showing when exceeding filesize

Signed-off-by: Alexander Dobler <alexander.dobler3@bosch-si.com>

* Also use fixed max filesize approach during drag and drop

Signed-off-by: Alexander Dobler <alexander.dobler3@bosch-si.com>

* Moved log messages and adjusted upload log levels

Signed-off-by: Alexander Dobler <alexander.dobler3@bosch-si.com>

* Further adjustments of logging

Signed-off-by: Alexander Dobler <alexander.dobler3@bosch-si.com>
2019-11-08 11:11:32 +01:00