12
12
13
13
import static io .javaoperatorsdk .operator .ControllerUtils .CONTROLLERS_RESOURCE_PATH ;
14
14
15
- public class ControllersResourceWriter {
15
+ class ControllersResourceWriter {
16
16
private Map <String , String > mappings = new ConcurrentHashMap <>();
17
17
private final ProcessingEnvironment processingEnvironment ;
18
18
@@ -26,7 +26,8 @@ public ControllersResourceWriter loadExistingMappings() {
26
26
.getFiler ()
27
27
.getResource (StandardLocation .CLASS_OUTPUT , "" , CONTROLLERS_RESOURCE_PATH );
28
28
29
- final var existingLines = new BufferedReader (new InputStreamReader (readonlyResource .openInputStream ()))
29
+ final var bufferedReader = new BufferedReader (new InputStreamReader (readonlyResource .openInputStream ()));
30
+ final var existingLines = bufferedReader
30
31
.lines ()
31
32
.map (l -> l .split ("," ))
32
33
.collect (Collectors .toMap (parts -> parts [0 ], parts -> parts [1 ]));
@@ -42,16 +43,24 @@ public ControllersResourceWriter add(String controllerClassName, String customRe
42
43
}
43
44
44
45
public void flush () {
46
+ PrintWriter printWriter = null ;
45
47
try {
46
48
final var resource = processingEnvironment
47
49
.getFiler ()
48
50
.createResource (StandardLocation .CLASS_OUTPUT , "" , CONTROLLERS_RESOURCE_PATH );
49
- final var printWriter = new PrintWriter (resource .openOutputStream ());
51
+ printWriter = new PrintWriter (resource .openOutputStream ());
52
+
53
+
50
54
for (Map .Entry <String , String > entry : mappings .entrySet ()) {
51
55
printWriter .println (entry .getKey () + "," + entry .getValue ());
52
56
}
53
57
} catch (IOException e ) {
58
+ e .printStackTrace ();
54
59
throw new RuntimeException (e );
60
+ } finally {
61
+ if (printWriter != null ) {
62
+ printWriter .close ();
63
+ }
55
64
}
56
65
}
57
66
}
0 commit comments