Skip to content

Commit 62676ed

Browse files
joris.schellekensitext-teamcity
authored andcommitted
implemented code review remarks
resolves DEVSIX-1398 Autoported commit. Original commit hash: [6a4ae7681]
1 parent 36b97a1 commit 62676ed

File tree

2 files changed

+43
-41
lines changed

2 files changed

+43
-41
lines changed

itext/itext.layout/itext/layout/renderer/CollapsedTableBorders.cs

Lines changed: 42 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -72,53 +72,55 @@ protected internal virtual iText.Layout.Renderer.CollapsedTableBorders CollapseA
7272
CellRenderer[] currentRow;
7373
int[] rowspansToDeduct = new int[numberOfColumns];
7474
int numOfRowsToRemove = 0;
75-
for (int row = startRow - largeTableIndexOffset; row <= finishRow - largeTableIndexOffset; row++) {
76-
currentRow = rows.IsEmpty() ? null : rows[row];
77-
bool hasCells = false;
78-
for (int col = 0; col < numberOfColumns; col++) {
79-
if (null != currentRow && null != currentRow[col]) {
80-
int colspan = (int)currentRow[col].GetPropertyAsInteger(Property.COLSPAN);
81-
if (rowspansToDeduct[col] > 0) {
82-
int rowspan = (int)currentRow[col].GetPropertyAsInteger(Property.ROWSPAN) - rowspansToDeduct[col];
83-
if (rowspan < 1) {
84-
ILogger logger = LoggerFactory.GetLogger(typeof(TableRenderer));
85-
logger.Warn(iText.IO.LogMessageConstant.UNEXPECTED_BEHAVIOUR_DURING_TABLE_ROW_COLLAPSING);
86-
rowspan = 1;
75+
if (!rows.IsEmpty()) {
76+
for (int row = startRow - largeTableIndexOffset; row <= finishRow - largeTableIndexOffset; row++) {
77+
currentRow = rows[row];
78+
bool hasCells = false;
79+
for (int col = 0; col < numberOfColumns; col++) {
80+
if (null != currentRow && null != currentRow[col]) {
81+
int colspan = (int)currentRow[col].GetPropertyAsInteger(Property.COLSPAN);
82+
if (rowspansToDeduct[col] > 0) {
83+
int rowspan = (int)currentRow[col].GetPropertyAsInteger(Property.ROWSPAN) - rowspansToDeduct[col];
84+
if (rowspan < 1) {
85+
ILogger logger = LoggerFactory.GetLogger(typeof(TableRenderer));
86+
logger.Warn(iText.IO.LogMessageConstant.UNEXPECTED_BEHAVIOUR_DURING_TABLE_ROW_COLLAPSING);
87+
rowspan = 1;
88+
}
89+
currentRow[col].SetProperty(Property.ROWSPAN, rowspan);
90+
if (0 != numOfRowsToRemove) {
91+
RemoveRows(row - numOfRowsToRemove, numOfRowsToRemove);
92+
row -= numOfRowsToRemove;
93+
numOfRowsToRemove = 0;
94+
}
8795
}
88-
currentRow[col].SetProperty(Property.ROWSPAN, rowspan);
89-
if (0 != numOfRowsToRemove) {
90-
RemoveRows(row - numOfRowsToRemove, numOfRowsToRemove);
91-
row -= numOfRowsToRemove;
92-
numOfRowsToRemove = 0;
96+
BuildBordersArrays(currentRow[col], row, col, rowspansToDeduct);
97+
hasCells = true;
98+
for (int i = 0; i < colspan; i++) {
99+
rowspansToDeduct[col + i] = 0;
93100
}
101+
col += colspan - 1;
94102
}
95-
BuildBordersArrays(currentRow[col], row, col, rowspansToDeduct);
96-
hasCells = true;
97-
for (int i = 0; i < colspan; i++) {
98-
rowspansToDeduct[col + i] = 0;
103+
else {
104+
if (horizontalBorders[row].Count <= col) {
105+
horizontalBorders[row].Add(null);
106+
}
99107
}
100-
col += colspan - 1;
101108
}
102-
else {
103-
if (horizontalBorders[row].Count <= col) {
104-
horizontalBorders[row].Add(null);
109+
if (!hasCells) {
110+
if (row == rows.Count - 1) {
111+
RemoveRows(row - rowspansToDeduct[0], rowspansToDeduct[0]);
112+
// delete current row
113+
rows.JRemoveAt(row - rowspansToDeduct[0]);
114+
SetFinishRow(finishRow - 1);
115+
ILogger logger = LoggerFactory.GetLogger(typeof(TableRenderer));
116+
logger.Warn(iText.IO.LogMessageConstant.LAST_ROW_IS_NOT_COMPLETE);
105117
}
106-
}
107-
}
108-
if (!hasCells) {
109-
if (row == rows.Count - 1) {
110-
RemoveRows(row - rowspansToDeduct[0], rowspansToDeduct[0]);
111-
// delete current row
112-
rows.JRemoveAt(row - rowspansToDeduct[0]);
113-
SetFinishRow(finishRow - 1);
114-
ILogger logger = LoggerFactory.GetLogger(typeof(TableRenderer));
115-
logger.Warn(iText.IO.LogMessageConstant.LAST_ROW_IS_NOT_COMPLETE);
116-
}
117-
else {
118-
for (int i = 0; i < numberOfColumns; i++) {
119-
rowspansToDeduct[i]++;
118+
else {
119+
for (int i = 0; i < numberOfColumns; i++) {
120+
rowspansToDeduct[i]++;
121+
}
122+
numOfRowsToRemove++;
120123
}
121-
numOfRowsToRemove++;
122124
}
123125
}
124126
}

port-hash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2c92884cb867426f4269af66b88cdc0f99421067
1+
6a4ae76813a075b405ac61131bfabd94b2b6c41d

0 commit comments

Comments
 (0)