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);
}
}
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);
}
}