/** * This file is licensed under the University of Illinois/NCSA Open Source License. See LICENSE.TXT for details. */ package edu.illinois.codingtracker.operations; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.CoreException; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.JavaCore; import edu.illinois.codingtracker.compare.helpers.EditorHelper; import edu.illinois.codingtracker.helpers.ResourceHelper; import edu.illinois.codingtracker.jdt.project.manipulation.JavaProjectHelper; /** * * @author Stas Negara * */ public class JavaProjectsUpkeeper { public static IJavaProject[] getAllJavaProjects() { IProject[] projects= getAllProjects(); IJavaProject[] javaProjects= new IJavaProject[projects.length]; //assumes that during replay all projects are Java projects for (int i= 0; i < projects.length; i++) { javaProjects[i]= JavaCore.create(projects[i]); } return javaProjects; } public static IJavaProject findOrCreateJavaProject(String projectName) throws CoreException { IProject project= ResourceHelper.getWorkspaceRoot().getProject(projectName); if (project.exists()) { return JavaCore.create(project); } else { return JavaProjectHelper.createJavaProject(projectName, "_some_weird_name_"); } } public static void clearWorkspace() { EditorHelper.closeAllEditors(); for (IProject project : getAllProjects()) { try { JavaProjectHelper.delete(project); } catch (CoreException e) { throw new RuntimeException("Could not delete project \"" + project.getName() + "\"", e); } } } private static IProject[] getAllProjects() { return ResourceHelper.getWorkspaceRoot().getProjects(); } }