blob: 6db40c959684f1b4b3b125b0625e6e7fef411d04 [file] [log] [blame]
package org.eclipse.gmf.tooling.codegen.launcher.utils;
import java.io.File;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator;
/**
* code copied from Generator
*/
public class GMFGeneratorUtil {
public static final String SEPARATOR = File.separator;
public static GenEditorGenerator loadEditorGen(String projectLocation, String gmfgenLocation) {
IPath gmfgenProjectPath = new Path(projectLocation);
String gmfgenProjectName = gmfgenProjectPath.lastSegment();
StringBuilder uri = new StringBuilder(SEPARATOR);
uri.append(gmfgenProjectName);
if (!gmfgenLocation.startsWith(SEPARATOR)) {
uri.append(SEPARATOR);
}
uri.append(gmfgenLocation);
URI gmfgenFileURI = URI.createPlatformResourceURI(uri.toString(), true);
return GMFGeneratorUtil.loadEditorGen(gmfgenFileURI);
}
public static GenEditorGenerator loadEditorGen(org.eclipse.emf.common.util.URI u) {
GenEditorGenerator result = null;
ResourceSet rs = new ResourceSetImpl();
Resource r = rs.getResource(u, true);
for (Object o: r.getContents()) {
if (o instanceof GenEditorGenerator) {
result = (GenEditorGenerator)o;
break;
}
}
return result;
}
}