";
+ public static final String DIV_DESCRIPTION = "
";
- private static final String DIV_CLOSE = "
";
+ public static final String DIV_CLOSE = "
";
private static final String DRAG_COUNT_ELEMENT = "var x = document.getElementById('sp-drag-count'); ";
private static final String CLOSE_BRACE = "\"; }';";
diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java
index b4e89a191..5c0456c7d 100644
--- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java
+++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIComponentIdProvider.java
@@ -176,6 +176,10 @@ public final class SPUIComponentIdProvider {
* ID - Dist jvm combo.
*/
public static final String DIST_MODULE_COMBO = "dist.module.combo.";
+ /**
+ * ID for Distribution Tag ComboBox
+ */
+ public static final String DIST_TAG_COMBO = "dist.tag.combo";
/**
* ID-Dist.PIN.
*/
@@ -242,6 +246,11 @@ public final class SPUIComponentIdProvider {
*/
public static final String DISCARD_SW_MODULE_TYPE = "save.actions.popup.discard.sw.module.type";
+ /**
+ * Action history table cancel Id.
+ */
+ public static final String ACTION_DETAILS_SOFT_ID = "action.details.soft.group";
+
/**
* ID - Label.
*/
@@ -289,6 +298,21 @@ public final class SPUIComponentIdProvider {
*/
public static final String ACTION_HISTORY_TABLE_ID = "action.history.tableId";
+ /**
+ * Action history table cancel Id.
+ */
+ public static final String ACTION_HISTORY_TABLE_CANCEL_ID = "action.history.table.action.cancel";
+
+ /**
+ * Action history table force Id.
+ */
+ public static final String ACTION_HISTORY_TABLE_FORCE_ID = "action.history.table.action.force";
+
+ /**
+ * Action history table force quit Id.
+ */
+ public static final String ACTION_HISTORY_TABLE_FORCE_QUIT_ID = "action.history.table.action.force.quit";
+
/**
* Target filter wrapper id.
*/
@@ -302,6 +326,22 @@ public final class SPUIComponentIdProvider {
* tag color preview button id.
*/
public static final String TAG_COLOR_PREVIEW_ID = "tag.color.preview";
+ /**
+ * Id for ColorPickerLayout
+ */
+ public static final String COLOR_PICKER_LAYOUT = "color.picker.layout";
+ /**
+ * Id for ColorPickerLayout's red slider
+ */
+ public static final String COLOR_PICKER_RED_SLIDER = "color.picker.red.slider";
+ /**
+ * Id for Color preview field with the color code
+ */
+ public static final String COLOR_PREVIEW_FIELD = "color-preview-field";
+ /**
+ * Id for OptionGroup Create/Update tag
+ */
+ public static final String OPTION_GROUP = "create.update.tag";
/**
* Confirmation dialogue OK button id.
*/
@@ -817,19 +857,26 @@ public final class SPUIComponentIdProvider {
* Rollout target filter query combo id.
*/
public static final String ROLLOUT_TARGET_FILTER_COMBO_ID = "rollout.target.filter.combo.id";
+
/**
* Rollout action button id.
*/
- public static final String ROLLOUT_ACTION_BUTTON_ID = "rollout.action.button.id";
+ public static final String ROLLOUT_ACTION_ID = "rollout.action.button.id";
+
+ /**
+ * Rollout start button id.
+ */
+ public static final String ROLLOUT_RUN_BUTTON_ID = ROLLOUT_ACTION_ID + ".9";
+
/**
* Rollout pause button id.
*/
- public static final String ROLLOUT_PAUSE_BUTTON_ID = "rollout.pause.button.id";
+ public static final String ROLLOUT_PAUSE_BUTTON_ID = ROLLOUT_ACTION_ID + ".10";
/**
* Rollout resume button id.
*/
- public static final String ROLLOUT_RESUME_BUTTON_ID = "rollout.resume.button.id";
+ public static final String ROLLOUT_UPDATE_BUTTON_ID = ROLLOUT_ACTION_ID + ".11";
/**
* Rollout save or start option group id.
@@ -915,6 +962,75 @@ public final class SPUIComponentIdProvider {
*/
public static final String UPLOAD_STATUS_POPUP_ID = "artifact.upload.status.popup.id";
+ /**
+ * Software module table - Manage metadata id.
+ */
+ public static final String SW_TABLE_MANAGE_METADATA_ID = "swtable.manage.metadata.id";
+
+
+ /**
+ * Metadata key id.
+ */
+ public static final String METADATA_KEY_FIELD_ID = "metadata.key.id";
+
+ /**
+ * Metadata value id.
+ */
+ public static final String METADATA_VALUE_ID = "metadata.value.id";
+ /**
+ * Metadata save id.
+ */
+ public static final String METADTA_SAVE_ICON_ID = "metadata.save.icon.id";
+
+ /**
+ * Metadata discard id.
+ */
+ public static final String METADTA_DISCARD_ICON_ID = "metadata.discard.icon.id";
+
+ /**
+ * Metadata add icon id.
+ */
+ public static final String METADTA_ADD_ICON_ID = "metadata.add.icon.id";
+ /**
+ * Metadata table id.
+ */
+ public static final String METDATA_TABLE_ID = "metadata.table.id";
+
+ /**
+ * Distribution set table - Manage metadata id.
+ */
+ public static final String DS_TABLE_MANAGE_METADATA_ID = "dstable.manage.metadata.id";
+
+ /**
+ * DistributionSet - Metadata button id.
+ */
+ public static final String DS_METADATA_DETAIL_LINK = "distributionset.metadata.detail.link";
+
+ /**
+ * Metadata popup id.
+ */
+ public static final String METADATA_POPUP_ID = "metadata.popup.id";
+
+ /**
+ * DistributionSet table details tab id in Distributions .
+ */
+ public static final String DISTRIBUTIONSET_DETAILS_TABSHEET_ID = "distributionset.details.tabsheet";
+
+ /**
+ * Software module table details tab id in Distributions .
+ */
+ public static final String DIST_SW_MODULE_DETAILS_TABSHEET_ID = "dist.sw.module.details.tabsheet";
+
+ /**
+ * Software Module - Metadata button id.
+ */
+ public static final String SW_METADATA_DETAIL_LINK = "softwaremodule.metadata.detail.link";
+
+ /**
+ * Table multiselect for selecting DistType
+ */
+ public static final String SELECT_DIST_TYPE = "select-dist-type";
+
/**
* /* Private Constructor.
*/
diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIDefinitions.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIDefinitions.java
index 1a6e8c163..2ee565bb1 100644
--- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIDefinitions.java
+++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIDefinitions.java
@@ -87,6 +87,11 @@ public final class SPUIDefinitions {
*/
public static final String ACTION_HIS_TBL_STATUS = "Status";
+ /**
+ * Actions column.
+ */
+ public static final String ACTIONS_COLUMN = "Actions";
+
/**
* Action history messages of particular action update.
*/
@@ -344,15 +349,6 @@ public final class SPUIDefinitions {
* New Target tag color lable id.
*/
public static final String NEW_TARGET_TAG_COLOR = "target.tag.add.color";
- /**
- * New Target tag save icon id.
- */
- // public static final String NEW_TARGET_TAG_SAVE = "target.tag.add.save";
- /**
- * New Target tag discard icon id.
- */
- // public static final String NEW_TARGET_TAG_DISRACD =
- // "target.tag.add.discard";
/**
* New Target tag add icon id.
*/
@@ -1016,6 +1012,21 @@ public final class SPUIDefinitions {
* Rollout action column property.
*/
public static final String ROLLOUT_ACTION = "rollout-action";
+
+ /**
+ * DistributionSet Metadata tab Id
+ */
+ public static final String DISTRIBUTIONSET_METADATA_TAB_ID = "distSet.metadata.tab.id";
+
+ /**
+ * SoftwareModule Metadata tab Id
+ */
+ public static final String SOFTWAREMODULE_METADATA_TAB_ID = "swModule.metadata.tab.id";
+
+ /***
+ * Custom window for metadata.
+ */
+ public static final String CUSTOM_METADATA_WINDOW = "custom.metadata.window";
/**
* /** Constructor.
diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUILabelDefinitions.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUILabelDefinitions.java
index 5e6feceb2..d930b89ea 100644
--- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUILabelDefinitions.java
+++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUILabelDefinitions.java
@@ -560,6 +560,11 @@ public final class SPUILabelDefinitions {
* Rollout group installed percentage column property.
*/
public static final String ROLLOUT_GROUP_INSTALLED_PERCENTAGE = "finishedPercentage";
+
+ /**
+ * Add metadata icon.
+ */
+ public static final String METADATA_ICON = "metadataDls";
/**
* Constructor.
diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIStyleDefinitions.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIStyleDefinitions.java
index 4ede7204d..2541348b6 100644
--- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIStyleDefinitions.java
+++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/utils/SPUIStyleDefinitions.java
@@ -136,6 +136,11 @@ public final class SPUIStyleDefinitions {
* Artifact Details icon in Distribution View.
*/
public static final String ARTIFACT_DTLS_ICON = "swm-artifact-dtls-icon";
+
+ /**
+ * Distribution metadata icon style.
+ */
+ public static final String DS_METADATA_ICON = "ds-metadata-icon";
/**
* Target table style.
@@ -293,6 +298,10 @@ public final class SPUIStyleDefinitions {
* Status pending icon.
*/
public static final String STATUS_ICON_PENDING = "statusIconPending";
+ /**
+ * Grid style.
+ */
+ public static final String METADATA_GRID = "metadata-grid";
/**
* Footer layout style.
diff --git a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/common.scss b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/common.scss
index 802dd5a70..ecacdcd67 100644
--- a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/common.scss
+++ b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/common.scss
@@ -293,8 +293,4 @@
padding-bottom: 12px !important;
}
- .v-button-default-color {
- color: #551f62;
- }
-
}
diff --git a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/popup-common.scss b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/popup-common.scss
index 457fc266d..330956017 100644
--- a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/popup-common.scss
+++ b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/popup-common.scss
@@ -53,4 +53,12 @@
font-size: 16px;
}
+ .marginTop {
+ margin-top: 20px !important;
+ }
+
+ .metadata-table-margin {
+ margin-top:3px;
+ }
+
}
diff --git a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/popup-window.scss b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/popup-window.scss
index 0a00f463c..f4869665c 100644
--- a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/popup-window.scss
+++ b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/popup-window.scss
@@ -164,5 +164,6 @@
.actionButtonsMargin {
margin-top: 30px;
+ margin-bottom: 10px;
}
}
diff --git a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/rollout.scss b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/rollout.scss
index b9049068e..d55d2eb2c 100644
--- a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/rollout.scss
+++ b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/rollout.scss
@@ -52,6 +52,10 @@
opacity: 0.5;
}
+ .action-type-padding{
+ padding: 0 0px !important;
+ }
+
.rollout-caption-links{
font-weight: 400;
height: 25px ;
diff --git a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/table-common.scss b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/table-common.scss
index 3bfc12aac..2be45904a 100644
--- a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/table-common.scss
+++ b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/table-common.scss
@@ -182,6 +182,7 @@
float: right;
}
+
.v-button-generatedColumnPadding {
height: 28px;
padding: 0 6px !important;
@@ -189,5 +190,31 @@
border-radius: 4px;
}
+ .metadata-grid {
+ tr {
+ .icon-only {
+ visibility: hidden;
+ color: $discard-icon-color;
+ }
+ }
+ tr.v-grid-row-selected{
+ .icon-only .v-icon {
+ color : $widget-bg;
+ }
+ }
+
+ tr.v-grid-row-selected:hover {
+ .icon-only {
+ visibility: visible;
+ color: $widget-bg !important;
+ }
+ }
+
+ tr:hover {
+ .icon-only {
+ visibility: visible;
+ }
+ }
+ }
}
diff --git a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/table-content.scss b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/table-content.scss
index ad5556f08..8916f4b32 100644
--- a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/table-content.scss
+++ b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/customstyles/table-content.scss
@@ -48,9 +48,6 @@
.distributionPin {
line-height: 15px;
background-color: none;
- margin-bottom: 0 !important;
- margin-right: 0 !important;
- padding: 0;
font-weight: normal;
}
@@ -143,4 +140,8 @@
line-height: 21px;
border: 1px solid $widget-border-color;
}
+
+ .ds-metadata-icon{
+ line-height:15px;
+ }
}
diff --git a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/hawkbittheme.scss b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/hawkbittheme.scss
index 128c66e55..05d1c7460 100644
--- a/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/hawkbittheme.scss
+++ b/hawkbit-ui/src/main/resources/VAADIN/themes/hawkbit/hawkbittheme.scss
@@ -139,5 +139,4 @@ $v-included-components: remove($v-included-components, form);
background-position: bottom;
background-repeat: no-repeat;
}
-
}
diff --git a/hawkbit-ui/src/main/resources/messages.properties b/hawkbit-ui/src/main/resources/messages.properties
index 1fee8dcdb..383341f4f 100644
--- a/hawkbit-ui/src/main/resources/messages.properties
+++ b/hawkbit-ui/src/main/resources/messages.properties
@@ -57,6 +57,7 @@ caption.new.softwaremodule.jvm = Configure New Runtime
caption.new.softwaremodule.os = Configure New OS
caption.filter.simple = Simple Filter
caption.filter.custom = Custom Filter
+caption.metadata = Metadata
caption.add.softwaremodule = Configure Software Module
caption.add.new.dist = Configure New Distribution
@@ -79,16 +80,19 @@ caption.delete.swmodule.accordion.tab = Delete SW Modules
caption.delete.dist.set.type.accordion.tab = Delete Distribution Set Type
caption.delete.sw.module.type.accordion.tab = Delete Software Module Type
caption.attributes = Attributes
-caption.panel.dist.installed = Installed distribution set
-caption.panel.dist.assigned = Assigned distribution set
+caption.panel.dist.installed = Installed Distribution Set
+caption.panel.dist.assigned = Assigned Distribution Set
caption.soft.delete.confirmbox = Confirm Software Module Delete Action
-caption.cancel.action.confirmbox = Confirm action cancel
+caption.cancel.action.confirmbox = Confirm Action Cancellation
caption.forcequit.action.confirmbox = Confirm force quit action
caption.forced.datefield = Force update at time
caption.force.action.confirmbox = Confirm Force Active Action
-caption.confirm.abort.action = Confirm abort action
+caption.confirm.abort.action = Confirm Abort Action
caption.filter.delete.confirmbox = Confirm Filter Delete Action
+caption.metadata.popup = Metadata of
+caption.metadata.delete.action.confirmbox = Confirm Metadata Delete Action
+
# Labels prefix with - label
label.dist.details.type = Type :
@@ -176,6 +180,7 @@ textfield.version = Version
textfield.vendor = Vendor
textfield.description = Description
textfield.customfiltername = Filter name
+textfield.value = Value
ui.version = Powered by Bosch IoT Software Provisioning
prompt.target.id = Controller ID
@@ -194,6 +199,7 @@ tooltip.timeforced.item=Soft update until a specific time and then the action wi
tooltip.check.for.mandatory=Check to make Mandatory
tooltip.artifact.icon=Show Artifact Details
tooltip.click.to.edit = Click to edit
+tooltip.metadata.icon = Manage Metadata
# Notification messages prefix with - message
message.save.success = {0} saved successfully
@@ -220,7 +226,7 @@ message.duplicate.softwaremodule = {0} : {1} already exists!
message.tag.delete = Please unclick the tag {0}, then try to delete
message.dist.type.check.delete = Please unclick the distribution type {0}, then try to delete
message.cannot.delete.default.dstype = Default distribution set type cannot be deleted
-message.swmodule.type.check.delete = Please unclick the software module type {0}, then try to delete
+message.swmodule.type.check.delete = Please unclick the Software Module type {0}, then try to delete
message.targets.already.deleted = Few Target(s) are already deleted.Pending for action
message.dists.already.deleted = Few distribution(s) are already deleted.Pending for action
message.target.deleted.pending = Target(s) already deleted.Pending for action
@@ -262,10 +268,10 @@ message.dists.assign.tag.alreadyassigned = Few of the DistributionSet's are alre
message.dists.tag.assigned = {0} DistributionSet's assigned to Tag {1}
message.dists.tag.unassigned = {0} DistributionSet's un-assigned from Tag {1}
message.dist.no.operation = {0} - already assigned/installed, No operation
-message.sm.delete.confirm = Are you sure that you want to delete the selected {0} software module?
+message.sm.delete.confirm = Are you sure that you want to delete the selected {0} Software Module?
message.error.os.softmodule = Please select the OS to delete
message.error.ah.softmodule = Please select the Application to delete
-message.error.softmodule.deleted = The selected software module is already deleted
+message.error.softmodule.deleted = The selected Software Module is already deleted
message.cancel.action = Cancel..
message.cancel.action.success = Action cancelled successfully !
message.cancel.action.failed = Unable to cancel the action !
@@ -284,7 +290,7 @@ message.action.not.allowed = Action not allowed
message.onlyone.distribution.assigned = Only one distribution set can be assigned
message.onlyone.distribution.dropallowed = Only one distribution set can be dropped
message.error.missing.typename = Missing Type Name
-message.error.missing.typenameorkey = Missing Type Name or Key or software module type
+message.error.missing.typenameorkey = Missing Type Name or Key or Software Module type
message.tag.cannot.be.assigned = Target/DS cannot be assigned to {0}
message.no.targets.assiged.fortag = No targets are assigned to tag {0}
message.error.missing.tagname = Please select tag name
@@ -314,12 +320,12 @@ soft.module.os =OS
#Artifact upload
message.error.noFileSelected = No file selected for upload
message.error.noProvidedName = Please provide custom file name
-message.error.noSwModuleSelected = Please select a software module
+message.error.noSwModuleSelected = Please select a Software Module
message.no.duplicateFiles = Duplicate files selected
message.no.duplicateFile = Duplicate file selected :
message.delete.artifact = Are you sure that you want to delete artifact {0} ?
message.duplicate.filename = Duplicate file name
-message.swModule.deleted = {0} Software module(s) deleted
+message.swModule.deleted = {0} Software Module(s) deleted
message.upload.failed = Streaming Failed
message.uploadedfile.size.exceeded = File size exceeded .Allowed size {0} bytes
message.uploadedfile.aborted = File upload aborted
@@ -329,7 +335,7 @@ message.abort.upload = Are you sure that you want to abort the upload?
-upload.swModuleTable.header = Software module
+upload.swModuleTable.header = Software Module
upload.selectedfile.name = file selected for upload
upload.file.name = File name
upload.sha1 = SHA1 checksum
@@ -347,7 +353,7 @@ upload.reason = Reason
upload.action = Action
upload.result.status = Upload status
upload.file = Upload File
-upload.caption.update.swmodule = Update software module
+upload.caption.update.swmodule = Update Software Module
caption.tab.details = Details
caption.tab.description = Description
@@ -363,8 +369,8 @@ label.no.tag.assigned = NO TAG
caption.assign.software.dist.accordion.tab = Assign Software Modules
message.software.assignment = {0} Software Module(s) Assignment(s) done
message.dist.inuse = {0} Distribution is already assigned to target
-message.software.dist.already.assigned = {0} Distribution already has software module {1}
-message.software.dist.type.notallowed = {0} Software module type can not assign to Distribution {1}
+message.software.dist.already.assigned = {0} Distribution already has Software Module {1}
+message.software.dist.type.notallowed = {0} Software Module type can not assign to Distribution {1}
message.target.assigned = {0} is assigned to {1}
message.dist.type.delete = {0} DistributionType(s) Deleted successfully.
message.sw.module.type.delete = {0} Software Module Type(s) deleted successfully.
@@ -373,6 +379,13 @@ message.dist.discard.success = All Distributions are discarded successfully !
message.assign.discard.success = All assignments are discarded successfully !
message.target.ds.assign.success = Assignments saved successfully !
message.bulk.upload.assignment.failed = Distribution set assignment failed as distribution set no longer exists!
+message.key.missing = Key is missing !
+message.value.missing = Value is missing !
+message.metadata.saved = Metadata with key {0} successfully saved !
+message.metadata.updated = Metadata with key {0} successfully updated !
+message.metadata.duplicate.check = Metadata with key {0} already exists, please enter another value
+message.metadata.deleted.successfully = Metadata with key {0} successfully deleted !
+message.confirm.delete.metadata = Are you sure that you want to delete metadata with key {0} ?
# Login view
notification.login.title=Welcome to Bosch IoT Software Provisioning.
@@ -438,6 +451,8 @@ header.distributionset = Distribution set
header.numberofgroups = No. of groups
header.detail.status = Detail status
header.total.targets = Total targets
+header.key = Key
+header.value = Value
distribution.details.header = Distribution set
target.details.header = Target
@@ -445,7 +460,7 @@ header.caption.mandatory = Mandatory
header.caption.typename = SoftwareModuleType
header.caption.softwaremodule = SoftwareModule
header.caption.unassign = Unassign
-message.sw.unassigned = Software module {0} successfully unassigned
+message.sw.unassigned = Software Module {0} successfully unassigned
header.caption.upload.details = Upload details
combo.type.tag.name = Type tag name
@@ -468,10 +483,10 @@ rollout.group.label.target.truncated = {0} targets has been truncated in the lis
prompt.number.of.groups = Number of groups
prompt.tigger.threshold = Trigger threshold
prompt.error.threshold = Error threshold
-prompt.distribution.set = Distribution set
-caption.configure.rollout = Configure rollout
-caption.update.rollout = Update rollout
-prompt.target.filter = Custom target filter
+prompt.distribution.set = Distribution Set
+caption.configure.rollout = Configure Rollout
+caption.update.rollout = Update Rollout
+prompt.target.filter = Custom Target Filter
message.rollout.nonzero.group.number = Number of groups must be greater than zero
message.rollout.max.group.number = Number of groups must not be greater than 500
message.rollout.duplicate.check = Rollout [ {0} ] must be unique, entered value already exists.
@@ -485,8 +500,8 @@ message.rollout.noofgroups.or.targetfilter.missing = Please enter number of grou
message.rollouts = Rollouts
label.target.per.group = Targets per group :
message.dist.already.assigned = Distribution {0} is already assigned to target
-message.error.creating.rollout = Server error. Error creating rollout. Please contact the administrator
-message.error.starting.rollout = Server error. Error starting rollout. Please contact the administrator
+message.error.creating.rollout = Server error. Error creating Rollout. Please contact the administrator
+message.error.starting.rollout = Server error. Error starting Rollout. Please contact the administrator
#rollout - end
#Menu
diff --git a/hawkbit-ui/src/main/resources/messages_de.properties b/hawkbit-ui/src/main/resources/messages_de.properties
index 4134a7466..cec24e1d8 100644
--- a/hawkbit-ui/src/main/resources/messages_de.properties
+++ b/hawkbit-ui/src/main/resources/messages_de.properties
@@ -14,6 +14,7 @@
# Button names prefix with - button
button.save = Save
button.delete = Delete
+button.discard = Discard
button.discard.all = Discard All
button.delete.all = Delete All
button.assign.all = Save Assign
@@ -55,6 +56,8 @@ caption.error = Error
caption.new.softwaremodule.application = Configure New Application
caption.new.softwaremodule.jvm = Configure New Runtime
caption.new.softwaremodule.os = Configure New OS
+caption.metadata = Metadata
+
caption.add.softwaremodule = Configure Software Module
caption.add.new.dist = Configure New Distribution
@@ -77,17 +80,19 @@ caption.delete.swmodule.accordion.tab = Delete SW Modules
caption.delete.dist.set.type.accordion.tab = Delete Distribution Set Type
caption.delete.sw.module.type.accordion.tab = Delete Software Module Type
caption.attributes = Attributes
-caption.panel.dist.installed = Installed distribution set
-caption.panel.dist.assigned = Assigned distribution set
+caption.panel.dist.installed = Installed Distribution Set
+caption.panel.dist.assigned = Assigned Distribution Set
caption.soft.delete.confirmbox = Confirm Software Module Delete Action
-caption.cancel.action.confirmbox = Confirm action cancellation
+caption.cancel.action.confirmbox = Confirm Action Cancellation
caption.forced.datefield = Force update at time
caption.force.action.confirmbox = Confirm Force Active Action
caption.filter.simple = Simple Filter
caption.filter.custom = Custom Filter
caption.filter.delete.confirmbox = Confirm Filter Delete Action
-caption.confirm.abort.action = Confirm abort action
+caption.confirm.abort.action = Confirm Abort Action
+caption.metadata.popup = Metadata of
+caption.metadata.delete.action.confirmbox = Confirm Metadata Delete Action
# Labels prefix with - label
label.dist.details.type = Type :
@@ -174,6 +179,7 @@ textfield.version = Version
textfield.vendor = Vendor
textfield.description = Description
textfield.customfiltername = Filter name
+textfield.value = Value
ui.version = Powered by Bosch IoT Software Provisioning
prompt.target.id = Controller ID
@@ -192,6 +198,7 @@ tooltip.timeforced.item=Soft update until a specific time and then the action wi
tooltip.check.for.mandatory=Check to make Mandatory
tooltip.artifact.icon=Show Artifact Details
tooltip.click.to.edit = Click to edit
+tooltip.metadata.icon = Manage Metadata
# Notification messages prefix with - message
@@ -214,13 +221,13 @@ message.target.unassigned.one = {0} is unassigned from {1}
message.target.unassigned.many = {0} Targets are unassigned from {1}
message.target.assigned.pending = Some target(s) are already assigned.Pending for action
message.cannot.delete = Cannot be deleted
-message.check.softwaremodule = Please provide both name and verion!
+message.check.softwaremodule = Please provide both name and version!
message.cannot.delete.default.dstype = Default distribution set type cannot be deleted
message.duplicate.softwaremodule = {0} : {1} already exists!
message.cannot.delete.default.dstype = Default distribution set type cannot be deleted
message.tag.delete = Please unclick the tag {0}, then try to delete
message.dist.type.check.delete = Please unclick the distribution type {0}, then try to delete
-message.swmodule.type.check.delete = Please unclick the software module type {0}, then try to delete
+message.swmodule.type.check.delete = Please unclick the Software Module type {0}, then try to delete
message.targets.already.deleted = Few Target(s) are already deleted.Pending for action
message.dists.already.deleted = Few distribution(s) are already deleted.Pending for action
message.target.deleted.pending = Target(s) already deleted.Pending for action
@@ -243,7 +250,7 @@ message.accessdenied.view = No access to view: {0}
message.no.data = No data available
message.target.assignment = {0} Assignment(s) done
message.target.deleted = {0} Target(s) deleted
-message.dist.deleted = {0} Distribution set(s) deleted
+message.dist.deleted = {0} Distribution Set(s) deleted
message.tag.update.mandatory = Please select the Tag to update
message.tag.duplicate.check = {0} already exists, please enter another value
message.type.key.duplicate.check = Distribution type with key {0} already exists, please give another value
@@ -262,10 +269,10 @@ message.dists.assign.tag.alreadyassigned = Few of the DistributionSet's are alre
message.dists.tag.assigned = {0} DistributionSet's assigned to Tag {1}
message.dists.tag.unassigned = {0} DistributionSet's un-assigned from Tag {1}
message.dist.no.operation = {0} - already assigned/installed, No operation
-message.sm.delete.confirm = Are you sure that you want to delete the selected {0} software module?
+message.sm.delete.confirm = Are you sure that you want to delete the selected {0} Software Module?
message.error.os.softmodule = Please select the OS to delete
message.error.ah.softmodule = Please select the Application to delete
-message.error.softmodule.deleted = The selected software module is already deleted
+message.error.softmodule.deleted = The selected Software Module is already deleted
message.cancel.action = Cancel
message.cancel.action.success = Action cancelled successfully !
message.cancel.action.failed = Unable to cancel the action !
@@ -307,12 +314,12 @@ soft.module.os =OS
#Artifact upload
message.error.noFileSelected = No file selected for upload
message.error.noProvidedName = Please provide custom file name
-message.error.noSwModuleSelected = Please select a software module
+message.error.noSwModuleSelected = Please select a Software Module
message.no.duplicateFiles = Duplicate files selected
message.no.duplicateFile = Duplicate file selected :
message.delete.artifact = Are you sure that you want to delete artifact {0} ?
message.duplicate.filename = Duplicate file name
-message.swModule.deleted = {0} Software module(s) deleted
+message.swModule.deleted = {0} Software Module(s) deleted
message.error.missing.tagname = Please select tag name
message.upload.failed = Streaming Failed
message.uploadedfile.size.exceeded = File size exceeded .Allowed size {0} bytes
@@ -323,7 +330,7 @@ message.abort.upload = Are you sure that you want to abort the upload?
-upload.swModuleTable.header = Software module
+upload.swModuleTable.header = Software Module
upload.selectedfile.name = file selected for upload
upload.file.name = File name
upload.sha1 = SHA1 checksum
@@ -341,7 +348,7 @@ upload.reason = Reason
upload.action = Action
upload.result.status = Upload status
upload.file = Upload File
-upload.caption.update.swmodule = Update software module
+upload.caption.update.swmodule = Update Software Module
caption.tab.details = Details
caption.tab.description = Description
@@ -352,8 +359,8 @@ label.drop.dist.delete.area = Drop here