From c04cfc745df1e599b006be893aeadc8c8db139fb Mon Sep 17 00:00:00 2001 From: D067890 Date: Mon, 10 Sep 2018 15:08:55 +0200 Subject: [PATCH] bug4104: bugfixing and code improvements --- .../filter/TagFilterSetsJsonDeSerializer.java | 2 + .../gwt/ui/raceboard/tagging/TagButton.java | 6 +- .../ui/raceboard/tagging/TagFilterLabel.java | 2 +- .../ui/raceboard/tagging/TagFilterPanel.java | 70 ++++++------------- .../ui/raceboard/tagging/TagListProvider.java | 2 +- 5 files changed, 27 insertions(+), 55 deletions(-) diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/TagFilterSetsJsonDeSerializer.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/TagFilterSetsJsonDeSerializer.java index 762e7a05aea..4f2ae7db2af 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/TagFilterSetsJsonDeSerializer.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/shared/filter/TagFilterSetsJsonDeSerializer.java @@ -94,6 +94,8 @@ public class TagFilterSetsJsonDeSerializer implements GwtJsonDeSerializer>("TEst")); return result; } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagButton.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagButton.java index f7f0a89f6e2..5783026ddc8 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagButton.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagButton.java @@ -1,7 +1,5 @@ package com.sap.sailing.gwt.ui.raceboard.tagging; -import java.io.Serializable; - import com.google.gwt.user.client.ui.Button; import com.sap.sailing.gwt.ui.raceboard.tagging.TagPanelResources.TagPanelStyle; @@ -10,9 +8,7 @@ import com.sap.sailing.gwt.ui.raceboard.tagging.TagPanelResources.TagPanelStyle; * as buttons for quick and easy access. Clicking on tag-buttons does not have any effect until click listener gets * added manually! See example at {@link TaggingPanel#addTagButton(TagButton) addTagButton()}. */ -public class TagButton extends Button implements Serializable { - - private static final long serialVersionUID = -722157125410637316L; +public class TagButton extends Button{ private final TagPanelStyle style = TagPanelResources.INSTANCE.style(); diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagFilterLabel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagFilterLabel.java index e79eba47597..29dde817b79 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagFilterLabel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagFilterLabel.java @@ -41,7 +41,7 @@ public class TagFilterLabel extends Label { * current selected filter */ public void update(FilterSet> tagFilterSet) { - if (tagFilterSet != null && !tagFilterSet.getName().isEmpty()) { + if (tagFilterSet != null && tagFilterSet.getName() != null && !tagFilterSet.getName().isEmpty()) { setText(stringMessages.tagCurrentFilter() + " " + tagFilterSet.getName()); removeStyleName(style.hidden()); } else { diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagFilterPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagFilterPanel.java index 9a70d463da8..dae2d660346 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagFilterPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagFilterPanel.java @@ -16,7 +16,6 @@ import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Panel; import com.google.gwt.user.client.ui.TextBox; import com.sap.sailing.gwt.ui.client.StringMessages; -import com.sap.sailing.gwt.ui.client.shared.filter.FilterUIFactory; import com.sap.sailing.gwt.ui.client.shared.filter.FilterWithUI; import com.sap.sailing.gwt.ui.client.shared.filter.TagFilterSets; import com.sap.sailing.gwt.ui.client.shared.filter.TagFilterSetsDialog; @@ -35,7 +34,7 @@ import com.sap.sse.security.ui.client.UserService; /** * Panel used to select and modify tag filter. */ -public class TagFilterPanel extends FlowPanel implements KeyUpHandler, FilterWithUI { +public class TagFilterPanel extends FlowPanel implements KeyUpHandler, Filter { private final static String LOCAL_STORAGE_TAGS_FILTER_SETS_KEY = "sailingAnalytics.raceBoard.tagsFilterSets"; @@ -46,7 +45,7 @@ public class TagFilterPanel extends FlowPanel implements KeyUpHandler, FilterWit private final UserService userService; private final TagListProvider tagListProvider; - private final TagFilterSets tagFilterSets; + private TagFilterSets tagFilterSets; private final TextBox searchTextBox; private final Button clearTextBoxButton, filterSettingsButton; private final AbstractListFilter filter; @@ -138,8 +137,7 @@ public class TagFilterPanel extends FlowPanel implements KeyUpHandler, FilterWit TagFilterSetsDialog tagsFilterSetsDialog = new TagFilterSetsDialog(tagFilterSets, stringMessages, new DialogCallback() { @Override - public void cancel() { - } + public void cancel() {} @Override public void ok(final TagFilterSets newTagFilterSets) { @@ -148,8 +146,6 @@ public class TagFilterPanel extends FlowPanel implements KeyUpHandler, FilterWit tagFilterSets.setActiveFilterSet(newTagFilterSets.getActiveFilterSet()); tagListProvider.setCurrentFilterSet(newTagFilterSets.getActiveFilterSetWithGeneralizedType()); - tagListProvider.updateFilteredTags(); - tagListProvider.refresh(); updateTagFilterControlState(newTagFilterSets); if (userService.getCurrentUser() != null) { @@ -197,9 +193,7 @@ public class TagFilterPanel extends FlowPanel implements KeyUpHandler, FilterWit if (userService.getCurrentUser() != null) { userService.getPreference(LOCAL_STORAGE_TAGS_FILTER_SETS_KEY, new AsyncCallback() { @Override - public void onFailure(Throwable caught) { - // do nothing - } + public void onFailure(Throwable caught) {} @Override public void onSuccess(String result) { @@ -208,15 +202,15 @@ public class TagFilterPanel extends FlowPanel implements KeyUpHandler, FilterWit final TagFilterSetsJsonDeSerializer deserializer = new TagFilterSetsJsonDeSerializer(); final JSONValue value = JSONParser.parseStrict(result); if (value.isObject() != null) { - for (FilterSet> filterSet : deserializer - .deserialize((JSONObject) value).getFilterSets()) { - tagFilterSets.addFilterSet(filterSet); - } + tagFilterSets = deserializer.deserialize((JSONObject) value); tagListProvider.setCurrentFilterSet(tagFilterSets.getActiveFilterSetWithGeneralizedType()); } - } else { - tagListProvider.setCurrentFilterSet(null); } + else { + tagFilterSets = new TagFilterSets(); + tagListProvider.setCurrentFilterSet(null); + } + tagFilterSets.toString(); } }); } else { @@ -258,15 +252,19 @@ public class TagFilterPanel extends FlowPanel implements KeyUpHandler, FilterWit /** * Adds {@link TagFilterPanel} to applied filters at {@link TagListProvider} to apply searchbox filter. */ - private void ensureSetSearchFilter() { - if (tagListProvider.getTagFilterSet() == null - || !Util.contains(tagListProvider.getTagFilterSet().getFilters(), this)) { - FilterSet> newFilterSetWithThis = new FilterSet<>(getName()); - if (tagListProvider.getTagFilterSet() != null) { - for (Filter oldFilter : tagListProvider.getTagFilterSet().getFilters()) { + private void ensureSearchFilterIsSet() { + FilterSet> tagProviderFilterSet = tagListProvider.getTagFilterSet(); + if (tagProviderFilterSet == null || !Util.contains(tagProviderFilterSet.getFilters(), this)) { + FilterSet> newFilterSetWithThis; + if (tagProviderFilterSet != null) { + newFilterSetWithThis = new FilterSet<>(tagProviderFilterSet.getName()); + for (Filter oldFilter : tagProviderFilterSet.getFilters()) { newFilterSetWithThis.addFilter(oldFilter); } } + else { + newFilterSetWithThis = new FilterSet<>(null); + } newFilterSetWithThis.addFilter(this); tagListProvider.setCurrentFilterSet(newFilterSetWithThis); } @@ -308,30 +306,6 @@ public class TagFilterPanel extends FlowPanel implements KeyUpHandler, FilterWit return null; } - @Override - public String validate(StringMessages stringMessages) { - return null; - } - - @Override - public String getLocalizedName(StringMessages stringMessages) { - return getName(); - } - - @Override - public String getLocalizedDescription(StringMessages stringMessages) { - return getName(); - } - - @Override - public FilterWithUI copy() { - return null; - } - - @Override - public FilterUIFactory createUIFactory() { - return null; - } /** * Applies filter entered by using search textbox to filterset. @@ -348,8 +322,8 @@ public class TagFilterPanel extends FlowPanel implements KeyUpHandler, FilterWit } else { if (newValue.length() >= 2) { clearTextBoxButton.removeStyleName(style.tagFilterHiddenButton()); - ensureSetSearchFilter(); - tagListProvider.setCurrentFilterSet(tagListProvider.getTagFilterSet()); // + ensureSearchFilterIsSet(); + tagListProvider.setCurrentFilterSet(tagListProvider.getTagFilterSet()); } } } diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagListProvider.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagListProvider.java index 17a7f29a4f4..46323b79767 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagListProvider.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/raceboard/tagging/TagListProvider.java @@ -111,8 +111,8 @@ public class TagListProvider extends ListDataProvider { */ protected void setCurrentFilterSet(FilterSet> tagFilterSet) { currentFilterSet = tagFilterSet; - updateOberservingLabels(); updateFilteredTags(); + updateOberservingLabels(); refresh(); } }