From 5a20958a6c434d46f332929e5f035b79fbc13c93 Mon Sep 17 00:00:00 2001 From: Florian Hoelzl <hoelzl@fortiss.org> Date: Tue, 29 Nov 2011 10:31:40 +0000 Subject: [PATCH] added project loading --- .../tooling/kernel/utils/EMFResourceUtils.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/EMFResourceUtils.java b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/EMFResourceUtils.java index 851a593c9..9a48cd81e 100644 --- a/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/EMFResourceUtils.java +++ b/org.fortiss.tooling.kernel/trunk/src/org/fortiss/tooling/kernel/utils/EMFResourceUtils.java @@ -25,8 +25,10 @@ import org.eclipse.core.resources.IFile; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; 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.emf.ecore.xmi.XMLResource; +import org.fortiss.tooling.kernel.ToolingKernelActivator; /** * Utility methods used for Eclipse resource storage. @@ -58,4 +60,19 @@ public final class EMFResourceUtils { options.put(Resource.OPTION_ZIP, false); return options; } + + /** Loads the root EObject from the given URI. */ + public static EObject loadModelFromFile(URI resourceURI) { + try { + ResourceSet rset = new ResourceSetImpl(); + Resource r; + r = rset.createResource(resourceURI); + r.load(EMFResourceUtils.buildOptionsMap()); + return r.getContents().get(0); + } catch (IOException ex) { + LoggingUtils.error(ToolingKernelActivator.getDefault(), + "Failed to load model from " + resourceURI.toString()); + } + return null; + } } -- GitLab