diff --git a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtype/CreateUpdateSoftwareTypeLayout.java b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtype/CreateUpdateSoftwareTypeLayout.java index 5f0442bb4..6c5b3a24e 100644 --- a/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtype/CreateUpdateSoftwareTypeLayout.java +++ b/hawkbit-ui/src/main/java/org/eclipse/hawkbit/ui/artifacts/smtype/CreateUpdateSoftwareTypeLayout.java @@ -16,6 +16,7 @@ import org.eclipse.hawkbit.repository.SoftwareManagement; import org.eclipse.hawkbit.repository.model.SoftwareModuleType; import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleTypeEvent; import org.eclipse.hawkbit.ui.artifacts.event.SoftwareModuleTypeEvent.SoftwareModuleTypeEnum; +import org.eclipse.hawkbit.ui.colorpicker.ColorPickerConstants; import org.eclipse.hawkbit.ui.colorpicker.ColorPickerHelper; import org.eclipse.hawkbit.ui.common.SoftwareModuleTypeBeanQuery; import org.eclipse.hawkbit.ui.common.builder.LabelBuilder; @@ -93,6 +94,18 @@ public class CreateUpdateSoftwareTypeLayout extends CreateUpdateTypeLayout exten * Open color picker on click of preview button. Auto select the color based * on target tag if already selected. */ - protected void previewButtonClicked() { + private void previewButtonClicked() { if (!tagPreviewBtnClicked) { - setColor(); + final String selectedOption = (String) optiongroup.getValue(); + if (selectedOption == null || !selectedOption.equalsIgnoreCase(updateTagStr)) { + return; + } + + if (tagNameComboBox.getValue() == null) { + colorPickerLayout + .setSelectedColor(ColorPickerHelper.rgbToColorConverter(ColorPickerConstants.DEFAULT_COLOR)); + return; + } + colorPickerLayout.setSelectedColor(getColorForColorPicker()); } tagPreviewBtnClicked = !tagPreviewBtnClicked; colorPickerLayout.setVisible(tagPreviewBtnClicked); } - private void setColor() { - final String selectedOption = (String) optiongroup.getValue(); - if (selectedOption == null || !selectedOption.equalsIgnoreCase(updateTagStr)) { - return; - } - - if (tagNameComboBox.getValue() == null) { - colorPickerLayout - .setSelectedColor(ColorPickerHelper.rgbToColorConverter(ColorPickerConstants.DEFAULT_COLOR)); - return; - } - + /** + * @return the color which should be selected in the color-picker component. + */ + protected Color getColorForColorPicker() { final TargetTag targetTagSelected = tagManagement.findTargetTag(tagNameComboBox.getValue().toString()); - if (targetTagSelected == null) { final DistributionSetTag distTag = tagManagement .findDistributionSetTag(tagNameComboBox.getValue().toString()); - colorPickerLayout.setSelectedColor( - distTag.getColour() != null ? ColorPickerHelper.rgbToColorConverter(distTag.getColour()) - : ColorPickerHelper.rgbToColorConverter(ColorPickerConstants.DEFAULT_COLOR)); - } else { - colorPickerLayout.setSelectedColor(targetTagSelected.getColour() != null - ? ColorPickerHelper.rgbToColorConverter(targetTagSelected.getColour()) - : ColorPickerHelper.rgbToColorConverter(ColorPickerConstants.DEFAULT_COLOR)); + return distTag.getColour() != null ? ColorPickerHelper.rgbToColorConverter(distTag.getColour()) + : ColorPickerHelper.rgbToColorConverter(ColorPickerConstants.DEFAULT_COLOR); } + return targetTagSelected.getColour() != null + ? ColorPickerHelper.rgbToColorConverter(targetTagSelected.getColour()) + : ColorPickerHelper.rgbToColorConverter(ColorPickerConstants.DEFAULT_COLOR); } private void tagNameChosen(final ValueChangeEvent event) {