private void addIfNotExists()

in src/com/intellij/idea/plugin/hybris/project/descriptors/DefaultHybrisProjectDescriptor.java [586:615]


    private void addIfNotExists(final Map<String, File> moduleRootDirectories, final File file) {
        try {
            // this will resolve symlinks
            final String path = file.getCanonicalPath();
            final File current = moduleRootDirectories.get(path);
            if (current == null) {
                moduleRootDirectories.put(path, file);
                return;
            }
            if (hybrisDistributionDirectory != null && !FileUtils.isFileUnder(current, hybrisDistributionDirectory)) {
                if (FileUtils.isFileUnder(file, hybrisDistributionDirectory)) {
                    moduleRootDirectories.put(path, file);
                    return;
                }
            }
            if (externalExtensionsDirectory != null && !FileUtils.isFileUnder(current, externalExtensionsDirectory)) {
                if (FileUtils.isFileUnder(file, externalExtensionsDirectory)) {
                    moduleRootDirectories.put(path, file);
                    return;
                }
            }
            if (rootDirectory != null && !FileUtils.isFileUnder(current, rootDirectory)) {
                if (FileUtils.isFileUnder(file, rootDirectory)) {
                    moduleRootDirectories.put(path, file);
                }
            }
        } catch (IOException e) {
            LOG.error("Unable to locate " + file.getAbsolutePath());
        }
    }