Skip to content

Commit 60edaf9

Browse files
Fixes support for bigger report File
partially reverts 06d0488
1 parent ae29bc0 commit 60edaf9

File tree

3 files changed

+11
-28
lines changed

3 files changed

+11
-28
lines changed

src/main/java/net/masterthought/cucumber/ReportBuilder.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,6 @@ public Reportable generateReports() {
106106
// add metadata info sourced from files
107107
reportParser.parseClassificationsFiles(configuration.getClassificationFiles());
108108

109-
StreamReadConstraints defaultStreamReadConstraints = StreamReadConstraints.defaults();
110-
StreamReadConstraints streamReadConstraints = StreamReadConstraints.builder().maxStringLength(configuration.getMaxStreamStringLength()).build();
111-
StreamReadConstraints.overrideDefaultStreamReadConstraints(streamReadConstraints);
112-
113109
// parse json files for results
114110
List<Feature> features = reportParser.parseJsonFiles(jsonFiles);
115111
reportResult = new ReportResult(features, configuration);
@@ -123,9 +119,6 @@ public Reportable generateReports() {
123119
// Collect and generate pages in a single pass
124120
generatePages(trends);
125121

126-
// reset to default configuration
127-
StreamReadConstraints.overrideDefaultStreamReadConstraints(defaultStreamReadConstraints);
128-
129122
return reportable;
130123

131124
// whatever happens we want to provide at least error page instead of incomplete report or exception

src/main/java/net/masterthought/cucumber/ReportParser.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@
1111
import java.util.List;
1212
import java.util.Objects;
1313

14+
import com.fasterxml.jackson.core.JsonFactory;
15+
import com.fasterxml.jackson.core.JsonFactoryBuilder;
16+
import com.fasterxml.jackson.core.StreamReadConstraints;
1417
import com.fasterxml.jackson.databind.DeserializationFeature;
1518
import com.fasterxml.jackson.databind.InjectableValues;
1619
import com.fasterxml.jackson.databind.JsonMappingException;
@@ -22,10 +25,10 @@
2225
import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
2326
import org.apache.commons.configuration2.builder.fluent.Parameters;
2427
import org.apache.commons.configuration2.ex.ConfigurationException;
28+
import org.apache.commons.lang3.ArrayUtils;
2529
import org.apache.commons.lang3.StringUtils;
2630
import org.slf4j.Logger;
2731
import org.slf4j.LoggerFactory;
28-
import org.apache.commons.lang3.ArrayUtils;
2932

3033
/**
3134
* Takes <code>json</code> files and converts them into objects used for report generation.
@@ -36,12 +39,18 @@ public class ReportParser {
3639

3740
private static final Logger LOG = LoggerFactory.getLogger(ReportParser.class);
3841

39-
private final ObjectMapper mapper = new ObjectMapper();
42+
private final ObjectMapper mapper;
4043
private final Configuration configuration;
4144

4245
public ReportParser(Configuration configuration) {
4346
this.configuration = configuration;
4447

48+
StreamReadConstraints streamReadConstraints = StreamReadConstraints.builder()
49+
.maxStringLength(configuration.getMaxStreamStringLength()).build();
50+
JsonFactory factoryBuilder = new JsonFactoryBuilder()
51+
.streamReadConstraints(streamReadConstraints).build();
52+
53+
mapper = new ObjectMapper(factoryBuilder);
4554
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
4655
// this prevents printing eg. 2.20 as 2.2
4756
mapper.enable(DeserializationFeature.USE_BIG_DECIMAL_FOR_FLOATS);

src/test/java/net/masterthought/cucumber/ReportBuilderTest.java

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import java.util.Collections;
1515
import java.util.List;
1616

17-
import com.fasterxml.jackson.core.StreamReadConstraints;
1817
import net.masterthought.cucumber.generators.OverviewReport;
1918
import net.masterthought.cucumber.json.Feature;
2019
import org.apache.commons.io.FileUtils;
@@ -165,24 +164,6 @@ public File getEmbeddingDirectory() {
165164
assertThat(result).isNull();
166165
}
167166

168-
@Test
169-
void generateReports_resetsDefaultStreamReadConstraints() {
170-
171-
// given
172-
StreamReadConstraints defaultStreamReadConstraints = StreamReadConstraints.defaults();
173-
List<String> jsonReports = Arrays.asList(ReportGenerator.reportFromResource(ReportGenerator.SAMPLE_JSON));
174-
175-
Configuration configuration = new Configuration(reportDirectory, "constraintsProject");
176-
configuration.setMaxStreamStringLength(defaultStreamReadConstraints.getMaxStringLength() + 1);
177-
ReportBuilder builder = new ReportBuilder(jsonReports, configuration);
178-
179-
// when
180-
builder.generateReports();
181-
182-
// then
183-
assertThat(StreamReadConstraints.defaults()).isEqualTo(defaultStreamReadConstraints);
184-
}
185-
186167
@Test
187168
void copyStaticResources_CopiesRequiredFiles() throws Exception {
188169

0 commit comments

Comments
 (0)