private void searchDirectory()

in plugins/org.apache.karaf.eik.wtp.core/src/main/java/org/apache/karaf/eik/wtp/core/runtime/KarafRuntimeLocator.java [86:118]


    private void searchDirectory(final File directory, final int depth,
            final IRuntimeSearchListener listener, final IProgressMonitor monitor) {

        final IRuntimeWorkingCopy runtime = resolveDirectoryToRuntime(directory, monitor);

        if (runtime != null) {
            listener.runtimeFound(runtime);
        }

        if (depth == 0 || monitor.isCanceled()) {
            return;
        }

        final File[] files = directory.listFiles(new FileFilter() {
            @Override
            public boolean accept(final File file) {
                return file.isDirectory();
            }
        });

        if (files == null) {
            return;
        }

        for (final File f : files) {
            if (monitor.isCanceled()) {
                return;
            }

            searchDirectory(f, depth - 1, listener, monitor);
        }

    }