Files
hawkbit/hawkbit-repository/hawkbit-repository-api
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
..
2018-06-11 15:57:15 +02:00

hawkBit repository API

API for repository access. Contains:

  • Entity Model
  • Management service API

Method naming concept (example target management)

// Count all targets
Long count()

// Count by filter parameter (example)
Long countByTargetFilterQuery(@NotEmpty String targetFilterQuery);

//Create entity
List<Target> create(@NotEmpty Collection<TargetCreate> create)
Target create(@NotNull TargetCreate create)

//Delete entities (throws EntityNotFoundException if one element does not exist (at least one not found in collection case))
void delete(@NotEmpty Collection<Long> targetIDs);
void delete(@NotNull Long targetID);
void deleteByControllerId(@NotEmpty String controllerId);
void deleteByControllerId(@NotEmpty Collection<String> controllerId);

//Update Target (throws EntityNotFoundException if one element does not exist (at least one not found in collection case))
List<Target> update(@NotEmpty Collection<TargetUpdate> update);
Target update(@NotNull TargetUpdate update);

//Exist
boolean exists(@NotNull Long targetId)
boolean existsByAssignedDistributionSet(@NotNull Long distributionSetID);

// Read methods
// Find one on technical ID (Optional, no EntityNotFoundException)
Optional<Target> get(@NotNull Long targetId);
List<Target> get(@NotEmpty Collection<Long> targetId);

// Find one on non-ID but unique constraint (Optional, no EntityNotFoundException)
Optional<Target> getByControllerID(@NotEmpty String controllerId);
List<Target> getByControllerID(@NotEmpty Collection<String> controllerId);

// Find one on non-ID but and non unique constraint (Optional, no EntityNotFoundException)
Optional<Target> findFirstByDescription(@NotEmpty String description);

// Query/search repository (page might be empty, no EntityNotFoundException) (note: pageReq always first in signature)
Page<Target> findByAssignedDistributionSet(@NotNull Pageable pageReq, @NotNull Long distributionSetID);