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.util.HashMap;
import java.util.Iterator;
import java.util.Map;
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.table.BaseEntityEventType;
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.I18N;
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.ViewScope;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.Component;
import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.FormLayout;
import com.vaadin.ui.Label;
@@ -229,23 +227,11 @@ public class SoftwareModuleAddUpdateWindow extends CustomComponent implements Se
/* add main layout to the window */
window = SPUIComponentProvider.getWindow(i18n.get("upload.caption.add.new.swmodule"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveOrUpdate(), event -> closeThisWindow(), null,
getMandatoryFields(formLayout), geEditedFields(), i18n);
CommonDialogWindowHelper.getMandatoryFields(formLayout), geEditedFields(), i18n);
window.getButtonsLayout().removeStyleName("actionButtonsMargin");
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() {
final Map<String, Boolean> editedFields = new HashMap<>();
editedFields.put(typeComboBox.getId(), Boolean.FALSE);

View File

@@ -9,10 +9,7 @@
package org.eclipse.hawkbit.ui.artifacts.smtype;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
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.components.SPUIComponentProvider;
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.SPUIDefinitions;
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.spring.annotation.SpringComponent;
import com.vaadin.spring.annotation.ViewScope;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.Alignment;
import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Component;
import com.vaadin.ui.Label;
import com.vaadin.ui.OptionGroup;
import com.vaadin.ui.components.colorpicker.ColorChangeListener;
@@ -125,20 +121,8 @@ public class CreateUpdateSoftwareTypeLayout extends CreateUpdateTypeLayout
public void createWindow() {
reset();
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.type"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, this::save, this::discard, null, getMandatoryFields(),
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;
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, this::save, this::discard, null,
CommonDialogWindowHelper.getMandatoryFields(getFormLayout()), getEditedFields(), i18n);
}
/**

View File

@@ -127,7 +127,7 @@ public class CommonDialogWindow extends Window implements Serializable {
public void checkMandatoryEditedTextField(final TextChangeEvent event, final String originalValue) {
final Component component = event.getComponent();
if (!(component instanceof AbstractComponent)) {
throw new IllegalStateException("Only AbstractComponent are allowed");
throw new IllegalStateException("Only AbstractComponents are allowed");
}
if (requiredFields.containsKey(component.getId())) {
@@ -155,10 +155,10 @@ public class CommonDialogWindow extends Window implements Serializable {
if (requiredFields.containsKey(component.getId())) {
setRequiredFieldChangeValue(component, isChangedValueNotNull);
}
if (event.getProperty().getValue() != null) {
checkChanges(component.getId(), event.getProperty().getValue().toString(), originalValue);
} else {
if (event.getProperty().getValue() == null) {
checkChanges(component.getId(), null, originalValue);
} else {
checkChanges(component.getId(), event.getProperty().getValue().toString(), originalValue);
}
checkSaveButtonEnabled();
}
@@ -392,12 +392,4 @@ public class CommonDialogWindow extends Window implements Serializable {
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.DistributionSetTypeEnum;
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.SPUIDefinitions;
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.spring.annotation.SpringComponent;
import com.vaadin.spring.annotation.ViewScope;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.AbstractSelect.ItemDescriptionGenerator;
import com.vaadin.ui.Alignment;
import com.vaadin.ui.Button;
@@ -91,8 +91,6 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
private IndexedContainer originalSelectedTableContainer;
private String originalTypeKey;
@Override
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"),
true, SPUILabelDefinitions.TEXT_FIELD_MAX_LENGTH);
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));
tagDesc = SPUIComponentProvider.getTextArea(i18n.get("textfield.description"), "",
@@ -268,24 +266,26 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
private void addSMType() {
final Set<Long> selectedIds = (Set<Long>) sourceTable.getValue();
if (selectedIds != null && !selectedIds.isEmpty()) {
for (final Long id : selectedIds) {
addTargetTableData(id);
}
window.updateRequiredFields(selectedTable.getId(), hasContentChanged());
if (selectedIds == null) {
return;
}
for (final Long id : selectedIds) {
addTargetTableData(id);
}
window.updateRequiredFields(selectedTable.getId(), hasContentChanged());
}
private void removeSMType() {
@SuppressWarnings("unchecked")
final Set<Long> selectedIds = (Set<Long>) selectedTable.getValue();
if (selectedIds != null && !selectedIds.isEmpty()) {
for (final Long id : selectedIds) {
addSourceTableData(id);
selectedTable.removeItem(id);
window.updateRequiredFields(selectedTable.getId(), hasContentChanged());
}
if (selectedIds == null) {
return;
}
for (final Long id : selectedIds) {
addSourceTableData(id);
selectedTable.removeItem(id);
window.updateRequiredFields(selectedTable.getId(), hasContentChanged());
}
}
@@ -294,6 +294,7 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
if (originalSelectedTableContainer == null) {
originalSelectedTableContainer = new IndexedContainer();
}
// is new softwareModule added?
for (final Iterator itemIterator = selectedTableContainer.getItemIds().iterator(); itemIterator.hasNext();) {
final long itemId = (Long) itemIterator.next();
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
.hasNext();) {
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;
}
@@ -621,20 +620,20 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
@SuppressWarnings("unchecked")
private void addTargetTableforUpdate(final SoftwareModuleType swModuleType, final boolean mandatory) {
Item saveTblitem;
if (selectedTableContainer != null) {
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));
if (selectedTableContainer == null) {
return;
}
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
@@ -660,15 +659,8 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
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);
}
}
protected Map<String, Boolean> getMandatoryFields() {
final Map<String, Boolean> requiredFields = CommonDialogWindowHelper.getMandatoryFields(getFormLayout());
// Selected SoftwareModulesType
requiredFields.put(selectedTable.getId(), Boolean.FALSE);
return requiredFields;
@@ -718,14 +710,14 @@ public class CreateUpdateDistSetTypeLayout extends CreateUpdateTypeLayout
optiongroup.setId(SPUIDefinitions.CREATE_OPTION_GROUP_DISTRIBUTION_SET_TYPE_ID);
}
@Override
public String getOriginalTypeKey() {
return originalTypeKey;
}
@Override
public void setOriginalTypeKey(final String originalTypeKey) {
this.originalTypeKey = originalTypeKey;
}
// @Override
// public String getOriginalTypeKey() {
// return originalTypeKey;
// }
//
// @Override
// public void setOriginalTypeKey(final String originalTypeKey) {
// this.originalTypeKey = originalTypeKey;
// }
}

View File

@@ -9,7 +9,6 @@
package org.eclipse.hawkbit.ui.layouts;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
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.common.CommonDialogWindow;
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.I18N;
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.server.Page;
import com.vaadin.shared.ui.colorpicker.Color;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.Alignment;
import com.vaadin.ui.Button;
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.Component;
import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.FormLayout;
import com.vaadin.ui.GridLayout;
@@ -115,21 +113,9 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
protected void createWindow() {
reset();
setWindow(
SPUIComponentProvider.getWindow(i18n.get("caption.add.tag"), null, SPUIDefinitions.CREATE_UPDATE_WINDOW,
this, this::save, this::discard, null, getMandatoryFields(), 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;
setWindow(SPUIComponentProvider.getWindow(i18n.get("caption.add.tag"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, this::save, this::discard, null,
CommonDialogWindowHelper.getMandatoryFields(formLayout), getEditedFields(), i18n));
}
protected Map<String, Boolean> getEditedFields() {
@@ -344,7 +330,9 @@ public abstract class AbstractCreateUpdateTagLayout extends CustomComponent
comboLayout.removeComponent(comboLabel);
comboLayout.removeComponent(tagNameComboBox);
}
window.reset();
if (window != null) {
window.reset();
}
// close the color picker layout
tagPreviewBtnClicked = false;
// reset the selected color - Set default color

View File

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

View File

@@ -9,7 +9,6 @@
package org.eclipse.hawkbit.ui.management.dstable;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
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.management.event.DistributionTableEvent;
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.I18N;
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.ViewScope;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.CheckBox;
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.Component;
import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.FormLayout;
import com.vaadin.ui.TextArea;
@@ -417,25 +415,13 @@ public class DistributionAddUpdateWindowLayout extends CustomComponent {
eventBus.publish(this, DragEvent.HIDE_DROP_HINT);
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.new.dist"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveDistribution(), event -> discardDistribution(),
null, getMandatoryFields(), getEditedFields(), i18n);
null, CommonDialogWindowHelper.getMandatoryFields(formLayout), getEditedFields(), i18n);
window.getButtonsLayout().removeStyleName("actionButtonsMargin");
populateRequiredComponents();
resetComponents();
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() {
final Map<String, Boolean> editedFields = new HashMap<>();
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.HashSet;
import java.util.Iterator;
import java.util.Map;
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.management.event.DragEvent;
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.I18N;
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.VaadinSessionScope;
import com.vaadin.ui.AbstractField;
import com.vaadin.ui.Component;
import com.vaadin.ui.CustomComponent;
import com.vaadin.ui.FormLayout;
import com.vaadin.ui.TextArea;
@@ -194,22 +192,11 @@ public class TargetAddUpdateWindowLayout extends CustomComponent {
eventBus.publish(this, DragEvent.HIDE_DROP_HINT);
window = SPUIComponentProvider.getWindow(i18n.get("caption.add.new.target"), null,
SPUIDefinitions.CREATE_UPDATE_WINDOW, this, event -> saveTargetListner(),
event -> discardTargetListner(), null, getMandatoryFields(), getEditedFields(), i18n);
event -> discardTargetListner(), null, CommonDialogWindowHelper.getMandatoryFields(formLayout),
getEditedFields(), i18n);
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() {
final Map<String, Boolean> editedFields = new HashMap<>();
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;
}
}