diff --git a/org.eclipse.xsmp.tool.smp.tests/src/org/eclipse/xsmp/tool/smp/tests/XsmpcatGeneratorTest.xtend b/org.eclipse.xsmp.tool.smp.tests/src/org/eclipse/xsmp/tool/smp/tests/XsmpcatGeneratorTest.xtend index a30e1e95..5a041515 100644 --- a/org.eclipse.xsmp.tool.smp.tests/src/org/eclipse/xsmp/tool/smp/tests/XsmpcatGeneratorTest.xtend +++ b/org.eclipse.xsmp.tool.smp.tests/src/org/eclipse/xsmp/tool/smp/tests/XsmpcatGeneratorTest.xtend @@ -43,9 +43,6 @@ class XsmpcatGeneratorTest { def test() { var rs = resourceSetProvider.get - parsehelper.parse(getClass().getResource("/org/eclipse/xsmp/lib/ecss.smp.xsmpcat").openStream, - URI.createURI("ecss.smp.xsmpcat"), null, rs) - val model = parsehelper.parse(getClass().getResource("Test.xsmpcat").openStream, URI.createURI("Test.xsmpcat"), null, rs) diff --git a/org.eclipse.xsmp/src/org/eclipse/xsmp/scoping/XsmpGlobalScopeProvider.java b/org.eclipse.xsmp/src/org/eclipse/xsmp/scoping/XsmpGlobalScopeProvider.java index afbf33f9..3e83fd10 100644 --- a/org.eclipse.xsmp/src/org/eclipse/xsmp/scoping/XsmpGlobalScopeProvider.java +++ b/org.eclipse.xsmp/src/org/eclipse/xsmp/scoping/XsmpGlobalScopeProvider.java @@ -11,19 +11,22 @@ package org.eclipse.xsmp.scoping; import java.io.IOException; +import java.util.Collections; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.xtext.resource.IEObjectDescription; import org.eclipse.xtext.resource.IResourceDescription; -import org.eclipse.xtext.resource.IResourceFactory; +import org.eclipse.xtext.resource.XtextResourceSet; import org.eclipse.xtext.scoping.IScope; import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider; import org.eclipse.xtext.scoping.impl.SelectableBasedScope; import com.google.common.base.Predicate; import com.google.inject.Inject; +import com.google.inject.Provider; import com.google.inject.Singleton; @Singleton @@ -33,7 +36,7 @@ public class XsmpGlobalScopeProvider extends DefaultGlobalScopeProvider private IResourceDescription.Manager descriptionManager; @Inject - private IResourceFactory resourceFactory; + private Provider resourceSetprovider; private IResourceDescription xsmpcatDescription = null; @@ -48,18 +51,17 @@ private IResourceDescription getXsmpcatDescription() throw new IllegalStateException("Unable to load ecss.smp.xsmpcat"); } - final var uri = URI.createURI(url.toString()); - - final var resource = resourceFactory.createResource(uri); + final var resource = resourceSetprovider.get().createResource(URI.createURI(url.toString())); try { - resource.load(url.openStream(), null); + resource.load(url.openStream(), Collections.emptyMap()); } catch (final IOException e) { throw new IllegalStateException("Unable to load ecss.smp.xsmpcat"); } xsmpcatDescription = descriptionManager.getResourceDescription(resource); + EcoreUtil.resolveAll(resource); } return xsmpcatDescription; } @@ -72,4 +74,4 @@ protected IScope getScope(final Resource context, boolean ignoreCase, EClass typ filter, type, ignoreCase), context, ignoreCase, type, filter); } -} +} \ No newline at end of file