/*******************************************************************************
* Copyright (c) 2011, 2012 Formal Mind GmbH and University of Dusseldorf.
* 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
*
* Contributors:
* Michael Jastram - initial API and implementation
******************************************************************************/
package org.eclipse.rmf.reqif10.pror.tests.util;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.rmf.reqif10.ReqIF;
public class ReqIfResourceUtils {
private static IWorkspace workspace = ResourcesPlugin.getWorkspace();
public static ReqIF createReqIfPlatformResorce(IProject project, String fileName,
String contents, EditingDomain editingDomain)
throws Exception {
IFile file = project.getFile(fileName);
InputStream input = new ByteArrayInputStream(
contents.getBytes("utf-8"));
file.create(input, IResource.FORCE, null);
URI resourceURI = URI.createPlatformResourceURI(file.getFullPath()
.toOSString(), true);
Resource resource = editingDomain.getResourceSet().getResource(
resourceURI, true);
ReqIF reqif = (ReqIF) resource.getContents().get(0);
return reqif;
}
public static ReqIF createReqIfPlatformResorce(IProject project, String fileName,
InputStream inputStream, EditingDomain editingDomain)
throws Exception {
return createReqIfPlatformResorce(project, fileName,
ResourceUtils.inputStreamToString(inputStream), editingDomain);
}
public static IProject createProjectPlatformResource(String projectName)
throws CoreException {
IProject project = workspace.getRoot().getProject(projectName);
project.create(null);
project.open(null);
return project;
}
}