mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-08 13:20:57 +00:00
Fixed the problems caused by serialization
This commit is contained in:
1 parent
5caeb9e334
commit
9bdfbff531
11 files changed
+35
-25
No files matched your search
+1
-1
@@ -21,6 +21,6 @@ public interface QueryDefinitionDeprecated extends Serializable {
|
|||||||
|
|
||||||
public List<DimensionIdentifier> getDimensionsToGroupBy();
|
public List<DimensionIdentifier> getDimensionsToGroupBy();
|
||||||
|
|
||||||
public Map<DimensionIdentifier, Iterable<?>> getSelection();
|
public Map<DimensionIdentifier, Iterable<? extends Serializable>> getSelection();
|
||||||
|
|
||||||
}
|
}
|
||||||
+5
-5
@@ -1,7 +1,7 @@
|
|||||||
package com.sap.sailing.datamining.shared.impl;
|
package com.sap.sailing.datamining.shared.impl;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -24,7 +24,7 @@ public class QueryDefinitionDeprecatedImpl implements QueryDefinitionDeprecated
|
|||||||
private DataTypes dataType;
|
private DataTypes dataType;
|
||||||
|
|
||||||
private List<DimensionIdentifier> dimensionsToGroupBy;
|
private List<DimensionIdentifier> dimensionsToGroupBy;
|
||||||
private Map<DimensionIdentifier, Iterable<?>> selectionMappedByDimension;
|
private Map<DimensionIdentifier, Iterable<? extends Serializable>> selectionMappedByDimension;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for the GWT-Serialization. Don't use this!
|
* Constructor for the GWT-Serialization. Don't use this!
|
||||||
@@ -40,7 +40,7 @@ public class QueryDefinitionDeprecatedImpl implements QueryDefinitionDeprecated
|
|||||||
this.dataType = dataType;
|
this.dataType = dataType;
|
||||||
|
|
||||||
dimensionsToGroupBy = new ArrayList<DimensionIdentifier>();
|
dimensionsToGroupBy = new ArrayList<DimensionIdentifier>();
|
||||||
selectionMappedByDimension = new HashMap<DimensionIdentifier, Iterable<?>>();
|
selectionMappedByDimension = new HashMap<DimensionIdentifier, Iterable<? extends Serializable>>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -74,7 +74,7 @@ public class QueryDefinitionDeprecatedImpl implements QueryDefinitionDeprecated
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<DimensionIdentifier, Iterable<?>> getSelection() {
|
public Map<DimensionIdentifier, Iterable<? extends Serializable>> getSelection() {
|
||||||
return selectionMappedByDimension;
|
return selectionMappedByDimension;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -82,7 +82,7 @@ public class QueryDefinitionDeprecatedImpl implements QueryDefinitionDeprecated
|
|||||||
dimensionsToGroupBy.add(dimension);
|
dimensionsToGroupBy.add(dimension);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSelectionFor(DimensionIdentifier dimension, Collection<?> selection) {
|
public void setSelectionFor(DimensionIdentifier dimension, Iterable<? extends Serializable> selection) {
|
||||||
selectionMappedByDimension.put(dimension, selection);
|
selectionMappedByDimension.put(dimension, selection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1,5 +1,6 @@
|
|||||||
package com.sap.sailing.datamining;
|
package com.sap.sailing.datamining;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
import com.sap.sailing.datamining.shared.DimensionIdentifier;
|
import com.sap.sailing.datamining.shared.DimensionIdentifier;
|
||||||
@@ -14,7 +15,7 @@ public class QueryDefinitionConverter {
|
|||||||
DeprecatedEnumsToFunctionDTOConverter.getFunctionDTOFor(queryDefinitionDeprecated.getStatisticType()),
|
DeprecatedEnumsToFunctionDTOConverter.getFunctionDTOFor(queryDefinitionDeprecated.getStatisticType()),
|
||||||
queryDefinitionDeprecated.getAggregatorType());
|
queryDefinitionDeprecated.getAggregatorType());
|
||||||
|
|
||||||
for (Entry<DimensionIdentifier, Iterable<?>> filterSelectionEntry : queryDefinitionDeprecated.getSelection()
|
for (Entry<DimensionIdentifier, Iterable<? extends Serializable>> filterSelectionEntry : queryDefinitionDeprecated.getSelection()
|
||||||
.entrySet()) {
|
.entrySet()) {
|
||||||
queryDefinition.setFilterSelectionFor(
|
queryDefinition.setFilterSelectionFor(
|
||||||
DeprecatedEnumsToFunctionDTOConverter.getFunctionDTOFor(filterSelectionEntry.getKey()),
|
DeprecatedEnumsToFunctionDTOConverter.getFunctionDTOFor(filterSelectionEntry.getKey()),
|
||||||
|
|||||||
+5
-4
@@ -1,5 +1,6 @@
|
|||||||
package com.sap.sailing.datamining.factories;
|
package com.sap.sailing.datamining.factories;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@@ -43,7 +44,7 @@ public final class SailingDataRetrieverFactory {
|
|||||||
* @return The first processor of the retrieval chain.
|
* @return The first processor of the retrieval chain.
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public static <DataSourceType, ElementType> Processor<DataSourceType> createRetrievalProcessorChain(SailingDataRetrievalLevels dataRetrievalLevel, Processor<ElementType> groupingProcessor, Map<FunctionDTO, Iterable<?>> filterSelection, FunctionProvider functionProvider) {
|
public static <DataSourceType, ElementType> Processor<DataSourceType> createRetrievalProcessorChain(SailingDataRetrievalLevels dataRetrievalLevel, Processor<ElementType> groupingProcessor, Map<FunctionDTO, Iterable<? extends Serializable>> filterSelection, FunctionProvider functionProvider) {
|
||||||
Processor<?> resultReceiver = groupingProcessor;
|
Processor<?> resultReceiver = groupingProcessor;
|
||||||
for (int i = dataRetrievalLevel.ordinal(); i >= 0; i--) {
|
for (int i = dataRetrievalLevel.ordinal(); i >= 0; i--) {
|
||||||
resultReceiver = createDataRetrieverFor(SailingDataRetrievalLevels.values()[i], resultReceiver, filterSelection, functionProvider);
|
resultReceiver = createDataRetrieverFor(SailingDataRetrievalLevels.values()[i], resultReceiver, filterSelection, functionProvider);
|
||||||
@@ -55,7 +56,7 @@ public final class SailingDataRetrieverFactory {
|
|||||||
/* The way this method is used should guarantee, that the result receiver matches the new processor
|
/* The way this method is used should guarantee, that the result receiver matches the new processor
|
||||||
*/
|
*/
|
||||||
private static Processor<?> createDataRetrieverFor(SailingDataRetrievalLevels dataRetrievalLevel,
|
private static Processor<?> createDataRetrieverFor(SailingDataRetrievalLevels dataRetrievalLevel,
|
||||||
Processor<?> resultReceiver, Map<FunctionDTO, Iterable<?>> filterSelection, FunctionProvider functionProvider) {
|
Processor<?> resultReceiver, Map<FunctionDTO, Iterable<? extends Serializable>> filterSelection, FunctionProvider functionProvider) {
|
||||||
ThreadPoolExecutor executor = DataMiningActivator.getExecutor();
|
ThreadPoolExecutor executor = DataMiningActivator.getExecutor();
|
||||||
|
|
||||||
switch (dataRetrievalLevel) {
|
switch (dataRetrievalLevel) {
|
||||||
@@ -83,9 +84,9 @@ public final class SailingDataRetrieverFactory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static <BaseDataType> FilterCriteria<BaseDataType> getFilterCriteriaForBaseDataType(Class<BaseDataType> baseDataType,
|
private static <BaseDataType> FilterCriteria<BaseDataType> getFilterCriteriaForBaseDataType(Class<BaseDataType> baseDataType,
|
||||||
Map<FunctionDTO, Iterable<?>> filterSelection, FunctionProvider functionProvider) {
|
Map<FunctionDTO, Iterable<? extends Serializable>> filterSelection, FunctionProvider functionProvider) {
|
||||||
CompoundFilterCriteria<BaseDataType> criteria = null;
|
CompoundFilterCriteria<BaseDataType> criteria = null;
|
||||||
for (Entry<FunctionDTO, Iterable<?>> filterSelectionEntry : filterSelection.entrySet()) {
|
for (Entry<FunctionDTO, Iterable<? extends Serializable>> filterSelectionEntry : filterSelection.entrySet()) {
|
||||||
Function<?> function = functionProvider.getFunctionForDTO(filterSelectionEntry.getKey());
|
Function<?> function = functionProvider.getFunctionForDTO(filterSelectionEntry.getKey());
|
||||||
if (baseDataType.equals(function.getDeclaringType())) {
|
if (baseDataType.equals(function.getDeclaringType())) {
|
||||||
if (criteria == null) {
|
if (criteria == null) {
|
||||||
|
|||||||
+2
-1
@@ -1,5 +1,6 @@
|
|||||||
package com.sap.sailing.gwt.ui.datamining;
|
package com.sap.sailing.gwt.ui.datamining;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -11,7 +12,7 @@ public interface SelectionProvider<SettingsType> extends Component<SettingsType>
|
|||||||
|
|
||||||
public void addSelectionChangedListener(SelectionChangedListener listener);
|
public void addSelectionChangedListener(SelectionChangedListener listener);
|
||||||
|
|
||||||
public Map<DimensionIdentifier, Collection<?>> getSelection();
|
public Map<DimensionIdentifier, Collection<? extends Serializable>> getSelection();
|
||||||
|
|
||||||
public void applySelection(QueryDefinitionDeprecated queryDefinition);
|
public void applySelection(QueryDefinitionDeprecated queryDefinition);
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -1,5 +1,6 @@
|
|||||||
package com.sap.sailing.gwt.ui.datamining.selection;
|
package com.sap.sailing.gwt.ui.datamining.selection;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
|
|
||||||
@@ -79,7 +80,7 @@ public class QueryDefinitionProviderWithControls extends AbstractQueryDefinition
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Entry<DimensionIdentifier, Collection<?>> selectionEntry : selectionProvider.getSelection().entrySet()) {
|
for (Entry<DimensionIdentifier, Collection<? extends Serializable>> selectionEntry : selectionProvider.getSelection().entrySet()) {
|
||||||
queryDTO.setSelectionFor(selectionEntry.getKey(), selectionEntry.getValue());
|
queryDTO.setSelectionFor(selectionEntry.getKey(), selectionEntry.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+5
-4
@@ -1,5 +1,6 @@
|
|||||||
package com.sap.sailing.gwt.ui.datamining.selection;
|
package com.sap.sailing.gwt.ui.datamining.selection;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@@ -127,10 +128,10 @@ public class RefreshingSelectionTablesPanel implements SelectionProvider<Refresh
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<DimensionIdentifier, Collection<?>> getSelection() {
|
public Map<DimensionIdentifier, Collection<? extends Serializable>> getSelection() {
|
||||||
Map<DimensionIdentifier, Collection<?>> selection = new HashMap<DimensionIdentifier, Collection<?>>();
|
Map<DimensionIdentifier, Collection<? extends Serializable>> selection = new HashMap<DimensionIdentifier, Collection<? extends Serializable>>();
|
||||||
for (SelectionTable<?, ?> table : tablesMappedByDimension.values()) {
|
for (SelectionTable<?, ?> table : tablesMappedByDimension.values()) {
|
||||||
Collection<?> specificSelection = table.getSelectionAsValues();
|
Collection<? extends Serializable> specificSelection = table.getSelectionAsValues();
|
||||||
if (!specificSelection.isEmpty()) {
|
if (!specificSelection.isEmpty()) {
|
||||||
selection.put(table.getDimension(), specificSelection);
|
selection.put(table.getDimension(), specificSelection);
|
||||||
}
|
}
|
||||||
@@ -140,7 +141,7 @@ public class RefreshingSelectionTablesPanel implements SelectionProvider<Refresh
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void applySelection(QueryDefinitionDeprecated queryDefinition) {
|
public void applySelection(QueryDefinitionDeprecated queryDefinition) {
|
||||||
for (Entry<DimensionIdentifier, Iterable<?>> selectionEntry : queryDefinition.getSelection().entrySet()) {
|
for (Entry<DimensionIdentifier, Iterable<? extends Serializable>> selectionEntry : queryDefinition.getSelection().entrySet()) {
|
||||||
SelectionTable<?, ?> selectionTable = tablesMappedByDimension.get(selectionEntry.getKey());
|
SelectionTable<?, ?> selectionTable = tablesMappedByDimension.get(selectionEntry.getKey());
|
||||||
selectionTable.setSelection((Iterable<?>) selectionEntry.getValue());
|
selectionTable.setSelection((Iterable<?>) selectionEntry.getValue());
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-2
@@ -1,5 +1,6 @@
|
|||||||
package com.sap.sailing.gwt.ui.datamining.selection;
|
package com.sap.sailing.gwt.ui.datamining.selection;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -15,7 +16,7 @@ import com.google.gwt.view.client.SelectionChangeEvent;
|
|||||||
import com.sap.sailing.datamining.shared.DimensionIdentifier;
|
import com.sap.sailing.datamining.shared.DimensionIdentifier;
|
||||||
import com.sap.sse.gwt.client.panels.AbstractFilterablePanel;
|
import com.sap.sse.gwt.client.panels.AbstractFilterablePanel;
|
||||||
|
|
||||||
public abstract class SelectionTable<ContentType, ValueType> extends FlowPanel {
|
public abstract class SelectionTable<ContentType, ValueType extends Serializable> extends FlowPanel {
|
||||||
|
|
||||||
private DimensionIdentifier dimension;
|
private DimensionIdentifier dimension;
|
||||||
private Collection<ContentType> allData;
|
private Collection<ContentType> allData;
|
||||||
@@ -125,7 +126,7 @@ public abstract class SelectionTable<ContentType, ValueType> extends FlowPanel {
|
|||||||
return newContentKeys;
|
return newContentKeys;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Collection<?> getSelectionAsValues() {
|
public Collection<? extends Serializable> getSelectionAsValues() {
|
||||||
Collection<ValueType> selectionAsValues = new HashSet<ValueType>();
|
Collection<ValueType> selectionAsValues = new HashSet<ValueType>();
|
||||||
for (ContentType content : selectionModel.getSelectedSet()) {
|
for (ContentType content : selectionModel.getSelectedSet()) {
|
||||||
selectionAsValues.add(getValue(content));
|
selectionAsValues.add(getValue(content));
|
||||||
|
|||||||
+3
-1
@@ -1,8 +1,10 @@
|
|||||||
package com.sap.sailing.gwt.ui.datamining.selection;
|
package com.sap.sailing.gwt.ui.datamining.selection;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
import com.sap.sailing.datamining.shared.DimensionIdentifier;
|
import com.sap.sailing.datamining.shared.DimensionIdentifier;
|
||||||
|
|
||||||
public class SimpleSelectionTable<ContentType> extends SelectionTable<ContentType, ContentType> {
|
public class SimpleSelectionTable<ContentType extends Serializable> extends SelectionTable<ContentType, ContentType> {
|
||||||
|
|
||||||
public SimpleSelectionTable(String title, DimensionIdentifier dimension) {
|
public SimpleSelectionTable(String title, DimensionIdentifier dimension) {
|
||||||
super(title, dimension);
|
super(title, dimension);
|
||||||
|
|||||||
+2
-1
@@ -1,5 +1,6 @@
|
|||||||
package com.sap.sse.datamining.shared;
|
package com.sap.sse.datamining.shared;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -10,7 +11,7 @@ public interface QueryDefinition {
|
|||||||
|
|
||||||
public String getLocaleInfoName();
|
public String getLocaleInfoName();
|
||||||
|
|
||||||
public Map<FunctionDTO, Iterable<?>> getFilterSelection();
|
public Map<FunctionDTO, Iterable<? extends Serializable>> getFilterSelection();
|
||||||
|
|
||||||
public List<FunctionDTO> getDimensionsToGroupBy();
|
public List<FunctionDTO> getDimensionsToGroupBy();
|
||||||
|
|
||||||
|
|||||||
+5
-4
@@ -1,5 +1,6 @@
|
|||||||
package com.sap.sse.datamining.shared.impl;
|
package com.sap.sse.datamining.shared.impl;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -12,20 +13,20 @@ import com.sap.sse.datamining.shared.dto.FunctionDTO;
|
|||||||
public class QueryDefinitionImpl implements QueryDefinition {
|
public class QueryDefinitionImpl implements QueryDefinition {
|
||||||
|
|
||||||
private final String localeInfoName;
|
private final String localeInfoName;
|
||||||
private final Map<FunctionDTO, Iterable<?>> filterSelection;
|
private final Map<FunctionDTO, Iterable<? extends Serializable>> filterSelection;
|
||||||
private final List<FunctionDTO> dimensionsToGroupBy;
|
private final List<FunctionDTO> dimensionsToGroupBy;
|
||||||
private final FunctionDTO extractionFunction;
|
private final FunctionDTO extractionFunction;
|
||||||
private final AggregatorType aggregatorType;
|
private final AggregatorType aggregatorType;
|
||||||
|
|
||||||
public QueryDefinitionImpl(String localeInfoName, FunctionDTO extractionFunction, AggregatorType aggregatorType) {
|
public QueryDefinitionImpl(String localeInfoName, FunctionDTO extractionFunction, AggregatorType aggregatorType) {
|
||||||
this.localeInfoName = localeInfoName;
|
this.localeInfoName = localeInfoName;
|
||||||
this.filterSelection = new HashMap<FunctionDTO, Iterable<?>>();
|
this.filterSelection = new HashMap<FunctionDTO, Iterable<? extends Serializable>>();
|
||||||
this.dimensionsToGroupBy = new ArrayList<FunctionDTO>();
|
this.dimensionsToGroupBy = new ArrayList<FunctionDTO>();
|
||||||
this.extractionFunction = extractionFunction;
|
this.extractionFunction = extractionFunction;
|
||||||
this.aggregatorType = aggregatorType;
|
this.aggregatorType = aggregatorType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFilterSelectionFor(FunctionDTO dimension, Iterable<?> selection) {
|
public void setFilterSelectionFor(FunctionDTO dimension, Iterable<? extends Serializable> selection) {
|
||||||
filterSelection.put(dimension, selection);
|
filterSelection.put(dimension, selection);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -39,7 +40,7 @@ public class QueryDefinitionImpl implements QueryDefinition {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<FunctionDTO, Iterable<?>> getFilterSelection() {
|
public Map<FunctionDTO, Iterable<? extends Serializable>> getFilterSelection() {
|
||||||
return filterSelection;
|
return filterSelection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user