You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by zr...@apache.org on 2019/08/22 19:25:51 UTC

[camel] 01/04: CAMEL-13893: cleanup

This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit ed22f2cac006a5d134ec147a942eff6f62cada4d
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Thu Aug 22 10:04:19 2019 +0200

    CAMEL-13893: cleanup
---
 components/camel-any23/pom.xml                     |   1 -
 .../generator/swagger/AbstractGenerateMojo.java    | 108 ++++++++++-----------
 .../maven/generator/swagger/GenerateXmlMojo.java   |  26 +++--
 3 files changed, 66 insertions(+), 69 deletions(-)

diff --git a/components/camel-any23/pom.xml b/components/camel-any23/pom.xml
index 0788dfb..a6a2265 100644
--- a/components/camel-any23/pom.xml
+++ b/components/camel-any23/pom.xml
@@ -85,7 +85,6 @@
       <groupId>org.apache.camel</groupId>
       <artifactId>camel-http</artifactId>
       <scope>test</scope>
-      <version>${project.version}</version>
     </dependency>
     <dependency>
       <groupId>org.apache.camel</groupId>
diff --git a/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/AbstractGenerateMojo.java b/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/AbstractGenerateMojo.java
index d24dded..cde680b 100644
--- a/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/AbstractGenerateMojo.java
+++ b/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/AbstractGenerateMojo.java
@@ -18,12 +18,11 @@ package org.apache.camel.maven.generator.swagger;
 
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
-import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -54,7 +53,11 @@ import static org.twdata.maven.mojoexecutor.MojoExecutor.version;
 abstract class AbstractGenerateMojo extends AbstractMojo {
 
     // this list should be in priority order
-    public static final String[] DEFAULT_REST_CONSUMER_COMPONENTS = new String[]{"servlet", "undertow", "jetty", "restlet", "netty-http", "spark-java", "coap"};
+    public static final String[] DEFAULT_REST_CONSUMER_COMPONENTS = new String[] {"servlet", "undertow", "jetty",
+        "restlet", "netty-http", "spark-java", "coap"};
+
+    @Parameter
+    String apiContextPath;
 
     @Parameter
     String destinationGenerator;
@@ -62,20 +65,11 @@ abstract class AbstractGenerateMojo extends AbstractMojo {
     @Parameter
     String filterOperation;
 
-    @Parameter(defaultValue = "${project}")
-    MavenProject project;
-
-    @Parameter(defaultValue = "false")
-    boolean skip;
-
-    @Parameter(defaultValue = "${project.basedir}/src/spec/swagger.json", required = true)
-    String specificationUri;
-
-    @Parameter(defaultValue = "true")
-    boolean restConfiguration;
+    @Parameter
+    String modelNamePrefix;
 
-    @Parameter(defaultValue = "2.3.1")
-    String swaggerCodegenMavenPluginVersion;
+    @Parameter
+    String modelNameSuffix;
 
     @Parameter(defaultValue = "${project.build.directory}/generated-sources/swagger")
     String modelOutput;
@@ -83,17 +77,23 @@ abstract class AbstractGenerateMojo extends AbstractMojo {
     @Parameter
     String modelPackage;
 
-    @Parameter
-    String modelNamePrefix;
+    @Parameter(defaultValue = "true")
+    String modelWithXml;
 
-    @Parameter
-    String modelNameSuffix;
+    @Parameter(defaultValue = "${project}")
+    MavenProject project;
 
     @Parameter(defaultValue = "true")
-    String modelWithXml;
+    boolean restConfiguration;
 
-    @Parameter
-    String apiContextPath;
+    @Parameter(defaultValue = "false")
+    boolean skip;
+
+    @Parameter(defaultValue = "${project.basedir}/src/spec/swagger.json", required = true)
+    String specificationUri;
+
+    @Parameter(defaultValue = "2.3.1")
+    String swaggerCodegenMavenPluginVersion;
 
     @Parameter(defaultValue = "${project}", readonly = true)
     private MavenProject mavenProject;
@@ -117,7 +117,7 @@ abstract class AbstractGenerateMojo extends AbstractMojo {
         final URL[] withOutput = new URL[] {outputDirectory};
 
         try (URLClassLoader classLoader = new URLClassLoader(withOutput, contextClassLoader)) {
-            @SuppressWarnings("unchecked")
+            @SuppressWarnings({"unchecked", "rawtypes"})
             final Class<DestinationGenerator> tmp = (Class) classLoader.loadClass(destinationGenerator);
 
             if (!DestinationGenerator.class.isAssignableFrom(tmp)) {
@@ -145,13 +145,14 @@ abstract class AbstractGenerateMojo extends AbstractMojo {
         return destinationGeneratorObject;
     }
 
-    void generateDto(String language) throws MojoExecutionException {
-        getLog().info("Generating DTO classes using io.swagger:swagger-codegen-maven-plugin:" + swaggerCodegenMavenPluginVersion);
+    void generateDto(final String language) throws MojoExecutionException {
+        getLog().info(
+            "Generating DTO classes using io.swagger:swagger-codegen-maven-plugin:" + swaggerCodegenMavenPluginVersion);
 
         // swagger-codegen-maven-plugin documentation and its supported options
         // https://github.com/swagger-api/swagger-codegen/tree/master/modules/swagger-codegen-maven-plugin
 
-        List<MojoExecutor.Element> elements = new ArrayList<>();
+        final List<MojoExecutor.Element> elements = new ArrayList<>();
         elements.add(new MojoExecutor.Element("inputSpec", specificationUri));
         elements.add(new MojoExecutor.Element("language", language));
         elements.add(new MojoExecutor.Element("generateApis", "false"));
@@ -178,25 +179,28 @@ abstract class AbstractGenerateMojo extends AbstractMojo {
             plugin(
                 groupId("io.swagger"),
                 artifactId("swagger-codegen-maven-plugin"),
-                version(swaggerCodegenMavenPluginVersion)
-            ),
+                version(swaggerCodegenMavenPluginVersion)),
             goal("generate"),
             configuration(
-                elements.toArray(new MojoExecutor.Element[elements.size()])
-            ),
+                elements.toArray(new MojoExecutor.Element[elements.size()])),
             executionEnvironment(
                 mavenProject,
                 mavenSession,
-                pluginManager
-            )
-        );
+                pluginManager));
+    }
+
+    protected String detectCamelVersionFromClasspath() {
+        return mavenProject.getDependencies().stream().filter(
+            d -> "org.apache.camel".equals(d.getGroupId()) && ObjectHelper.isNotEmpty(d.getVersion()))
+            .findFirst().map(Dependency::getVersion).orElse(null);
     }
 
     protected String detectRestComponentFromClasspath() {
-        for (Dependency dep : mavenProject.getDependencies()) {
+        for (final Dependency dep : mavenProject.getDependencies()) {
             if ("org.apache.camel".equals(dep.getGroupId())) {
-                String aid = dep.getArtifactId();
-                Optional<String> comp = Arrays.asList(DEFAULT_REST_CONSUMER_COMPONENTS).stream().filter(c -> aid.startsWith("camel-" + c)).findFirst();
+                final String aid = dep.getArtifactId();
+                final Optional<String> comp = Arrays.asList(DEFAULT_REST_CONSUMER_COMPONENTS).stream()
+                    .filter(c -> aid.startsWith("camel-" + c)).findFirst();
                 if (comp.isPresent()) {
                     return comp.get();
                 }
@@ -209,15 +213,9 @@ abstract class AbstractGenerateMojo extends AbstractMojo {
         return mavenProject.getDependencies().stream().anyMatch(d -> "org.springframework.boot".equals(d.getGroupId()));
     }
 
-    protected String detectCamelVersionFromClasspath() {
-        return mavenProject.getDependencies().stream().filter(
-            d -> "org.apache.camel".equals(d.getGroupId()) && ObjectHelper.isNotEmpty(d.getVersion()))
-            .findFirst().map(Dependency::getVersion).orElse(null);
-    }
-
     protected String detectSpringBootMainPackage() throws IOException {
-        for (String src : mavenProject.getCompileSourceRoots()) {
-            String d = findSpringSpringBootPackage(new File(src));
+        for (final String src : mavenProject.getCompileSourceRoots()) {
+            final String d = findSpringSpringBootPackage(new File(src));
             if (d != null) {
                 return d;
             }
@@ -225,17 +223,19 @@ abstract class AbstractGenerateMojo extends AbstractMojo {
         return null;
     }
 
-    protected String findSpringSpringBootPackage(File dir) throws IOException {
-        File[] files = dir.listFiles();
+    protected String findSpringSpringBootPackage(final File dir) throws IOException {
+        final File[] files = dir.listFiles();
         if (files != null) {
-            for (File file : files) {
+            for (final File file : files) {
                 if (file.getName().endsWith(".java")) {
-                    String content = IOHelper.loadText(new FileInputStream(file));
-                    if (content.contains("@SpringBootApplication")) {
-                        return grabPackageName(content);
+                    try (InputStream stream = new FileInputStream(file)) {
+                        final String content = IOHelper.loadText(stream);
+                        if (content.contains("@SpringBootApplication")) {
+                            return grabPackageName(content);
+                        }
                     }
                 } else if (file.isDirectory()) {
-                    String packageName = findSpringSpringBootPackage(file);
+                    final String packageName = findSpringSpringBootPackage(file);
                     if (packageName != null) {
                         return packageName;
                     }
@@ -245,8 +245,8 @@ abstract class AbstractGenerateMojo extends AbstractMojo {
         return null;
     }
 
-    protected String grabPackageName(String content) {
-        String[] lines = content.split("\\n");
+    protected static String grabPackageName(final String content) {
+        final String[] lines = content.split("\\n");
         for (String line : lines) {
             line = line.trim();
             if (line.startsWith("package ")) {
diff --git a/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateXmlMojo.java b/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateXmlMojo.java
index 00dcfc3..02b77ec 100644
--- a/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateXmlMojo.java
+++ b/tooling/maven/camel-restdsl-swagger-plugin/src/main/java/org/apache/camel/maven/generator/swagger/GenerateXmlMojo.java
@@ -18,15 +18,14 @@ package org.apache.camel.maven.generator.swagger;
 
 import java.io.File;
 import java.io.FileOutputStream;
-import java.io.IOException;
 
 import io.swagger.models.Swagger;
 import io.swagger.parser.SwaggerParser;
+
 import org.apache.camel.CamelContext;
 import org.apache.camel.generator.swagger.DestinationGenerator;
 import org.apache.camel.generator.swagger.RestDslGenerator;
 import org.apache.camel.generator.swagger.RestDslXmlGenerator;
-import org.apache.camel.generator.swagger.SpringBootProjectSourceCodeGenerator;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.maven.plugin.MojoExecutionException;
@@ -39,14 +38,14 @@ import org.apache.maven.plugins.annotations.ResolutionScope;
     requiresDependencyResolution = ResolutionScope.COMPILE, threadSafe = true)
 public class GenerateXmlMojo extends AbstractGenerateMojo {
 
-    @Parameter(defaultValue = "${project.build.directory}/generated-sources/restdsl-swagger", required = true)
-    private String outputDirectory;
+    @Parameter(defaultValue = "false")
+    private boolean blueprint;
 
     @Parameter(defaultValue = "camel-rest.xml", required = true)
     private String fileName;
 
-    @Parameter(defaultValue = "false")
-    private boolean blueprint;
+    @Parameter(defaultValue = "${project.build.directory}/generated-sources/restdsl-swagger", required = true)
+    private String outputDirectory;
 
     @Override
     public void execute() throws MojoExecutionException {
@@ -96,7 +95,7 @@ public class GenerateXmlMojo extends AbstractGenerateMojo {
                 String dep = "\n\t\t<dependency>"
                     + "\n\t\t\t<groupId>org.apache.camel</groupId>"
                     + "\n\t\t\t<artifactId>" + aid + "</artifactId>";
-                String ver = detectCamelVersionFromClasspath();
+                final String ver = detectCamelVersionFromClasspath();
                 if (ver != null) {
                     dep += "\n\t\t\t<version>" + ver + "</version>";
                 }
@@ -110,17 +109,16 @@ public class GenerateXmlMojo extends AbstractGenerateMojo {
         }
 
         try {
-            CamelContext camel = new DefaultCamelContext();
-            String xml = generator.generate(camel);
+            final CamelContext camel = new DefaultCamelContext();
+            final String xml = generator.generate(camel);
 
             // ensure output folder is created
             new File(outputDirectory).mkdirs();
-            File out = new File(outputDirectory, fileName);
-
-            FileOutputStream fos = new FileOutputStream(out);
-            fos.write(xml.getBytes());
-            fos.close();
+            final File out = new File(outputDirectory, fileName);
 
+            try (FileOutputStream fos = new FileOutputStream(out)) {
+                fos.write(xml.getBytes());
+            }
         } catch (final Exception e) {
             throw new MojoExecutionException(
                 "Unable to generate REST DSL Swagger sources from specification: " + specificationUri, e);