Commit Graph

825 Commits

Author SHA1 Message Date
Kai Zimmermann
f9a7194fd5 Fix JavaDoc syntax errors. Add check to circle build. (#791)
* Fix JavaDoc syntax errors. Add check to circle build.

* One more code error

* Added missing tags.
2019-02-01 10:31:40 +01:00
Kai Zimmermann
d52a720480 Spring Boot 2.0 (#721)
* Migration to Boot 2.0.

Signed-off-by: Kai Zimmermann <kai.zimmermann@microsoft.com>
2019-01-31 07:29:27 +01:00
Markus Block
5025192844 fixed NPE if no UploadProgress object is stored for uploadId in (#780)
Fixed NPE if no UploadProgress object is stored for uploadId in artifactUploadState.

Signed-off-by: Markus Block <markus.block@bosch-si.com>
2019-01-10 14:33:02 +01:00
Markus Block
f918d32bc8 Enable/disable buttons in action history based on user permission (#775)
* Fixed missing org.apache.logging.Log dependency in eclipse
* Evaluate the user's permissions when rendering the action buttons
* Added ConfimationDialog id
* Fixed Sonar issues
* Fixed review findings

Signed-off-by: Markus Block <markus.block@bosch-si.com>
2019-01-08 11:11:55 +01:00
Stefan Klotz
20d84a10eb Fix artifact filename validation (#770)
* use validated ArtifactUpload object when creating a new artifact

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

* rename method

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

* add regular expression classes

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

* add filename validation to UI upload button

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

* move filename validation to uploadStarted

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

* clean up code for UI error handling during artifact upload, assert
filename validation

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

* update visibilities

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

* clean up code

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

* clean up code

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

* change RegexChar class to enum and use i18n

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

* typo, use StringBuilder

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

* typo

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

* use dedicated class for collections of regular expression characters

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

* remove Optional, remove stringBuilder

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

* PR findings

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

* make regex validation method static

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

* use WhiteListType.NONE for filename validation via mgmt-api

Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
2018-12-17 10:17:46 +01:00
Jeroen Laverman
b06928d089 Fix missing localization (#772)
* fix typos

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Add localization to documentation link description

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Add localization for rollouts errorthreshold

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Add CN to available localizations

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* fix NO TAG localization

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Fix sonar findings

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Make Localization configurable

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* fix sonar findings

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* fix review findings

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* fix review findings

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* add final

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>
2018-12-13 09:07:10 +01:00
Stefan Klotz
347fac7f00 Fix empty collection saved in ds table (#768)
* check if collection is empty, clean up and refactor code
* fix map and set types
* fix array conversion
* fix review findings

Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
2018-11-30 09:05:18 +01:00
Stefan Klotz
be348030b2 Feature target metadata ui (#765)
* add metadata tab and popup to target UI

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

* send event to update UI

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

* send event on target meta data delete and update

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

* display selected element name in details layout and metadata popup of UI

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

* add comments to explain manual event publishing

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

* remove option to hide metadata button in details layout

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

* fix typos and refactor

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

* fix typos

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

* fix wrong method call

Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
2018-11-26 11:10:49 +01:00
Stefan Klotz
d4c1e82090 Feature do not temp store uploaded files (#763)
* 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>
2018-11-12 08:57:10 +01:00
Stefan Schake
49d064df18 Switch printed order of firstname and lastname (#758)
When separating with a comma, put the lastname up front.

Signed-off-by: Stefan Schake <stefan.schake@devolo.de>
2018-11-07 11:02:22 +01:00
Stefan Behl
ddca072561 Fixes for software module assignment in Distributions Management view of Mgmt UI (#759)
* Fix software module assignment
* Fix hawkbit-bot findings
* Fix review findings

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
2018-10-30 08:48:39 +01:00
Bondar Bogdan
0cf4f8e8b9 Feature target metadata (#757)
* 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>
2018-10-29 11:28:34 +01:00
Stefan Klotz
d09ca7be05 Migrate to Allure 2 (#749)
Add allure 2.7.0 dependency; change class references of Description, Features, Stories

Signed-off-by: Stefan Klotz <stefan.klotz@bosch-si.com>
2018-10-25 18:18:37 +02:00
Stefan Behl
086408e8f8 Feature Max Artifact Storage quota (#739)
* Enforcement of artifact storage quota
* Added REST integration tests for artifact upload
* Fix test config
* Fix failing test cases
* Fix PR review findings

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
2018-10-05 13:52:46 +02:00
Jeroen Laverman
f4893bce55 Fix invalid ID of login button
Signed-off-by: Jeroen Laverman jeroen.laverman@bosch-si.com
2018-09-26 13:23:34 +02:00
Jeroen Laverman
9fb2e7f3be Add new sandbox (#741)
* Add new sandbox files and remove temporary unavailable notice
* remove old deployment script
* adapt application properties
* restructure hawkbit-runtime
* move sandbox description.
* adapt license checks
* Introduce review findings and add new docker files
* Remove redundant profile and attribute
* Update website
* redirect to sandbox
* getting started
* Add description for docker folder and renew favicon
2018-09-21 14:12:47 +02:00
Jeroen Laverman
3eafb29064 Fix rollout approval caption (#734)
* Fix caption of approval pop-up

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Fix spelling, delete duplicates

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>

* Remove unused messages

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>
2018-09-11 16:47:44 +02:00
Jeroen Laverman
31c6102759 Support displaying a privacy notice (#717)
* Support displaying a privacy notice on the log-in UI to implement GDPR measures in the sandbox
* add new property to contain notice
* change login-button text
* Remove demo-login
* pre-fill credentials for demo
* show notice
* introduce `isDemo` variable

Signed-off-by: Jeroen Laverman <jeroen.laverman@bosch-si.com>
2018-08-15 09:20:04 +02:00
Bondar Bogdan
1aee32999f Feature update target attributes ui (#711)
* Added update attributes button with label for status description to target attributes details tab
* Positioned the request attributes update button to the upper right corner using absolute positioning
* DDIFinalResult enum typo fix
* PR review findings

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch-si.com>
2018-08-02 15:15:14 +02:00
Stefan Behl
19caff6e46 Feature action cleanup (#704)
* Initial commit
* Tenant configuration enhancements
* Update REST documentation
* Enhance System Configuration view in UI
* Add unit tests
* Fix delete query for H2
* Improve test coverage
* Fix Sonar findings
* Fix Hawkbit bot findings
* Fix PR review findings
* Fix peer review findings

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
2018-07-19 15:23:14 +02:00
Melanie Retter
5e9b0fb884 The Rollout groups legend shows max 7 groups (#705)
* Fix Rollouts Groups legend
* Fix totalTargetAmount display when editing a rollout
* Fix code glitches
* Fix PR review findings

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
2018-07-19 08:37:06 +02:00
Melanie Retter
7bd6b41b72 Remove hard-coded Strings to allow internationalization (#706)
* Use i18n and add text in messages.properties for all hardcoded strings

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Fix sonar issues

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Provide constants for message keys

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Remove hard-coded Strings of HawkbitCommonUtil

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Fix PR findings

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Add Java Doc

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
2018-07-18 18:55:52 +02:00
Melanie Retter
b4fc7c8929 Feature insert tooltips for icons (#702)
* Insert tooltips
* Insert constants for message keys
* Display caption for ActionHistoryTable when no target is selected
* Improve JavaDocs
* Fix PR review findings

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
2018-07-13 08:37:43 +02:00
Melanie Retter
f5f51bfc2c Remove footer, expand layout and move functions to other elements (#689)
* 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>
2018-07-02 09:09:13 +02:00
Melanie Retter
d982bb9a5f Add only eventbus subscription where a method listens to it. (#698)
* Add only eventbus subscription where a method listens to it.

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Fix PR findings

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
2018-06-28 12:42:51 +02:00
Kai Zimmermann
ac931ec8fa Master now on 0.3 2018-06-11 15:57:15 +02:00
Kai Zimmermann
11caf7ec64 Ignore cookies with script content in login UI (#683)
* Ignore cookies with script content.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix pattern, add unit test.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix unit test.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Rename.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2018-06-05 08:55:18 +02:00
Michael Müller
cef7c2bbf2 Feature Approval Workflow for rollouts (#678)
* implement feature approval workflow

Signed-off-by: Ioannis Spyropoulos <ioannis.spyropoulos@bosch-si.com>
Signed-off-by: Michael Müller <Michael.Mueller17@bosch-si.com>

* add documentation for REST endpoints

Signed-off-by: Ioannis Spyropoulos <ioannis.spyropoulos@bosch-si.com>
Signed-off-by: Michael Müller <Michael.Mueller17@bosch-si.com>

* fix broken documentation test

Signed-off-by: Ioannis Spyropoulos <ioannis.spyropoulos@bosch-si.com>

* fix broken documentation test II

Signed-off-by: Ioannis Spyropoulos <ioannis.spyropoulos@bosch-si.com>
2018-06-04 16:36:56 +02:00
Kai Zimmermann
595312b6f4 Eclipse footer added to login UI. (#691)
Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2018-05-30 15:42:18 +02:00
Kai Zimmermann
428e3af2bc hawkBit rest docs (management & DDI API) (#688)
* hawkBit REST docs.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fiy gitignore.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Add to website.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Switch to generated docs.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix typos.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Review findings.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Otimizations.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Revert accidental checkin.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Add security link.
2018-05-24 16:10:01 +02:00
Bondar Bogdan
b5114081be Integrated Maintenance Window fields in Management API and UI (#677)
* 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>
2018-05-15 11:12:33 +02:00
Kai Zimmermann
cb63ac88b8 Correctly configure tenant config length. (#680)
Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2018-05-07 15:05:05 +02:00
Stefan Behl
6dd98d2134 Protection against misuse with system-wide quota definitions (#670)
* Added quota for meta data per software module

Signed-off-by: stefbehl <stefan.behl@bosch-si.com>

* Added unit test for "meta data per module" quota

Signed-off-by: stefbehl <stefan.behl@bosch-si.com>

* quota test enhancements

Signed-off-by: stefbehl <stefan.behl@bosch-si.com>

* Verify enforcement of meta data quota via REST

Signed-off-by: stefbehl <stefan.behl@bosch-si.com>

* Quota for distribution set meta data

Signed-off-by: stefbehl <stefan.behl@bosch-si.com>

* Verify enforcement of distribution set meta data quota via REST

Signed-off-by: stefbehl <stefan.behl@bosch-si.com>

* software modules per distribution set quota

Signed-off-by: stefbehl <stefan.behl@bosch-si.com>

* Integration test enhancements for Modules per DistSet quota

Signed-off-by: stefbehl <stefan.behl@bosch-si.com>

* Quota for software module types per distribution set type

Signed-off-by: stefbehl <stefan.behl@bosch-si.com>

* Quota for max artifacts per software module

Signed-off-by: stefbehl <stefan.behl@bosch-si.com>

* Quotas for ActionStatus per Action and Messages per ActionStatus

Signed-off-by: stefbehl <stefan.behl@bosch-si.com>

* Quota attributes per target

Signed-off-by: stefbehl <stefan.behl@bosch-si.com>

* Quota targets per rollout group

Signed-off-by: stefbehl <stefan.behl@bosch-si.com>

* Quota max targets per rollout group

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max targets per rollout group

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max targets per rollout group

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max targets per rollout group

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max targets per group

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* quota max actions per target

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max targets per rollout group

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max actions per target

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max actions per target

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max targets per auto assignment

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max targets per manual assignment

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max targets per auto assignment

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max targets per auto assign

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max targets per auto assignment

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max actions per target

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max targets per manual assignment

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix issues caused by merge

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix failing tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix failing tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Improve JavaDoc

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix failing tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix Sonar issues

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix Sonar findings

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max artifact size

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Optimize quota configuration

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix test failures

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix failing tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Improve test coverage

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max rollout groups per rollout

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix failing tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Configure Rollout UI enhancements

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* UI enhancements

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Minor changes

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max targets per group

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Quota max targets per group

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* fix failing tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix failing tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix Sonar 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 failing tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix failing tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix Sonar finding

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix code review findings

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix review findings

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* New approach for 'max artifact size' enforcement

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix failing tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix failing tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix failing tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix Sonar findings

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix failing tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Reduce max artifact size for tests

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>

* Fix Kai's review findings

Signed-off-by: Stefan Behl <stefan.behl@bosch-si.com>
2018-05-02 12:09:29 +02:00
Kai Zimmermann
fcc15a0484 Cleanup MaxFieldLength for UI text fields. (#676)
* Cleanup MaxFieldLength for Ui text fields.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Cleanup builder usage.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Code cleanup.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2018-04-27 09:21:22 +02:00
Dominic Schabel
63cf4598c2 Fix for IST time zone in browser
Signed-off-by: Dominic Schabel <dominic.schabel@bosch-si.com>
2018-04-20 09:59:31 +02:00
Bondar Bogdan
4c28c4d905 Fix optimize ui maintenance window (#668)
* 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>
2018-04-04 10:01:55 +02:00
Kai Zimmermann
8fd601f8b9 Migrated common artifact repo funtions into abstract class. (#666)
* Migrated common art repo funtions into abstract class.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Remove dead code from permission util.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Remove dead code.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix typo.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix typo.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix test.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix stats resource.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2018-03-27 12:04:16 +02:00
Markus Block
e700acc312 Fix DistributionSet type should not be updatable (#659)
* 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>
2018-03-19 11:31:41 +01:00
Kai Zimmermann
a8cd650375 DDI improvements and Maintenance Window states in UI (#658)
* Add DDI status and tests.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Add new downloaded status to UI.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Reduce message noise.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix sonar issue.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2018-03-14 15:17:08 +01:00
Kai Zimmermann
1f43862618 Support for MS SQL Server and RabbitMQ 3.7 (#656)
* SQL server support.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Complete SQL server setup.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* DB2 support.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Add new rabbit http client version.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Cleanup JDBC driver dependencies.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix test.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Complete test utils for MSSQL.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Add and fix comments

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix Javadoc

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Removed super constr call

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fixed merge bug.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Remove non null migrations. Won't work in production.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Added config profile for MS SQL server according to MySQL configuration

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

* Minor fix in status column

Signed-off-by: Dominic Schabel <dominic.schabel@bosch-si.com>
2018-03-13 16:41:10 +01:00
Kai Zimmermann
b4414438b0 Fix sonar issues and add DMF tests for maintenance window feature (#655)
* Fix sonar issues.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* POM cleanup and more sonar issues fixed.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Remove unneeded JavaDocs.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* More sonar issues.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* More issues.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Adapt maintenance window to naming.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Add DMF tests.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Readibility.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Typos fixed.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2018-03-08 10:42:25 +01:00
stormc
f4278c45ef 245 maintenance window (#535)
* Maintenance Window: Introduced dynamic update to polling time. (#245)

Resolves #245

Added new configuration parameters and controller handling that can be
used to enable reduction in polling time near to start of a maintenance
window.

- The device may only get to know of start of maintenance window when
the device polls the server. If a window is available, server responds
with maintenanceWindow as 'available' and the update as 'forced'. Hence,
as the time for start of a maintenance window approaches, the device
should poll the server more often in order to decrease the possibility
of missing the maintenance window start time due to non-alignment of
polling with the start time, or due to packet losses and other network
issues.

- Additional configuration parameter is introduced that will be used to
specify the minimum number of times the controller should poll between
current time and the start of maintenance window. Using this parameter,
an "inverse exponential back-off" scheme for reducing the polling time
is implemented.

- Implemented inverse exponential back-off for polling.
For example, considering default polling-time = 00:05:00,
min-polling-time = 00:00:30, maintenance-window-poll-count = 3, we
expect that controller should poll the server 3 times between current
time and start of a maintenance window. Thus in following scenario
controller will get to know of start of maintenance 3 secs after
scheduled start. Whereas without this scheme, delay may be as much as 4
minutes.
time until start: 00:21:00; polling time: 00:05:00
time until start: 00:16:00; polling time: 00:05:00
time until start: 00:11:00; polling time: 00:03:40
time until start: 00:07:20; polling time: 00:02:27
time until start: 00:04:53; polling time: 00:01:38
time until start: 00:02:10; polling time: 00:00:43
time until start: 00:01:27; polling time: 00:00:30
time until start: 00:00:57; polling time: 00:00:30
time until start: 00:00:27; polling time: 00:00:30
time until start: -00:00:03; polling time: 00:05:00

- Once a maintenance window starts, the polling time is reverted to
default. Polling time is not changed near the end of a maintenance
window.

Signed-off-by: Christian Storm <christian.storm@siemens.com>
Signed-off-by: Himanshu Kumar Singh <himanshu.singh@siemens.com>
Signed-off-by: Raju HS <raju.hs@siemens.com>

* Maintenance Window: Updated the DMF API.

Added maintenance window handling for DMF API. Currently no timer or
scheduler is used to send updates to devices when a maintenance window
becomes available. The device can simulate a poll behaviour by sending a
message on UPDATE_ACTION_STATUS topic. Depending on whether there is a
maintenance window available or not, server should send
DOWNLOAD_AND_INSTALL or DOWNLOAD_AND_SKIP.

- Additional action status (DOWNLOADED) and event topic
(DOWNLOAD_AND_SKIP)

- Server sends DOWNLOAD_AND_SKIP or DOWNLOAD_AND_INSTALL based on
maintenance window using ControllerManagement

Signed-off-by: Christian Storm <christian.storm@siemens.com>
Signed-off-by: Himanshu Kumar Singh <himanshu.singh@siemens.com>
Signed-off-by: Raju HS <raju.hs@siemens.com>

* Maintenance Window: Added tests for DDI and Management APIs.

Added test cases for DDI and Management API to test for maintenance
window related logic.

- Tests for Management API for DistributionSet assignment with and
without valid maintenance schedule specified.

- Tests for lapsed maintenance schedule.

- Additional test helper methods.

Signed-off-by: Christian Storm <christian.storm@siemens.com>
Signed-off-by: Himanshu Kumar Singh <himanshu.singh@siemens.com>
Signed-off-by: Raju HS <raju.hs@siemens.com>

* Maintenance Window: Added new fields, enums, APIs and helper classes.

Extended the data model and Action API to support maintenance schedule.
Also provided helper classes to parse cron expression and calculate
maintenance window based on the schedule.

- DOWNLOADED status added to Action interface for controller to record
action status.

- Extra fields and APIs are added to Action to set schedule, duration
and time zone of maintenance window.

- Maintenance schedule can be defined using: a cron expression (e.g. "0
30 10-13 ? * WED,FRI" for 30 minutes past the hour, between 10:00 AM
and 01:59 PM, only on Wednesday and Friday), a duration (e.g. "00:30:00"
for 30 minutes) and the time zone (e.g. "+02:00" for CET summer time or
"+00:00" for UTC) relative to which maintenance window start time is
calculated.

- Extra APIs added to check if a maintenance schedule is defined or
lapsed and if a maintenance window is available based on the schedule.

- Added database fields to store the schedule, duration and timezone of
maintenance window.

- Added helper classes to parse and calculate the maintenance window
schedule.

- Added exception handling classes to handle invalid maintenance window
schedule.

Signed-off-by: Christian Storm <christian.storm@siemens.com>
Signed-off-by: Himanshu Kumar Singh <himanshu.singh@siemens.com>
Signed-off-by: Raju HS <raju.hs@siemens.com>

* Maintenance Window: Extended JSON model for REST APIs.

Extended the JSON model to support defining and communicating the
maintenance window information using the REST APIs.

- Additional JSON objects are defined to extend request and response
bodies.

- When requesting a distribution set assignment to a target, the
maintenance schedule information can be specified. Example below
specifies a maintenance schedule at 11:00 PM, only on Saturday, only in
2017, for 30 minutes. Maintenance window start time is then calculated
relative to the time zone specified, in this case CET summer time.
$ curl 'http://127.0.0.1:8080/rest/v1/targets/2/assignedDS' -i -X POST
-H 'Content-Type: application/json;charset=UTF-8' -d '{
    "forcetime" : "0",
    "id" : "1",
    "type" : "forced",
    "maintenanceWindow": {
        "schedule": "0 0 23 ? * SAT 2017",
        "duration": "00:30:00",
        "timezone": "+02:00"
    }
}'

- When device requests the action information it gets to know if there
is a 'maintenance schedule' for this action or not based on presence of
maintenanceWindow field in the response. The value of maintenanceWindow
is either 'available' (i.e. the maintenance window is now available as
per defined schedule and the update can progress) or 'unavailable'
(implying that maintenance window is not available now and update should
not be attempted). If there is no 'maintenance schedule' defined, the
field is null or not present.
$ curl
'http://127.0.0.1:8080/default/controller/v1/2/deploymentBase/1?c=411629670'
-i -H 'Accept: application/hal+json'
HTTP/1.1 200 OK
Content-Type: application/hal+json;charset=UTF-8
Content-Length: 1665
{
    "id": "1",
    "deployment": {
        "download": "forced",
        "update": "forced",
        "chunks": [ {
            "part": "os",
            "version": "1",
            "name": "1",
            "artifacts" : [ {
                "filename" : "binary.tgz",
                "hashes" : {
                    "sha1" : "8b71973e835cd0718827238b1cf89f0079e44dae",
                    "md5" : "a90218782025c48e09ba0436cf30d029"
                },
                "size" : 5,
               "_links" : {
                    "download" : {
                        "href" :
"http://127.0.0.1:8080/api/v1/default/download/controller/2/softwaremodules/8/filename/binary.tgz"
                    },
                    "md5sum" : {
                        "href" :
"http://127.0.0.1:8080/api/v1/default/download/controller/2/softwaremodules/8/filename/binary.tgz.MD5SUM"
                    },
                    "download-http" : {
                        "href" :
"http://127.0.0.1:8080/api/v1/default/download/controller/2/softwaremodules/8/filename/binary.tgz"
                    },
                    "md5sum-http" : {
                        "href" :
"http://127.0.0.1:8080/api/v1/default/download/controller/2/softwaremodules/8/filename/binary.tgz.MD5SUM"
                    }
                }
            } ]
        } ],
        "maintenanceWindow": "available"
    }
}

Signed-off-by: Christian Storm <christian.storm@siemens.com>
Signed-off-by: Himanshu Kumar Singh <himanshu.singh@siemens.com>
Signed-off-by: Raju HS <raju.hs@siemens.com>

* Maintenance Window: Added additional UI elements.

Added additional UI elements to specify maintenance window schedule in
hawkBit UI while assigning distribution set(s) to target(s).

- Added UI control to hawkBit UI when distribution set assignment is
confirmed.

- Also added required theme updates and resource strings.

Signed-off-by: Christian Storm <christian.storm@siemens.com>
Signed-off-by: Himanshu Kumar Singh <himanshu.singh@siemens.com>
Signed-off-by: Raju HS <raju.hs@siemens.com>

* Maintenance Window: Modified DDI and Mgmt APIs for maintenance window.

Modified controller management and deployment management to handle
maintenance window schedule in Management API and DDI API.

- Modified REST endpoints to accept and respond with maintenance window
information.

$ curl 'http://127.0.0.1:8080/rest/v1/targets/2/assignedDS' -i -X POST
-H 'Content-Type: application/json;charset=UTF-8' -d '{
    "forcetime" : "0",
    "id" : "1",
    "type" : "forced",
    "maintenanceWindow": {
        "schedule": "0 0 23 ? * SAT 2017",
        "duration": "00:30:00",
        "timezone": "+02:00"
    }
}'

- Check for availability of a maintenance window based on the schedule.

- Device gets go-ahead to install by change in ETAG and 'update' status
to 'forced' when it polls during an available maintenance window.

$ curl
'http://127.0.0.1:8080/default/controller/v1/2/deploymentBase/1?c=411659461'
-i -H 'Accept: application/hal+json'
HTTP/1.1 200 OK
Content-Type: application/hal+json;charset=UTF-8
Content-Length: 1665
{
    "id": "1",
    "deployment": {
        "download": "forced",
        "update": "forced",
        "chunks": [ {
            "part": "os",
            "version": "1",
            "name": "1",
            "artifacts" : [ {
                "filename" : "binary.tgz",
                "hashes" : {
                    "sha1" : "8b71973e835cd0718827238b1cf89f0079e44dae",
                    "md5" : "a90218782025c48e09ba0436cf30d029"
                },
                "size" : 5,
                "_links" : {
                    "download" : {
                        "href" :
"http://127.0.0.1:8080/api/v1/default/download/controller/2/softwaremodules/8/filename/binary.tgz"
                    },
                    "md5sum" : {
                        "href" :
"http://127.0.0.1:8080/api/v1/default/download/controller/2/softwaremodules/8/filename/binary.tgz.MD5SUM"
                    },
                    "download-http" : {
                        "href" :
"http://127.0.0.1:8080/api/v1/default/download/controller/2/softwaremodules/8/filename/binary.tgz"
                    },
                    "md5sum-http" : {
                        "href" :
"http://127.0.0.1:8080/api/v1/default/download/controller/2/softwaremodules/8/filename/binary.tgz.MD5SUM"
                    }
                }
            } ]
        } ],
        "maintenanceWindow": "available"
    }
}

- In case the current available maintenance window lapses, the device is
again sent 'update' status as 'skip'. The device may choose then to
abort the update and restart during next available window.

$ curl
'http://127.0.0.1:8080/default/controller/v1/2/deploymentBase/1?c=411659455'
-i -H 'Accept: application/hal+json'
HTTP/1.1 200 OK
Content-Type: application/hal+json;charset=UTF-8
Content-Length: 1665
{
    "id": "1",
    "deployment": {
        "download": "forced",
        "update": "skip",
        "chunks": [ {
            "part": "os",
            "version": "1",
            "name": "1",
            "artifacts" : [ {
                "filename" : "binary.tgz",
                "hashes" : {
                    "sha1" : "8b71973e835cd0718827238b1cf89f0079e44dae",
                    "md5" : "a90218782025c48e09ba0436cf30d029"
                },
                "size" : 5,
                "_links" : {
                    "download" : {
                        "href" :
"http://127.0.0.1:8080/api/v1/default/download/controller/2/softwaremodules/8/filename/binary.tgz"
                    },
                    "md5sum" : {
                        "href" :
"http://127.0.0.1:8080/api/v1/default/download/controller/2/softwaremodules/8/filename/binary.tgz.MD5SUM"
                    },
                    "download-http" : {
                        "href" :
"http://127.0.0.1:8080/api/v1/default/download/controller/2/softwaremodules/8/filename/binary.tgz"
                    },
                    "md5sum-http" : {
                        "href" :
"http://127.0.0.1:8080/api/v1/default/download/controller/2/softwaremodules/8/filename/binary.tgz.MD5SUM"
                    }
                }
            } ]
        } ],
        "maintenanceWindow": "unavailable"
    }
}

- In case the entire maintenance schedule lapses, before device is able
to send the completed status, the action is canceled.

$ curl 'http://127.0.0.1:8080/default/controller/v1/2' -i -H 'Accept:
application/hal+json'
HTTP/1.1 200 OK
Content-Type: application/hal+json;charset=UTF-8
Content-Length: 340
{
    "config": {
        "polling": {
        "sleep": "00:05:00"
        }
    },
    "_links": {
        "cancelAction": {
            "href":
"http://127.0.0.1:8080/default/controller/v1/2/cancelAction/1"
        },
        "configData": {
            "href":
"http://127.0.0.1:8080/default/controller/v1/2/configData"
        }
    }
}

Signed-off-by: Christian Storm <christian.storm@siemens.com>
Signed-off-by: Himanshu Kumar Singh <himanshu.singh@siemens.com>
Signed-off-by: Raju HS <raju.hs@siemens.com>
2018-03-06 16:17:31 +01:00
Markus Block
6fcdc5408b Fix missing message property (#646)
* Added missing message property when dragging a software module twice to
a distribution without saving.

Signed-off-by: Markus Block <markus.block@bosch-si.com>

* Added null check in case the item dragged was released not over a
distribution set to avoid a NPE.

Signed-off-by: Markus Block <markus.block@bosch-si.com>
2018-03-01 14:45:21 +01:00
Melanie Retter
2c00e68825 Change scope to ViewScope (#647)
Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
2018-03-01 13:50:32 +01:00
Melanie Retter
87969bdd8f Remove String manipulations concerning whitespaces (#633)
* Add html tag Validator on strings. Add string trim.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Revert unintended changes. Sonar issues.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Remove weired comment.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Remove unnecessary trim operations. Trim is performed by the repository.

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Refactor

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Refactor

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* redo refactor

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Extend mandatory check in CommonDialogWindow, trim string before check

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Raise EclipseLink due to validation problem.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix permission.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Insert EmptyStringValidator

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Colour field test.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Assign EmptyStringValidator to required TextFields

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Remove String validation of CommonDialogWindow mandatory check

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Refactor

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Extend EmptyStringValidator to check the max allowed characters in field

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
2018-02-19 08:27:54 +01:00
Kai Zimmermann
d3cb9bb24d Improvements repository validation constraints (#626)
* Add html tag Validator on strings. Add string trim.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Revert unintended changes. Sonar issues.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Remove weired comment.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Raise EclipseLink due to validation problem.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix permission.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Colour field test.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix sonar issues.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2018-02-12 14:56:36 +01:00
Kai Zimmermann
1a6ab123e3 Introduce new permission structure for rollout management. (#624)
* Introduce new permission structure for rollout management.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* JavaDocs

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Add target read check for filters.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2018-02-07 12:39:20 +01:00
Kai Zimmermann
d1038b1b6d Fix correct save button enablement in metadata (#630)
Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2018-02-07 09:10:22 +01:00
Melanie Retter
b9f6fcea02 Some small UI glitches (#622)
* Show error notification if exception occurs while saving

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* General solution for Validation Exceptions

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Use String not Long for presenting ID in UI

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Table for displaying softwareModules of distributionSet contains as much
rows as necessary.

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Add validator to the target filter combobox

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Error Notification displays the exception message if available,
otherwise displays the exception's class name

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>

* Refactor validation message

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
2018-01-23 15:32:40 +01:00
Kai Zimmermann
722c5ad2c2 RedirectController into auto config as default and null pointer fix. (#621)
* Vaadin patch and redirect controller to auto config.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix potential null pointer.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* revert Vaadin update.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Conditional on missing bean.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix on permission checks.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix permission checks.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>

* Fix nested cascade on delete.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2018-01-19 11:23:41 +01:00