org.bndtools.utils.workspace.WorkspaceUtils Maven / Gradle / Ivy
package org.bndtools.utils.workspace;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.runtime.IPath;
import aQute.bnd.build.Project;
import aQute.bnd.build.Workspace;
public class WorkspaceUtils {
public static IProject findOpenProject(IWorkspaceRoot wsroot, Project model) {
return findOpenProject(wsroot, model.getName());
}
public static IProject findOpenProject(IWorkspaceRoot wsroot, String name) {
IProject project = wsroot.getProject(name);
if (checkProject(project, name)) {
return project;
}
for (IProject p : wsroot.getProjects()) {
if (checkProject(p, name)) {
return p;
}
}
return null;
}
public static IProject findCnfProject(IWorkspaceRoot wsroot, Workspace ws) throws Exception {
return findOpenProject(wsroot, ws.getBuildDir()
.getName());
}
private static boolean checkProject(IProject project, String name) {
if ((project != null) && project.isOpen()) {
IPath path = project.getLocation();
if ((path != null) && name.equals(path.lastSegment())) {
return true;
}
}
return false;
}
}