blob: c6062d1c3c067ebdf8ae017a1e202d56a5eaa38f [file] [log] [blame]
package org.eclipse.uml2.diagram.common.tests;
import java.io.IOException;
import java.io.InputStream;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IProjectDescription;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
public class UMLProjectFacade {
private IProject myProject;
public UMLProjectFacade() throws CoreException {
this("TestProject");
}
public UMLProjectFacade(String name) throws CoreException {
IWorkspace workspace = ResourcesPlugin.getWorkspace();
IWorkspaceRoot wsroot = workspace.getRoot();
myProject = wsroot.getProject(name);
IProjectDescription desc = workspace.newProjectDescription(myProject.getName());
if (!myProject.exists()) {
myProject.create(desc, null);
}
if (!myProject.isOpen()) {
myProject.open(null);
}
}
public IFile getFile(String name) {
return myProject.getFile(name);
}
public IFile createEmptyFile(String name) throws CoreException {
IFile file = getFile(name);
file.create(new InputStream() {
@Override
public int read() throws IOException {
return -1;
}
}, true, null);
return file;
}
public void close() throws CoreException {
try {
myProject.delete(true, true, null);
} finally {
myProject = null;
}
}
public String getFullPath() {
return myProject.getFullPath().toString();
}
}