Skip to content

Commit 1c116a3

Browse files
javier-godoypaodb
authored andcommitted
refactor: move lambda to private method
1 parent 748bfae commit 1c116a3

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

src/main/java/com/flowingcode/vaadin/addons/gridexporter/BaseStreamResourceWriter.java

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.vaadin.flow.component.grid.Grid;
2525
import com.vaadin.flow.component.grid.Grid.Column;
2626
import com.vaadin.flow.component.grid.HeaderRow;
27+
import com.vaadin.flow.component.grid.HeaderRow.HeaderCell;
2728
import com.vaadin.flow.component.grid.dataview.GridLazyDataView;
2829
import com.vaadin.flow.data.provider.AbstractBackEndDataProvider;
2930
import com.vaadin.flow.data.provider.DataCommunicator;
@@ -103,16 +104,7 @@ private GridHeader<T> getGridHeader(Grid<T> grid, Column<T> column) {
103104
List<String> headerTexts = new ArrayList<>();
104105
List<HeaderRow> headerRows = grid.getHeaderRows();
105106
for (HeaderRow headerRow : headerRows) {
106-
String headerText = renderHeaderCellTextContent(grid, column, (col) -> {
107-
String value = headerRow.getCell(col).getText();
108-
if (Strings.isBlank(value)) {
109-
Component component = headerRow.getCell(col).getComponent();
110-
if (component != null) {
111-
value = component.getElement().getTextRecursively();
112-
}
113-
}
114-
return value;
115-
});
107+
String headerText = renderHeaderCellTextContent(grid, headerRow, column);
116108
headerTexts.add(headerText);
117109
}
118110
return new GridHeader<>(headerTexts, column);
@@ -129,21 +121,33 @@ protected List<GridFooter<T>> getGridFooters(Grid<T> grid) {
129121
.collect(Collectors.toList());
130122
}
131123

132-
private String renderHeaderCellTextContent(Grid<T> grid, Column<T> column,
133-
SerializableFunction<Column<T>, String> obtainCellFunction) {
124+
private String obtainCellFunction(HeaderCell headerCell, Column<T> column) {
125+
String value = headerCell.getText();
126+
if (Strings.isBlank(value)) {
127+
Component component = headerCell.getComponent();
128+
if (component != null) {
129+
value = component.getElement().getTextRecursively();
130+
}
131+
}
132+
return value;
133+
}
134+
135+
private String renderHeaderCellTextContent(Grid<T> grid, HeaderRow headerRow, Column<T> column) {
134136
String header = (String) ComponentUtil.getData(column, GridExporter.COLUMN_HEADER);
137+
135138
if (Strings.isBlank(header)) {
136139
header = column.getHeaderText();
137140

138141
if (Strings.isBlank(header)) {
139-
try {
140-
header = obtainCellFunction.apply(column);
141-
} catch (RuntimeException e) {
142-
throw new IllegalStateException(
142+
try {
143+
HeaderCell headerCell = headerRow.getCell(column);
144+
header = obtainCellFunction(headerCell, column);
145+
} catch (RuntimeException e) {
146+
throw new IllegalStateException(
143147
"Problem when trying to render header cell text content", e);
144-
}
145148
}
146149
}
150+
}
147151

148152
return header == null ? "" : header;
149153
}
@@ -160,7 +164,7 @@ private String renderFooterCellTextContent(Grid<T> grid, Column<T> column) {
160164
Component component;
161165
component = footerComponent.apply(column);
162166
if (component != null) {
163-
footer = component.getElement().getTextRecursively();
167+
footer = component.getElement().getTextRecursively();
164168
}
165169
} catch (RuntimeException e) {
166170
throw new IllegalStateException(

0 commit comments

Comments
 (0)