private static void mergeImports()

in src/com/intellij/idea/plugin/hybris/system/type/model/generator/MergingFileManager.java [149:190]


    private static void mergeImports(final ArrayList<String> merged, final String[] curLines, final String[] prevLines, final int[] indices) {
        final TreeSet<String> externalClasses = new TreeSet<>();
        for (int i = 0; i < curLines.length; i++) {
            final String line = curLines[i].trim();
            if (line.startsWith("import ") && line.endsWith(";")) {
                indices[0] = i + 1;
                final String name = line.substring("import ".length(), line.length() - 1).trim();
                if (name.endsWith("*")) {
                    continue;
                }
                externalClasses.add(name);
            }
        }
        for (int i = 0; i < prevLines.length; i++) {
            final String line = prevLines[i].trim();
            if (line.startsWith("import ") && line.endsWith(";")) {
                indices[1] = i + 1;
                final String name = line.substring("import ".length(), line.length() - 1).trim();
                if (name.endsWith("*")) {
                    continue;
                }
                externalClasses.add(name);
            }
        }
        boolean javaLang = false;
        for (String s : externalClasses) {
            if (s.startsWith("java.")) {
                javaLang = true;
                continue;
            }
            merged.add("import " + s + ';');
        }
        if (javaLang) {
            merged.add("");
            for (String s : externalClasses) {
                if (!s.startsWith("java.")) {
                    continue;
                }
                merged.add("import " + s + ';');
            }
        }
    }