Skip to content

Commit 27ae71e

Browse files
Properly close resources when generating files #987 (#989)
1 parent ca9bb69 commit 27ae71e

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/main/java/com/kobylynskyi/graphql/codegen/generators/FreeMarkerTemplateFilesCreator.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import java.io.File;
1111
import java.io.FileWriter;
12+
import java.io.IOException;
1213
import java.nio.file.FileAlreadyExistsException;
1314
import java.util.Map;
1415

@@ -37,12 +38,18 @@ public static File create(MappingContext mappingContext,
3738
String fileName = dataModel.get(DataModelFields.CLASS_NAME) + language.getFileExtension();
3839
File fileOutputDir = getFileTargetDirectory(dataModel, mappingContext.getOutputDirectory());
3940
File javaSourceFile = new File(fileOutputDir, fileName);
41+
4042
try {
4143
if (!javaSourceFile.createNewFile()) {
4244
throw new FileAlreadyExistsException("File already exists: " + javaSourceFile.getPath());
4345
}
46+
} catch (IOException e) {
47+
throw new UnableToCreateFileException(e);
48+
}
49+
50+
try (FileWriter fileWriter = new FileWriter(javaSourceFile)) {
4451
Template template = FreeMarkerTemplatesRegistry.getTemplateWithLang(language, templateType);
45-
template.process(dataModel, new FileWriter(javaSourceFile));
52+
template.process(dataModel, fileWriter);
4653
} catch (Exception e) {
4754
throw new UnableToCreateFileException(e);
4855
}

0 commit comments

Comments
 (0)