From ec2c0ae762c20fb87c6b2676d262b562e258ae8c Mon Sep 17 00:00:00 2001 From: Axel Uhl Date: Tue, 26 Nov 2024 00:33:35 +0100 Subject: [PATCH] moved ParameterValueChangeListener from ModifiableDataMiningReportDTO into own file; hoping to "improve" serializability detection by buggy GWT RPC serializability check --- .../dto/ModifiableDataMiningReportDTO.java | 29 +--------------- .../dto/ParameterValueChangeListener.java | 34 +++++++++++++++++++ 2 files changed, 35 insertions(+), 28 deletions(-) create mode 100644 java/com.sap.sse.datamining.shared/src/com/sap/sse/datamining/shared/impl/dto/ParameterValueChangeListener.java diff --git a/java/com.sap.sse.datamining.shared/src/com/sap/sse/datamining/shared/impl/dto/ModifiableDataMiningReportDTO.java b/java/com.sap.sse.datamining.shared/src/com/sap/sse/datamining/shared/impl/dto/ModifiableDataMiningReportDTO.java index fdf068fb47e..903d10d8bbb 100644 --- a/java/com.sap.sse.datamining.shared/src/com/sap/sse/datamining/shared/impl/dto/ModifiableDataMiningReportDTO.java +++ b/java/com.sap.sse.datamining.shared/src/com/sap/sse/datamining/shared/impl/dto/ModifiableDataMiningReportDTO.java @@ -45,33 +45,6 @@ public class ModifiableDataMiningReportDTO implements DataMiningReportDTO { private transient Set parameterModelListeners; - public static class ParameterValueChangeListener implements ParameterModelListener, Serializable { - private static final long serialVersionUID = 402977347893177440L; - - private ModifiableDataMiningReportDTO report; - - @Deprecated // for GWT serialization only - ParameterValueChangeListener() {} - - public ParameterValueChangeListener(ModifiableDataMiningReportDTO report) { - super(); - this.report = report; - } - - @Override - public void parameterAdded(DataMiningReportDTO report, FilterDimensionParameter parameter) { - } - - @Override - public void parameterRemoved(DataMiningReportDTO report, FilterDimensionParameter parameter) { - } - - @Override - public void parameterValueChanged(FilterDimensionParameter parameter, Iterable oldValues) { - report.adjustAllDimensionFiltersInQueriesUsingParameter(parameter); - } - } - /** * Creates an empty report with no queries and hence no parameter usages. */ @@ -94,7 +67,7 @@ public class ModifiableDataMiningReportDTO implements DataMiningReportDTO { * {@link StatisticQueryDefinitionDTO#getFilterSelection() filter selections} are adjusted to reflect the new * parameter's {@link FilterDimensionParameter#getValues() value set}. */ - private void adjustAllDimensionFiltersInQueriesUsingParameter(FilterDimensionParameter parameter) { + void adjustAllDimensionFiltersInQueriesUsingParameter(FilterDimensionParameter parameter) { for (final Pair usage : getParameterUsages(parameter)) { // the following cast is safe because addQueryDefinition accepts only ModifiableStatisticQueryDefinitionDTO objects final ModifiableStatisticQueryDefinitionDTO query = (ModifiableStatisticQueryDefinitionDTO) usage.getA(); diff --git a/java/com.sap.sse.datamining.shared/src/com/sap/sse/datamining/shared/impl/dto/ParameterValueChangeListener.java b/java/com.sap.sse.datamining.shared/src/com/sap/sse/datamining/shared/impl/dto/ParameterValueChangeListener.java new file mode 100644 index 00000000000..521cc78f5c4 --- /dev/null +++ b/java/com.sap.sse.datamining.shared/src/com/sap/sse/datamining/shared/impl/dto/ParameterValueChangeListener.java @@ -0,0 +1,34 @@ +package com.sap.sse.datamining.shared.impl.dto; + +import java.io.Serializable; + +import com.sap.sse.datamining.shared.dto.DataMiningReportDTO; +import com.sap.sse.datamining.shared.dto.FilterDimensionParameter; +import com.sap.sse.datamining.shared.impl.dto.parameters.ParameterModelListener; + +public class ParameterValueChangeListener implements ParameterModelListener, Serializable { + private static final long serialVersionUID = 402977347893177440L; + + private ModifiableDataMiningReportDTO report; + + @Deprecated // for GWT serialization only + ParameterValueChangeListener() {} + + public ParameterValueChangeListener(ModifiableDataMiningReportDTO report) { + super(); + this.report = report; + } + + @Override + public void parameterAdded(DataMiningReportDTO report, FilterDimensionParameter parameter) { + } + + @Override + public void parameterRemoved(DataMiningReportDTO report, FilterDimensionParameter parameter) { + } + + @Override + public void parameterValueChanged(FilterDimensionParameter parameter, Iterable oldValues) { + report.adjustAllDimensionFiltersInQueriesUsingParameter(parameter); + } +} \ No newline at end of file