Commit Graph

126 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Kai Zimmermann
df41fc0e4e Fix on some minor UI glitches and improvements (#619)
* Fix small UI glitches.

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

* Improved look and feel logout menue.

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

* Gravatar icon disabled by default.

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

* Non text.

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

* Remove duplicate code.

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

* Provide collections with more useful interface.

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

* i18n for menu items.

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

* Code readibility.

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

* Fix code glitches.

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

* Fix logout query param.

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

* Remove unused field.

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

* Fix after change to optional.

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

* Remove dead code.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2018-01-12 09:58:25 +01:00
Kai Zimmermann
80d9f1b8fc Software module metadata available to targets (in DMF and DDI) (#608)
* Software module metadata can be configure as target visible.

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

* Added metadata to DDI.

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

* Managed by UI.

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

* Complete DMF integration and started UI.

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

* Add DMF tests and completed UI.

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

* Add RSQL test. Fix sonar issues.

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

* Add JavaDocs. foreachtenant robustness.

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

* Review feedback included.

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

* Updated DMF docs.

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

* targetVisible optional in builder.

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

* Fix typos.

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

* Fix checkbox ID.

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

* DB optimization.

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

* Fix component ID of sm metadat details tab.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2017-12-16 17:17:54 +01:00
Melanie Retter
5175fc9521 Refactor Rollout Overview and Action History (#569)
* Rollout actions has tooltip with information about action

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

* Fix code smells

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

* Remove columnOrder and use setColumns. Remove duplicate column "Name"

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

* PR review

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

* Use Status not the whole Rollout object for dis-/enable action buttons

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

* PR review

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
2017-12-14 08:42:45 +01:00
Kai Zimmermann
7949b42db3 Remove navigator from login UI. Add tenant and user param. (#592)
* Remove navigator from login UI. Add tenant and user param.

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

* Params as map.

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

* Cleanup scss. Hide tenant field if provided as GET.

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

* make fields accessible.

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

* Fix sonar issues.

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

* i18n available

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2017-10-20 16:00:10 +02:00
Kai Zimmermann
8e890424c0 Optional support for autoclose of deprecated actions (#585)
* Introduce action autoclose into repository.

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

* Extended test.

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

* Fix typo.

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

* Added checkbox to management ui.

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

* Fix Ui allignment.

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

* Fix item ID.

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

* Fix sonar issues.

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

* readibility.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2017-10-10 17:26:43 +02:00
Melanie Retter
3b5f12b7a4 Refactor error message if software module assignment to distribution fails (#540)
* Refactor error message if sw module assignment to distribution fails

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

* Refactor message

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
2017-06-20 07:55:31 +02:00
Melanie Retter
f42d9b6978 Restructuring properties (#528)
* Moved test property file to one locations

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Added missing properties

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Move property defaults to respective modules.

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

* Moved test relevant properties in respective modules. Added missing
tests.

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

* deleted security.filter-order property

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Remove empty line

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

* Removed build properties

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>
2017-06-08 11:07:48 +02:00
Kai Zimmermann
67a4677ef6 Split repository API for module and DS management. Refactor utility usage (#524)
* Split DS management and reduce util usage.

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

* Split sw module and type management.

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

* Sonar issues.

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

* Make sonar listen to the exception!

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

* Register both beans.

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

* Split JPA implementations.

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

* Revert user details change.

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

* Fix compilation errors.

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

* Fix bean queries. Fix image path.

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

* Document preferred utility usage.

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

* Fix exmaples and revert unintended checkin.

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

* Code cleanup.

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

* Typos, readibility.

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

* Remove unused reference.

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

* Rollouts cache delete aware.

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

* Fix rolloutgroup delete event.

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

* Add new RolloutGroupDeletedEvent event

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2017-06-01 06:28:59 +02:00
Melanie Retter
7b2e93a727 Entity details are updated after view change, delete and filtering (#486)
* Distribution Set Details are shown correctly.

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

* Fix Distribution Set details shows the right data

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

* Show the right Details when deleting target, ds and sm

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

* Software Module details are shown correctly on view change

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

* Caption Artifact Details of is updated correctly after software module
deletion

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

* Artifact Details are shown correctly, small css improvements

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

* Code refactor

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

* Fix search of softwareModule and DistributionSet in UI

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

* Fix typos, insert ids for components

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

* Code Refactor

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

* Redo add access

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

* Correct caption Id of new dist. set, remove unnecessary event

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

* Fix selected entity in SwModuleTable, Code refactor

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

* Fix error in Upload View concerning selected softwareModule

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

* Remove Optional, Remove StringUtils, refactor code

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

* Refactor events when filtering distribution set or software module

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

* Fix Sonar issues

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

* Save softwareMmoduleId in ArtifactUploadState, not whole entity

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

* Refactor event handling for filtering sw and ds; refactor optional
handling

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

* Make selectedSoftwareModule transient

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

* Remove mysql properties

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

* Refactor ArtifactDetailsLayout

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

* Fix comment

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

* Fix some comments

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

* Generalize common behavior in selecting entity in a table

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

* Optional is not set in the getter but in the setter in the UIState
classes

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

* Fix sonar issue

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

* Change getter visibility to protected

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

* Refactor publishSelectedEntity

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

* Refactor Java Docs

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

* Fix pull request comments

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

* Fix comments

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

* Change lastSelectedEntities/selectedEntities to type Long,remove Generic

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

* Show details captions even when table is empty

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
2017-05-06 08:33:01 +02:00
Kai Zimmermann
1373701ef8 Fix Rollout UI performance. (#485)
* Fix Rollout UI performance.

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

* Remove unused column definition.

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

* Hidden columns static.

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

* Optimized column width for readibility.

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

* catch IllegalArgumentException in case directory does not exists (#487)

Signed-off-by: Michael Hirsch <michael.hirsch@bosch-si.com>

* Remove unused column definition.

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

* Hidden columns static.

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

* Optimized column width for readibility.

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2017-04-18 12:06:53 +02:00
Marcel Mager
c8db41ff85 Migration of Action History to vaadin grid (#420)
* Migration of Action History to vaadin Grid
Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2017-03-24 14:03:39 +01:00
Kai Zimmermann
081c3cccbf Complete repo exception tests (#452)
Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2017-03-23 18:24:58 +01:00
Melanie Retter
cf2dff4c84 Correct the position of a style line (#450)
Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
2017-03-07 12:36:14 +01:00
Melanie Retter
5628d625e8 Rollouts can be deleted (#436)
* Management UI

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

* Repository

Signed-off-by: Michael Hirsch <michael.hirsch@bosch-si.com>

* Optimisations and scheduler deleting enabled

Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2017-02-18 07:19:27 +01:00
Dennis Melzer
9980fd5619 Refactor TargetIdName, DistributionSetIdName, SoftwareModuleIdName entities (#407)
* - Move TargetIdName, DistributionSetIdName, SoftwareModuleIdName to ui
entity package

- Refactor tables. Use the entity id instead of the *idname entity

- Remove expensive getEntity() calls from remote events

- Fix some NPE, if entity is deleted from another session

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* Add TagretFilter Query client resource

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* Fix methode signature for feign

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* fix sonar issue after merge

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* remove ds set id name after merging from rollout view

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>
2017-01-31 09:19:59 +01:00
Dominik Herbst
833b0795e3 Create Rollout UI with Groups definition (#369)
* Rollout creation UI with groups definition

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Improved code quality

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Added a legend to the Rollouts Creation UI's PieChart

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Updated color palette for pie chart. Using RolloutGroupCreate for validation. Displaying pie chart for group editing.

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Optimized ComboBoxBuilder

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Removed not necessary RPC interfaces.

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Fix Rollout verification count query. Improved UI style. Added dependency management for d3.

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Auto start and scheduled start of Rollouts

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Optimized RSQL Utility to avoid multiple joins on the same table.

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Fixed RSQL Utility to avoid multiple joins on the same table to only work with OR nodes. Optimized validation queries for rollout group creation.

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Asynchronous handling of groups validation in the create rollouts UI.

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Added loading indicator to create rollout UI.

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Avoid parallel validation for a user session.

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Fix issues after merge of master into branch.

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Improve code quality

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Refreshing the total target count after validation on the rollouts creation UI.

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>

* Remove unused RolloutUpdate method. Optimization of the RolloutHelper.
Comments for RolloutGroupsValidation and RSQLUtility with explanation.

Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>
2017-01-26 09:37:20 +01:00
Kai Zimmermann
feb3369858 Custom Tenant configuration. (#395)
* Tenant configuration configurable.
Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2016-12-23 07:19:46 +01:00
Melanie Retter
6aaade8698 Change HorizontalLayout of HawkbitUI to Panel and beautify Panel (#400)
Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
2016-12-22 09:36:26 +01:00
Melanie Retter
2dec35915c New event strategy (#380)
* Add notfication overview for remote events

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* Refactor css for notification button

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* Remove todo

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* - Style notfication button (css) 
- Add i18n message keys
- Add switch slider for auto refresh event

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* Insert Label in MenuItem for displaying occurred events

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

* - Style notfication button (css) 
- Add i18n message keys
- Add switch slider for auto refresh event
- Insert Label in MenuItem for displaying occurred events

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* Solve merge conflicts and add menu item counter

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* CSS refactor

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

* Adapt JUnit test for events, because constructor is changed

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* Skip delete event

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* - Insert Id for notification menu

- Enable push mechanism for target and ds tag and add notfications

- Fix several typos

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* Add update ui events for tags and add different id's for menue item

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* Insert push for SoftwareModule

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

* Set button enablement

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* Add Software module update push event
Add unit test software module push events
Adapt test for software push event

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* Close window and set pop id
Update the target table to set the new icon

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* - several code improvements
- Correct license header

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

* Update vaadin version
Rename the base entity and redefine constructors
unread counter was not correct

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* Closebox of notificationButton is invisible: 
Insert height for HorizontalLayout of NotificationUnreadButton

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

* Add software modules to the new event types

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>

* Introduce animation in unreadNotificationButton

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

* Fix close  on safari

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

* Add publish events direct to the tag entities.


Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>
2016-12-19 16:05:23 +01:00
Marcel Mager
11fa4469dd Replace server-side dnd validation with client-side validation: (#368)
* Replace server-side dnd validation with client-side validation:

Client-side validation means:
* Custom widgetset is used to introduce the client-side validation
* Accept-calculation is performed on client-side
* Drop-hints are calculated on client-side (show/hide)
* Row count decoration is calculated on client-side (multi-selection)
* Notification box is triggered from client-side

Beside the migration from server-side validation to client-side
validation there are few improvements:
* Improvement1: If drag is aborted outside the components by releasing
the mouse or the drag aborts by pressing the ESC key) -> drop area hints
are removed
* Improvement2: If multiple rows are selected in table, but drag is
performed on a non-selected single element from table -> the single
drag-element is not decorated with the row selection count
* Improvement3: Upload View: Component 'Drop files to upload' only
accepts files (and no drags from filter and software module component)

Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>

* Improve code quality

Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>

* Fix formatting of license headers

Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>

* Fix scopes and modifiers

Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>

* Externalize key-strings used for dnd-data transfer from server to client

Minor issues:
* improve naming schema of control variables (no more i-s)
* add final modifier

Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>

* Add license header

Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>
2016-12-06 19:56:10 +01:00
Jonathan Knoblauch
b30f2bdb1f Fix constraint violation exception when creating target with whitespaces (#363)
* Added a function to validate if controller id is empty

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Changed how the controller id gets past to other methods

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Changed the way controllderId gets validated in UI and repro

- added junit test

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Fixed sonar issue

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>

* Switched to use the RegexpValidator 

Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>
2016-11-28 17:58:52 +01:00
Kai Zimmermann
e97ed04c94 Adapted sandbox setup to current master (#327)
Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2016-10-27 08:24:26 +02:00
Marcel Mager (INST-IOT/ESB)
3b47d43dec Merge branch 'master' into feature_target_filtering_supports_overdue
Conflicts:
	hawkbit-repository\hawkbit-repository-jpa\src\main\java\org\eclipse\hawkbit\repository\jpa\JpaDeploymentManagement.java
	hawkbit-repository\hawkbit-repository-jpa\src\main\java\org\eclipse\hawkbit\repository\jpa\JpaTargetManagement.java
	hawkbit-ui\src\main\java\org\eclipse\hawkbit\ui\management\targettable\TargetBeanQuery.java
	hawkbit-ui\src\main\java\org\eclipse\hawkbit\ui\management\targettable\TargetTable.java


Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>
2016-10-18 12:57:10 +02:00
Kai Zimmermann
c7129e6ed7 Optimisation and bug fixing of UI push events (#310)
Signed-off-by: kaizimmerm <kai.zimmermann@bosch-si.com>
2016-10-17 21:59:53 +02:00
Dominik Herbst
86cba3c8bf Merge branch 'master' into feature_target_filtering_supports_overdue
Conflicts:
	hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/RepositoryApplicationConfiguration.java
	hawkbit-ui/src/main/resources/messages_de.properties
	hawkbit-ui/src/main/resources/messages_en.properties
2016-10-13 10:59:12 +02:00
Dominik Herbst
0e6f2e01cf Merge branch 'master' into feature_auto_assignment_squashed 2016-10-07 14:57:11 +02:00
Dominik Herbst
4785f36b34 Merge branch 'master' into feature_target_filtering_supports_overdue
Conflicts:
	hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/filtermanagement/FilterQueryValidation.java
	hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/target-filter-query.scss
2016-10-05 09:22:04 +02:00
Dominik Herbst
78e9705886 Corrected messages
Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>
2016-09-28 14:46:33 +02:00
Dominik Herbst
5e7a607b9b Reverted whitespaces in messages.properties file
Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>
2016-09-27 09:41:12 +02:00
Dominik Herbst
391001a717 Added missing message properties that were only in lang specific files
Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>
2016-09-23 15:39:19 +02:00
Dominik Herbst
03e2ee81b8 Added auto assign distribution set to target filter query feature
Signed-off-by: Dominik Herbst <dominik.herbst@bosch-si.com>
2016-09-23 10:41:33 +02:00
Jonathan Philip Knoblauch
ae583e4938 Refactoring and adapted CSS styling to HawkBit
Signed-off-by: Jonathan Philip Knoblauch <JonathanPhilip.Knoblauch@bosch-si.com>
2016-09-21 17:47:19 +02:00
Marcel Mager (INST-IOT/ESB)
76c3c96075 Fix UI according to review feedback:
- change color of overdue filter box
- reduce width of filters section back to 150px
- fix alignment of status boxes

Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>
2016-09-21 17:03:36 +02:00
Marcel Mager (INST-IOT/ESB)
2433742abf Overdue filter: Add simple filter for overdue in UI
Signed-off-by: Marcel Mager (INST-IOT/ESB) <Marcel.Mager@bosch-si.com>
2016-09-21 17:03:25 +02:00
Michael Hirsch
79b1ae8728 introduce autocomplete textfield with RSQL suggestion
Signed-off-by: Michael Hirsch <michael.hirsch@bosch-si.com>
2016-09-05 13:36:52 +02:00
SirWayne
aa5e4d0601 - Fix ds assignment result
- Fix drag and drop to assignment

Signed-off-by: SirWayne <dennis.melzer@bosch-si.com>
2016-08-15 17:57:52 +02:00
Gaurav
9bd47a5c55 Added the message in the message.properties.
Signed-off-by: Gaurav <gaurav.sahay@in.bosch.com>
2016-08-05 10:49:24 +02:00
gah6kor
85e22da7a2 Merge branch 'master' into feature_ui_metadata
Conflicts:
	hawkbit-ui/src/main/resources/messages.properties
2016-07-19 16:38:52 +02:00
Kai Zimmermann
ba177f77c0 Merge pull request #222 from bsinno/Fix_Consistent_context_menu_on_tables
Fix consistent context menu on tables
2016-07-19 14:50:02 +02:00
gah6kor
a87a219540 Merge branch 'master' into feature_ui_metadata
Conflicts:
	hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/common/CommonDialogWindow.java
	hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/popup-common.scss
2016-07-18 18:10:09 +02:00
gah6kor
8200ca6da1 Formatted the code 2016-07-18 15:58:05 +02:00
Melanie Retter
9890a1d018 Insert space between buttons and window bottom
Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
2016-07-15 17:39:51 +02:00