Fix CodeGeneratorImpl checkstyle 14/92814/10
authorIllia <illia.ihushev@pantheon.tech>
Wed, 30 Sep 2020 15:11:27 +0000 (18:11 +0300)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 8 Oct 2020 08:40:51 +0000 (10:40 +0200)
Narrow catch statements argument types. Verify creation of folders.

Change-Id: I3ea039e9af05458de4e41ea4b6040b90537921b3
Signed-off-by: Illia <illia.ihushev@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/maven-sal-api-gen-plugin/src/main/java/org/opendaylight/mdsal/binding/maven/api/gen/plugin/CodeGeneratorImpl.java

index 018d2b9cd386c86cf2ee9bc74b3c3d713f4fef6f..4fa2004d095bbff94dc826b3d92f454c100ceb5a 100644 (file)
@@ -147,7 +147,8 @@ public final class CodeGeneratorImpl implements BasicCodeGenerator, BuildContext
     }
 
     private Collection<? extends File> generateModuleInfos(final File outputBaseDir, final Set<Module> yangModules,
-            final EffectiveModelContext context, final ModuleResourceResolver moduleResourcePathResolver) {
+            final EffectiveModelContext context, final ModuleResourceResolver moduleResourcePathResolver)
+                throws IOException {
         Builder<File> result = ImmutableSet.builder();
         Builder<String> bindingProviders = ImmutableSet.builder();
         for (Module module : yangModules) {
@@ -166,9 +167,9 @@ public final class CodeGeneratorImpl implements BasicCodeGenerator, BuildContext
     }
 
     private File writeMetaInfServices(final File outputBaseDir, final Class<YangModelBindingProvider> serviceClass,
-            final ImmutableSet<String> services) {
+            final ImmutableSet<String> services) throws IOException {
         File metainfServicesFolder = new File(outputBaseDir, "META-INF" + File.separator + "services");
-        metainfServicesFolder.mkdirs();
+        Files.createDirectories(metainfServicesFolder.toPath());
         File serviceFile = new File(metainfServicesFolder, serviceClass.getName());
 
         String src = Joiner.on('\n').join(services);
@@ -215,7 +216,7 @@ public final class CodeGeneratorImpl implements BasicCodeGenerator, BuildContext
 
     private Set<File> generateYangModuleInfo(final File outputBaseDir, final Module module,
             final EffectiveModelContext ctx, final ModuleResourceResolver moduleResourcePathResolver,
-            final Builder<String> providerSourceSet) {
+            final Builder<String> providerSourceSet) throws IOException {
         Builder<File> generatedFiles = ImmutableSet.builder();
 
         final YangModuleInfoTemplate template = new YangModuleInfoTemplate(module, ctx,
@@ -230,18 +231,17 @@ public final class CodeGeneratorImpl implements BasicCodeGenerator, BuildContext
             BindingMapping.getRootPackageName(module.getQNameModule()));
 
         generatedFiles.add(writeJavaSource(packageDir, BindingMapping.MODULE_INFO_CLASS_NAME, moduleInfoSource));
-        generatedFiles
-                .add(writeJavaSource(packageDir, BindingMapping.MODEL_BINDING_PROVIDER_CLASS_NAME, providerSource));
+        generatedFiles.add(writeJavaSource(packageDir, BindingMapping.MODEL_BINDING_PROVIDER_CLASS_NAME,
+            providerSource));
         providerSourceSet.add(template.getModelBindingProviderName());
 
         return generatedFiles.build();
 
     }
 
-    private File writeJavaSource(final File packageDir, final String className, final String source) {
-        if (!packageDir.exists()) {
-            packageDir.mkdirs();
-        }
+    private File writeJavaSource(final File packageDir, final String className, final String source)
+            throws IOException {
+        Files.createDirectories(packageDir.toPath());
         final File file = new File(packageDir, className + ".java");
         writeFile(file, source);
         return file;
@@ -254,10 +254,10 @@ public final class CodeGeneratorImpl implements BasicCodeGenerator, BuildContext
                 try (BufferedWriter bw = new BufferedWriter(fw)) {
                     bw.write(source);
                 }
-            } catch (Exception e) {
+            } catch (RuntimeException e) {
                 LOG.error("Could not write file: {}", file, e);
             }
-        } catch (Exception e) {
+        } catch (IOException e) {
             LOG.error("Could not create file: {}", file, e);
         }
         return file;