Skip to content

Commit 3fc7bc2

Browse files
authored
bump opencsv from 4.6 to 5.9 (via #2547)
1 parent e3fc1d2 commit 3fc7bc2

File tree

3 files changed

+9
-84
lines changed

3 files changed

+9
-84
lines changed

allure-plugin-api/src/main/java/io/qameta/allure/CommonCsvExportAggregator.java

+4-42
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,12 @@
1515
*/
1616
package io.qameta.allure;
1717

18-
import com.opencsv.bean.BeanField;
19-
import com.opencsv.bean.ColumnPositionMappingStrategy;
20-
import com.opencsv.bean.CsvBindByName;
18+
import com.opencsv.bean.HeaderColumnNameMappingStrategy;
19+
import com.opencsv.bean.HeaderColumnNameMappingStrategyBuilder;
2120
import com.opencsv.bean.StatefulBeanToCsv;
2221
import com.opencsv.bean.StatefulBeanToCsvBuilder;
23-
import com.opencsv.exceptions.CsvRequiredFieldEmptyException;
2422
import io.qameta.allure.core.Configuration;
2523
import io.qameta.allure.core.LaunchResults;
26-
import org.apache.commons.lang3.StringUtils;
27-
import org.apache.commons.lang3.reflect.FieldUtils;
2824

2925
import java.io.IOException;
3026
import java.io.Writer;
@@ -60,7 +56,8 @@ public void aggregate(final Configuration configuration,
6056

6157
try (Writer writer = Files.newBufferedWriter(csv)) {
6258
final StatefulBeanToCsvBuilder<T> builder = new StatefulBeanToCsvBuilder<>(writer);
63-
final CustomMappingStrategy<T> mappingStrategy = new CustomMappingStrategy<>();
59+
final HeaderColumnNameMappingStrategy<T> mappingStrategy =
60+
new HeaderColumnNameMappingStrategyBuilder<T>().build();
6461
mappingStrategy.setType(type);
6562
final StatefulBeanToCsv<T> beanWriter = builder.withMappingStrategy(mappingStrategy).build();
6663
try {
@@ -72,39 +69,4 @@ public void aggregate(final Configuration configuration,
7269
}
7370

7471
protected abstract List<T> getData(List<LaunchResults> launchesResults);
75-
76-
@SuppressWarnings("all")
77-
private static final class CustomMappingStrategy<T> extends ColumnPositionMappingStrategy<T> {
78-
79-
@Override
80-
public String[] generateHeader(T bean) throws CsvRequiredFieldEmptyException {
81-
82-
super.setColumnMapping(new String[FieldUtils.getAllFields(bean.getClass()).length]);
83-
final int numColumns = findMaxFieldIndex();
84-
if (!isAnnotationDriven() || numColumns == -1) {
85-
return super.generateHeader(bean);
86-
}
87-
88-
String[] header = new String[numColumns + 1];
89-
90-
BeanField<T> beanField;
91-
for (int i = 0; i <= numColumns; i++) {
92-
beanField = findField(i);
93-
String columnHeaderName = extractHeaderName(beanField);
94-
header[i] = columnHeaderName;
95-
}
96-
return header;
97-
}
98-
99-
private String extractHeaderName(final BeanField<T> beanField) {
100-
if (beanField == null || beanField.getField() == null
101-
|| beanField.getField().getDeclaredAnnotationsByType(CsvBindByName.class).length == 0) {
102-
return StringUtils.EMPTY;
103-
}
104-
105-
final CsvBindByName bindByNameAnnotation = beanField.getField()
106-
.getDeclaredAnnotationsByType(CsvBindByName.class)[0];
107-
return bindByNameAnnotation.column();
108-
}
109-
}
11072
}

allure-plugin-api/src/main/java/io/qameta/allure/CommonCsvExportAggregator2.java

+4-41
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,14 @@
1515
*/
1616
package io.qameta.allure;
1717

18-
import com.opencsv.bean.BeanField;
19-
import com.opencsv.bean.ColumnPositionMappingStrategy;
20-
import com.opencsv.bean.CsvBindByName;
18+
import com.opencsv.bean.HeaderColumnNameMappingStrategy;
19+
import com.opencsv.bean.HeaderColumnNameMappingStrategyBuilder;
2120
import com.opencsv.bean.StatefulBeanToCsv;
2221
import com.opencsv.bean.StatefulBeanToCsvBuilder;
2322
import com.opencsv.exceptions.CsvDataTypeMismatchException;
2423
import com.opencsv.exceptions.CsvRequiredFieldEmptyException;
2524
import io.qameta.allure.core.Configuration;
2625
import io.qameta.allure.core.LaunchResults;
27-
import org.apache.commons.lang3.StringUtils;
28-
import org.apache.commons.lang3.reflect.FieldUtils;
2926

3027
import java.io.ByteArrayOutputStream;
3128
import java.io.IOException;
@@ -60,7 +57,8 @@ public void aggregate(final Configuration configuration,
6057
final ByteArrayOutputStream bos = new ByteArrayOutputStream();
6158
try (Writer writer = new OutputStreamWriter(bos, StandardCharsets.UTF_8)) {
6259
final StatefulBeanToCsvBuilder<T> builder = new StatefulBeanToCsvBuilder<>(writer);
63-
final CustomMappingStrategy<T> mappingStrategy = new CustomMappingStrategy<>();
60+
final HeaderColumnNameMappingStrategy<T> mappingStrategy =
61+
new HeaderColumnNameMappingStrategyBuilder<T>().build();
6462
mappingStrategy.setType(type);
6563
final StatefulBeanToCsv<T> beanWriter = builder.withMappingStrategy(mappingStrategy).build();
6664
try {
@@ -78,39 +76,4 @@ public void aggregate(final Configuration configuration,
7876
}
7977

8078
protected abstract List<T> getData(List<LaunchResults> launchesResults);
81-
82-
@SuppressWarnings("all")
83-
private static final class CustomMappingStrategy<T> extends ColumnPositionMappingStrategy<T> {
84-
85-
@Override
86-
public String[] generateHeader(T bean) throws CsvRequiredFieldEmptyException {
87-
88-
super.setColumnMapping(new String[FieldUtils.getAllFields(bean.getClass()).length]);
89-
final int numColumns = findMaxFieldIndex();
90-
if (!isAnnotationDriven() || numColumns == -1) {
91-
return super.generateHeader(bean);
92-
}
93-
94-
String[] header = new String[numColumns + 1];
95-
96-
BeanField<T> beanField;
97-
for (int i = 0; i <= numColumns; i++) {
98-
beanField = findField(i);
99-
String columnHeaderName = extractHeaderName(beanField);
100-
header[i] = columnHeaderName;
101-
}
102-
return header;
103-
}
104-
105-
private String extractHeaderName(final BeanField<T> beanField) {
106-
if (beanField == null || beanField.getField() == null
107-
|| beanField.getField().getDeclaredAnnotationsByType(CsvBindByName.class).length == 0) {
108-
return StringUtils.EMPTY;
109-
}
110-
111-
final CsvBindByName bindByNameAnnotation = beanField.getField()
112-
.getDeclaredAnnotationsByType(CsvBindByName.class)[0];
113-
return bindByNameAnnotation.column();
114-
}
115-
}
11679
}

build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ subprojects {
8888
dependency("com.beust:jcommander:1.82")
8989
dependency("com.github.spotbugs:spotbugs-annotations:4.8.4")
9090
dependency("com.github.spotbugs:spotbugs:4.8.4")
91-
dependency("com.opencsv:opencsv:4.6")
91+
dependency("com.opencsv:opencsv:5.9")
9292
dependency("com.puppycrawl.tools:checkstyle:10.16.0")
9393
dependency("com.squareup.retrofit2:converter-jackson:${comSquareupRetrofit2Version}")
9494
dependency("com.squareup.retrofit2:retrofit:${comSquareupRetrofit2Version}")

0 commit comments

Comments
 (0)