Skip to content

Commit da49d43

Browse files
committed
#4484 Change selection handling to use fully qualified keys
1 parent 30359a3 commit da49d43

File tree

10 files changed

+406
-265
lines changed

10 files changed

+406
-265
lines changed

stroom-core-client/src/main/java/stroom/dashboard/client/main/DashboardContext.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,9 @@
1515

1616
public interface DashboardContext extends ParamValues {
1717

18+
@Deprecated
1819
List<Param> getParams();
1920

20-
List<Param> getLinkParams();
21-
2221
TimeRange getRawTimeRange();
2322

2423
TimeRange getResolvedTimeRange();
@@ -29,6 +28,8 @@ public interface DashboardContext extends ParamValues {
2928

3029
SafeHtml toSafeHtml();
3130

31+
ExpressionOperator replaceExpression(ExpressionOperator operator, boolean keepUnmatched);
32+
3233
Optional<ExpressionOperator> createSelectionHandlerExpression(List<ComponentSelectionHandler> selectionHandlers);
3334

3435
HandlerRegistration addComponentChangeHandler(ComponentChangeEvent.Handler handler);

stroom-core-client/src/main/java/stroom/dashboard/client/main/DashboardContextImpl.java

+388-245
Large diffs are not rendered by default.

stroom-core-client/src/main/java/stroom/dashboard/client/query/QueryPresenter.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -598,8 +598,7 @@ private void run(final boolean incremental,
598598
ExpressionOperator decorated = ExpressionUtil.combine(root, expressionDecorator);
599599

600600
final DashboardContext dashboardContext = getDashboardContext();
601-
decorated = ExpressionUtil
602-
.replaceExpressionParameters(decorated, dashboardContext, true);
601+
decorated = dashboardContext.replaceExpression(decorated, true);
603602

604603
// Start search.
605604
searchModel.startNewSearch(
@@ -629,7 +628,7 @@ private void resume(final String node,
629628
// Write expression.
630629
ExpressionOperator root = expressionPresenter.write();
631630
final DashboardContext dashboardContext = getDashboardContext();
632-
root = ExpressionUtil.replaceExpressionParameters(root, dashboardContext, true);
631+
root = dashboardContext.replaceExpression(root, true);
633632

634633
// Start search.
635634
searchModel.startNewSearch(

stroom-core-client/src/main/java/stroom/dashboard/client/table/TablePresenter.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -1108,17 +1108,15 @@ public TableSettings resolveTableSettings() {
11081108
if (rulesIn != null) {
11091109
List<ConditionalFormattingRule> rulesOut = new ArrayList<>(rulesIn.size());
11101110
rulesIn.forEach(rule -> {
1111-
rulesOut.add(rule.copy().expression(ExpressionUtil.replaceExpressionParameters(rule.getExpression(),
1112-
dashboardContext,
1111+
rulesOut.add(rule.copy().expression(dashboardContext.replaceExpression(rule.getExpression(),
11131112
true)).build());
11141113
});
11151114
builder.conditionalFormattingRules(rulesOut);
11161115
}
11171116

11181117
ExpressionOperator aggregateFilter = currentSelectionFilter;
11191118
if (currentSelectionFilter != null) {
1120-
aggregateFilter = ExpressionUtil
1121-
.replaceExpressionParameters(aggregateFilter, dashboardContext, true);
1119+
aggregateFilter = dashboardContext.replaceExpression(aggregateFilter, true);
11221120
}
11231121

11241122
return builder.buildTableSettings().copy().aggregateFilter(aggregateFilter).build();

stroom-core-client/src/main/java/stroom/dashboard/client/text/TextPresenter.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -347,17 +347,17 @@ private void update(final HasComponentSelection hasSelectedRows) {
347347
final ComponentSelection selected = selection.get(0);
348348
currentStreamId = getLong(getTextSettings().getStreamIdColumn(), selected);
349349
if (currentStreamId == null) {
350-
currentStreamId = getLong(selected.get(SpecialColumns.RESERVED_STREAM_ID));
350+
currentStreamId = getLong(selected.getParamValue(SpecialColumns.RESERVED_STREAM_ID));
351351
if (currentStreamId == null) {
352-
currentStreamId = getLong(selected.get(OLD_STREAM_ID));
352+
currentStreamId = getLong(selected.getParamValue(OLD_STREAM_ID));
353353
}
354354
}
355355
currentPartIndex = convertToIndex(getLong(getTextSettings().getPartNoColumn(), selected));
356356
currentRecordIndex = convertToIndex(getLong(getTextSettings().getRecordNoColumn(), selected));
357357
if (currentRecordIndex == null) {
358-
currentRecordIndex = getLong(selected.get(SpecialColumns.RESERVED_EVENT_ID));
358+
currentRecordIndex = getLong(selected.getParamValue(SpecialColumns.RESERVED_EVENT_ID));
359359
if (currentRecordIndex == null) {
360-
currentRecordIndex = getLong(selected.get(OLD_EVENT_ID));
360+
currentRecordIndex = getLong(selected.getParamValue(OLD_EVENT_ID));
361361
}
362362
}
363363
final Long currentLineFrom = getLong(getTextSettings().getLineFromColumn(), selected);
@@ -546,9 +546,9 @@ private Long convertToIndex(final Long no) {
546546

547547
private Long getLong(final ColumnRef column, final ComponentSelection row) {
548548
if (column != null && row != null) {
549-
String val = row.get(column.getId());
549+
String val = row.getParamValue(column.getId());
550550
if (val == null) {
551-
val = row.get(column.getName());
551+
val = row.getParamValue(column.getName());
552552
}
553553
return getLong(val);
554554
}

stroom-core-client/src/main/java/stroom/query/client/presenter/TableComponentSelection.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public List<Param> getParams() {
6363
}
6464

6565
@Override
66-
public String get(final String key) {
66+
public String getParamValue(final String key) {
6767
return values.get(key);
6868
}
6969
}

stroom-core-client/src/main/java/stroom/query/client/presenter/VisComponentSelection.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public List<Param> getParams() {
5959
}
6060

6161
@Override
62-
public String get(final String key) {
62+
public String getParamValue(final String key) {
6363
return values.get(key);
6464
}
6565
}

stroom-query/stroom-query-api/src/main/java/stroom/query/api/ParamUtil.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ public static String replaceParameters(final String value,
141141
key = key.substring(0, defaultValueIndex);
142142
}
143143

144-
final String paramValue = paramValues.get(key);
144+
final String paramValue = paramValues.getParamValue(key);
145145
if (paramValue != null) {
146146
if (containsWhitespace(paramValue)) {
147147
sb.append("'");

stroom-query/stroom-query-api/src/main/java/stroom/query/api/ParamValues.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33
public interface ParamValues {
44

5-
String get(String key);
5+
String getParamValue(String key);
66
}

stroom-query/stroom-query-api/src/main/java/stroom/query/api/ParamValuesImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public ParamValuesImpl(final Map<String, String> map) {
1111
}
1212

1313
@Override
14-
public String get(final String key) {
14+
public String getParamValue(final String key) {
1515
return map.get(key);
1616
}
1717
}

0 commit comments

Comments
 (0)