Skip to content

Commit 5c9a5d0

Browse files
committed
Block unsafe polymorphic base types with Jackson
1 parent 7c404c5 commit 5c9a5d0

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

core/src/main/java/pl/project13/core/PropertiesFileGenerator.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package pl.project13.core;
1919

2020
import com.fasterxml.jackson.core.type.TypeReference;
21+
import com.fasterxml.jackson.databind.MapperFeature;
2122
import com.fasterxml.jackson.databind.ObjectMapper;
2223
import org.sonatype.plexus.build.incremental.BuildContext;
2324
import pl.project13.core.log.LoggerBridge;
@@ -32,6 +33,7 @@
3233
import java.util.Properties;
3334

3435
public class PropertiesFileGenerator {
36+
private static final ObjectMapper MAPPER = new ObjectMapper().enable(MapperFeature.BLOCK_UNSAFE_POLYMORPHIC_BASE_TYPES);
3537

3638
private LoggerBridge log;
3739
private BuildContext buildContext;
@@ -91,8 +93,7 @@ public void maybeGeneratePropertiesFile(@Nonnull Properties localProperties, Fil
9193
if (isJsonFormat) {
9294
try (Writer outputWriter = new OutputStreamWriter(outputStream, sourceCharset)) {
9395
log.info("Writing json file to [{}] (for module {})...", gitPropsFile.getAbsolutePath(), projectName);
94-
ObjectMapper mapper = new ObjectMapper();
95-
mapper.writerWithDefaultPrettyPrinter().writeValue(outputWriter, sortedLocalProperties);
96+
MAPPER.writerWithDefaultPrettyPrinter().writeValue(outputWriter, sortedLocalProperties);
9697
}
9798
} else {
9899
log.info("Writing properties file to [{}] (for module {})...", gitPropsFile.getAbsolutePath(), projectName);
@@ -131,11 +132,10 @@ private Properties readJsonProperties(@Nonnull File jsonFile, Charset sourceChar
131132

132133
try (final FileInputStream fis = new FileInputStream(jsonFile)) {
133134
try (final InputStreamReader reader = new InputStreamReader(fis, sourceCharset)) {
134-
final ObjectMapper mapper = new ObjectMapper();
135135
final TypeReference<HashMap<String, Object>> mapTypeRef =
136136
new TypeReference<HashMap<String, Object>>() {};
137137

138-
propertiesMap = mapper.readValue(reader, mapTypeRef);
138+
propertiesMap = MAPPER.readValue(reader, mapTypeRef);
139139
}
140140
} catch (final Exception ex) {
141141
throw new CannotReadFileException(ex);

0 commit comments

Comments
 (0)