From 9823cdb68b01c697a0ce0728eb32d7ad9fb32c66 Mon Sep 17 00:00:00 2001 From: "Summers, Gregory (gs2953)" Date: Tue, 26 Sep 2017 16:12:27 -0500 Subject: [PATCH] Fix Sonar blocker issue for resource leak Issue-ID: APPC-186 Change-Id: I6177d3976e4e91a6f29bee21558dc603aed44f1f Signed-off-by: Summers, Gregory (gs2953) --- .../extensions/YangContextBuilderImpl.java | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/appc-client/code-generator/src/main/java/org/openecomp/appc/tools/generator/extensions/YangContextBuilderImpl.java b/appc-client/code-generator/src/main/java/org/openecomp/appc/tools/generator/extensions/YangContextBuilderImpl.java index 32846166e..8325ecb6d 100644 --- a/appc-client/code-generator/src/main/java/org/openecomp/appc/tools/generator/extensions/YangContextBuilderImpl.java +++ b/appc-client/code-generator/src/main/java/org/openecomp/appc/tools/generator/extensions/YangContextBuilderImpl.java @@ -39,36 +39,35 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.net.URL; -import java.util.*; +import java.util.Map; +import java.util.HashMap; +import java.util.Set; public class YangContextBuilderImpl implements ContextBuilder { @Override public Map buildContext(String sourceFile, String contextConf) throws FileNotFoundException { - InputStream source = new FileInputStream(sourceFile); - if (source == null) { + try ( InputStream source = new FileInputStream(sourceFile) ) {} + catch ( IOException ex) { throw new FileNotFoundException("YANG file <" + sourceFile + ">not found"); } - YangTextSchemaContextResolver yangContextResolver = YangTextSchemaContextResolver - .create("yang-context-resolver"); - try { + Optional sc = null; + try ( YangTextSchemaContextResolver yangContextResolver = + YangTextSchemaContextResolver.create("yang-context-resolver")) { yangContextResolver.registerSource(new URL("file:///" + sourceFile)); + sc = yangContextResolver.getSchemaContext(); } catch (SchemaSourceException | IOException | YangSyntaxErrorException e) { - // TODO Auto-generated catch block e.printStackTrace(); } - Optional sc = yangContextResolver.getSchemaContext(); Map map = new HashMap<>(); - if (sc.isPresent()) { - + if ( null != sc && sc.isPresent()) { Set modules = sc.get().getModules(); for (Module module : modules) { ModuleEffectiveStatementImpl impl = (ModuleEffectiveStatementImpl) module; map.put("module", module); } - } return map; -- 2.16.6