Search in sources :

Example 1 with Import

use of org.jboss.forge.roaster.model.source.Import in project camel by apache.

the class SpringBootAutoConfigurationMojo method sortImports.

private static void sortImports(JavaClassSource javaClass) {
    // sort imports
    List<Import> imports = javaClass.getImports();
    // sort imports
    List<String> names = new ArrayList<>();
    for (Import imp : imports) {
        names.add(imp.getQualifiedName());
    }
    // sort
    Collections.sort(names, (s1, s2) -> {
        // java comes first
        if (s1.startsWith("java.")) {
            s1 = "___" + s1;
        }
        if (s2.startsWith("java.")) {
            s2 = "___" + s2;
        }
        // then javax comes next
        if (s1.startsWith("javax.")) {
            s1 = "__" + s1;
        }
        if (s2.startsWith("javax.")) {
            s2 = "__" + s2;
        }
        // org.w3c is for some odd reason also before others
        if (s1.startsWith("org.w3c.")) {
            s1 = "_" + s1;
        }
        if (s2.startsWith("org.w3c.")) {
            s2 = "_" + s2;
        }
        return s1.compareTo(s2);
    });
    // remove all imports first
    for (String name : names) {
        javaClass.removeImport(name);
    }
    // and add them back in correct order
    for (String name : names) {
        javaClass.addImport(name);
    }
}
Also used : Import(org.jboss.forge.roaster.model.source.Import) ArrayList(java.util.ArrayList)

Example 2 with Import

use of org.jboss.forge.roaster.model.source.Import in project camel by apache.

the class SpringBootAutoConfigurationMojo method sortImports.

private static void sortImports(JavaClassSource javaClass) {
    // sort imports
    List<Import> imports = javaClass.getImports();
    // sort imports
    List<String> names = new ArrayList<>();
    for (Import imp : imports) {
        names.add(imp.getQualifiedName());
    }
    // sort
    Collections.sort(names, (s1, s2) -> {
        // java comes first
        if (s1.startsWith("java.")) {
            s1 = "___" + s1;
        }
        if (s2.startsWith("java.")) {
            s2 = "___" + s2;
        }
        // then javax comes next
        if (s1.startsWith("javax.")) {
            s1 = "__" + s1;
        }
        if (s2.startsWith("javax.")) {
            s2 = "__" + s2;
        }
        // org.w3c is for some odd reason also before others
        if (s1.startsWith("org.w3c.")) {
            s1 = "_" + s1;
        }
        if (s2.startsWith("org.w3c.")) {
            s2 = "_" + s2;
        }
        return s1.compareTo(s2);
    });
    // remove all imports first
    for (String name : names) {
        javaClass.removeImport(name);
    }
    // and add them back in correct order
    for (String name : names) {
        javaClass.addImport(name);
    }
}
Also used : Import(org.jboss.forge.roaster.model.source.Import) ArrayList(java.util.ArrayList)

Aggregations

ArrayList (java.util.ArrayList)2 Import (org.jboss.forge.roaster.model.source.Import)2