private void setJavaVersion()

in src/main/java/org/apache/camel/kameleon/generator/ProjectGeneratorService.java [103:120]


    private void setJavaVersion(String folderName, String javaVersion) throws Exception {
        File pom = new File(folderName, "pom.xml");
        MavenXpp3Reader reader = new MavenXpp3Reader();
        Model model = reader.read(new FileReader(pom));
        List<Plugin> plugins = model.getBuild().getPlugins();
        Plugin mavenCompiler = plugins.stream().filter(p -> p.getArtifactId().equals("maven-compiler-plugin")).findFirst().get();
        Xpp3Dom config = (Xpp3Dom) mavenCompiler.getConfiguration();
        if (config.getChild("source") == null) config.addChild(new Xpp3Dom("source"));
        if (config.getChild("target") == null) config.addChild(new Xpp3Dom("target"));
        config.getChild("source").setValue(javaVersion.equals("8") ? "1.8" : javaVersion);
        config.getChild("target").setValue(javaVersion.equals("8") ? "1.8" : javaVersion);
        mavenCompiler.setConfiguration(config);

        model.getBuild().getPlugins().removeIf(p -> p.getArtifactId().equals("maven-compiler-plugin"));
        model.getBuild().getPlugins().add(mavenCompiler);
        MavenXpp3Writer writer = new MavenXpp3Writer();
        writer.write(new FileWriter(pom), model);
    }