bug4104: refactoring part 2

This commit is contained in:
D067890 committed 2018-08-20 08:53:02 +02:00
1 parent d38c823eda
commit a19338ab3a
13 files changed
+209 -238

No files matched your search

@@ -6,16 +6,16 @@ import com.sap.sse.common.TimePoint;
public interface RaceLogTagEvent extends RaceLogEvent, Revokable {
String getTag();
String getUsername();
String getComment();
String getImageURL();
String getImageURL();
boolean isVisibleForPublic();
void markAsRevoked(TimePoint revokedAt);
TimePoint getRevokedAt();
}
@@ -57,8 +57,13 @@ public class RaceLogTagEventImpl extends RaceLogEventImpl implements RaceLogTagE
return username;
}
@Override
public boolean isVisibleForPublic() {
return visibleForPublic;
}
/**
* Only sets revokedAt if tag is not already revoked and given timepoint is not null.
* Only sets revokedAt if tag is not already revoked and given TimePoint is not null.
*/
@Override
public void markAsRevoked(TimePoint revokedAt) {
@@ -83,10 +88,6 @@ public class RaceLogTagEventImpl extends RaceLogEventImpl implements RaceLogTagE
}
@Override
public boolean isVisibleForPublic() {
return visibleForPublic;
}
public boolean equals(Object obj) {
if (this == obj)
return true;
@@ -1,37 +0,0 @@
package com.sap.sailing.gwt.ui.client.shared.filter;
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.user.client.ui.ListBox;
import com.sap.sailing.gwt.ui.shared.TagDTO;
import com.sap.sse.common.filter.BinaryOperator;
import com.sap.sse.common.filter.NumberFilter;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
public abstract class AbstractTagNumberFilterUIFactory<T extends Number> implements FilterUIFactory<TagDTO> {
protected List<BinaryOperator.Operators> supportedOperators;
protected BinaryOperator.Operators defaultOperator;
protected NumberFilter<TagDTO, T> tagNumberFilter;
public AbstractTagNumberFilterUIFactory(NumberFilter<TagDTO, T> tagNumberFilter, BinaryOperator.Operators defaultOperator) {
this.tagNumberFilter = tagNumberFilter;
this.defaultOperator = defaultOperator;
supportedOperators = new ArrayList<BinaryOperator.Operators>();
}
protected ListBox createOperatorSelectionListBox(DataEntryDialog<?> dataEntryDialog) {
ListBox operatorsListBox = dataEntryDialog.createListBox(false);
int i = 0;
for (BinaryOperator.Operators op : supportedOperators) {
operatorsListBox.addItem(FilterOperatorsFormatter.format(op), op.name());
if (tagNumberFilter.getOperator() != null && tagNumberFilter.getOperator().getName().equals(op.name())) {
operatorsListBox.setSelectedIndex(i);
} else if (defaultOperator != null && defaultOperator.equals(op)) {
operatorsListBox.setSelectedIndex(i);
}
i++;
}
return operatorsListBox;
}
}
@@ -10,7 +10,7 @@ import com.sap.sse.common.filter.TextOperator;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
public abstract class AbstractTagTextFilterUIFactory implements FilterUIFactory<TagDTO> {
protected List<TextOperator.Operators> supportedOperators;
protected TextOperator.Operators defaultOperator;
protected TextFilter<TagDTO> tagTextFilter;
@@ -24,9 +24,9 @@ public abstract class AbstractTagTextFilterUIFactory implements FilterUIFactory<
protected ListBox createOperatorSelectionListBox(DataEntryDialog<?> dataEntryDialog) {
ListBox operatorsListBox = dataEntryDialog.createListBox(false);
int i = 0;
for(TextOperator.Operators op: supportedOperators) {
for (TextOperator.Operators op : supportedOperators) {
operatorsListBox.addItem(FilterOperatorsFormatter.format(op), op.name());
if(tagTextFilter.getOperator() != null && tagTextFilter.getOperator().getName().equals(op.name())) {
if (tagTextFilter.getOperator() != null && tagTextFilter.getOperator().getName().equals(op.name())) {
operatorsListBox.setSelectedIndex(i);
} else if (defaultOperator != null && defaultOperator.equals(op)) {
operatorsListBox.setSelectedIndex(i);
@@ -36,18 +36,18 @@ public abstract class AbstractTagsFilterSetDialog extends DataEntryDialog<Filter
private Label tagsFiltersGridHeadline;
private Label tagsFiltersGridFooter;
private VerticalPanel mainPanel;
private final List<Widget> filterEditWidgets;
private final List<FilterUIFactory<TagDTO>> filterUIFactories;
private final List<Label> filterNameLabels;
private final List<String> filterNames;
private final List<Button> filterDeleteButtons;
protected static class TagsFilterSetValidator implements Validator<FilterSet<TagDTO, FilterWithUI<TagDTO>>> {
private final StringMessages stringMessages;
private final List<String> existingFilterSetNames;
public TagsFilterSetValidator(List<String> existingFilterSetNames, StringMessages stringMessages){
public TagsFilterSetValidator(List<String> existingFilterSetNames, StringMessages stringMessages) {
super();
this.existingFilterSetNames = existingFilterSetNames;
this.stringMessages = stringMessages;
@@ -57,17 +57,17 @@ public abstract class AbstractTagsFilterSetDialog extends DataEntryDialog<Filter
public String getErrorMessage(FilterSet<TagDTO, FilterWithUI<TagDTO>> tagsFilterSet) {
String errorMessage = null;
int filterCount = tagsFilterSet.getFilters().size();
boolean nameNotEmpty = tagsFilterSet.getName() != null && tagsFilterSet.getName().length() > 0;
boolean nameNotEmpty = tagsFilterSet.getName() != null && !tagsFilterSet.getName().isEmpty();
if (!nameNotEmpty) {
errorMessage = stringMessages.pleaseEnterAName();
} else if (existingFilterSetNames.contains(tagsFilterSet.getName())) {
errorMessage = stringMessages.filterThisNameAlreadyExists();
} else if(filterCount < 1) {
} else if (filterCount < 1) {
errorMessage = stringMessages.addAtLeastOneFilterCriteria();
} else {
for(FilterWithUI<TagDTO> filter: tagsFilterSet.getFilters()) {
for (FilterWithUI<TagDTO> filter : tagsFilterSet.getFilters()) {
errorMessage = filter.validate(stringMessages);
if(errorMessage != null) {
if (errorMessage != null) {
break;
}
}
@@ -78,14 +78,14 @@ public abstract class AbstractTagsFilterSetDialog extends DataEntryDialog<Filter
}
public AbstractTagsFilterSetDialog(FilterSet<TagDTO, FilterWithUI<TagDTO>> tagsFilterSet,
List<String> availableTagFilterNames, List<String> existingFilterSetNames,
String dialogTitle, StringMessages stringMessages, DialogCallback<FilterSet<TagDTO, FilterWithUI<TagDTO>>> callback) {
List<String> availableTagFilterNames, List<String> existingFilterSetNames, String dialogTitle,
StringMessages stringMessages, DialogCallback<FilterSet<TagDTO, FilterWithUI<TagDTO>>> callback) {
super(dialogTitle, null, stringMessages.ok(), stringMessages.cancel(),
new TagsFilterSetValidator(existingFilterSetNames, stringMessages), callback);
this.tagsFilterSet = tagsFilterSet;
this.availableTagFilterNames = availableTagFilterNames;
this.stringMessages = stringMessages;
tagsFiltersGrid = new Grid(0,0);
this.stringMessages = stringMessages;
tagsFiltersGrid = new Grid(0, 0);
tagsFiltersGridHeadline = new Label();
tagsFiltersGridFooter = new Label();
filterEditWidgets = new ArrayList<Widget>();
@@ -96,7 +96,7 @@ public abstract class AbstractTagsFilterSetDialog extends DataEntryDialog<Filter
addFilterButton = new Button(stringMessages.add());
filterListBox = createListBox(false);
}
@Override
protected Widget getAdditionalWidget() {
mainPanel = new VerticalPanel();
@@ -105,7 +105,7 @@ public abstract class AbstractTagsFilterSetDialog extends DataEntryDialog<Filter
mainPanel.add(hPanel);
hPanel.add(new Label(stringMessages.filterName() + ":"));
hPanel.add(filterSetNameTextBox);
filterListBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
@@ -114,7 +114,7 @@ public abstract class AbstractTagsFilterSetDialog extends DataEntryDialog<Filter
});
filterListBox.addItem(stringMessages.selectAFilterCriteria() + "...");
for(String filterName: availableTagFilterNames) {
for (String filterName : availableTagFilterNames) {
FilterWithUI<?> filter = TagFilterWithUIFactory.createFilter(filterName);
filterListBox.addItem(filter.getLocalizedName(stringMessages));
}
@@ -134,13 +134,13 @@ public abstract class AbstractTagsFilterSetDialog extends DataEntryDialog<Filter
updateTagsFiltersGrid(mainPanel);
validateAndUpdate();
}
});
});
mainPanel.add(tagsFiltersGridHeadline);
mainPanel.add(tagsFiltersGrid);
mainPanel.add(tagsFiltersGridFooter);
for(FilterWithUI<TagDTO> existingFilter: tagsFilterSet.getFilters()) {
for (FilterWithUI<TagDTO> existingFilter : tagsFilterSet.getFilters()) {
FilterWithUI<TagDTO> filter = existingFilter.copy();
FilterUIFactory<TagDTO> filterUIFactory = filter.createUIFactory();
filterUIFactories.add(filterUIFactory);
@@ -161,10 +161,10 @@ public abstract class AbstractTagsFilterSetDialog extends DataEntryDialog<Filter
}
private Label createFilterNameAndLabel(FilterWithUI<TagDTO> filter) {
Label filterNameLabel = new Label(filter.getLocalizedName(stringMessages) + ":");
Label filterNameLabel = new Label(filter.getLocalizedName(stringMessages) + ":");
filterNameLabels.add(filterNameLabel);
filterNames.add(filter.getName());
return filterNameLabel;
return filterNameLabel;
}
private Widget createFilterEditWidget(FilterUIFactory<TagDTO> filterUIFactory) {
@@ -174,15 +174,15 @@ public abstract class AbstractTagsFilterSetDialog extends DataEntryDialog<Filter
}
private Button createFilterDeleteButton(FilterWithUI<TagDTO> filter) {
final Button filterDeleteBtn = new Button(stringMessages.delete());
final Button filterDeleteBtn = new Button(stringMessages.delete());
filterDeleteBtn.addStyleName("inlineButton");
filterDeleteButtons.add(filterDeleteBtn);
filterDeleteBtn.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
int index = 0;
for(Button btn: filterDeleteButtons) {
if(filterDeleteBtn == btn) {
for (Button btn : filterDeleteButtons) {
if (filterDeleteBtn == btn) {
break;
}
index++;
@@ -196,9 +196,9 @@ public abstract class AbstractTagsFilterSetDialog extends DataEntryDialog<Filter
validateAndUpdate();
}
});
return filterDeleteBtn;
return filterDeleteBtn;
}
private void updateSelectedFilterInfo() {
Filter<TagDTO> selectedFilter = getFilterFromSelectedFilterName();
if (selectedFilter != null) {
@@ -216,7 +216,7 @@ public abstract class AbstractTagsFilterSetDialog extends DataEntryDialog<Filter
}
return result;
}
private FilterWithUI<TagDTO> getFilterFromSelectedFilterName() {
FilterWithUI<TagDTO> result = null;
int selectedIndex = filterListBox.getSelectedIndex();
@@ -232,35 +232,35 @@ public abstract class AbstractTagsFilterSetDialog extends DataEntryDialog<Filter
}
return result;
}
private void updateTagsFiltersGrid(VerticalPanel parentPanel) {
int widgetIndex = parentPanel.getWidgetIndex(tagsFiltersGrid);
parentPanel.remove(tagsFiltersGrid);
int filterCount = filterNameLabels.size();
boolean showGridHeadline = filterCount >= 1 ? true : false;
boolean showGridFooter = filterCount >= 1 ? true : false;
if(filterCount > 0) {
boolean showGridHeadline = filterCount >= 1 ? true : false;
boolean showGridFooter = filterCount >= 1 ? true : false;
if (filterCount > 0) {
tagsFiltersGrid = new Grid(filterCount, 3);
tagsFiltersGrid.setCellSpacing(4);
tagsFiltersGridHeadline.setVisible(showGridHeadline);
tagsFiltersGridFooter.setVisible(showGridFooter);
if(showGridHeadline) {
if (showGridHeadline) {
tagsFiltersGridHeadline.setText(stringMessages.tagFilterExplanation());
}
if(showGridFooter) {
if (showGridFooter) {
tagsFiltersGridFooter.setText("");
}
for(int i = 0; i < filterCount; i++) {
for (int i = 0; i < filterCount; i++) {
tagsFiltersGrid.setWidget(i, 0, filterNameLabels.get(i));
tagsFiltersGrid.setWidget(i, 1, filterEditWidgets.get(i));
tagsFiltersGrid.setWidget(i, 2, filterDeleteButtons.get(i));
tagsFiltersGrid.getCellFormatter().setVerticalAlignment(i, 0, HasVerticalAlignment.ALIGN_MIDDLE);
tagsFiltersGrid.getCellFormatter().setVerticalAlignment(i, 1, HasVerticalAlignment.ALIGN_MIDDLE);
tagsFiltersGrid.getCellFormatter().setVerticalAlignment(i, 2, HasVerticalAlignment.ALIGN_MIDDLE);
}
}
} else {
tagsFiltersGrid = new Grid(0, 0);
}
@@ -7,24 +7,19 @@ import com.sap.sailing.gwt.ui.shared.TagDTO;
import com.sap.sse.common.filter.Filter;
import com.sap.sse.common.filter.FilterSet;
/**
* @author Julian Rendl (D067890)
*
*/
public class TagFilterSets {
private List<FilterSet<TagDTO, FilterWithUI<TagDTO>>> filterSets;
private FilterSet<TagDTO, FilterWithUI<TagDTO>> activeFilterSet;
public TagFilterSets() {
filterSets = new ArrayList<FilterSet<TagDTO, FilterWithUI<TagDTO>>>();
activeFilterSet = null;
}
public FilterSet<TagDTO, Filter<TagDTO>> getActiveFilterSetWithGeneralizedType() {
FilterSet<TagDTO, Filter<TagDTO>> result = null;
if(activeFilterSet != null) {
if (activeFilterSet != null) {
result = new FilterSet<TagDTO, Filter<TagDTO>>(activeFilterSet.getName());
for (Filter<TagDTO> filter : activeFilterSet.getFilters()) {
result.addFilter(filter);
@@ -32,7 +27,7 @@ public class TagFilterSets {
}
return result;
}
public FilterSet<TagDTO, FilterWithUI<TagDTO>> getActiveFilterSet() {
return activeFilterSet;
}
@@ -47,7 +42,7 @@ public class TagFilterSets {
}
return result;
}
public void setActiveFilterSet(FilterSet<TagDTO, FilterWithUI<TagDTO>> newActiveFilterSet) {
if (newActiveFilterSet != null) {
if (filterSets.contains(newActiveFilterSet)) {
@@ -67,12 +62,12 @@ public class TagFilterSets {
}
public boolean removeFilterSet(FilterSet<TagDTO, FilterWithUI<TagDTO>> filterSet) {
if(filterSet == activeFilterSet) {
if (filterSet == activeFilterSet) {
activeFilterSet = null;
}
return filterSets.remove(filterSet);
}
public List<FilterSet<TagDTO, FilterWithUI<TagDTO>>> getFilterSets() {
return filterSets;
}
@@ -19,7 +19,6 @@ import com.sap.sse.gwt.client.dialog.DataEntryDialog;
/**
* A dialog to create, edit and delete filter sets for tags
* @author Julian Rendl (D067890)
*
*/
public class TagFilterSetsDialog extends DataEntryDialog<TagFilterSets> {
@@ -29,16 +28,16 @@ public class TagFilterSetsDialog extends DataEntryDialog<TagFilterSets> {
private final Button addFilterSetButton;
private Grid tagsFilterSetsGrid;
private VerticalPanel mainPanel;
private final List<String> availableTagFilterNames;
private final List<RadioButton> activeFilterSetRadioButtons;
private final List<Button> editFilterSetButtons;
private final List<Button> deleteFilterSetButtons;
private final List<FilterSet<TagDTO, FilterWithUI<TagDTO>>> filterSets;
private final String ACTIVE_FILTERSET_RADIOBUTTON_GROUPNAME = "ActiveFilterSetRB";
private final String ACTIVE_FILTERSET_RADIOBUTTON_GROUPNAME = "ActiveFilterSetRB";
private final String filterNothingFiltersetName;
protected static class TagsFilterSetsValidator implements Validator<TagFilterSets> {
public TagsFilterSetsValidator() {
super();
@@ -50,12 +49,14 @@ public class TagFilterSetsDialog extends DataEntryDialog<TagFilterSets> {
}
}
public TagFilterSetsDialog(TagFilterSets tagsFilterSets, StringMessages stringMessages, DialogCallback<TagFilterSets> callback) {
super(stringMessages.tagsFilter(), null, stringMessages.ok(), stringMessages.cancel(), new TagsFilterSetsValidator(), callback);
public TagFilterSetsDialog(TagFilterSets tagsFilterSets, StringMessages stringMessages,
DialogCallback<TagFilterSets> callback) {
super(stringMessages.tagsFilter(), null, stringMessages.ok(), stringMessages.cancel(),
new TagsFilterSetsValidator(), callback);
this.tagsFilterSets = tagsFilterSets;
this.stringMessages = stringMessages;
this.stringMessages = stringMessages;
filterNothingFiltersetName = stringMessages.filterNothing();
tagsFilterSetsGrid = new Grid(0,0);
tagsFilterSetsGrid = new Grid(0, 0);
activeFilterSetRadioButtons = new ArrayList<RadioButton>();
editFilterSetButtons = new ArrayList<Button>();
deleteFilterSetButtons = new ArrayList<Button>();
@@ -65,7 +66,7 @@ public class TagFilterSetsDialog extends DataEntryDialog<TagFilterSets> {
availableTagFilterNames.add(TagTagFilter.FILTER_NAME);
availableTagFilterNames.add(TagUsernameFilter.FILTER_NAME);
}
@Override
protected Widget getAdditionalWidget() {
mainPanel = new VerticalPanel();
@@ -101,33 +102,36 @@ public class TagFilterSetsDialog extends DataEntryDialog<TagFilterSets> {
existingFilterSetNames.add(filterSet.getName());
}
CreateTagsFilterSetDialog dialog = new CreateTagsFilterSetDialog(existingFilterSetNames,
availableTagFilterNames, stringMessages, new DialogCallback<FilterSet<TagDTO, FilterWithUI<TagDTO>>>() {
@Override
public void ok(final FilterSet<TagDTO, FilterWithUI<TagDTO>> filterSet) {
createActiveFilterSetRadioButton(filterSet, false);
createEditFilterSetButton(filterSet);
createDeleteFilterSetButton(filterSet);
filterSets.add(filterSet);
updateTagsFilterSetsGrid(mainPanel);
validateAndUpdate();
}
availableTagFilterNames, stringMessages,
new DialogCallback<FilterSet<TagDTO, FilterWithUI<TagDTO>>>() {
@Override
public void ok(final FilterSet<TagDTO, FilterWithUI<TagDTO>> filterSet) {
createActiveFilterSetRadioButton(filterSet, false);
createEditFilterSetButton(filterSet);
createDeleteFilterSetButton(filterSet);
filterSets.add(filterSet);
updateTagsFilterSetsGrid(mainPanel);
validateAndUpdate();
}
@Override
public void cancel() {
}
});
@Override
public void cancel() {
}
});
dialog.show();
}
});
});
return mainPanel;
}
private RadioButton createActiveFilterSetRadioButton(FilterSet<TagDTO, FilterWithUI<TagDTO>> filterSet, boolean isActiveFilterSet) {
RadioButton activeFilterSetRadioButton = createRadioButton(ACTIVE_FILTERSET_RADIOBUTTON_GROUPNAME, filterSet.getName());
private RadioButton createActiveFilterSetRadioButton(FilterSet<TagDTO, FilterWithUI<TagDTO>> filterSet,
boolean isActiveFilterSet) {
RadioButton activeFilterSetRadioButton = createRadioButton(ACTIVE_FILTERSET_RADIOBUTTON_GROUPNAME,
filterSet.getName());
activeFilterSetRadioButton.setValue(isActiveFilterSet);
activeFilterSetRadioButtons.add(activeFilterSetRadioButton);
return activeFilterSetRadioButton;
return activeFilterSetRadioButton;
}
private Button createEditFilterSetButton(final FilterSet<TagDTO, FilterWithUI<TagDTO>> filterSetToEdit) {
@@ -145,38 +149,39 @@ public class TagFilterSetsDialog extends DataEntryDialog<TagFilterSets> {
existingFilterSetNames.add(filterSet.getName());
}
}
EditTagsFilterSetDialog dialog = new EditTagsFilterSetDialog(filterSetToEdit, availableTagFilterNames,
existingFilterSetNames, stringMessages, new DialogCallback<FilterSet<TagDTO, FilterWithUI<TagDTO>>>() {
@Override
public void ok(final FilterSet<TagDTO, FilterWithUI<TagDTO>> changedFilterSet) {
// update the changed filter set
int index = -1;
for (int i = 0; i < filterSets.size(); i++) {
if(filterSetToEditName.equals(filterSets.get(i).getName())) {
index = i;
break;
EditTagsFilterSetDialog dialog = new EditTagsFilterSetDialog(filterSetToEdit, availableTagFilterNames,
existingFilterSetNames, stringMessages,
new DialogCallback<FilterSet<TagDTO, FilterWithUI<TagDTO>>>() {
@Override
public void ok(final FilterSet<TagDTO, FilterWithUI<TagDTO>> changedFilterSet) {
// update the changed filter set
int index = -1;
for (int i = 0; i < filterSets.size(); i++) {
if (filterSetToEditName.equals(filterSets.get(i).getName())) {
index = i;
break;
}
}
boolean isActiveFilterSet = activeFilterSetRadioButtons.get(index).getValue();
activeFilterSetRadioButtons.remove(index);
editFilterSetButtons.remove(index);
deleteFilterSetButtons.remove(index);
filterSets.remove(index);
createActiveFilterSetRadioButton(changedFilterSet, isActiveFilterSet);
createEditFilterSetButton(changedFilterSet);
createDeleteFilterSetButton(changedFilterSet);
filterSets.add(changedFilterSet);
updateTagsFilterSetsGrid(mainPanel);
validateAndUpdate();
}
}
boolean isActiveFilterSet = activeFilterSetRadioButtons.get(index).getValue();
activeFilterSetRadioButtons.remove(index);
editFilterSetButtons.remove(index);
deleteFilterSetButtons.remove(index);
filterSets.remove(index);
createActiveFilterSetRadioButton(changedFilterSet, isActiveFilterSet);
createEditFilterSetButton(changedFilterSet);
createDeleteFilterSetButton(changedFilterSet);
filterSets.add(changedFilterSet);
updateTagsFilterSetsGrid(mainPanel);
validateAndUpdate();
}
@Override
public void cancel() {
}
});
@Override
public void cancel() {
}
});
dialog.show();
}
});
@@ -184,7 +189,7 @@ public class TagFilterSetsDialog extends DataEntryDialog<TagFilterSets> {
}
private Button createDeleteFilterSetButton(FilterSet<TagDTO, FilterWithUI<TagDTO>> filterSet) {
final Button deleteFilterSetBtn = new Button(stringMessages.delete());
final Button deleteFilterSetBtn = new Button(stringMessages.delete());
deleteFilterSetBtn.addStyleName("inlineButton");
deleteFilterSetBtn.setVisible(filterSet.isEditable());
deleteFilterSetButtons.add(deleteFilterSetBtn);
@@ -192,14 +197,14 @@ public class TagFilterSetsDialog extends DataEntryDialog<TagFilterSets> {
@Override
public void onClick(ClickEvent event) {
int index = 0;
for(Button btn: deleteFilterSetButtons) {
if(deleteFilterSetBtn == btn) {
for (Button btn : deleteFilterSetButtons) {
if (deleteFilterSetBtn == btn) {
break;
}
index++;
}
// in case the filter set to delete is the 'active' one, we set the "Filter nothing" filter set 'active'
if(activeFilterSetRadioButtons.get(index).getValue()) {
if (activeFilterSetRadioButtons.get(index).getValue()) {
activeFilterSetRadioButtons.get(0).setValue(true);
}
activeFilterSetRadioButtons.remove(index);
@@ -210,16 +215,16 @@ public class TagFilterSetsDialog extends DataEntryDialog<TagFilterSets> {
validateAndUpdate();
}
});
return deleteFilterSetBtn;
return deleteFilterSetBtn;
}
@Override
protected TagFilterSets getResult() {
TagFilterSets result = new TagFilterSets();
int filterSetCount = activeFilterSetRadioButtons.size();
int filterSetCount = activeFilterSetRadioButtons.size();
for (int i = 0; i < filterSetCount; i++) {
FilterSet<TagDTO, FilterWithUI<TagDTO>> filterSet = filterSets.get(i);
boolean isActiveFilterSet = activeFilterSetRadioButtons.get(i).getValue();
boolean isActiveFilterSet = activeFilterSetRadioButtons.get(i).getValue();
if (!filterSet.getName().equals(filterNothingFiltersetName)) {
result.addFilterSet(filterSet);
if (isActiveFilterSet) {
@@ -234,22 +239,22 @@ public class TagFilterSetsDialog extends DataEntryDialog<TagFilterSets> {
return result;
}
private void updateTagsFilterSetsGrid(VerticalPanel parentPanel) {
int widgetIndex = parentPanel.getWidgetIndex(tagsFilterSetsGrid);
parentPanel.remove(tagsFilterSetsGrid);
int filterCount = activeFilterSetRadioButtons.size();
if(filterCount > 0) {
if (filterCount > 0) {
tagsFilterSetsGrid = new Grid(filterCount, 3);
tagsFilterSetsGrid.setCellSpacing(3);
for(int i = 0; i < filterCount; i++) {
for (int i = 0; i < filterCount; i++) {
tagsFilterSetsGrid.setWidget(i, 0, activeFilterSetRadioButtons.get(i));
tagsFilterSetsGrid.setWidget(i, 1, editFilterSetButtons.get(i));
tagsFilterSetsGrid.setWidget(i, 2, deleteFilterSetButtons.get(i));
tagsFilterSetsGrid.getCellFormatter().setVerticalAlignment(i , 0 , HasVerticalAlignment.ALIGN_MIDDLE);
tagsFilterSetsGrid.getCellFormatter().setVerticalAlignment(i , 1 , HasVerticalAlignment.ALIGN_MIDDLE);
tagsFilterSetsGrid.getCellFormatter().setVerticalAlignment(i , 2 , HasVerticalAlignment.ALIGN_MIDDLE);
tagsFilterSetsGrid.getCellFormatter().setVerticalAlignment(i, 0, HasVerticalAlignment.ALIGN_MIDDLE);
tagsFilterSetsGrid.getCellFormatter().setVerticalAlignment(i, 1, HasVerticalAlignment.ALIGN_MIDDLE);
tagsFilterSetsGrid.getCellFormatter().setVerticalAlignment(i, 2, HasVerticalAlignment.ALIGN_MIDDLE);
}
} else {
tagsFilterSetsGrid = new Grid(0, 0);
@@ -3,14 +3,13 @@ package com.sap.sailing.gwt.ui.client.shared.filter;
import com.sap.sailing.gwt.ui.shared.TagDTO;
/**
* A factory for FilterWithUI<Tag> instances
* @author Julian Rendl (D067890)
* A factory for FilterWithUI<Tag> instances
*/
public class TagFilterWithUIFactory {
public static FilterWithUI<TagDTO> createFilter(String filterName) {
if(TagUsernameFilter.FILTER_NAME.equals(filterName)) {
if (TagUsernameFilter.FILTER_NAME.equals(filterName)) {
return new TagUsernameFilter();
} else if(TagTagFilter.FILTER_NAME.equals(filterName)) {
} else if (TagTagFilter.FILTER_NAME.equals(filterName)) {
return new TagTagFilter();
} else {
throw new UnsupportedOperationException();
@@ -18,43 +18,44 @@ public class TagTagFilter extends AbstractTextFilter<TagDTO> implements FilterWi
@Override
public boolean matches(TagDTO tag) {
if(value != null && operator != null) {
boolean result = false;
if (value != null && operator != null) {
switch (operator.getOperator()) {
case Contains:
if(tag.getTag().contains(value)) {
return true;
if (tag.getTag().contains(value)) {
result = true;
}
break;
case Equals:
if(tag.getTag().equals(value)) {
return true;
if (tag.getTag().equals(value)) {
result = true;
}
break;
case NotContains:
if(!tag.getTag().contains(value)) {
return true;
if (!tag.getTag().contains(value)) {
result = true;
}
break;
case NotEqualTo:
if(!tag.getTag().equals(value)) {
return true;
if (!tag.getTag().equals(value)) {
result = true;
}
break;
case EndsWith:
if(tag.getTag().endsWith(value)) {
return true;
if (tag.getTag().endsWith(value)) {
result = true;
}
break;
case StartsWith:
if(tag.getTag().startsWith(value)) {
return true;
if (tag.getTag().startsWith(value)) {
result = true;
}
break;
default:
throw new RuntimeException("Operator " + operator.getOperator().name() + " is not supported.");
default:
throw new RuntimeException("Operator " + operator.getOperator().name() + " is not supported.");
}
}
return false;
return result;
}
@Override
@@ -86,9 +87,9 @@ public class TagTagFilter extends AbstractTextFilter<TagDTO> implements FilterWi
@Override
public String validate(StringMessages stringMessages) {
String errorMessage = null;
if(value == null) {
if (value == null) {
errorMessage = stringMessages.pleaseEnterAValue();
}
}
return errorMessage;
}
@@ -8,7 +8,7 @@ import com.sap.sailing.gwt.ui.shared.TagDTO;
import com.sap.sse.common.filter.TextOperator;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
public class TagTagFilterUIFactory extends AbstractTagTextFilterUIFactory {
public class TagTagFilterUIFactory extends AbstractTagTextFilterUIFactory {
private TextBox valueTextBox;
private ListBox operatorSelectionListBox;
@@ -18,19 +18,19 @@ public class TagTagFilterUIFactory extends AbstractTagTextFilterUIFactory {
public TagTagFilterUIFactory(TagTagFilter tagTagFilter) {
super(tagTagFilter, TextOperator.Operators.Equals);
supportedOperators.add(TextOperator.Operators.Equals);
supportedOperators.add(TextOperator.Operators.NotEqualTo);
supportedOperators.add(TextOperator.Operators.Contains);
supportedOperators.add(TextOperator.Operators.NotContains);
supportedOperators.add(TextOperator.Operators.StartsWith);
supportedOperators.add(TextOperator.Operators.EndsWith);
valueTextBox = null;
operatorSelectionListBox = null;
}
@Override
@Override
public Widget createFilterUIWidget(DataEntryDialog<?> dataEntryDialog) {
HorizontalPanel hp = new HorizontalPanel();
hp.add(createOperatorSelectionWidget(dataEntryDialog));
@@ -40,7 +40,7 @@ public class TagTagFilterUIFactory extends AbstractTagTextFilterUIFactory {
}
private Widget createValueInputWidget(DataEntryDialog<?> dataEntryDialog) {
if(valueTextBox == null) {
if (valueTextBox == null) {
valueTextBox = dataEntryDialog.createTextBox(tagTextFilter.getValue());
valueTextBox.setVisibleLength(20);
valueTextBox.setFocus(true);
@@ -49,7 +49,7 @@ public class TagTagFilterUIFactory extends AbstractTagTextFilterUIFactory {
}
private Widget createOperatorSelectionWidget(DataEntryDialog<?> dataEntryDialog) {
if(operatorSelectionListBox == null) {
if (operatorSelectionListBox == null) {
operatorSelectionListBox = createOperatorSelectionListBox(dataEntryDialog);
}
return operatorSelectionListBox;
@@ -58,9 +58,10 @@ public class TagTagFilterUIFactory extends AbstractTagTextFilterUIFactory {
@Override
public FilterWithUI<TagDTO> createFilterFromUI() {
TagTagFilter result = null;
if(valueTextBox != null && operatorSelectionListBox != null) {
if (valueTextBox != null && operatorSelectionListBox != null) {
result = new TagTagFilter();
TextOperator.Operators op = TextOperator.Operators.valueOf(operatorSelectionListBox.getValue(operatorSelectionListBox.getSelectedIndex()));
TextOperator.Operators op = TextOperator.Operators
.valueOf(operatorSelectionListBox.getValue(operatorSelectionListBox.getSelectedIndex()));
TextOperator textOperator = new TextOperator(op);
result.setOperator(textOperator);
result.setValue(valueTextBox.getValue());
@@ -6,6 +6,7 @@ import com.sap.sse.common.filter.AbstractTextFilter;
/**
* A filter filtering tags by the name of their author
*
* @author Julian Rendl (D067890)
*
*/
@@ -17,43 +18,44 @@ public class TagUsernameFilter extends AbstractTextFilter<TagDTO> implements Fil
@Override
public boolean matches(TagDTO tag) {
if(value != null && operator != null) {
boolean result = false;
if (value != null && operator != null) {
switch (operator.getOperator()) {
case Contains:
if(tag.getUsername().contains(value)) {
return true;
if (tag.getUsername().contains(value)) {
result = true;
}
break;
case Equals:
if(tag.getUsername().equals(value)) {
return true;
if (tag.getUsername().equals(value)) {
result = true;
}
break;
case NotContains:
if(!tag.getUsername().contains(value)) {
return true;
if (!tag.getUsername().contains(value)) {
result = true;
}
break;
case NotEqualTo:
if(!tag.getUsername().equals(value)) {
return true;
if (!tag.getUsername().equals(value)) {
result = true;
}
break;
case EndsWith:
if(tag.getUsername().endsWith(value)) {
return true;
if (tag.getUsername().endsWith(value)) {
result = true;
}
break;
case StartsWith:
if(tag.getUsername().startsWith(value)) {
return true;
if (tag.getUsername().startsWith(value)) {
result = true;
}
break;
default:
throw new RuntimeException("Operator " + operator.getOperator().name() + " is not supported.");
default:
throw new RuntimeException("Operator " + operator.getOperator().name() + " is not supported.");
}
}
return false;
return result;
}
@Override
@@ -78,12 +80,12 @@ public class TagUsernameFilter extends AbstractTextFilter<TagDTO> implements Fil
@Override
public String validate(StringMessages stringMessages) {
String errorMessage = null;
if(value == null) {
if (value == null) {
errorMessage = stringMessages.pleaseEnterAValue();
}
}
return errorMessage;
}
@Override
public TagUsernameFilter copy() {
TagUsernameFilter result = new TagUsernameFilter();
@@ -18,19 +18,19 @@ public class TagUsernameFilterUIFactory extends AbstractTagTextFilterUIFactory {
public TagUsernameFilterUIFactory(TagUsernameFilter tagUsernameFilter) {
super(tagUsernameFilter, TextOperator.Operators.Equals);
supportedOperators.add(TextOperator.Operators.Equals);
supportedOperators.add(TextOperator.Operators.NotEqualTo);
supportedOperators.add(TextOperator.Operators.Contains);
supportedOperators.add(TextOperator.Operators.NotContains);
supportedOperators.add(TextOperator.Operators.StartsWith);
supportedOperators.add(TextOperator.Operators.EndsWith);
valueTextBox = null;
operatorSelectionListBox = null;
}
@Override
@Override
public Widget createFilterUIWidget(DataEntryDialog<?> dataEntryDialog) {
HorizontalPanel hp = new HorizontalPanel();
hp.add(createOperatorSelectionWidget(dataEntryDialog));
@@ -40,7 +40,7 @@ public class TagUsernameFilterUIFactory extends AbstractTagTextFilterUIFactory {
}
private Widget createValueInputWidget(DataEntryDialog<?> dataEntryDialog) {
if(valueTextBox == null) {
if (valueTextBox == null) {
valueTextBox = dataEntryDialog.createTextBox(tagTextFilter.getValue());
valueTextBox.setVisibleLength(20);
valueTextBox.setFocus(true);
@@ -49,7 +49,7 @@ public class TagUsernameFilterUIFactory extends AbstractTagTextFilterUIFactory {
}
private Widget createOperatorSelectionWidget(DataEntryDialog<?> dataEntryDialog) {
if(operatorSelectionListBox == null) {
if (operatorSelectionListBox == null) {
operatorSelectionListBox = createOperatorSelectionListBox(dataEntryDialog);
}
return operatorSelectionListBox;
@@ -58,7 +58,7 @@ public class TagUsernameFilterUIFactory extends AbstractTagTextFilterUIFactory {
@Override
public FilterWithUI<TagDTO> createFilterFromUI() {
TagUsernameFilter result = null;
if(valueTextBox != null && operatorSelectionListBox != null) {
if (valueTextBox != null && operatorSelectionListBox != null) {
result = new TagUsernameFilter();
TextOperator.Operators op = TextOperator.Operators.valueOf(operatorSelectionListBox.getValue(operatorSelectionListBox.getSelectedIndex()));
TextOperator textOperator = new TextOperator(op);
@@ -21,7 +21,9 @@ public class TagsFilterSetsJsonDeSerializer implements GwtJsonDeSerializer<TagFi
@Override
public JSONObject serialize(TagFilterSets filterSets) {
JSONObject result = new JSONObject();
result.put(FIELD_ACTIVE_FILTERSET, filterSets.getActiveFilterSet() != null ? new JSONString(filterSets.getActiveFilterSet().getName()) : JSONNull.getInstance());
result.put(FIELD_ACTIVE_FILTERSET,
filterSets.getActiveFilterSet() != null ? new JSONString(filterSets.getActiveFilterSet().getName())
: JSONNull.getInstance());
JSONArray filterSetArray = new JSONArray();
result.put(FIELD_FILTERSETS, filterSetArray);
int i = 0;
@@ -35,10 +37,10 @@ public class TagsFilterSetsJsonDeSerializer implements GwtJsonDeSerializer<TagFi
JSONArray filterArray = new JSONArray();
filterSetObject.put(FIELD_FILTERS, filterArray);
int j = 0;
for (FilterWithUI<TagDTO> filter: filterSet.getFilters()) {
for (FilterWithUI<TagDTO> filter : filterSet.getFilters()) {
// Remark: other filter types than ValueFilter's are not stored right now
if(filter instanceof ValueFilter<?,?>) {
ValueFilter<?,?> valueFilter = (ValueFilter<?,?>) filter;
if (filter instanceof ValueFilter<?, ?>) {
ValueFilter<?, ?> valueFilter = (ValueFilter<?, ?>) filter;
JSONObject filterObject = ValueFilterJsonDeSerializerUtil.serialize(valueFilter);
filterArray.set(j++, filterObject);
}
@@ -47,7 +49,7 @@ public class TagsFilterSetsJsonDeSerializer implements GwtJsonDeSerializer<TagFi
}
return result;
}
@Override
public TagFilterSets deserialize(JSONObject rootObject) {
TagFilterSets result = null;
@@ -68,11 +70,13 @@ public class TagsFilterSetsJsonDeSerializer implements GwtJsonDeSerializer<TagFi
FilterSet<TagDTO, FilterWithUI<TagDTO>> filterSet = new FilterSet<>(filterSetNameValue.stringValue());
filterSet.setEditable(filterSetIsEditableValue.booleanValue());
result.addFilterSet(filterSet);
JSONArray filterArray = (JSONArray) filterSetValue.get(FIELD_FILTERS);
for(int j = 0; j < filterArray.size(); j++) {
JSONArray filterArray = (JSONArray) filterSetValue.get(FIELD_FILTERS);
for (int j = 0; j < filterArray.size(); j++) {
JSONObject filterObject = (JSONObject) filterArray.get(j);
JSONString filterType = (JSONString) filterObject.get(ValueFilterJsonDeSerializerUtil.FIELD_FILTER_TYPE);
if (filterType != null && ValueFilterJsonDeSerializerUtil.VALUE_FILTER_TYPE.equals(filterType.stringValue())) {
JSONString filterType = (JSONString) filterObject
.get(ValueFilterJsonDeSerializerUtil.FIELD_FILTER_TYPE);
if (filterType != null
&& ValueFilterJsonDeSerializerUtil.VALUE_FILTER_TYPE.equals(filterType.stringValue())) {
FilterWithUI<TagDTO> filterWithUI = TagValueFilterJsonDeSerializerUtil.deserialize(filterObject);
if (filterWithUI != null) {
filterSet.addFilter(filterWithUI);
@@ -82,7 +86,7 @@ public class TagsFilterSetsJsonDeSerializer implements GwtJsonDeSerializer<TagFi
}
// finally set the active filter set
if (activeFilterSetName != null) {
for (FilterSet<TagDTO, FilterWithUI<TagDTO>> filterSet: result.getFilterSets()) {
for (FilterSet<TagDTO, FilterWithUI<TagDTO>> filterSet : result.getFilterSets()) {
if (activeFilterSetName.equals(filterSet.getName())) {
result.setActiveFilterSet(filterSet);
break;