code review improvements

Signed-off-by: Melanie Retter <melanie.retter@bosch-si.com>
This commit is contained in:
Melanie Retter
2016-06-27 15:56:50 +02:00
parent 6692f92c61
commit 1436aae22a
9 changed files with 95 additions and 148 deletions

View File

@@ -10,7 +10,6 @@ package org.eclipse.hawkbit.ui.artifacts.smtable;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map; import java.util.Map;
import org.eclipse.hawkbit.repository.EntityFactory; import org.eclipse.hawkbit.repository.EntityFactory;
@@ -21,6 +20,7 @@ import org.eclipse.hawkbit.ui.common.CommonDialogWindow;
import org.eclipse.hawkbit.ui.common.SoftwareModuleTypeBeanQuery; import org.eclipse.hawkbit.ui.common.SoftwareModuleTypeBeanQuery;
import org.eclipse.hawkbit.ui.common.table.BaseEntityEventType; import org.eclipse.hawkbit.ui.common.table.BaseEntityEventType;
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
import org.eclipse.hawkbit.ui.utils.CommonDialogWindowHelper;
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.I18N;
import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider;
@@ -34,9 +34,7 @@ import org.vaadin.spring.events.EventBus;
import com.vaadin.spring.annotation.SpringComponent; import com.vaadin.spring.annotation.SpringComponent;
import com.vaadin.spring.annotation.ViewScope; import com.vaadin.spring.annotation.ViewScope;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.ComboBox; import com.vaadin.ui.ComboBox;
import com.vaadin.ui.Component;
import com.vaadin.ui.CustomComponent; import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.FormLayout; import com.vaadin.ui.FormLayout;
import com.vaadin.ui.Label; import com.vaadin.ui.Label;
@@ -229,23 +227,11 @@ public class SoftwareModuleAddUpdateWindow extends CustomComponent implements Se
/* add main layout to the window */ /* add main layout to the window */
window = SPUIComponentProvider.getWindow(i18n.get("upload.caption.add.new.swmodule"), null, window = SPUIComponentProvider.getWindow(i18n.get("upload.caption.add.new.swmodule"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveOrUpdate(), event -> closeThisWindow(), null, SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveOrUpdate(), event -> closeThisWindow(), null,
getMandatoryFields(formLayout), geEditedFields(), i18n); CommonDialogWindowHelper.getMandatoryFields(formLayout), geEditedFields(), i18n);
window.getButtonsLayout().removeStyleName("actionButtonsMargin"); window.getButtonsLayout().removeStyleName("actionButtonsMargin");
typeComboBox.focus(); typeComboBox.focus();
} }
private Map<String, Boolean> getMandatoryFields(final FormLayout formLayout) {
final Map<String, Boolean> requiredFields = new HashMap<>();
final Iterator<Component> iterate = formLayout.iterator();
while (iterate.hasNext()) {
final Component c = iterate.next();
if (c instanceof AbstractField && ((AbstractField) c).isRequired()) {
requiredFields.put(c.getId(), Boolean.FALSE);
}
}
return requiredFields;
}
private Map<String, Boolean> geEditedFields() { private Map<String, Boolean> geEditedFields() {
final Map<String, Boolean> editedFields = new HashMap<>(); final Map<String, Boolean> editedFields = new HashMap<>();
editedFields.put(typeComboBox.getId(), Boolean.FALSE); editedFields.put(typeComboBox.getId(), Boolean.FALSE);

View File

@@ -9,10 +9,7 @@
package org.eclipse.hawkbit.ui.artifacts.smtype; package org.eclipse.hawkbit.ui.artifacts.smtype;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.eclipse.hawkbit.repository.EntityFactory; import org.eclipse.hawkbit.repository.EntityFactory;
@@ -25,6 +22,7 @@ import org.eclipse.hawkbit.ui.colorpicker.ColorPickerHelper;
import org.eclipse.hawkbit.ui.common.SoftwareModuleTypeBeanQuery; import org.eclipse.hawkbit.ui.common.SoftwareModuleTypeBeanQuery;
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
import org.eclipse.hawkbit.ui.layouts.CreateUpdateTypeLayout; import org.eclipse.hawkbit.ui.layouts.CreateUpdateTypeLayout;
import org.eclipse.hawkbit.ui.utils.CommonDialogWindowHelper;
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
@@ -37,10 +35,8 @@ import com.vaadin.data.Property.ValueChangeEvent;
import com.vaadin.shared.ui.colorpicker.Color; import com.vaadin.shared.ui.colorpicker.Color;
import com.vaadin.spring.annotation.SpringComponent; import com.vaadin.spring.annotation.SpringComponent;
import com.vaadin.spring.annotation.ViewScope; import com.vaadin.spring.annotation.ViewScope;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.Alignment; import com.vaadin.ui.Alignment;
import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Component;
import com.vaadin.ui.Label; import com.vaadin.ui.Label;
import com.vaadin.ui.OptionGroup; import com.vaadin.ui.OptionGroup;
import com.vaadin.ui.components.colorpicker.ColorChangeListener; import com.vaadin.ui.components.colorpicker.ColorChangeListener;
@@ -125,20 +121,8 @@ public class CreateUpdateSoftwareTypeLayout extends CreateUpdateTypeLayout
public void createWindow() { public void createWindow() {
reset(); reset();
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.type"), null, window = SPUIComponentProvider.getWindow(i18n.get("caption.add.type"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, this::save, this::discard, null, getMandatoryFields(), SPUIDefinitions.CREATE_UPDATE_WINDOW, this, this::save, this::discard, null,
getEditedFields(), i18n); CommonDialogWindowHelper.getMandatoryFields(getFormLayout()), getEditedFields(), i18n);
}
private Map<String, Boolean> getMandatoryFields() {
final Map<String, Boolean> requiredFields = new HashMap<>();
final Iterator<Component> iterate = getFormLayout().iterator();
while (iterate.hasNext()) {
final Component c = iterate.next();
if (c instanceof AbstractField && ((AbstractField) c).isRequired()) {
requiredFields.put(c.getId(), Boolean.FALSE);
}
}
return requiredFields;
} }
/** /**

View File

@@ -127,7 +127,7 @@ public class CommonDialogWindow extends Window implements Serializable {
public void checkMandatoryEditedTextField(final TextChangeEvent event, final String originalValue) { public void checkMandatoryEditedTextField(final TextChangeEvent event, final String originalValue) {
final Component component = event.getComponent(); final Component component = event.getComponent();
if (!(component instanceof AbstractComponent)) { if (!(component instanceof AbstractComponent)) {
throw new IllegalStateException("Only AbstractComponent are allowed"); throw new IllegalStateException("Only AbstractComponents are allowed");
} }
if (requiredFields.containsKey(component.getId())) { if (requiredFields.containsKey(component.getId())) {
@@ -155,10 +155,10 @@ public class CommonDialogWindow extends Window implements Serializable {
if (requiredFields.containsKey(component.getId())) { if (requiredFields.containsKey(component.getId())) {
setRequiredFieldChangeValue(component, isChangedValueNotNull); setRequiredFieldChangeValue(component, isChangedValueNotNull);
} }
if (event.getProperty().getValue() != null) { if (event.getProperty().getValue() == null) {
checkChanges(component.getId(), event.getProperty().getValue().toString(), originalValue);
} else {
checkChanges(component.getId(), null, originalValue); checkChanges(component.getId(), null, originalValue);
} else {
checkChanges(component.getId(), event.getProperty().getValue().toString(), originalValue);
} }
checkSaveButtonEnabled(); checkSaveButtonEnabled();
} }
@@ -392,12 +392,4 @@ public class CommonDialogWindow extends Window implements Serializable {
return buttonsLayout; return buttonsLayout;
} }
public Map<String, Boolean> getRequiredFields() {
return requiredFields;
}
public void setRequiredFields(final Map<String, Boolean> requiredFields) {
this.requiredFields = requiredFields;
}
} }

View File

@@ -27,6 +27,7 @@ import org.eclipse.hawkbit.ui.decorators.SPUIButtonStyleSmallNoBorder;
import org.eclipse.hawkbit.ui.distributions.event.DistributionSetTypeEvent; import org.eclipse.hawkbit.ui.distributions.event.DistributionSetTypeEvent;
import org.eclipse.hawkbit.ui.distributions.event.DistributionSetTypeEvent.DistributionSetTypeEnum; import org.eclipse.hawkbit.ui.distributions.event.DistributionSetTypeEvent.DistributionSetTypeEnum;
import org.eclipse.hawkbit.ui.layouts.CreateUpdateTypeLayout; import org.eclipse.hawkbit.ui.layouts.CreateUpdateTypeLayout;
import org.eclipse.hawkbit.ui.utils.CommonDialogWindowHelper;
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
import org.eclipse.hawkbit.ui.utils.SPUIDefinitions; import org.eclipse.hawkbit.ui.utils.SPUIDefinitions;
import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions; import org.eclipse.hawkbit.ui.utils.SPUILabelDefinitions;
@@ -43,7 +44,6 @@ import com.vaadin.data.util.IndexedContainer;
import com.vaadin.server.FontAwesome; import com.vaadin.server.FontAwesome;
import com.vaadin.spring.annotation.SpringComponent; import com.vaadin.spring.annotation.SpringComponent;
import com.vaadin.spring.annotation.ViewScope; import com.vaadin.spring.annotation.ViewScope;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.AbstractSelect.ItemDescriptionGenerator; import com.vaadin.ui.AbstractSelect.ItemDescriptionGenerator;
import com.vaadin.ui.Alignment; import com.vaadin.ui.Alignment;
import com.vaadin.ui.Button; import com.vaadin.ui.Button;
@@ -91,8 +91,6 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
private IndexedContainer originalSelectedTableContainer; private IndexedContainer originalSelectedTableContainer;
private String originalTypeKey;
@Override @Override
protected void createRequiredComponents() { protected void createRequiredComponents() {
@@ -109,7 +107,7 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
ValoTheme.TEXTFIELD_TINY + " " + SPUIDefinitions.DIST_SET_TYPE_KEY, true, "", i18n.get("textfield.key"), ValoTheme.TEXTFIELD_TINY + " " + SPUIDefinitions.DIST_SET_TYPE_KEY, true, "", i18n.get("textfield.key"),
true, SPUILabelDefinitions.TEXT_FIELD_MAX_LENGTH); true, SPUILabelDefinitions.TEXT_FIELD_MAX_LENGTH);
typeKey.setId(SPUIDefinitions.NEW_DISTRIBUTION_TYPE_KEY); typeKey.setId(SPUIDefinitions.NEW_DISTRIBUTION_TYPE_KEY);
typeKey.addTextChangeListener(event -> window.checkMandatoryEditedTextField(event, originalTypeKey)); typeKey.addTextChangeListener(event -> window.checkMandatoryEditedTextField(event, getOriginalTypeKey()));
typeKey.addValueChangeListener(event -> window.setRequiredFieldWhenUpdate(event, typeKey)); typeKey.addValueChangeListener(event -> window.setRequiredFieldWhenUpdate(event, typeKey));
tagDesc = SPUIComponentProvider.getTextArea(i18n.get("textfield.description"), "", tagDesc = SPUIComponentProvider.getTextArea(i18n.get("textfield.description"), "",
@@ -268,24 +266,26 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
private void addSMType() { private void addSMType() {
final Set<Long> selectedIds = (Set<Long>) sourceTable.getValue(); final Set<Long> selectedIds = (Set<Long>) sourceTable.getValue();
if (selectedIds != null && !selectedIds.isEmpty()) { if (selectedIds == null) {
for (final Long id : selectedIds) { return;
addTargetTableData(id);
}
window.updateRequiredFields(selectedTable.getId(), hasContentChanged());
} }
for (final Long id : selectedIds) {
addTargetTableData(id);
}
window.updateRequiredFields(selectedTable.getId(), hasContentChanged());
} }
private void removeSMType() { private void removeSMType() {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
final Set<Long> selectedIds = (Set<Long>) selectedTable.getValue(); final Set<Long> selectedIds = (Set<Long>) selectedTable.getValue();
if (selectedIds != null && !selectedIds.isEmpty()) { if (selectedIds == null) {
for (final Long id : selectedIds) { return;
addSourceTableData(id); }
selectedTable.removeItem(id); for (final Long id : selectedIds) {
window.updateRequiredFields(selectedTable.getId(), hasContentChanged()); addSourceTableData(id);
} selectedTable.removeItem(id);
window.updateRequiredFields(selectedTable.getId(), hasContentChanged());
} }
} }
@@ -294,6 +294,7 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
if (originalSelectedTableContainer == null) { if (originalSelectedTableContainer == null) {
originalSelectedTableContainer = new IndexedContainer(); originalSelectedTableContainer = new IndexedContainer();
} }
// is new softwareModule added?
for (final Iterator itemIterator = selectedTableContainer.getItemIds().iterator(); itemIterator.hasNext();) { for (final Iterator itemIterator = selectedTableContainer.getItemIds().iterator(); itemIterator.hasNext();) {
final long itemId = (Long) itemIterator.next(); final long itemId = (Long) itemIterator.next();
if (!originalSelectedTableContainer.containsId(itemId)) { if (!originalSelectedTableContainer.containsId(itemId)) {
@@ -302,6 +303,7 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
} }
} }
// is softwareModule removed and at least one softwareModule is selected
for (final Iterator itemIterator = originalSelectedTableContainer.getItemIds().iterator(); itemIterator for (final Iterator itemIterator = originalSelectedTableContainer.getItemIds().iterator(); itemIterator
.hasNext();) { .hasNext();) {
final long itemId = (Long) itemIterator.next(); final long itemId = (Long) itemIterator.next();
@@ -311,9 +313,6 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
} }
} }
if (selectedTableContainer.size() > 0) {
window.updateRequiredFields(selectedTable.getId(), Boolean.TRUE);
}
return Boolean.FALSE; return Boolean.FALSE;
} }
@@ -621,20 +620,20 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
private void addTargetTableforUpdate(final SoftwareModuleType swModuleType, final boolean mandatory) { private void addTargetTableforUpdate(final SoftwareModuleType swModuleType, final boolean mandatory) {
Item saveTblitem; if (selectedTableContainer == null) {
if (selectedTableContainer != null) { return;
saveTblitem = selectedTableContainer.addItem(swModuleType.getId());
sourceTable.removeItem(swModuleType.getId());
saveTblitem.getItemProperty(DIST_TYPE_NAME).setValue(swModuleType.getName());
saveTblitem.getItemProperty(DIST_TYPE_MANDATORY).setValue(new CheckBox("", mandatory));
final CheckBox mandatoryCheckbox = (CheckBox) selectedTableContainer
.getContainerProperty(swModuleType.getId(), DIST_TYPE_MANDATORY).getValue();
mandatoryCheckbox.addValueChangeListener(this::listenerMandatoryCheckboxChanged);
final Item originalItem = originalSelectedTableContainer.addItem(swModuleType.getId());
originalItem.getItemProperty(DIST_TYPE_NAME).setValue(swModuleType.getName());
originalItem.getItemProperty(DIST_TYPE_MANDATORY).setValue(new CheckBox("", mandatory));
} }
final Item saveTblitem = selectedTableContainer.addItem(swModuleType.getId());
sourceTable.removeItem(swModuleType.getId());
saveTblitem.getItemProperty(DIST_TYPE_NAME).setValue(swModuleType.getName());
saveTblitem.getItemProperty(DIST_TYPE_MANDATORY).setValue(new CheckBox("", mandatory));
final CheckBox mandatoryCheckbox = (CheckBox) selectedTableContainer
.getContainerProperty(swModuleType.getId(), DIST_TYPE_MANDATORY).getValue();
mandatoryCheckbox.addValueChangeListener(this::listenerMandatoryCheckboxChanged);
final Item originalItem = originalSelectedTableContainer.addItem(swModuleType.getId());
originalItem.getItemProperty(DIST_TYPE_NAME).setValue(swModuleType.getName());
originalItem.getItemProperty(DIST_TYPE_MANDATORY).setValue(new CheckBox("", mandatory));
} }
@Override @Override
@@ -660,15 +659,8 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
getEditedFields(), i18n); getEditedFields(), i18n);
} }
private Map<String, Boolean> getMandatoryFields() { protected Map<String, Boolean> getMandatoryFields() {
final Map<String, Boolean> requiredFields = new HashMap<>(); final Map<String, Boolean> requiredFields = CommonDialogWindowHelper.getMandatoryFields(getFormLayout());
final Iterator<Component> iterate = getFormLayout().iterator();
while (iterate.hasNext()) {
final Component c = iterate.next();
if (c instanceof AbstractField && ((AbstractField) c).isRequired()) {
requiredFields.put(c.getId(), Boolean.FALSE);
}
}
// Selected SoftwareModulesType // Selected SoftwareModulesType
requiredFields.put(selectedTable.getId(), Boolean.FALSE); requiredFields.put(selectedTable.getId(), Boolean.FALSE);
return requiredFields; return requiredFields;
@@ -718,14 +710,14 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
optiongroup.setId(SPUIDefinitions.CREATE_OPTION_GROUP_DISTRIBUTION_SET_TYPE_ID); optiongroup.setId(SPUIDefinitions.CREATE_OPTION_GROUP_DISTRIBUTION_SET_TYPE_ID);
} }
@Override // @Override
public String getOriginalTypeKey() { // public String getOriginalTypeKey() {
return originalTypeKey; // return originalTypeKey;
} // }
//
@Override // @Override
public void setOriginalTypeKey(final String originalTypeKey) { // public void setOriginalTypeKey(final String originalTypeKey) {
this.originalTypeKey = originalTypeKey; // this.originalTypeKey = originalTypeKey;
} // }
} }

View File

@@ -9,7 +9,6 @@
package org.eclipse.hawkbit.ui.layouts; package org.eclipse.hawkbit.ui.layouts;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map; import java.util.Map;
import javax.annotation.PreDestroy; import javax.annotation.PreDestroy;
@@ -24,6 +23,7 @@ import org.eclipse.hawkbit.ui.colorpicker.ColorPickerHelper;
import org.eclipse.hawkbit.ui.colorpicker.ColorPickerLayout; import org.eclipse.hawkbit.ui.colorpicker.ColorPickerLayout;
import org.eclipse.hawkbit.ui.common.CommonDialogWindow; import org.eclipse.hawkbit.ui.common.CommonDialogWindow;
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
import org.eclipse.hawkbit.ui.utils.CommonDialogWindowHelper;
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.I18N;
import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider;
@@ -38,11 +38,9 @@ import com.vaadin.data.Property.ValueChangeEvent;
import com.vaadin.data.Property.ValueChangeListener; import com.vaadin.data.Property.ValueChangeListener;
import com.vaadin.server.Page; import com.vaadin.server.Page;
import com.vaadin.shared.ui.colorpicker.Color; import com.vaadin.shared.ui.colorpicker.Color;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.Alignment; import com.vaadin.ui.Alignment;
import com.vaadin.ui.Button; import com.vaadin.ui.Button;
import com.vaadin.ui.ComboBox; import com.vaadin.ui.ComboBox;
import com.vaadin.ui.Component;
import com.vaadin.ui.CustomComponent; import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.FormLayout; import com.vaadin.ui.FormLayout;
import com.vaadin.ui.GridLayout; import com.vaadin.ui.GridLayout;
@@ -115,21 +113,9 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
protected void createWindow() { protected void createWindow() {
reset(); reset();
setWindow( setWindow(SPUIComponentProvider.getWindow(i18n.get("caption.add.tag"), null,
SPUIComponentProvider.getWindow(i18n.get("caption.add.tag"), null, SPUIDefinitions.CREATE_UPDATE_WINDOW, SPUIDefinitions.CREATE_UPDATE_WINDOW, this, this::save, this::discard, null,
this, this::save, this::discard, null, getMandatoryFields(), getEditedFields(), i18n)); CommonDialogWindowHelper.getMandatoryFields(formLayout), getEditedFields(), i18n));
}
private Map<String, Boolean> getMandatoryFields() {
final Map<String, Boolean> requiredFields = new HashMap<>();
final Iterator<Component> iterate = formLayout.iterator();
while (iterate.hasNext()) {
final Component c = iterate.next();
if (c instanceof AbstractField && ((AbstractField) c).isRequired()) {
requiredFields.put(c.getId(), null);
}
}
return requiredFields;
} }
protected Map<String, Boolean> getEditedFields() { protected Map<String, Boolean> getEditedFields() {
@@ -344,7 +330,9 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
comboLayout.removeComponent(comboLabel); comboLayout.removeComponent(comboLabel);
comboLayout.removeComponent(tagNameComboBox); comboLayout.removeComponent(tagNameComboBox);
} }
window.reset(); if (window != null) {
window.reset();
}
// close the color picker layout // close the color picker layout
tagPreviewBtnClicked = false; tagPreviewBtnClicked = false;
// reset the selected color - Set default color // reset the selected color - Set default color

View File

@@ -41,7 +41,7 @@ public class CreateUpdateTypeLayout extends AbstractCreateUpdateTagLayout {
protected String createTypeStr; protected String createTypeStr;
protected String updateTypeStr; protected String updateTypeStr;
protected TextField typeKey; protected TextField typeKey;
protected String originalTypeKey; private String originalTypeKey;
public static final String TYPE_NAME_DYNAMIC_STYLE = "new-tag-name"; public static final String TYPE_NAME_DYNAMIC_STYLE = "new-tag-name";
private static final String TYPE_DESC_DYNAMIC_STYLE = "new-tag-desc"; private static final String TYPE_DESC_DYNAMIC_STYLE = "new-tag-desc";

View File

@@ -9,7 +9,6 @@
package org.eclipse.hawkbit.ui.management.dstable; package org.eclipse.hawkbit.ui.management.dstable;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
import java.util.Map; import java.util.Map;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
@@ -27,6 +26,7 @@ import org.eclipse.hawkbit.ui.common.table.BaseEntityEventType;
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent; import org.eclipse.hawkbit.ui.management.event.DistributionTableEvent;
import org.eclipse.hawkbit.ui.management.event.DragEvent; import org.eclipse.hawkbit.ui.management.event.DragEvent;
import org.eclipse.hawkbit.ui.utils.CommonDialogWindowHelper;
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.I18N;
import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider;
@@ -44,10 +44,8 @@ import org.vaadin.spring.events.EventBus;
import com.vaadin.spring.annotation.SpringComponent; import com.vaadin.spring.annotation.SpringComponent;
import com.vaadin.spring.annotation.ViewScope; import com.vaadin.spring.annotation.ViewScope;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.CheckBox; import com.vaadin.ui.CheckBox;
import com.vaadin.ui.ComboBox; import com.vaadin.ui.ComboBox;
import com.vaadin.ui.Component;
import com.vaadin.ui.CustomComponent; import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.FormLayout; import com.vaadin.ui.FormLayout;
import com.vaadin.ui.TextArea; import com.vaadin.ui.TextArea;
@@ -417,25 +415,13 @@ public class DistributionAddUpdateWindowLayout extends CustomComponent {
eventBus.publish(this, DragEvent.HIDE_DROP_HINT); eventBus.publish(this, DragEvent.HIDE_DROP_HINT);
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.new.dist"), null, window = SPUIComponentProvider.getWindow(i18n.get("caption.add.new.dist"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveDistribution(), event -> discardDistribution(), SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveDistribution(), event -> discardDistribution(),
null, getMandatoryFields(), getEditedFields(), i18n); null, CommonDialogWindowHelper.getMandatoryFields(formLayout), getEditedFields(), i18n);
window.getButtonsLayout().removeStyleName("actionButtonsMargin"); window.getButtonsLayout().removeStyleName("actionButtonsMargin");
populateRequiredComponents(); populateRequiredComponents();
resetComponents(); resetComponents();
return window; return window;
} }
private Map<String, Boolean> getMandatoryFields() {
final Map<String, Boolean> requiredFields = new HashMap<>();
final Iterator<Component> iterate = formLayout.iterator();
while (iterate.hasNext()) {
final Component c = iterate.next();
if (c instanceof AbstractField && ((AbstractField) c).isRequired()) {
requiredFields.put(c.getId(), Boolean.FALSE);
}
}
return requiredFields;
}
private Map<String, Boolean> getEditedFields() { private Map<String, Boolean> getEditedFields() {
final Map<String, Boolean> editedFields = new HashMap<>(); final Map<String, Boolean> editedFields = new HashMap<>();
editedFields.put(distsetTypeNameComboBox.getId(), Boolean.FALSE); editedFields.put(distsetTypeNameComboBox.getId(), Boolean.FALSE);

View File

@@ -10,7 +10,6 @@ package org.eclipse.hawkbit.ui.management.targettable;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@@ -23,6 +22,7 @@ import org.eclipse.hawkbit.ui.common.table.BaseEntityEventType;
import org.eclipse.hawkbit.ui.components.SPUIComponentProvider; import org.eclipse.hawkbit.ui.components.SPUIComponentProvider;
import org.eclipse.hawkbit.ui.management.event.DragEvent; import org.eclipse.hawkbit.ui.management.event.DragEvent;
import org.eclipse.hawkbit.ui.management.event.TargetTableEvent; import org.eclipse.hawkbit.ui.management.event.TargetTableEvent;
import org.eclipse.hawkbit.ui.utils.CommonDialogWindowHelper;
import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil; import org.eclipse.hawkbit.ui.utils.HawkbitCommonUtil;
import org.eclipse.hawkbit.ui.utils.I18N; import org.eclipse.hawkbit.ui.utils.I18N;
import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider; import org.eclipse.hawkbit.ui.utils.SPUIComponentIdProvider;
@@ -36,8 +36,6 @@ import org.vaadin.spring.events.EventBus;
import com.vaadin.spring.annotation.SpringComponent; import com.vaadin.spring.annotation.SpringComponent;
import com.vaadin.spring.annotation.VaadinSessionScope; import com.vaadin.spring.annotation.VaadinSessionScope;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.Component;
import com.vaadin.ui.CustomComponent; import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.FormLayout; import com.vaadin.ui.FormLayout;
import com.vaadin.ui.TextArea; import com.vaadin.ui.TextArea;
@@ -194,22 +192,11 @@ public class TargetAddUpdateWindowLayout extends CustomComponent {
eventBus.publish(this, DragEvent.HIDE_DROP_HINT); eventBus.publish(this, DragEvent.HIDE_DROP_HINT);
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.new.target"), null, window = SPUIComponentProvider.getWindow(i18n.get("caption.add.new.target"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveTargetListner(), SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveTargetListner(),
event -> discardTargetListner(), null, getMandatoryFields(), getEditedFields(), i18n); event -> discardTargetListner(), null, CommonDialogWindowHelper.getMandatoryFields(formLayout),
getEditedFields(), i18n);
return window; return window;
} }
private Map<String, Boolean> getMandatoryFields() {
final Map<String, Boolean> requiredFields = new HashMap<>();
final Iterator<Component> iterate = formLayout.iterator();
while (iterate.hasNext()) {
final Component c = iterate.next();
if (c instanceof AbstractField && ((AbstractField) c).isRequired()) {
requiredFields.put(c.getId(), Boolean.FALSE);
}
}
return requiredFields;
}
private Map<String, Boolean> getEditedFields() { private Map<String, Boolean> getEditedFields() {
final Map<String, Boolean> editedFields = new HashMap<>(); final Map<String, Boolean> editedFields = new HashMap<>();
editedFields.put(controllerIDTextField.getId(), Boolean.FALSE); editedFields.put(controllerIDTextField.getId(), Boolean.FALSE);

View File

@@ -0,0 +1,32 @@
package org.eclipse.hawkbit.ui.utils;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.Component;
import com.vaadin.ui.FormLayout;
public class CommonDialogWindowHelper {
/**
* Run through a FormLayout and collect all required Component's IDs in a
* Map
*
* @param formLayout
* Form to be analysed
* @return Map with all required component's IDs
*/
public static Map<String, Boolean> getMandatoryFields(final FormLayout formLayout) {
final Map<String, Boolean> requiredFields = new HashMap<>();
final Iterator<Component> iterate = formLayout.iterator();
while (iterate.hasNext()) {
final Component c = iterate.next();
if (c instanceof AbstractField && ((AbstractField) c).isRequired()) {
requiredFields.put(c.getId(), Boolean.FALSE);
}
}
return requiredFields;
}
}