Example usage for org.eclipse.jdt.core IJavaProject isReadOnly

List of usage examples for org.eclipse.jdt.core IJavaProject isReadOnly

Introduction

In this page you can find the example usage for org.eclipse.jdt.core IJavaProject isReadOnly.

Prototype

boolean isReadOnly();

Source Link

Document

Returns whether this Java element is read-only.

Usage

From source file:org.fastcode.util.SourceUtil.java

License:Open Source License

/**
 *
 * @return//from   www  .java 2 s  .c  o  m
 */
public static String[][] getAllSourcePaths(final String filter) {
    final IProject[] projects = ResourcesPlugin.getWorkspace().getRoot().getProjects();

    final List<String> paths = new ArrayList<String>();

    try {
        for (final IProject project : projects) {
            final IJavaProject javaProject = JavaCore.create(project);
            if (javaProject != null && javaProject.exists() && isJunitEnabled(javaProject)
                    && javaProject.isOpen() && !javaProject.isReadOnly()) {
                for (final IPackageFragmentRoot packageFragmentRoot : javaProject
                        .getAllPackageFragmentRoots()) {
                    if (!(packageFragmentRoot.isArchive() || packageFragmentRoot.isReadOnly())) {
                        String sourcePath = packageFragmentRoot.getPath().toString();
                        sourcePath = sourcePath.replace(FORWARD_SLASH + project.getName(), "${project}");
                        if (filter == null || sourcePath.toUpperCase().contains(filter.toUpperCase())) {
                            boolean include = true;
                            for (final String path : paths) {
                                if (path.equals(sourcePath)) {
                                    include = false;
                                    break;
                                }
                            }
                            if (include) {
                                paths.add(sourcePath);
                            }
                        }
                    }
                }
            }
        }
    } catch (final JavaModelException ex) {
        ex.printStackTrace();
        return new String[0][0];
    }

    return getStringArrayFromList(paths, false);
}