mirror of
https://github.com/sigmasternchen/xtext-core
synced 2025-03-16 00:38:56 +00:00
Merge pull request #567 from eclipse/jk/GH520_1
GH-520 more tests for live scoping
This commit is contained in:
commit
e6042819bc
4 changed files with 171 additions and 15 deletions
|
@ -52,6 +52,7 @@ class LiveShadowedChunkedContainerTest {
|
|||
@Inject IResourceDescription.Manager resourceDescriptionManager
|
||||
@Inject Provider<LiveShadowedChunkedResourceDescriptions> provider
|
||||
|
||||
WorkspaceConfig workspaceConfig
|
||||
ProjectConfig fooProject
|
||||
ProjectConfig barProject
|
||||
|
||||
|
@ -63,9 +64,11 @@ class LiveShadowedChunkedContainerTest {
|
|||
LiveShadowedChunkedContainer fooContainer
|
||||
LiveShadowedChunkedContainer barContainer
|
||||
|
||||
LiveShadowedChunkedResourceDescriptions liveShadowedChunkedResourceDescriptions
|
||||
|
||||
@Before
|
||||
def void setUp() {
|
||||
val workspaceConfig = new WorkspaceConfig()
|
||||
workspaceConfig = new WorkspaceConfig()
|
||||
fooProject = new ProjectConfig('foo', workspaceConfig)
|
||||
barProject = new ProjectConfig('bar', workspaceConfig)
|
||||
val rs0 = resourceSetProvider.get
|
||||
|
@ -78,7 +81,7 @@ class LiveShadowedChunkedContainerTest {
|
|||
rs1 = resourceSetProvider.get
|
||||
new ChunkedResourceDescriptions(chunks, rs1)
|
||||
ProjectConfigAdapter.install(rs1, fooProject)
|
||||
val liveShadowedChunkedResourceDescriptions = provider.get
|
||||
liveShadowedChunkedResourceDescriptions = provider.get
|
||||
liveShadowedChunkedResourceDescriptions.context = rs1
|
||||
fooContainer = new LiveShadowedChunkedContainer(liveShadowedChunkedResourceDescriptions, 'foo')
|
||||
barContainer = new LiveShadowedChunkedContainer(liveShadowedChunkedResourceDescriptions, 'bar')
|
||||
|
@ -104,16 +107,66 @@ class LiveShadowedChunkedContainerTest {
|
|||
assertTrue(barContainer.hasResourceDescription(barURI))
|
||||
assertFalse(barContainer.hasResourceDescription(fooURI))
|
||||
assertEquals(barURI, barContainer.getResourceDescription(barURI).URI)
|
||||
|
||||
assertEquals('foo', (liveShadowedChunkedResourceDescriptions.globalDescriptions as ChunkedResourceDescriptions).getContainer('foo').getExportedObjects.map[qualifiedName.toString].join(','))
|
||||
assertEquals('bar', (liveShadowedChunkedResourceDescriptions.globalDescriptions as ChunkedResourceDescriptions).getContainer('bar').getExportedObjects.map[qualifiedName.toString].join(','))
|
||||
}
|
||||
|
||||
@Test
|
||||
def testAddResource() {
|
||||
'baz'.parse(fooProject.sourceFolders.head.path.trimSegments(1).appendSegment('baz.livecontainertestlanguage'), rs1)
|
||||
def testAddRemoveResource() {
|
||||
val bazResource = 'baz'.parse(fooProject.sourceFolders.head.path.trimSegments(1).appendSegment('baz.livecontainertestlanguage'), rs1).eResource
|
||||
assertEquals(2, fooContainer.resourceDescriptions.size)
|
||||
assertEquals(2, fooContainer.resourceDescriptionCount)
|
||||
assertEquals('baz,foo', fooContainer.exportedObjects.map[qualifiedName.toString].sort.join(','))
|
||||
assertEquals(1, barContainer.resourceDescriptions.size)
|
||||
assertEquals(1, barContainer.resourceDescriptionCount)
|
||||
rs1.resources.remove(bazResource)
|
||||
assertEquals(1, fooContainer.resourceDescriptions.size)
|
||||
assertEquals(1, fooContainer.resourceDescriptionCount)
|
||||
assertEquals('foo', fooContainer.exportedObjects.map[qualifiedName.toString].sort.join(','))
|
||||
assertEquals(1, barContainer.resourceDescriptions.size)
|
||||
assertEquals(1, barContainer.resourceDescriptionCount)
|
||||
}
|
||||
|
||||
@Test
|
||||
def testMoveResourceBetweenContainers() {
|
||||
val oldURI = fooProject.sourceFolders.head.path.trimSegments(1).appendSegment('baz.livecontainertestlanguage')
|
||||
val bazResource = 'baz'.parse(oldURI, rs1).eResource
|
||||
assertEquals(2, fooContainer.resourceDescriptions.size)
|
||||
assertEquals(2, fooContainer.resourceDescriptionCount)
|
||||
assertEquals('baz,foo', fooContainer.exportedObjects.map[qualifiedName.toString].sort.join(','))
|
||||
assertEquals(oldURI, fooContainer.getExportedObjects(MODEL, QualifiedName.create('baz'), false).head.EObjectURI.trimFragment)
|
||||
assertEquals(1, barContainer.resourceDescriptions.size)
|
||||
assertEquals(1, barContainer.resourceDescriptionCount)
|
||||
val newURI = URI.createURI(bazResource.URI.toString().replace('/foo/', '/bar/'))
|
||||
bazResource.URI = newURI
|
||||
assertEquals(1, fooContainer.resourceDescriptions.size)
|
||||
assertEquals(1, fooContainer.resourceDescriptionCount)
|
||||
assertEquals('foo', fooContainer.exportedObjects.map[qualifiedName.toString].sort.join(','))
|
||||
assertEquals(1, fooContainer.resourceDescriptions.size)
|
||||
assertEquals(1, fooContainer.resourceDescriptionCount)
|
||||
assertEquals('bar,baz', barContainer.exportedObjects.map[qualifiedName.toString].sort.join(','))
|
||||
assertEquals(2, barContainer.resourceDescriptions.size)
|
||||
assertEquals(2, barContainer.resourceDescriptionCount)
|
||||
assertEquals(newURI, barContainer.getExportedObjects(MODEL, QualifiedName.create('baz'), false).head.EObjectURI.trimFragment)
|
||||
}
|
||||
|
||||
@Test
|
||||
def testAddToNewContainer() {
|
||||
val bazProject = new ProjectConfig('baz', workspaceConfig)
|
||||
val newURI = bazProject.sourceFolders.head.path.trimSegments(1).appendSegment('baz.livecontainertestlanguage')
|
||||
'baz'.parse(newURI, rs1)
|
||||
val bazContainer = new LiveShadowedChunkedContainer(liveShadowedChunkedResourceDescriptions, 'baz')
|
||||
assertEquals(1, fooContainer.resourceDescriptions.size)
|
||||
assertEquals(1, fooContainer.resourceDescriptionCount)
|
||||
assertEquals('foo', fooContainer.exportedObjects.map[qualifiedName.toString].sort.join(','))
|
||||
assertEquals(1, barContainer.resourceDescriptions.size)
|
||||
assertEquals(1, barContainer.resourceDescriptionCount)
|
||||
assertEquals('bar', barContainer.exportedObjects.map[qualifiedName.toString].sort.join(','))
|
||||
assertEquals(1, bazContainer.resourceDescriptions.size)
|
||||
assertEquals(1, bazContainer.resourceDescriptionCount)
|
||||
assertEquals('baz', bazContainer.exportedObjects.map[qualifiedName.toString].sort.join(','))
|
||||
assertEquals(newURI, bazContainer.getExportedObjects(MODEL, QualifiedName.create('baz'), false).head.EObjectURI.trimFragment)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -17,6 +17,7 @@ import org.eclipse.emf.ecore.resource.Resource;
|
|||
import org.eclipse.xtext.naming.QualifiedName;
|
||||
import org.eclipse.xtext.resource.IEObjectDescription;
|
||||
import org.eclipse.xtext.resource.IResourceDescription;
|
||||
import org.eclipse.xtext.resource.IResourceDescriptions;
|
||||
import org.eclipse.xtext.resource.LiveContainerTestLanguageInjectorProvider;
|
||||
import org.eclipse.xtext.resource.XtextResourceSet;
|
||||
import org.eclipse.xtext.resource.containers.LiveShadowedChunkedContainer;
|
||||
|
@ -65,6 +66,8 @@ public class LiveShadowedChunkedContainerTest {
|
|||
@Inject
|
||||
private Provider<LiveShadowedChunkedResourceDescriptions> provider;
|
||||
|
||||
private WorkspaceConfig workspaceConfig;
|
||||
|
||||
private ProjectConfig fooProject;
|
||||
|
||||
private ProjectConfig barProject;
|
||||
|
@ -79,13 +82,16 @@ public class LiveShadowedChunkedContainerTest {
|
|||
|
||||
private LiveShadowedChunkedContainer barContainer;
|
||||
|
||||
private LiveShadowedChunkedResourceDescriptions liveShadowedChunkedResourceDescriptions;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
try {
|
||||
final WorkspaceConfig workspaceConfig = new WorkspaceConfig();
|
||||
ProjectConfig _projectConfig = new ProjectConfig("foo", workspaceConfig);
|
||||
WorkspaceConfig _workspaceConfig = new WorkspaceConfig();
|
||||
this.workspaceConfig = _workspaceConfig;
|
||||
ProjectConfig _projectConfig = new ProjectConfig("foo", this.workspaceConfig);
|
||||
this.fooProject = _projectConfig;
|
||||
ProjectConfig _projectConfig_1 = new ProjectConfig("bar", workspaceConfig);
|
||||
ProjectConfig _projectConfig_1 = new ProjectConfig("bar", this.workspaceConfig);
|
||||
this.barProject = _projectConfig_1;
|
||||
final XtextResourceSet rs0 = this.resourceSetProvider.get();
|
||||
this.fooURI = IterableExtensions.<SourceFolder>head(this.fooProject.getSourceFolders()).getPath().trimSegments(1).appendSegment("foo.livecontainertestlanguage");
|
||||
|
@ -98,11 +104,11 @@ public class LiveShadowedChunkedContainerTest {
|
|||
this.rs1 = this.resourceSetProvider.get();
|
||||
new ChunkedResourceDescriptions(chunks, this.rs1);
|
||||
ProjectConfigAdapter.install(this.rs1, this.fooProject);
|
||||
final LiveShadowedChunkedResourceDescriptions liveShadowedChunkedResourceDescriptions = this.provider.get();
|
||||
liveShadowedChunkedResourceDescriptions.setContext(this.rs1);
|
||||
LiveShadowedChunkedContainer _liveShadowedChunkedContainer = new LiveShadowedChunkedContainer(liveShadowedChunkedResourceDescriptions, "foo");
|
||||
this.liveShadowedChunkedResourceDescriptions = this.provider.get();
|
||||
this.liveShadowedChunkedResourceDescriptions.setContext(this.rs1);
|
||||
LiveShadowedChunkedContainer _liveShadowedChunkedContainer = new LiveShadowedChunkedContainer(this.liveShadowedChunkedResourceDescriptions, "foo");
|
||||
this.fooContainer = _liveShadowedChunkedContainer;
|
||||
LiveShadowedChunkedContainer _liveShadowedChunkedContainer_1 = new LiveShadowedChunkedContainer(liveShadowedChunkedResourceDescriptions, "bar");
|
||||
LiveShadowedChunkedContainer _liveShadowedChunkedContainer_1 = new LiveShadowedChunkedContainer(this.liveShadowedChunkedResourceDescriptions, "bar");
|
||||
this.barContainer = _liveShadowedChunkedContainer_1;
|
||||
} catch (Throwable _e) {
|
||||
throw Exceptions.sneakyThrow(_e);
|
||||
|
@ -147,15 +153,25 @@ public class LiveShadowedChunkedContainerTest {
|
|||
Assert.assertTrue(this.barContainer.hasResourceDescription(this.barURI));
|
||||
Assert.assertFalse(this.barContainer.hasResourceDescription(this.fooURI));
|
||||
Assert.assertEquals(this.barURI, this.barContainer.getResourceDescription(this.barURI).getURI());
|
||||
IResourceDescriptions _globalDescriptions = this.liveShadowedChunkedResourceDescriptions.getGlobalDescriptions();
|
||||
final Function1<IEObjectDescription, String> _function_6 = (IEObjectDescription it) -> {
|
||||
return it.getQualifiedName().toString();
|
||||
};
|
||||
Assert.assertEquals("foo", IterableExtensions.join(IterableExtensions.<IEObjectDescription, String>map(((ChunkedResourceDescriptions) _globalDescriptions).getContainer("foo").getExportedObjects(), _function_6), ","));
|
||||
IResourceDescriptions _globalDescriptions_1 = this.liveShadowedChunkedResourceDescriptions.getGlobalDescriptions();
|
||||
final Function1<IEObjectDescription, String> _function_7 = (IEObjectDescription it) -> {
|
||||
return it.getQualifiedName().toString();
|
||||
};
|
||||
Assert.assertEquals("bar", IterableExtensions.join(IterableExtensions.<IEObjectDescription, String>map(((ChunkedResourceDescriptions) _globalDescriptions_1).getContainer("bar").getExportedObjects(), _function_7), ","));
|
||||
} catch (Throwable _e) {
|
||||
throw Exceptions.sneakyThrow(_e);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddResource() {
|
||||
public void testAddRemoveResource() {
|
||||
try {
|
||||
this._parseHelper.parse("baz", IterableExtensions.<SourceFolder>head(this.fooProject.getSourceFolders()).getPath().trimSegments(1).appendSegment("baz.livecontainertestlanguage"), this.rs1);
|
||||
final Resource bazResource = this._parseHelper.parse("baz", IterableExtensions.<SourceFolder>head(this.fooProject.getSourceFolders()).getPath().trimSegments(1).appendSegment("baz.livecontainertestlanguage"), this.rs1).eResource();
|
||||
Assert.assertEquals(2, IterableExtensions.size(this.fooContainer.getResourceDescriptions()));
|
||||
Assert.assertEquals(2, this.fooContainer.getResourceDescriptionCount());
|
||||
final Function1<IEObjectDescription, String> _function = (IEObjectDescription it) -> {
|
||||
|
@ -164,6 +180,82 @@ public class LiveShadowedChunkedContainerTest {
|
|||
Assert.assertEquals("baz,foo", IterableExtensions.join(IterableExtensions.<String>sort(IterableExtensions.<IEObjectDescription, String>map(this.fooContainer.getExportedObjects(), _function)), ","));
|
||||
Assert.assertEquals(1, IterableExtensions.size(this.barContainer.getResourceDescriptions()));
|
||||
Assert.assertEquals(1, this.barContainer.getResourceDescriptionCount());
|
||||
this.rs1.getResources().remove(bazResource);
|
||||
Assert.assertEquals(1, IterableExtensions.size(this.fooContainer.getResourceDescriptions()));
|
||||
Assert.assertEquals(1, this.fooContainer.getResourceDescriptionCount());
|
||||
final Function1<IEObjectDescription, String> _function_1 = (IEObjectDescription it) -> {
|
||||
return it.getQualifiedName().toString();
|
||||
};
|
||||
Assert.assertEquals("foo", IterableExtensions.join(IterableExtensions.<String>sort(IterableExtensions.<IEObjectDescription, String>map(this.fooContainer.getExportedObjects(), _function_1)), ","));
|
||||
Assert.assertEquals(1, IterableExtensions.size(this.barContainer.getResourceDescriptions()));
|
||||
Assert.assertEquals(1, this.barContainer.getResourceDescriptionCount());
|
||||
} catch (Throwable _e) {
|
||||
throw Exceptions.sneakyThrow(_e);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMoveResourceBetweenContainers() {
|
||||
try {
|
||||
final URI oldURI = IterableExtensions.<SourceFolder>head(this.fooProject.getSourceFolders()).getPath().trimSegments(1).appendSegment("baz.livecontainertestlanguage");
|
||||
final Resource bazResource = this._parseHelper.parse("baz", oldURI, this.rs1).eResource();
|
||||
Assert.assertEquals(2, IterableExtensions.size(this.fooContainer.getResourceDescriptions()));
|
||||
Assert.assertEquals(2, this.fooContainer.getResourceDescriptionCount());
|
||||
final Function1<IEObjectDescription, String> _function = (IEObjectDescription it) -> {
|
||||
return it.getQualifiedName().toString();
|
||||
};
|
||||
Assert.assertEquals("baz,foo", IterableExtensions.join(IterableExtensions.<String>sort(IterableExtensions.<IEObjectDescription, String>map(this.fooContainer.getExportedObjects(), _function)), ","));
|
||||
Assert.assertEquals(oldURI, IterableExtensions.<IEObjectDescription>head(this.fooContainer.getExportedObjects(LiveContainerTestLanguagePackage.Literals.MODEL, QualifiedName.create("baz"), false)).getEObjectURI().trimFragment());
|
||||
Assert.assertEquals(1, IterableExtensions.size(this.barContainer.getResourceDescriptions()));
|
||||
Assert.assertEquals(1, this.barContainer.getResourceDescriptionCount());
|
||||
final URI newURI = URI.createURI(bazResource.getURI().toString().replace("/foo/", "/bar/"));
|
||||
bazResource.setURI(newURI);
|
||||
Assert.assertEquals(1, IterableExtensions.size(this.fooContainer.getResourceDescriptions()));
|
||||
Assert.assertEquals(1, this.fooContainer.getResourceDescriptionCount());
|
||||
final Function1<IEObjectDescription, String> _function_1 = (IEObjectDescription it) -> {
|
||||
return it.getQualifiedName().toString();
|
||||
};
|
||||
Assert.assertEquals("foo", IterableExtensions.join(IterableExtensions.<String>sort(IterableExtensions.<IEObjectDescription, String>map(this.fooContainer.getExportedObjects(), _function_1)), ","));
|
||||
Assert.assertEquals(1, IterableExtensions.size(this.fooContainer.getResourceDescriptions()));
|
||||
Assert.assertEquals(1, this.fooContainer.getResourceDescriptionCount());
|
||||
final Function1<IEObjectDescription, String> _function_2 = (IEObjectDescription it) -> {
|
||||
return it.getQualifiedName().toString();
|
||||
};
|
||||
Assert.assertEquals("bar,baz", IterableExtensions.join(IterableExtensions.<String>sort(IterableExtensions.<IEObjectDescription, String>map(this.barContainer.getExportedObjects(), _function_2)), ","));
|
||||
Assert.assertEquals(2, IterableExtensions.size(this.barContainer.getResourceDescriptions()));
|
||||
Assert.assertEquals(2, this.barContainer.getResourceDescriptionCount());
|
||||
Assert.assertEquals(newURI, IterableExtensions.<IEObjectDescription>head(this.barContainer.getExportedObjects(LiveContainerTestLanguagePackage.Literals.MODEL, QualifiedName.create("baz"), false)).getEObjectURI().trimFragment());
|
||||
} catch (Throwable _e) {
|
||||
throw Exceptions.sneakyThrow(_e);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddToNewContainer() {
|
||||
try {
|
||||
final ProjectConfig bazProject = new ProjectConfig("baz", this.workspaceConfig);
|
||||
final URI newURI = IterableExtensions.<SourceFolder>head(bazProject.getSourceFolders()).getPath().trimSegments(1).appendSegment("baz.livecontainertestlanguage");
|
||||
this._parseHelper.parse("baz", newURI, this.rs1);
|
||||
final LiveShadowedChunkedContainer bazContainer = new LiveShadowedChunkedContainer(this.liveShadowedChunkedResourceDescriptions, "baz");
|
||||
Assert.assertEquals(1, IterableExtensions.size(this.fooContainer.getResourceDescriptions()));
|
||||
Assert.assertEquals(1, this.fooContainer.getResourceDescriptionCount());
|
||||
final Function1<IEObjectDescription, String> _function = (IEObjectDescription it) -> {
|
||||
return it.getQualifiedName().toString();
|
||||
};
|
||||
Assert.assertEquals("foo", IterableExtensions.join(IterableExtensions.<String>sort(IterableExtensions.<IEObjectDescription, String>map(this.fooContainer.getExportedObjects(), _function)), ","));
|
||||
Assert.assertEquals(1, IterableExtensions.size(this.barContainer.getResourceDescriptions()));
|
||||
Assert.assertEquals(1, this.barContainer.getResourceDescriptionCount());
|
||||
final Function1<IEObjectDescription, String> _function_1 = (IEObjectDescription it) -> {
|
||||
return it.getQualifiedName().toString();
|
||||
};
|
||||
Assert.assertEquals("bar", IterableExtensions.join(IterableExtensions.<String>sort(IterableExtensions.<IEObjectDescription, String>map(this.barContainer.getExportedObjects(), _function_1)), ","));
|
||||
Assert.assertEquals(1, IterableExtensions.size(bazContainer.getResourceDescriptions()));
|
||||
Assert.assertEquals(1, bazContainer.getResourceDescriptionCount());
|
||||
final Function1<IEObjectDescription, String> _function_2 = (IEObjectDescription it) -> {
|
||||
return it.getQualifiedName().toString();
|
||||
};
|
||||
Assert.assertEquals("baz", IterableExtensions.join(IterableExtensions.<String>sort(IterableExtensions.<IEObjectDescription, String>map(bazContainer.getExportedObjects(), _function_2)), ","));
|
||||
Assert.assertEquals(newURI, IterableExtensions.<IEObjectDescription>head(bazContainer.getExportedObjects(LiveContainerTestLanguagePackage.Literals.MODEL, QualifiedName.create("baz"), false)).getEObjectURI().trimFragment());
|
||||
} catch (Throwable _e) {
|
||||
throw Exceptions.sneakyThrow(_e);
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ import org.eclipse.xtext.resource.IContainer
|
|||
import org.eclipse.xtext.resource.impl.ChunkedResourceDescriptions
|
||||
import org.eclipse.xtext.resource.impl.LiveShadowedChunkedResourceDescriptions
|
||||
import org.eclipse.xtext.workspace.IProjectConfig
|
||||
import org.eclipse.xtext.resource.impl.ResourceDescriptionsData
|
||||
|
||||
/**
|
||||
* @author koehnlein - Initial contribution and API
|
||||
|
@ -50,7 +51,7 @@ class LiveShadowedChunkedContainer implements IContainer {
|
|||
}
|
||||
|
||||
protected def getChunk() {
|
||||
chunkedResourceDescriptions.getContainer(containerName)
|
||||
chunkedResourceDescriptions.getContainer(containerName) ?: new ResourceDescriptionsData(#[])
|
||||
}
|
||||
|
||||
protected def getContainedLocalDescriptions() {
|
||||
|
|
|
@ -9,6 +9,7 @@ package org.eclipse.xtext.resource.containers;
|
|||
|
||||
import com.google.common.annotations.Beta;
|
||||
import com.google.common.collect.Iterables;
|
||||
import java.util.Collections;
|
||||
import java.util.Set;
|
||||
import org.eclipse.emf.common.util.URI;
|
||||
import org.eclipse.emf.ecore.EClass;
|
||||
|
@ -27,6 +28,7 @@ import org.eclipse.xtext.resource.impl.ResourceDescriptionsData;
|
|||
import org.eclipse.xtext.workspace.IProjectConfig;
|
||||
import org.eclipse.xtext.workspace.ISourceFolder;
|
||||
import org.eclipse.xtext.workspace.IWorkspaceConfig;
|
||||
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
|
||||
import org.eclipse.xtext.xbase.lib.Functions.Function1;
|
||||
import org.eclipse.xtext.xbase.lib.IterableExtensions;
|
||||
|
||||
|
@ -65,7 +67,15 @@ public class LiveShadowedChunkedContainer implements IContainer {
|
|||
}
|
||||
|
||||
protected ResourceDescriptionsData getChunk() {
|
||||
return this.getChunkedResourceDescriptions().getContainer(this.containerName);
|
||||
ResourceDescriptionsData _elvis = null;
|
||||
ResourceDescriptionsData _container = this.getChunkedResourceDescriptions().getContainer(this.containerName);
|
||||
if (_container != null) {
|
||||
_elvis = _container;
|
||||
} else {
|
||||
ResourceDescriptionsData _resourceDescriptionsData = new ResourceDescriptionsData(Collections.<IResourceDescription>unmodifiableList(CollectionLiterals.<IResourceDescription>newArrayList()));
|
||||
_elvis = _resourceDescriptionsData;
|
||||
}
|
||||
return _elvis;
|
||||
}
|
||||
|
||||
protected Iterable<IResourceDescription> getContainedLocalDescriptions() {
|
||||
|
|
Loading…
Reference in a new issue