Search in sources :

Example 31 with IProject

use of org.eclipse.core.resources.IProject in project che by eclipse.

the class Project method getDescription.

@Override
public IProjectDescription getDescription() throws CoreException {
    return new IProjectDescription() {

        @Override
        public IBuildConfiguration[] getBuildConfigReferences(String s) {
            return new IBuildConfiguration[0];
        }

        @Override
        public ICommand[] getBuildSpec() {
            return new ICommand[0];
        }

        @Override
        public String getComment() {
            return null;
        }

        @Override
        public IProject[] getDynamicReferences() {
            return new IProject[0];
        }

        @Override
        public IPath getLocation() {
            return null;
        }

        @Override
        public URI getLocationURI() {
            return null;
        }

        @Override
        public String getName() {
            return null;
        }

        @Override
        public String[] getNatureIds() {
            RegisteredProject project = workspace.getProjectRegistry().getProject(path.toString());
            if (project == null) {
                ResourcesPlugin.log(new Status(IStatus.ERROR, "resource", "Can't find project: " + path.toOSString()));
                return new String[0];
            }
            Map<String, List<String>> attributes = project.getAttributes();
            String language = "";
            if (attributes.containsKey("language")) {
                language = attributes.get("language").get(0);
            }
            return "java".equals(language) ? new String[] { "org.eclipse.jdt.core.javanature" } : new String[] { language };
        }

        @Override
        public IProject[] getReferencedProjects() {
            return new IProject[0];
        }

        @Override
        public boolean hasNature(String s) {
            String[] natureIds = getNatureIds();
            for (String id : natureIds) {
                if (s.equals(id)) {
                    return true;
                }
            }
            return false;
        }

        @Override
        public ICommand newCommand() {
            return null;
        }

        @Override
        public void setActiveBuildConfig(String s) {
        }

        @Override
        public void setBuildConfigs(String[] strings) {
        }

        @Override
        public void setBuildConfigReferences(String s, IBuildConfiguration[] iBuildConfigurations) {
        }

        @Override
        public void setBuildSpec(ICommand[] iCommands) {
        }

        @Override
        public void setComment(String s) {
        }

        @Override
        public void setDynamicReferences(IProject[] iProjects) {
        }

        @Override
        public void setLocation(IPath iPath) {
        }

        @Override
        public void setLocationURI(URI uri) {
        }

        @Override
        public void setName(String s) {
        }

        @Override
        public void setNatureIds(String[] strings) {
        }

        @Override
        public void setReferencedProjects(IProject[] iProjects) {
        }
    };
}
Also used : Status(org.eclipse.core.runtime.Status) IStatus(org.eclipse.core.runtime.IStatus) IPath(org.eclipse.core.runtime.IPath) ICommand(org.eclipse.core.resources.ICommand) IProjectDescription(org.eclipse.core.resources.IProjectDescription) RegisteredProject(org.eclipse.che.api.project.server.RegisteredProject) List(java.util.List) URI(java.net.URI) IProject(org.eclipse.core.resources.IProject) IBuildConfiguration(org.eclipse.core.resources.IBuildConfiguration)

Example 32 with IProject

use of org.eclipse.core.resources.IProject in project che by eclipse.

the class WorkspaceRoot method getProjects.

@Override
public IProject[] getProjects() {
    ProjectRegistry projectRegistry = workspace.getProjectRegistry();
    List<IProject> projects = new ArrayList<>();
    List<RegisteredProject> rootProjects = projectRegistry.getProjects();
    for (RegisteredProject rootProject : rootProjects) {
        Project project = new Project(new Path(rootProject.getPath()), workspace);
        projects.add(project);
    }
    return projects.toArray(new IProject[projects.size()]);
}
Also used : IPath(org.eclipse.core.runtime.IPath) Path(org.eclipse.core.runtime.Path) IProject(org.eclipse.core.resources.IProject) RegisteredProject(org.eclipse.che.api.project.server.RegisteredProject) ArrayList(java.util.ArrayList) RegisteredProject(org.eclipse.che.api.project.server.RegisteredProject) ProjectRegistry(org.eclipse.che.api.project.server.ProjectRegistry) IProject(org.eclipse.core.resources.IProject)

Example 33 with IProject

use of org.eclipse.core.resources.IProject in project che by eclipse.

the class WorkspaceRoot method getProject.

@Override
public IProject getProject(String name) {
    //first check our project cache
    Project result = projectTable.get(name);
    if (result == null) {
        IPath projectPath = new Path(null, name).makeAbsolute();
        //try to get the project using a canonical name
        //.lastSegment();
        String canonicalName = projectPath.toOSString();
        result = projectTable.get(canonicalName);
        if (result != null)
            return result;
        result = new Project(projectPath, workspace);
        projectTable.putIfAbsent(canonicalName, result);
    }
    return result;
}
Also used : IPath(org.eclipse.core.runtime.IPath) Path(org.eclipse.core.runtime.Path) IProject(org.eclipse.core.resources.IProject) RegisteredProject(org.eclipse.che.api.project.server.RegisteredProject) IPath(org.eclipse.core.runtime.IPath)

Example 34 with IProject

use of org.eclipse.core.resources.IProject in project che by eclipse.

the class RenameJavaProjectChange method doRename.

@Override
protected void doRename(IProgressMonitor pm) throws CoreException {
    try {
        pm.beginTask(getName(), 2);
        if (fUpdateReferences)
            modifyClassPaths(new SubProgressMonitor(pm, 1));
        IProject project = getProject();
        if (project != null) {
            IProjectDescription description = project.getDescription();
            description.setName(getNewName());
            project.move(description, IResource.FORCE | IResource.SHALLOW, new SubProgressMonitor(pm, 1));
        }
    } finally {
        pm.done();
    }
}
Also used : IProjectDescription(org.eclipse.core.resources.IProjectDescription) SubProgressMonitor(org.eclipse.core.runtime.SubProgressMonitor) IProject(org.eclipse.core.resources.IProject)

Example 35 with IProject

use of org.eclipse.core.resources.IProject in project che by eclipse.

the class RefactoringScopeFactory method addReferencingProjects.

/*
	 * Adds to <code> projects </code> IJavaProject objects for all projects directly or indirectly referencing focus. @param projects IJavaProjects will be added to this set
	 */
private static void addReferencingProjects(IJavaProject focus, Set<IJavaProject> projects) throws JavaModelException {
    IProject[] referencingProjects = focus.getProject().getReferencingProjects();
    for (int i = 0; i < referencingProjects.length; i++) {
        IJavaProject candidate = JavaCore.create(referencingProjects[i]);
        if (candidate == null || projects.contains(candidate) || !candidate.exists())
            // break cycle
            continue;
        IClasspathEntry entry = getReferencingClassPathEntry(candidate, focus);
        if (entry != null) {
            projects.add(candidate);
            if (entry.isExported())
                addReferencingProjects(candidate, projects);
        }
    }
}
Also used : IJavaProject(org.eclipse.jdt.core.IJavaProject) IClasspathEntry(org.eclipse.jdt.core.IClasspathEntry) IProject(org.eclipse.core.resources.IProject)

Aggregations

IProject (org.eclipse.core.resources.IProject)2658 IFile (org.eclipse.core.resources.IFile)642 CoreException (org.eclipse.core.runtime.CoreException)598 Test (org.junit.Test)483 IPath (org.eclipse.core.runtime.IPath)408 IFolder (org.eclipse.core.resources.IFolder)339 IResource (org.eclipse.core.resources.IResource)305 File (java.io.File)279 ArrayList (java.util.ArrayList)270 Path (org.eclipse.core.runtime.Path)268 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)259 IOException (java.io.IOException)201 IJavaProject (org.eclipse.jdt.core.IJavaProject)193 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)186 IWorkspaceRoot (org.eclipse.core.resources.IWorkspaceRoot)175 IProjectDescription (org.eclipse.core.resources.IProjectDescription)161 IWorkspace (org.eclipse.core.resources.IWorkspace)138 IStatus (org.eclipse.core.runtime.IStatus)124 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)116 List (java.util.List)109