/*******************************************************************************
* Copyright (c) 2005-2012 eBay Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
*******************************************************************************/
package org.eclipse.vjet.testframework.artifactmanager.project;
import java.io.File;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
/**
* @author ddodd
*
* This artifact manager is used to import the defined set of projects
* into the runtime workspace.
*
*/
public class WorkspaceProjectArtifactManager extends ProjectArtifactManager {
public static final String ARTIFACT_MANAGER_ID = "org.eclipse.vjet.testframework.artifact.project";
public boolean setUp() {
File targetProjectDir = getTargetProjectDir();
try {
super.setUp();
IWorkspace workspace = ResourcesPlugin.getWorkspace();
// Import project
ProjectUtil.importProject(m_projectName, targetProjectDir,
workspace, null);
return true;
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
throw new RuntimeException(e.getMessage(), e);
}
}
public void tearDown() {
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(
m_projectName);
try {
project.close(null);
project.delete(true, null);
} catch (CoreException e) {
System.err.println(e.getMessage());
e.printStackTrace();
throw new RuntimeException("Error tearing down project: " + m_projectName);
}
super.tearDown();
}
public String getArtifactType() {
return ARTIFACT_MANAGER_ID;
}
}