/** | |
* <copyright> | |
* | |
* Copyright (c) 2008-2013 See4sys, itemis and others. | |
* 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: | |
* See4sys - Initial API and implementation | |
* itemis - [410825] Make sure that EcorePlatformUtil#getResourcesInModel(contextResource, includeReferencedModels) method return resources of the context resource in the same resource set | |
* itemis - [418005] Add support for model files with multiple root elements | |
* itemis - [423676] AbstractIntegrationTestCase unable to remove project references that are no longer needed | |
* | |
* </copyright> | |
*/ | |
package org.eclipse.sphinx.tests.emf.integration.util; | |
import java.util.ArrayList; | |
import java.util.Collection; | |
import java.util.List; | |
import java.util.Set; | |
import org.eclipse.core.resources.IContainer; | |
import org.eclipse.core.resources.IFile; | |
import org.eclipse.core.resources.IFolder; | |
import org.eclipse.core.resources.IProject; | |
import org.eclipse.core.resources.IWorkspaceRoot; | |
import org.eclipse.core.runtime.IPath; | |
import org.eclipse.emf.common.util.URI; | |
import org.eclipse.emf.ecore.EObject; | |
import org.eclipse.emf.ecore.plugin.EcorePlugin; | |
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.util.EcoreUtil; | |
import org.eclipse.emf.ecore.util.FeatureMap.Entry; | |
import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; | |
import org.eclipse.emf.edit.provider.WrapperItemProvider; | |
import org.eclipse.sphinx.emf.model.IModelDescriptor; | |
import org.eclipse.sphinx.emf.model.ModelDescriptorRegistry; | |
import org.eclipse.sphinx.emf.resource.ScopingResourceSetImpl; | |
import org.eclipse.sphinx.emf.util.EcorePlatformUtil; | |
import org.eclipse.sphinx.emf.util.WorkspaceEditingDomainUtil; | |
import org.eclipse.sphinx.examples.hummingbird10.Application; | |
import org.eclipse.sphinx.examples.hummingbird10.Hummingbird10Factory; | |
import org.eclipse.sphinx.examples.hummingbird10.Hummingbird10MMDescriptor; | |
import org.eclipse.sphinx.examples.hummingbird10.Hummingbird10Package; | |
import org.eclipse.sphinx.examples.hummingbird20.Hummingbird20MMDescriptor; | |
import org.eclipse.sphinx.examples.hummingbird20.instancemodel.Component; | |
import org.eclipse.sphinx.examples.hummingbird20.instancemodel.InstanceModel20Factory; | |
import org.eclipse.sphinx.examples.hummingbird20.instancemodel.InstanceModel20Package; | |
import org.eclipse.sphinx.examples.hummingbird20.instancemodel.ParameterExpression; | |
import org.eclipse.sphinx.examples.hummingbird20.typemodel.Platform; | |
import org.eclipse.sphinx.examples.hummingbird20.typemodel.TypeModel20Factory; | |
import org.eclipse.sphinx.examples.uml2.ide.metamodel.UML2MMDescriptor; | |
import org.eclipse.sphinx.testutils.integration.referenceworkspace.DefaultIntegrationTestCase; | |
import org.eclipse.sphinx.testutils.integration.referenceworkspace.DefaultTestReferenceWorkspace; | |
import org.eclipse.uml2.uml.Model; | |
import org.eclipse.uml2.uml.UMLFactory; | |
import org.eclipse.uml2.uml.UMLPackage; | |
/** | |
* JUnit Test for class {@link EcorePlatformUtil} | |
*/ | |
@SuppressWarnings("nls") | |
public class EcorePlatformUtilTest2 extends DefaultIntegrationTestCase { | |
List<String> hbProject10AResource10; | |
int resources10FromHbProject10_A; | |
List<String> hbProject10DResource10; | |
int resources10FromHbProject10_D; | |
List<String> hbProject10EResource10; | |
int resources10FromHbProject10_E; | |
List<String> hbProject10FResource10; | |
int resources10FromHbProject10_F; | |
List<String> hbProject20AResources20; | |
int resources20FromHbProject20_A; | |
List<String> hbProject20AResourcesUml2; | |
int ResourcesUml2FromHbProject20_A; | |
List<String> hbProject20DResources20; | |
int resource20FromHbProject20_D; | |
List<String> hbProject20DResourcesUml2; | |
int resourcesUml2FromHbProject20_D; | |
List<String> hbProject20EResources20; | |
int resource20FromHbProject20_E; | |
List<String> hbProject20EResourcesUml2; | |
int resourcesUml2FromHbProject20_E; | |
public EcorePlatformUtilTest2() { | |
// Set subset of projects to load | |
Set<String> projectsToLoad = getProjectSubsetToLoad(); | |
projectsToLoad.add(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A); | |
projectsToLoad.add(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D); | |
projectsToLoad.add(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E); | |
projectsToLoad.add(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_F); | |
projectsToLoad.add(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_A); | |
projectsToLoad.add(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D); | |
projectsToLoad.add(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E); | |
} | |
@Override | |
protected void setUp() throws Exception { | |
super.setUp(); | |
hbProject10EResource10 = refWks.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E, Hummingbird10MMDescriptor.INSTANCE); | |
resources10FromHbProject10_E = hbProject10EResource10.size(); | |
hbProject10AResource10 = refWks.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A, Hummingbird10MMDescriptor.INSTANCE); | |
resources10FromHbProject10_A = hbProject10AResource10.size(); | |
hbProject10DResource10 = refWks.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D, Hummingbird10MMDescriptor.INSTANCE); | |
resources10FromHbProject10_D = hbProject10DResource10.size(); | |
hbProject10FResource10 = refWks.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_F, Hummingbird10MMDescriptor.INSTANCE); | |
resources10FromHbProject10_F = hbProject10FResource10.size(); | |
hbProject20AResources20 = refWks | |
.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_A, Hummingbird20MMDescriptor.INSTANCE); | |
resources20FromHbProject20_A = hbProject20AResources20.size(); | |
hbProject20AResourcesUml2 = refWks.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_A, UML2MMDescriptor.INSTANCE); | |
ResourcesUml2FromHbProject20_A = hbProject20AResourcesUml2.size(); | |
hbProject20DResources20 = refWks | |
.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, Hummingbird20MMDescriptor.INSTANCE); | |
resource20FromHbProject20_D = hbProject20DResources20.size(); | |
hbProject20DResourcesUml2 = refWks.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, UML2MMDescriptor.INSTANCE); | |
resourcesUml2FromHbProject20_D = hbProject20DResourcesUml2.size(); | |
hbProject20EResources20 = refWks | |
.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, Hummingbird20MMDescriptor.INSTANCE); | |
resource20FromHbProject20_E = hbProject20EResources20.size(); | |
hbProject20EResourcesUml2 = refWks.getReferenceFileNames(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, UML2MMDescriptor.INSTANCE); | |
resourcesUml2FromHbProject20_E = hbProject20EResourcesUml2.size(); | |
} | |
/** | |
* Test method for {@link EcorePlatformUtil#getResourcesInModel(org.eclipse.emf.ecore.EObject)} | |
*/ | |
public void testGetFilteredResourcesFromEObject() { | |
Collection<Resource> resResources = new ArrayList<Resource>(); | |
EObject object = null; // Test Object | |
// HB10 Object | |
{ | |
Resource testResource10_A_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1, true), false); | |
Resource testResource10_D_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1, true), false); | |
Resource testResource10_E_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1, true), false); | |
assertNotNull(testResource10_A_1); | |
assertNotNull(testResource10_D_1); | |
assertNotNull(testResource10_E_1); | |
assertFalse(testResource10_A_1.getContents().isEmpty()); | |
object = testResource10_A_1.getContents().get(0); | |
assertTrue(object instanceof Application); | |
Application applicationHb10_A_1 = (Application) object; | |
assertFalse(testResource10_D_1.getContents().isEmpty()); | |
object = testResource10_D_1.getContents().get(0); | |
assertTrue(object instanceof Application); | |
Application applicationHb10_D_1 = (Application) object; | |
assertFalse(testResource10_E_1.getContents().isEmpty()); | |
object = testResource10_E_1.getContents().get(0); | |
assertTrue(object instanceof Application); | |
Application applicationHb10_E_1 = (Application) object; | |
resResources = EcorePlatformUtil.getResourcesInModel(applicationHb10_A_1, true); | |
assertEquals(resources10FromHbProject10_A, resResources.size()); | |
for (Resource resource : resResources) { | |
assertTrue(hbProject10AResource10.contains(resource.getURI().lastSegment())); | |
} | |
resResources = EcorePlatformUtil.getResourcesInModel(applicationHb10_D_1, true); | |
assertEquals(resources10FromHbProject10_D, resResources.size()); | |
for (Resource resource : resResources) { | |
assertTrue(hbProject10DResource10.contains(resource.getURI().lastSegment())); | |
} | |
resResources = EcorePlatformUtil.getResourcesInModel(applicationHb10_E_1, true); | |
assertEquals(resources10FromHbProject10_D + resources10FromHbProject10_E, resResources.size()); | |
for (Resource resource : resResources) { | |
assertTrue(hbProject10EResource10.contains(resource.getURI().lastSegment()) | |
|| hbProject10DResource10.contains(resource.getURI().lastSegment())); | |
} | |
} | |
// --------------------------------------------------------- | |
// HB20 Object | |
{ | |
Resource testResource20_A_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_A + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_1, true), false); | |
Resource testResource20_D_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1, true), false); | |
Resource testResource20_E_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1, true), false); | |
assertNotNull(testResource20_A_1); | |
assertNotNull(testResource20_D_1); | |
assertNotNull(testResource20_E_1); | |
assertFalse(testResource20_A_1.getContents().isEmpty()); | |
object = testResource20_A_1.getContents().get(0); | |
assertTrue(object instanceof org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application); | |
org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application applicationHb20_A_1 = (org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application) object; | |
assertFalse(testResource20_D_1.getContents().isEmpty()); | |
object = testResource20_D_1.getContents().get(0); | |
assertTrue(object instanceof org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application); | |
org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application applicationHb20_D_1 = (org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application) object; | |
assertFalse(testResource20_E_1.getContents().isEmpty()); | |
object = testResource20_E_1.getContents().get(0); | |
assertTrue(object instanceof org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application); | |
org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application applicationHb20_E_1 = (org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application) object; | |
resResources = EcorePlatformUtil.getResourcesInModel(applicationHb20_A_1, true); | |
assertEquals(resources20FromHbProject20_A, resResources.size()); | |
for (Resource resource : resResources) { | |
assertTrue(hbProject20AResources20.contains(resource.getURI().lastSegment())); | |
} | |
resResources = EcorePlatformUtil.getResourcesInModel(applicationHb20_D_1, true); | |
assertEquals(resource20FromHbProject20_D, resResources.size()); | |
for (Resource resource : resResources) { | |
assertTrue(hbProject20DResources20.contains(resource.getURI().lastSegment())); | |
} | |
resResources = EcorePlatformUtil.getResourcesInModel(applicationHb20_E_1, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resResources.size()); | |
for (Resource resource : resResources) { | |
assertTrue(hbProject20EResources20.contains(resource.getURI().lastSegment()) | |
|| hbProject20DResources20.contains(resource.getURI().lastSegment())); | |
} | |
} | |
// --------------------------------------------------------------------------------- | |
// Uml2 Resource | |
{ | |
Resource testUml2Resource3x_D_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1, true), false); | |
Resource testUml2Resource3x_E_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1, true), false); | |
assertNotNull(testUml2Resource3x_D_1); | |
assertNotNull(testUml2Resource3x_E_1); | |
assertFalse(testUml2Resource3x_D_1.getContents().isEmpty()); | |
object = testUml2Resource3x_D_1.getContents().get(0); | |
assertTrue(object instanceof Model); | |
Model model_D_1 = (Model) object; | |
assertFalse(testUml2Resource3x_E_1.getContents().isEmpty()); | |
object = testUml2Resource3x_E_1.getContents().get(0); | |
assertTrue(object instanceof Model); | |
Model model_E_1 = (Model) object; | |
resResources = EcorePlatformUtil.getResourcesInModel(model_D_1, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resResources.size()); | |
for (Resource resource : resResources) { | |
assertTrue(hbProject20DResourcesUml2.contains(resource.getURI().lastSegment())); | |
} | |
resResources = EcorePlatformUtil.getResourcesInModel(model_E_1, true); | |
assertEquals(resourcesUml2FromHbProject20_D + resourcesUml2FromHbProject20_E, resResources.size()); | |
for (Resource resource : resResources) { | |
assertTrue(hbProject20DResourcesUml2.contains(resource.getURI().lastSegment()) | |
|| hbProject20EResourcesUml2.contains(resource.getURI().lastSegment())); | |
} | |
} | |
} | |
/** | |
* Test method for {@link EcorePlatformUtil#getResourcesInModel(org.eclipse.sphinx.emf.model.IModelDescriptor)} | |
*/ | |
public void testGetFilteredResourcesFromIModelDescriptor() { | |
IModelDescriptor model10_10A = ModelDescriptorRegistry.INSTANCE.getModel(refWks.hbProject10_A | |
.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1)); | |
IModelDescriptor model10_10D = ModelDescriptorRegistry.INSTANCE.getModel(refWks.hbProject10_D | |
.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
IModelDescriptor model10_10E = ModelDescriptorRegistry.INSTANCE.getModel(refWks.hbProject10_E | |
.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
IModelDescriptor model20_20A = ModelDescriptorRegistry.INSTANCE.getModel(refWks.hbProject20_A | |
.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_1)); | |
IModelDescriptor model20_20D = ModelDescriptorRegistry.INSTANCE.getModel(refWks.hbProject20_D | |
.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
IModelDescriptor model20_20E = ModelDescriptorRegistry.INSTANCE.getModel(refWks.hbProject20_E | |
.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
IModelDescriptor modelUml2_20D = ModelDescriptorRegistry.INSTANCE.getModel(refWks.hbProject20_D | |
.getFile(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
IModelDescriptor modelUml2_20E = ModelDescriptorRegistry.INSTANCE.getModel(refWks.hbProject20_E | |
.getFile(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertNotNull(model10_10A); | |
assertNotNull(model10_10D); | |
assertNotNull(model10_10E); | |
assertNotNull(model20_20A); | |
assertNotNull(model20_20D); | |
assertNotNull(model20_20E); | |
// GetFilter Resource | |
Collection<Resource> resResource = new ArrayList<Resource>(); | |
resResource = EcorePlatformUtil.getResourcesInModel(model10_10A, true); | |
assertEquals(resources10FromHbProject10_A, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(model10_10D, true); | |
assertEquals(resources10FromHbProject10_D, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(model10_10E, true); | |
assertEquals(resources10FromHbProject10_D + resources10FromHbProject10_E, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(model20_20A, true); | |
assertEquals(resources20FromHbProject20_A, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(model20_20D, true); | |
assertEquals(resource20FromHbProject20_D, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(model20_20E, true); | |
assertEquals(resource20FromHbProject20_E + resource20FromHbProject20_D, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(modelUml2_20D, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(modelUml2_20E, true); | |
assertEquals(resourcesUml2FromHbProject20_D + resourcesUml2FromHbProject20_E, resResource.size()); | |
// Get Filter Resource from null Model | |
IModelDescriptor nullModel = null; | |
resResource = EcorePlatformUtil.getResourcesInModel(nullModel, true); | |
assertNotNull(resResource); | |
assertEquals(0, resResource.size()); | |
} | |
/** | |
* Test method for {@link EcorePlatformUtil#getResourcesInModel(IFile)} | |
*/ | |
public void testGetFilteredResourcesFromIFile() { | |
IFile hbFile_10A = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1); | |
IFile hbFile_10D = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1); | |
IFile hbFile_10E = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1); | |
IFile hbFile_20A = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_A, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_1); | |
IFile hbFile_20D = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1); | |
IFile hbFile_20E = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1); | |
IFile uml2File_20D = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, | |
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1); | |
IFile uml2File_20E = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, | |
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1); | |
assertTrue(hbFile_10A.isAccessible()); | |
assertTrue(hbFile_10D.isAccessible()); | |
assertTrue(hbFile_10E.isAccessible()); | |
assertTrue(hbFile_20A.isAccessible()); | |
assertTrue(hbFile_20D.isAccessible()); | |
assertTrue(hbFile_20E.isAccessible()); | |
assertTrue(uml2File_20D.isAccessible()); | |
assertTrue(uml2File_20E.isAccessible()); | |
Collection<Resource> resResource = new ArrayList<Resource>(); | |
resResource = EcorePlatformUtil.getResourcesInModel(hbFile_10A, true); | |
assertEquals(resources10FromHbProject10_A, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(hbFile_10D, true); | |
assertEquals(resources10FromHbProject10_D, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(hbFile_10E, true); | |
assertEquals(resources10FromHbProject10_D + resources10FromHbProject10_E, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(hbFile_20A, true); | |
assertEquals(resources20FromHbProject20_A, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(hbFile_20D, true); | |
assertEquals(resource20FromHbProject20_D, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(hbFile_20E, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(uml2File_20D, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resResource.size()); | |
resResource = EcorePlatformUtil.getResourcesInModel(uml2File_20E, true); | |
assertEquals(resourcesUml2FromHbProject20_D + resourcesUml2FromHbProject20_E, resResource.size()); | |
// Non Exit File | |
IFile nonExistingFile = refWks.hbProject10_A.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10B_1); | |
assertNotNull(nonExistingFile); | |
assertFalse(nonExistingFile.isAccessible()); | |
resResource = EcorePlatformUtil.getResourcesInModel(nonExistingFile, true); | |
assertEquals(0, resResource.size()); | |
} | |
/** | |
* Test method for {@link EcorePlatformUtil#getResourcesInModel(org.eclipse.emf.common.util.URI)} | |
*/ | |
public void testGetFilteredResourcesFromURI() { | |
Resource testResource10_A_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1, true), false); | |
Resource testResource10_D_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1, true), false); | |
Resource testResource10_E_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1, true), false); | |
assertNotNull(testResource10_A_1); | |
assertNotNull(testResource10_D_1); | |
assertNotNull(testResource10_E_1); | |
Resource testResource20_A_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_A + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_1, true), false); | |
Resource testResource20_D_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1, true), false); | |
Resource testResource20_E_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1, true), false); | |
assertNotNull(testResource20_A_1); | |
assertNotNull(testResource20_D_1); | |
assertNotNull(testResource20_E_1); | |
Resource testUml2Resource20_D_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1, true), false); | |
Resource testUml2Resource20_E_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1, true), false); | |
assertNotNull(testUml2Resource20_D_1); | |
assertNotNull(testUml2Resource20_E_1); | |
// Resource URI | |
Collection<Resource> resResources = new ArrayList<Resource>(); | |
resResources = EcorePlatformUtil.getResourcesInModel(testResource10_A_1.getURI(), true); | |
assertEquals(resources10FromHbProject10_A, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testResource10_D_1.getURI(), true); | |
assertEquals(resources10FromHbProject10_D, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testResource10_E_1.getURI(), true); | |
assertEquals(resources10FromHbProject10_E + resources10FromHbProject10_D, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testResource20_A_1.getURI(), true); | |
assertEquals(resources20FromHbProject20_A, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testResource20_D_1.getURI(), true); | |
assertEquals(resource20FromHbProject20_D, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testResource20_E_1.getURI(), true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testUml2Resource20_D_1.getURI(), true); | |
assertEquals(resourcesUml2FromHbProject20_D, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testUml2Resource20_E_1.getURI(), true); | |
assertEquals(resourcesUml2FromHbProject20_D + resourcesUml2FromHbProject20_E, resResources.size()); | |
// File URI | |
IFile testFile = refWks.hbProject10_A.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1); | |
assertNotNull(testFile); | |
assertTrue(testFile.isAccessible()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testFile.getLocationURI(), true); | |
assertEquals(0, resResources.size()); | |
} | |
/** | |
* Test method for {@link EcorePlatformUtil#getResourcesInModel(Resource))} | |
*/ | |
public void testGetFilteredResourcesFromResource() { | |
Resource testResource10_A_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_A + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1, true), false); | |
Resource testResource10_D_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1, true), false); | |
Resource testResource10_E_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1, true), false); | |
assertNotNull(testResource10_A_1); | |
assertNotNull(testResource10_D_1); | |
assertNotNull(testResource10_E_1); | |
Resource testResource20_A_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_A + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_1, true), false); | |
Resource testResource20_D_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1, true), false); | |
Resource testResource20_E_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1, true), false); | |
assertNotNull(testResource20_A_1); | |
assertNotNull(testResource20_D_1); | |
assertNotNull(testResource20_E_1); | |
Resource testUml2Resource20_D_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1, true), false); | |
Resource testUml2Resource20_E_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1, true), false); | |
assertNotNull(testUml2Resource20_D_1); | |
assertNotNull(testUml2Resource20_E_1); | |
// GetFilteredResource from Resource | |
Collection<Resource> resResources = new ArrayList<Resource>(); | |
resResources = EcorePlatformUtil.getResourcesInModel(testResource10_A_1, true); | |
assertEquals(resources10FromHbProject10_A, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testResource10_D_1, true); | |
assertEquals(resources10FromHbProject10_D, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testResource10_E_1, true); | |
assertEquals(resources10FromHbProject10_D + resources10FromHbProject10_E, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testResource20_A_1, true); | |
assertEquals(resources20FromHbProject20_A, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testResource20_D_1, true); | |
assertEquals(resource20FromHbProject20_D, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testResource20_E_1, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testUml2Resource20_D_1, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testUml2Resource20_E_1, true); | |
assertEquals(resourcesUml2FromHbProject20_D + resourcesUml2FromHbProject20_E, resResources.size()); | |
// Given resource is NULL | |
Resource nullResource = null; | |
resResources = EcorePlatformUtil.getResourcesInModel(nullResource, true); | |
assertEquals(0, resResources.size()); | |
} | |
/** | |
* Test method for {@link EcorePlatformUtil#getResourcesInModel(org.eclipse.emf.edit.provider.IWrapperItemProvider) | |
* ()} | |
*/ | |
public void testGetFilteredResourcesFromIWrapperItemProvider() { | |
Collection<Resource> resResources = new ArrayList<Resource>(); | |
// HB20 contextObject | |
{ | |
IFile file20_20A_1 = refWks.hbProject20_A.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_1); | |
assertNotNull(file20_20A_1); | |
assertTrue(file20_20A_1.isAccessible()); | |
Resource resource = EcorePlatformUtil.getResource(file20_20A_1); | |
assertNotNull(resource); | |
assertFalse(resource.getContents().isEmpty()); | |
EObject modelRoot = resource.getContents().get(0); | |
assertNotNull(modelRoot); | |
assertTrue(modelRoot instanceof org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application); | |
Component component = ((org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application) modelRoot).getComponents().get(0); | |
WrapperItemProvider wrapperItemProvider = new WrapperItemProvider(component, modelRoot, | |
InstanceModel20Package.eINSTANCE.getApplication_Components(), 1, | |
((AdapterFactoryEditingDomain) WorkspaceEditingDomainUtil.getEditingDomain(file20_20A_1)).getAdapterFactory()); | |
resResources = EcorePlatformUtil.getResourcesInModel(wrapperItemProvider, true); | |
assertEquals(resources20FromHbProject20_A, resResources.size()); | |
} | |
{ | |
IFile file20_20D_1 = refWks.hbProject20_D.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1); | |
assertNotNull(file20_20D_1); | |
assertTrue(file20_20D_1.isAccessible()); | |
Resource resource = EcorePlatformUtil.getResource(file20_20D_1); | |
assertNotNull(resource); | |
assertFalse(resource.getContents().isEmpty()); | |
EObject modelRoot = resource.getContents().get(0); | |
assertNotNull(modelRoot); | |
assertTrue(modelRoot instanceof org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application); | |
Component component = ((org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application) modelRoot).getComponents().get(0); | |
WrapperItemProvider wrapperItemProvider = new WrapperItemProvider(component, modelRoot, | |
InstanceModel20Package.eINSTANCE.getApplication_Components(), 1, | |
((AdapterFactoryEditingDomain) WorkspaceEditingDomainUtil.getEditingDomain(file20_20D_1)).getAdapterFactory()); | |
resResources = EcorePlatformUtil.getResourcesInModel(wrapperItemProvider, true); | |
assertEquals(resource20FromHbProject20_D, resResources.size()); | |
} | |
{ | |
IFile file20_20E_1 = refWks.hbProject20_E.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1); | |
assertNotNull(file20_20E_1); | |
assertTrue(file20_20E_1.isAccessible()); | |
Resource resource = EcorePlatformUtil.getResource(file20_20E_1); | |
assertNotNull(resource); | |
assertFalse(resource.getContents().isEmpty()); | |
EObject modelRoot = resource.getContents().get(0); | |
assertNotNull(modelRoot); | |
assertTrue(modelRoot instanceof org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application); | |
Component component = ((org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application) modelRoot).getComponents().get(0); | |
WrapperItemProvider wrapperItemProvider = new WrapperItemProvider(component, modelRoot, | |
InstanceModel20Package.eINSTANCE.getApplication_Components(), 1, | |
((AdapterFactoryEditingDomain) WorkspaceEditingDomainUtil.getEditingDomain(file20_20E_1)).getAdapterFactory()); | |
resResources = EcorePlatformUtil.getResourcesInModel(wrapperItemProvider, true); | |
assertEquals(resource20FromHbProject20_E + resource20FromHbProject20_D, resResources.size()); | |
} | |
// ---------------------------------------------------- | |
// HB10 context Object | |
// HB10 Object | |
{ | |
IFile file10_10A_1 = refWks.hbProject10_A.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10A_1); | |
assertNotNull(file10_10A_1); | |
assertTrue(file10_10A_1.isAccessible()); | |
Resource resource = EcorePlatformUtil.getResource(file10_10A_1); | |
assertNotNull(resource); | |
assertFalse(resource.getContents().isEmpty()); | |
EObject modelRoot = resource.getContents().get(0); | |
assertNotNull(modelRoot); | |
assertTrue(modelRoot instanceof Application); | |
org.eclipse.sphinx.examples.hummingbird10.Component component = ((Application) modelRoot).getComponents().get(0); | |
WrapperItemProvider wrapperItemProvider = new WrapperItemProvider(component, modelRoot, | |
Hummingbird10Package.eINSTANCE.getComponent_Parameters(), 1, | |
((AdapterFactoryEditingDomain) WorkspaceEditingDomainUtil.getEditingDomain(file10_10A_1)).getAdapterFactory()); | |
resResources = EcorePlatformUtil.getResourcesInModel(wrapperItemProvider, true); | |
assertEquals(resources10FromHbProject10_A, resResources.size()); | |
} | |
{ | |
IFile file10_10D_1 = refWks.hbProject10_D.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1); | |
assertNotNull(file10_10D_1); | |
assertTrue(file10_10D_1.isAccessible()); | |
Resource resource = EcorePlatformUtil.getResource(file10_10D_1); | |
assertNotNull(resource); | |
assertFalse(resource.getContents().isEmpty()); | |
EObject modelRoot = resource.getContents().get(0); | |
assertNotNull(modelRoot); | |
assertTrue(modelRoot instanceof Application); | |
org.eclipse.sphinx.examples.hummingbird10.Component component = ((Application) modelRoot).getComponents().get(0); | |
WrapperItemProvider wrapperItemProvider = new WrapperItemProvider(component, modelRoot, | |
Hummingbird10Package.eINSTANCE.getComponent_Parameters(), 1, | |
((AdapterFactoryEditingDomain) WorkspaceEditingDomainUtil.getEditingDomain(file10_10D_1)).getAdapterFactory()); | |
resResources = EcorePlatformUtil.getResourcesInModel(wrapperItemProvider, true); | |
assertEquals(resources10FromHbProject10_D, resResources.size()); | |
} | |
{ | |
IFile file10_10E_1 = refWks.hbProject10_E.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1); | |
assertNotNull(file10_10E_1); | |
assertTrue(file10_10E_1.isAccessible()); | |
Resource resource = EcorePlatformUtil.getResource(file10_10E_1); | |
assertNotNull(resource); | |
assertFalse(resource.getContents().isEmpty()); | |
EObject modelRoot = resource.getContents().get(0); | |
assertNotNull(modelRoot); | |
assertTrue(modelRoot instanceof Application); | |
org.eclipse.sphinx.examples.hummingbird10.Component component = ((Application) modelRoot).getComponents().get(0); | |
WrapperItemProvider wrapperItemProvider = new WrapperItemProvider(component, modelRoot, | |
Hummingbird10Package.eINSTANCE.getComponent_Parameters(), 1, | |
((AdapterFactoryEditingDomain) WorkspaceEditingDomainUtil.getEditingDomain(file10_10E_1)).getAdapterFactory()); | |
resResources = EcorePlatformUtil.getResourcesInModel(wrapperItemProvider, true); | |
assertEquals(resources10FromHbProject10_E + resources10FromHbProject10_D, resResources.size()); | |
} | |
} | |
/** | |
* Test method for {@link EcorePlatformUtil#getResourcesInModel(org.eclipse.emf.ecore.util.FeatureMap.Entry))} | |
*/ | |
public void testGetFilteredResourcesFromEntry() { | |
Collection<Resource> resResources = new ArrayList<Resource>(); | |
IFile file20_20A_1 = refWks.hbProject20_A.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_1); | |
assertNotNull(file20_20A_1); | |
assertTrue(file20_20A_1.isAccessible()); | |
Resource resource = EcorePlatformUtil.getResource(file20_20A_1); | |
assertNotNull(resource); | |
assertFalse(resource.getContents().isEmpty()); | |
EObject modelRoot = resource.getContents().get(0); | |
assertNotNull(modelRoot); | |
assertTrue(modelRoot instanceof org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application); | |
org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application modelRoot20A_1 = (org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application) modelRoot; | |
assertFalse(modelRoot20A_1.getComponents().isEmpty()); | |
org.eclipse.sphinx.examples.hummingbird20.instancemodel.Component component = modelRoot20A_1.getComponents().get(0); | |
assertNotNull(component); | |
assertFalse(component.getParameterExpressions().isEmpty()); | |
ParameterExpression parameterExpression = component.getParameterExpressions().get(0); | |
assertNotNull(parameterExpression); | |
assertFalse(parameterExpression.getMixed().isEmpty()); | |
Entry testEntry = parameterExpression.getMixed().get(0); | |
assertNotNull(testEntry); | |
assertEquals(InstanceModel20Package.Literals.PARAMETER_EXPRESSION__EXPRESSIONS, testEntry.getEStructuralFeature()); | |
resResources = EcorePlatformUtil.getResourcesInModel(testEntry, true); | |
assertEquals(resources20FromHbProject20_A, resResources.size()); | |
} | |
/** | |
* Test method for | |
* {@link EcorePlatformUtil#getResourcesInModel(org.eclipse.core.resources.IContainer, org.eclipse.sphinx.emf.metamodel.IMetaModelDescriptor) | |
* )} | |
*/ | |
public void testGetFilteredResourcesFromIContainer() { | |
IProject nullProject = null; | |
IContainer workspaceRoot = refWks.hbProject10_A.getWorkspace().getRoot(); | |
Collection<Resource> resResources = new ArrayList<Resource>(); | |
// Get Filtered Resource from Folder | |
IFolder testFolder = refWks.hbProject10_F.getFolder(DefaultTestReferenceWorkspace.HB_FOLDER_NAME_10_10F_1); | |
assertNotNull(testFolder); | |
resResources = EcorePlatformUtil.getResourcesInModels(testFolder, Hummingbird20MMDescriptor.INSTANCE, true); | |
assertEquals(0, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModels(testFolder, Hummingbird10MMDescriptor.INSTANCE, true); | |
assertEquals(resources10FromHbProject10_F, resResources.size()); | |
// Get Filtered Resource from Project | |
resResources = EcorePlatformUtil.getResourcesInModels(refWks.hbProject10_A, Hummingbird10MMDescriptor.INSTANCE, true); | |
assertEquals(resources10FromHbProject10_A, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModels(refWks.hbProject10_D, Hummingbird10MMDescriptor.INSTANCE, true); | |
assertEquals(resources10FromHbProject10_D, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModels(refWks.hbProject10_E, Hummingbird10MMDescriptor.INSTANCE, true); | |
assertEquals(resources10FromHbProject10_D + resources10FromHbProject10_E, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModels(refWks.hbProject20_A, Hummingbird20MMDescriptor.INSTANCE, true); | |
assertEquals(resources20FromHbProject20_A, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModels(refWks.hbProject20_D, Hummingbird20MMDescriptor.INSTANCE, true); | |
assertEquals(resource20FromHbProject20_D, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModels(refWks.hbProject20_E, Hummingbird20MMDescriptor.INSTANCE, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModels(refWks.hbProject20_D, UML2MMDescriptor.INSTANCE, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModels(refWks.hbProject20_E, UML2MMDescriptor.INSTANCE, true); | |
assertEquals(resourcesUml2FromHbProject20_E + resourcesUml2FromHbProject20_D, resResources.size()); | |
// Get Filtered Resource from Workspace Root | |
resResources = EcorePlatformUtil.getResourcesInModels(workspaceRoot, Hummingbird10MMDescriptor.INSTANCE, true); | |
assertEquals(resources10FromHbProject10_A + resources10FromHbProject10_D + resources10FromHbProject10_E + resources10FromHbProject10_F, | |
resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModels(workspaceRoot, Hummingbird20MMDescriptor.INSTANCE, true); | |
assertEquals(resources20FromHbProject20_A + resource20FromHbProject20_D + resource20FromHbProject20_E, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModels(workspaceRoot, UML2MMDescriptor.INSTANCE, true); | |
assertEquals(ResourcesUml2FromHbProject20_A + resourcesUml2FromHbProject20_D + resourcesUml2FromHbProject20_E, resResources.size()); | |
resResources = EcorePlatformUtil.getResourcesInModels(nullProject, UML2MMDescriptor.INSTANCE, true); | |
assertEquals(0, resResources.size()); | |
} | |
/** | |
* Test method for {@link EcorePlatformUtil#getResourcesInModel(Object, boolean)} | |
*/ | |
public void testGetResourceInModel_File() { | |
Collection<Resource> resourcesInModel = new ArrayList<Resource>(); | |
// --Hummingbird20 Model | |
// File in root project | |
IFile hbFile20_D_1 = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1); | |
assertNotNull(hbFile20_D_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbFile20_D_1, false); | |
assertEquals(resource20FromHbProject20_D, resourcesInModel.size()); | |
Collection<String> resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbFile20_D_1, true); | |
assertEquals(resource20FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
// File in referencing project | |
IFile hbFile20_E_1 = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1); | |
assertNotNull(hbFile20_E_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbFile20_E_1, false); | |
assertEquals(resource20FromHbProject20_E, resourcesInModel.size()); | |
Collection<String> resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbFile20_E_1, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
// ====================================== | |
// --Hummingbird10 Model | |
// File in root project | |
IFile hbFile10_D_1 = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1); | |
assertNotNull(hbFile10_D_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbFile10_D_1, false); | |
assertEquals(resources10FromHbProject10_D, resourcesInModel.size()); | |
Collection<String> resourceNameInScope10D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbFile10_D_1, true); | |
assertEquals(resources10FromHbProject10_D, resourcesInModel.size()); | |
resourceNameInScope10D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
// File in referencing project | |
IFile hbFile10_E_1 = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1); | |
assertNotNull(hbFile10_E_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbFile10_E_1, false); | |
assertEquals(resources10FromHbProject10_E, resourcesInModel.size()); | |
Collection<String> resourceNameInScope10E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertFalse(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbFile10_E_1, true); | |
assertEquals(resources10FromHbProject10_E + resources10FromHbProject10_D, resourcesInModel.size()); | |
resourceNameInScope10E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
// ===================================================== | |
// --Uml model | |
// File in root project | |
IFile uml2File20_D_1 = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, | |
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1); | |
assertNotNull(uml2File20_D_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2File20_D_1, false); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2File20_D_1, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
// File in referencing project | |
IFile uml2File20_E_1 = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, | |
DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1); | |
assertNotNull(uml2File20_E_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2File20_E_1, false); | |
assertEquals(resourcesUml2FromHbProject20_E, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2File20_E_1, true); | |
assertEquals(resourcesUml2FromHbProject20_E + resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
// File is unexisting | |
assertNotNull(refWks.hbProject10_A); | |
IFile unexistingFile = refWks.hbProject10_A.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10B_1); | |
assertNotNull(unexistingFile); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(unexistingFile, true); | |
assertEquals(0, resourcesInModel.size()); | |
// Null File | |
IFile nullFile = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_B, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10B_1); | |
assertNull(nullFile); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(nullFile, true); | |
assertEquals(0, resourcesInModel.size()); | |
// Non model file | |
IFile projectFile = refWks.hbProject10_A.getFile(".project"); | |
assertNotNull(projectFile); | |
assertTrue(projectFile.isAccessible()); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(projectFile, true); | |
assertEquals(0, resourcesInModel.size()); | |
} | |
public void testGetResourceInModel_Resource() { | |
Collection<Resource> resourcesInScope = new ArrayList<Resource>(); | |
Collection<Resource> resourcesInModel = new ArrayList<Resource>(); | |
// --Hummingbird20 Model | |
// Resource in root project | |
Resource hbResource20_D_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1, true), false); | |
assertNotNull(hbResource20_D_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbResource20_D_1, false); | |
assertEquals(resource20FromHbProject20_D, resourcesInModel.size()); | |
Collection<String> resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbResource20_D_1, true); | |
assertEquals(resource20FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
// File in referencing project | |
Resource hbResource20_E_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1, true), false); | |
assertNotNull(hbResource20_E_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbResource20_E_1, false); | |
assertEquals(resource20FromHbProject20_E, resourcesInModel.size()); | |
Collection<String> resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbResource20_E_1, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
// ====================================== | |
// --Hummingbird10 Model | |
// resource in root project | |
Resource hbResource10_D_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1, true), false); | |
assertNotNull(hbResource10_D_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbResource10_D_1, false); | |
assertEquals(resources10FromHbProject10_D, resourcesInModel.size()); | |
Collection<String> resourceNameInScope10D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbResource10_D_1, true); | |
assertEquals(resources10FromHbProject10_D, resourcesInModel.size()); | |
resourceNameInScope10D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
// File in referencing project | |
Resource hbResource10_E_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1, true), false); | |
assertNotNull(hbResource10_E_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbResource10_E_1, false); | |
assertEquals(resources10FromHbProject10_E, resourcesInModel.size()); | |
Collection<String> resourceNameInScope10E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertFalse(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbResource10_E_1, true); | |
assertEquals(resources10FromHbProject10_E + resources10FromHbProject10_D, resourcesInModel.size()); | |
resourceNameInScope10E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
// ===================================================== | |
// --Uml model | |
// File in root project | |
Resource uml2Resource20_D_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1, true), false); | |
assertNotNull(uml2Resource20_D_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2Resource20_D_1, false); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2Resource20_D_1, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
// File in referencing project | |
Resource uml2Resource20_E_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1, true), false); | |
assertNotNull(uml2Resource20_E_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2Resource20_E_1, false); | |
assertEquals(resourcesUml2FromHbProject20_E, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2Resource20_E_1, true); | |
assertEquals(resourcesUml2FromHbProject20_E + resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
// ================================================== | |
// Create Hummingbird10 Resource in EditingDomain20 | |
int resourcesInEditingDomain20Count = refWks.editingDomain20.getResourceSet().getResources().size(); | |
Application hbApplication10 = Hummingbird10Factory.eINSTANCE.createApplication(); | |
IPath newResourcePath = refWks.hbProject20_E.getFullPath().append("1.hummingbird"); | |
EcorePlatformUtil.addNewModelResource(refWks.editingDomain20, newResourcePath, Hummingbird10Package.eCONTENT_TYPE, hbApplication10, false, | |
null); | |
resourcesInEditingDomain20Count++; | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourcesInEditingDomain20Count); | |
Resource newHb10Resource = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(newResourcePath.toString(), true), false); | |
assertNotNull(newHb10Resource); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbResource20_E_1, false); | |
// Hummingbird 10 Resources must be rejected. Because of | |
// org.eclipse.sphinx.examples.hummingbird.ide.scoping.HummingbirdProjectResourceScope.isResourceVersionCorrespondingToMetaModelVersionOfEnclosingProject(IFile, | |
// IMetaModelDescriptor) | |
assertEquals(resource20FromHbProject20_E, resourcesInModel.size()); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(newHb10Resource, false); | |
// In case the resource does not belong to any model, all resources in underlying resource set must be returned, | |
// i.e., all Hummingbird 2.0 resources in the workspace plus additional Hummingbird 1.0 resource | |
assertEquals(resourcesInEditingDomain20Count, resourcesInModel.size()); | |
// -------------------------------------------------- | |
// Create UML2 resource in EditingDomain20 | |
Model model = UMLFactory.eINSTANCE.createModel(); | |
IPath newResourcePath2 = refWks.hbProject20_E.getFullPath().append("2.uml"); | |
EcorePlatformUtil.addNewModelResource(refWks.editingDomain20, newResourcePath2, UMLPackage.eCONTENT_TYPE, model, false, null); | |
resourcesInEditingDomain20Count++; | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourcesInEditingDomain20Count); | |
Resource newUml2Resource = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(newResourcePath2.toString(), true), false); | |
assertNotNull(newUml2Resource); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbResource20_E_1, false); | |
// Only the Hummingbird 2.0 resources that match the Hummingbird metamodel version of the context project plus | |
// the additional UML2 resource must be returned | |
assertEquals(resource20FromHbProject20_E + 1, resourcesInScope.size()); | |
assertTrue(resourcesInScope.contains(newUml2Resource)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(newUml2Resource, false); | |
// In case the resource does not belong to any model, all resources in underlying resource set must be returned, | |
// i.e., all Hummingbird 2.0 resources in the workspace plus additional Hummingbird 1.0 resource and additional | |
// UML2 resource | |
assertEquals(resourcesInEditingDomain20Count, resourcesInScope.size()); | |
// ====================================== | |
// Null Resource | |
Resource nullResource = null; | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(nullResource, true); | |
assertEquals(0, resourcesInModel.size()); | |
} | |
public void testGetResourceInModel_ModelDescriptor() { | |
Collection<Resource> resourcesInScope = new ArrayList<Resource>(); | |
Collection<Resource> resourcesInModel = new ArrayList<Resource>(); | |
// --Hummingbird20 Model | |
// Resource in root project | |
Resource hbResource20_D_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1, true), false); | |
assertNotNull(hbResource20_D_1); | |
IModelDescriptor hbModelDescriptor20D = ModelDescriptorRegistry.INSTANCE.getModel(hbResource20_D_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbModelDescriptor20D, false); | |
assertEquals(resource20FromHbProject20_D, resourcesInModel.size()); | |
Collection<String> resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbModelDescriptor20D, true); | |
assertEquals(resource20FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
// File in referencing project | |
Resource hbResource20_E_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1, true), false); | |
assertNotNull(hbResource20_E_1); | |
IModelDescriptor hbModelDescriptor20E = ModelDescriptorRegistry.INSTANCE.getModel(hbResource20_E_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbModelDescriptor20E, false); | |
assertEquals(resource20FromHbProject20_E, resourcesInModel.size()); | |
Collection<String> resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbModelDescriptor20E, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
// ====================================== | |
// --Hummingbird10 Model | |
// resource in root project | |
Resource hbResource10_D_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1, true), false); | |
assertNotNull(hbResource10_D_1); | |
IModelDescriptor hbModelDescripor10D = ModelDescriptorRegistry.INSTANCE.getModel(hbResource10_D_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbModelDescripor10D, false); | |
assertEquals(resources10FromHbProject10_D, resourcesInModel.size()); | |
Collection<String> resourceNameInScope10D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbModelDescripor10D, true); | |
assertEquals(resources10FromHbProject10_D, resourcesInModel.size()); | |
resourceNameInScope10D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
// File in referencing project | |
Resource hbResource10_E_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1, true), false); | |
assertNotNull(hbResource10_E_1); | |
IModelDescriptor hbModelDescripor10E = ModelDescriptorRegistry.INSTANCE.getModel(hbResource10_E_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbModelDescripor10E, false); | |
assertEquals(resources10FromHbProject10_E, resourcesInModel.size()); | |
Collection<String> resourceNameInScope10E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertFalse(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbModelDescripor10E, true); | |
assertEquals(resources10FromHbProject10_E + resources10FromHbProject10_D, resourcesInModel.size()); | |
resourceNameInScope10E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
// ===================================================== | |
// --Uml model | |
// File in root project | |
Resource uml2Resource20_D_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1, true), false); | |
assertNotNull(uml2Resource20_D_1); | |
IModelDescriptor uml2ModelDescripor10D = ModelDescriptorRegistry.INSTANCE.getModel(uml2Resource20_D_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2ModelDescripor10D, false); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2ModelDescripor10D, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
// File in referencing project | |
Resource uml2Resource20_E_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1, true), false); | |
assertNotNull(uml2Resource20_E_1); | |
IModelDescriptor uml2ModelDescripor10E = ModelDescriptorRegistry.INSTANCE.getModel(uml2Resource20_E_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2ModelDescripor10E, false); | |
assertEquals(resourcesUml2FromHbProject20_E, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2ModelDescripor10E, true); | |
assertEquals(resourcesUml2FromHbProject20_E + resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
// ================================================== | |
// Create Hummingbird10 Resource in EditingDomain20 | |
int resourcesInEditingDomain20Count = refWks.editingDomain20.getResourceSet().getResources().size(); | |
Application hbApplication10 = Hummingbird10Factory.eINSTANCE.createApplication(); | |
IPath newResourcePath = refWks.hbProject20_E.getFullPath().append("1.hummingbird"); | |
EcorePlatformUtil.addNewModelResource(refWks.editingDomain20, newResourcePath, Hummingbird10Package.eCONTENT_TYPE, hbApplication10, false, | |
null); | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourcesInEditingDomain20Count + 1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbModelDescriptor20E, false); | |
// Hummingbird 10 Resources must be rejected. Because of | |
// org.eclipse.sphinx.examples.hummingbird.ide.scoping.HummingbirdProjectResourceScope.isResourceVersionCorrespondingToMetaModelVersionOfEnclosingProject(IFile, | |
// IMetaModelDescriptor) | |
assertEquals(resource20FromHbProject20_E, resourcesInModel.size()); | |
// -------------------------------------------------- | |
// Create UML2 resource in EditingDomain20 | |
Model model = UMLFactory.eINSTANCE.createModel(); | |
IPath newResourcePath2 = refWks.hbProject20_E.getFullPath().append("2.uml"); | |
EcorePlatformUtil.addNewModelResource(refWks.editingDomain20, newResourcePath2, UMLPackage.eCONTENT_TYPE, model, false, null); | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourcesInEditingDomain20Count + 2); | |
Resource newUml2Resource = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(newResourcePath2.toString(), true), false); | |
assertNotNull(newUml2Resource); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbModelDescriptor20E, false); | |
// Only resources in Model of the context resource will be returned | |
assertEquals(resource20FromHbProject20_E + 1, resourcesInScope.size()); | |
assertTrue(resourcesInScope.contains(newUml2Resource)); | |
} | |
public void testGetResourceInModel_URI() { | |
Collection<Resource> resourcesInModel = new ArrayList<Resource>(); | |
// --Hummingbird20 Model | |
// Resource in root project | |
URI hbUri20D_1 = URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1, true); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbUri20D_1, false); | |
assertEquals(resource20FromHbProject20_D, resourcesInModel.size()); | |
Collection<String> resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbUri20D_1, true); | |
assertEquals(resource20FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
// File in referencing project | |
URI hbUri20E_1 = URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1, true); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbUri20E_1, false); | |
assertEquals(resource20FromHbProject20_E, resourcesInModel.size()); | |
Collection<String> resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbUri20E_1, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
// ====================================== | |
// --Hummingbird10 Model | |
// resource in root project | |
URI hbUri10D_1 = URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1, true); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbUri10D_1, false); | |
assertEquals(resources10FromHbProject10_D, resourcesInModel.size()); | |
Collection<String> resourceNameInScope10D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbUri10D_1, true); | |
assertEquals(resources10FromHbProject10_D, resourcesInModel.size()); | |
resourceNameInScope10D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
// File in referencing project | |
URI hbUri10E_1 = URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1, true); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbUri10E_1, false); | |
assertEquals(resources10FromHbProject10_E, resourcesInModel.size()); | |
Collection<String> resourceNameInScope10E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertFalse(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(hbUri10E_1, true); | |
assertEquals(resources10FromHbProject10_E + resources10FromHbProject10_D, resourcesInModel.size()); | |
resourceNameInScope10E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
// URI of EObject | |
IFile hbFile20E_1 = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1); | |
assertNotNull(hbFile20E_1); | |
Resource resource = EcorePlatformUtil.getResource(hbFile20E_1); | |
assertNotNull(resource); | |
assertFalse(resource.getContents().isEmpty()); | |
EObject contextObject = resource.getContents().get(0); | |
assertNotNull(contextObject); | |
URI testUri = EcoreUtil.getURI(contextObject); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(testUri, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
// ===================================================== | |
// --Uml model | |
// File in root project | |
URI uml2Uri20D_1 = URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1, true); | |
assertNotNull(uml2Uri20D_1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2Uri20D_1, false); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2Uri20D_1, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
// File in referencing project | |
URI uml2Uri20E_1 = URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1, true); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2Uri20E_1, false); | |
assertEquals(resourcesUml2FromHbProject20_E, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(uml2Uri20E_1, true); | |
assertEquals(resourcesUml2FromHbProject20_E + resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
} | |
public void testGetResourceInModel_EObject() { | |
Collection<Resource> resourcesInModel = new ArrayList<Resource>(); | |
EObject contextObject = null; | |
// --Hummingbird20 Model | |
// Resource in root project | |
Resource hbResource20_D_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1, true), false); | |
assertNotNull(hbResource20_D_1); | |
assertFalse(hbResource20_D_1.getContents().isEmpty()); | |
contextObject = hbResource20_D_1.getContents().get(0); | |
assertNotNull(contextObject); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(contextObject, false); | |
assertEquals(resource20FromHbProject20_D, resourcesInModel.size()); | |
Collection<String> resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(contextObject, true); | |
assertEquals(resource20FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
// File in referencing project | |
Resource hbResource20_E_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1, true), false); | |
assertNotNull(hbResource20_E_1); | |
assertFalse(hbResource20_E_1.getContents().isEmpty()); | |
contextObject = hbResource20_E_1.getContents().get(0); | |
assertNotNull(contextObject); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(contextObject, false); | |
assertEquals(resource20FromHbProject20_E, resourcesInModel.size()); | |
Collection<String> resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(contextObject, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
// ====================================== | |
// --Hummingbird10 Model | |
// resource in root project | |
Resource hbResource10_D_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1, true), false); | |
assertNotNull(hbResource10_D_1); | |
assertFalse(hbResource10_D_1.getContents().isEmpty()); | |
contextObject = hbResource10_D_1.getContents().get(0); | |
assertNotNull(contextObject); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(contextObject, false); | |
assertEquals(resources10FromHbProject10_D, resourcesInModel.size()); | |
Collection<String> resourceNameInScope10D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(contextObject, true); | |
assertEquals(resources10FromHbProject10_D, resourcesInModel.size()); | |
resourceNameInScope10D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
// File in referencing project | |
Resource hbResource10_E_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1, true), false); | |
assertNotNull(hbResource10_E_1); | |
assertFalse(hbResource10_E_1.getContents().isEmpty()); | |
contextObject = hbResource10_E_1.getContents().get(0); | |
assertNotNull(contextObject); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(contextObject, false); | |
assertEquals(resources10FromHbProject10_E, resourcesInModel.size()); | |
Collection<String> resourceNameInScope10E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertFalse(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(contextObject, true); | |
assertEquals(resources10FromHbProject10_E + resources10FromHbProject10_D, resourcesInModel.size()); | |
resourceNameInScope10E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
// ===================================================== | |
// --Uml model | |
// File in root project | |
Resource uml2Resource20_D_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1, true), false); | |
assertNotNull(uml2Resource20_D_1); | |
assertFalse(uml2Resource20_D_1.getContents().isEmpty()); | |
contextObject = uml2Resource20_D_1.getContents().get(0); | |
assertNotNull(contextObject); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(contextObject, false); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(contextObject, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
// File in referencing project | |
Resource uml2Resource20_E_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1, true), false); | |
assertNotNull(uml2Resource20_E_1); | |
assertFalse(uml2Resource20_E_1.getContents().isEmpty()); | |
contextObject = uml2Resource20_E_1.getContents().get(0); | |
assertNotNull(contextObject); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(contextObject, false); | |
assertEquals(resourcesUml2FromHbProject20_E, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(contextObject, true); | |
assertEquals(resourcesUml2FromHbProject20_E + resourcesUml2FromHbProject20_D, resourcesInModel.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
} | |
public void testGetResourceInModel_EObject_WithoutUnderlyingResource() { | |
Collection<Resource> resourcesInModel = new ArrayList<Resource>(); | |
// Context Object without resource | |
org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application testApplication = InstanceModel20Factory.eINSTANCE.createApplication(); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(testApplication, true); | |
assertEquals(0, resourcesInModel.size()); | |
// Context Object without underlying resource | |
// Create new resource | |
String newResourceName = "ResourceInMemoryOnly.instancemodel"; | |
IPath newResourcePath = refWks.hbProject20_E.getFullPath().append(newResourceName); | |
int resourceInEditingDomain20Count = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE); | |
// Add new resource to EditingDomain | |
EcorePlatformUtil.addNewModelResource(refWks.editingDomain20, newResourcePath, Hummingbird20MMDescriptor.INSTANCE.getDefaultContentTypeId(), | |
testApplication, false, null); | |
resourceInEditingDomain20Count++; | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourceInEditingDomain20Count); | |
// Verify that underlying file is not exist | |
IFile file = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, newResourceName); | |
assertNull(file); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(testApplication, false); | |
assertEquals(resource20FromHbProject20_E + 1, resourcesInModel.size()); | |
Collection<String> resourceNameInScope = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope.contains(newResourceName)); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(testApplication, true); | |
assertEquals(resource20FromHbProject20_E + resource20FromHbProject20_D + 1, resourcesInModel.size()); | |
resourceNameInScope = getResourceNames(resourcesInModel); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertTrue(resourceNameInScope.contains(newResourceName)); | |
} | |
public void testGetResourceInModel_EObject_InResource_WithoutResourceSet() { | |
Collection<Resource> resourcesInModel = new ArrayList<Resource>(); | |
// Resource without resourceSet but belong to a Model | |
int resourceInEditingDomain20Count = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE); | |
Resource testResource = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_A + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_1, true), false); | |
assertNotNull(testResource); | |
ResourceSet testResourceSet = testResource.getResourceSet(); | |
testResourceSet.getResources().remove(testResource); | |
resourceInEditingDomain20Count--; | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourceInEditingDomain20Count); | |
assertNotNull(testResource); | |
assertNull(testResource.getResourceSet()); | |
EObject testEObject = testResource.getContents().get(0); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(testEObject, true); | |
assertNotNull(resourcesInModel); | |
assertEquals(1, resourcesInModel.size()); | |
Collection<String> resourceNameInScope = getResourceNames(resourcesInModel); | |
assertFalse(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_2)); | |
assertFalse(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_3)); | |
assertFalse(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_4)); | |
assertFalse(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_21_20A_4)); | |
} | |
public void testGetResourceInModel_EObject_InResourceSet_WithoutEditingDomain() { | |
Collection<Resource> resourcesInModel = new ArrayList<Resource>(); | |
// New resources in new ResourceSet | |
{ | |
ResourceSetImpl testResourceSet = new ScopingResourceSetImpl(); | |
org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application testApplication20 = InstanceModel20Factory.eINSTANCE | |
.createApplication(); | |
Application testApplication10 = Hummingbird10Factory.eINSTANCE.createApplication(); | |
Platform testPlatform = TypeModel20Factory.eINSTANCE.createPlatform(); | |
Model umlModel = UMLFactory.eINSTANCE.createModel(); | |
URI newResourceUri1 = URI.createURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_A + "/1.instancemodel", true); | |
URI newResourceUri2 = URI.createURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B + "/2.typemodel", true); | |
URI newResourceUri3 = URI.createURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_C + "/3.hummingbird", true); | |
URI newResourceUri4 = URI.createURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/4.uml", true); | |
Resource newRes1 = testResourceSet.createResource(newResourceUri1); | |
Resource newRes2 = testResourceSet.createResource(newResourceUri2); | |
Resource newRes3 = testResourceSet.createResource(newResourceUri3); | |
Resource newRes4 = testResourceSet.createResource(newResourceUri4); | |
newRes1.getContents().add(testApplication20); | |
newRes2.getContents().add(testPlatform); | |
newRes3.getContents().add(testApplication10); | |
newRes4.getContents().add(umlModel); | |
EObject testEObject = newRes1.getContents().get(0); | |
// Resources in the ResourceSet were returned regardless its MetaModelDescriptor | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(testEObject, true); | |
assertEquals(4, resourcesInModel.size()); | |
assertTrue(resourcesInModel.contains(newRes1)); | |
assertTrue(resourcesInModel.contains(newRes2)); | |
assertTrue(resourcesInModel.contains(newRes3)); | |
assertTrue(resourcesInModel.contains(newRes4)); | |
testResourceSet.getResources().remove(newRes1); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(testEObject, true); | |
assertEquals(1, resourcesInModel.size()); | |
assertTrue(resourcesInModel.contains(newRes1)); | |
} | |
} | |
public void testGetResourceInModel_NullObject() { | |
Collection<Resource> resourcesInModel = new ArrayList<Resource>(); | |
Object nullObject = null; | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(nullObject, true); | |
assertTrue(resourcesInModel.isEmpty()); | |
} | |
public void testGetResourcesInModel_AnyObject() { | |
Collection<Resource> resourcesInModel = new ArrayList<Resource>(); | |
IProject contextProject = refWks.hbProject10_A; | |
assertNotNull(contextProject); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(contextProject, true); | |
assertTrue(resourcesInModel.isEmpty()); | |
IWorkspaceRoot wsRoot = EcorePlugin.getWorkspaceRoot(); | |
assertNotNull(wsRoot); | |
resourcesInModel = EcorePlatformUtil.getResourcesInModel(wsRoot, true); | |
assertTrue(resourcesInModel.isEmpty()); | |
} | |
/** | |
* Test method for {@link EcorePlatformUtil#getResourcesInScope(Object, boolean)} | |
*/ | |
public void testGetResourceInScope_File() { | |
Collection<Resource> resourcesInScope = new ArrayList<Resource>(); | |
int resourcesInEditingDomain20 = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE); | |
IFile hbFile20_D_1 = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1); | |
assertNotNull(hbFile20_D_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbFile20_D_1, true); | |
assertEquals(resource20FromHbProject20_D, resourcesInScope.size()); | |
Collection<String> resourceNameInScope20D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
IFile hbFile20_E_1 = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1); | |
assertNotNull(hbFile20_E_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbFile20_E_1, false); | |
assertEquals(resource20FromHbProject20_E, resourcesInScope.size()); | |
Collection<String> resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbFile20_E_1, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
// ================================================== | |
// Create Hummingbird10 Resource in EditingDomain20 | |
Application hbApplication10 = Hummingbird10Factory.eINSTANCE.createApplication(); | |
IPath newResourcePath = refWks.hbProject20_E.getFullPath().append("1.hummingbird"); | |
EcorePlatformUtil.addNewModelResource(refWks.editingDomain20, newResourcePath, Hummingbird10Package.eCONTENT_TYPE, hbApplication10, false, | |
null); | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourcesInEditingDomain20 + 1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbFile20_E_1, false); | |
// Hummingbird 10 Resources must be rejected. Because of | |
// org.eclipse.sphinx.examples.hummingbird.ide.scoping.HummingbirdProjectResourceScope.isResourceVersionCorrespondingToMetaModelVersionOfEnclosingProject(IFile, | |
// IMetaModelDescriptor) | |
assertEquals(resource20FromHbProject20_E, resourcesInScope.size()); | |
IFile testHb10File = refWks.hbProject20_E.getFile("1.hummingbird"); | |
assertNotNull(testHb10File); | |
testHb10File.isAccessible(); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(testHb10File, false); | |
assertEquals(0, resourcesInScope.size()); | |
// -------------------------------------------------- | |
// Create UML2 resource in EditingDomain20 | |
Model model = UMLFactory.eINSTANCE.createModel(); | |
IPath newResourcePath2 = refWks.hbProject20_E.getFullPath().append("2.uml"); | |
EcorePlatformUtil.addNewModelResource(refWks.editingDomain20, newResourcePath2, UMLPackage.eCONTENT_TYPE, model, false, null); | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourcesInEditingDomain20 + 2); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbFile20_E_1, false); | |
assertEquals(resource20FromHbProject20_E + 1, resourcesInScope.size()); | |
// ====================================== | |
// File is unexisting | |
assertNotNull(refWks.hbProject10_A); | |
IFile unexistingFile = refWks.hbProject10_A.getFile(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10B_1); | |
assertNotNull(unexistingFile); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(unexistingFile, true); | |
assertEquals(0, resourcesInScope.size()); | |
// Null File | |
IFile nullFile = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_B, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10B_1); | |
assertNull(nullFile); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(nullFile, true); | |
assertEquals(0, resourcesInScope.size()); | |
// Non model file | |
IFile projectFile = refWks.hbProject10_A.getFile(".project"); | |
assertNotNull(projectFile); | |
assertTrue(projectFile.isAccessible()); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(projectFile, true); | |
assertEquals(0, resourcesInScope.size()); | |
} | |
public void testGetResourceInScope_Resource() { | |
Collection<Resource> resourcesInScope = new ArrayList<Resource>(); | |
// --Hummingbird20 Model | |
// Resource in root project | |
Resource hbResource20_D_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1, true), false); | |
assertNotNull(hbResource20_D_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbResource20_D_1, false); | |
assertEquals(resource20FromHbProject20_D, resourcesInScope.size()); | |
Collection<String> resourceNameInScope20D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbResource20_D_1, true); | |
assertEquals(resource20FromHbProject20_D, resourcesInScope.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
// --------------------------------------------- | |
// File in referencing project | |
Resource hbResource20_E_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1, true), false); | |
assertNotNull(hbResource20_E_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbResource20_E_1, false); | |
assertEquals(resource20FromHbProject20_E, resourcesInScope.size()); | |
Collection<String> resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbResource20_E_1, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
// ====================================== | |
// --Hummingbird10 Model | |
// resource in root project | |
Resource hbResource10_D_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1, true), false); | |
assertNotNull(hbResource10_D_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbResource10_D_1, false); | |
assertEquals(resources10FromHbProject10_D, resourcesInScope.size()); | |
Collection<String> resourceNameInScope10D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbResource10_D_1, true); | |
assertEquals(resources10FromHbProject10_D, resourcesInScope.size()); | |
resourceNameInScope10D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
// ----------------------------------------------- | |
// File in referencing project | |
Resource hbResource10_E_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1, true), false); | |
assertNotNull(hbResource10_E_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbResource10_E_1, false); | |
assertEquals(resources10FromHbProject10_E, resourcesInScope.size()); | |
Collection<String> resourceNameInScope10E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertFalse(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbResource10_E_1, true); | |
assertEquals(resources10FromHbProject10_E + resources10FromHbProject10_D, resourcesInScope.size()); | |
resourceNameInScope10E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
// ===================================================== | |
// --Uml model | |
// File in root project | |
Resource uml2Resource20_D_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1, true), false); | |
assertNotNull(uml2Resource20_D_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(uml2Resource20_D_1, false); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInScope.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(uml2Resource20_D_1, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInScope.size()); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
// ---------------------------------------- | |
// File in referencing project | |
Resource uml2Resource20_E_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1, true), false); | |
assertNotNull(uml2Resource20_E_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(uml2Resource20_E_1, false); | |
assertEquals(resourcesUml2FromHbProject20_E, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(uml2Resource20_E_1, true); | |
assertEquals(resourcesUml2FromHbProject20_E + resourcesUml2FromHbProject20_D, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
// ================================================== | |
// Create Hummingbird10 Resource in EditingDomain20 | |
int resourcesInEditingDomain20Count = refWks.editingDomain20.getResourceSet().getResources().size(); | |
Application hbApplication10 = Hummingbird10Factory.eINSTANCE.createApplication(); | |
IPath newResourcePath = refWks.hbProject20_E.getFullPath().append("1.hummingbird"); | |
EcorePlatformUtil.addNewModelResource(refWks.editingDomain20, newResourcePath, Hummingbird10Package.eCONTENT_TYPE, hbApplication10, false, | |
null); | |
resourcesInEditingDomain20Count++; | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourcesInEditingDomain20Count); | |
Resource newHb10Resource = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(newResourcePath.toString(), true), false); | |
assertNotNull(newHb10Resource); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbResource20_E_1, false); | |
// Hummingbird 10 Resources must be rejected. Because of | |
// org.eclipse.sphinx.examples.hummingbird.ide.scoping.HummingbirdProjectResourceScope.isResourceVersionCorrespondingToMetaModelVersionOfEnclosingProject(IFile, | |
// IMetaModelDescriptor) | |
assertEquals(resource20FromHbProject20_E, resourcesInScope.size()); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(newHb10Resource, false); | |
// In case the resource doesnot belong to any modeldescriptor, resources in resourceSet will be return | |
assertEquals(resourcesInEditingDomain20Count, resourcesInScope.size()); | |
// -------------------------------------------------- | |
// Create UML2 resource in EditingDomain20 | |
Model model = UMLFactory.eINSTANCE.createModel(); | |
IPath newResourcePath2 = refWks.hbProject20_E.getFullPath().append("2.uml"); | |
EcorePlatformUtil.addNewModelResource(refWks.editingDomain20, newResourcePath2, UMLPackage.eCONTENT_TYPE, model, false, null); | |
resourcesInEditingDomain20Count++; | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourcesInEditingDomain20Count); | |
Resource newUml2Resource = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(newResourcePath2.toString(), true), false); | |
assertNotNull(newUml2Resource); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbResource20_E_1, false); | |
// Only the Hummingbird 2.0 resources that match the Hummingbird metamodel version of the context project plus | |
// the additional UML2 resource must be returned | |
assertEquals(resource20FromHbProject20_E + 1, resourcesInScope.size()); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(newUml2Resource, false); | |
// In case the resource does not belong to any model, all resources in underlying resource set must be returned, | |
// i.e., all Hummingbird 2.0 resources in the workspace plus additional Hummingbird 1.0 resource and additional | |
// UML2 resource | |
assertEquals(resourcesInEditingDomain20Count, resourcesInScope.size()); | |
// =================================================== | |
// Null Resource | |
Resource nullResource = null; | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(nullResource, true); | |
assertEquals(0, resourcesInScope.size()); | |
} | |
public void testGetResourceInScope_ModelDescriptor() { | |
Collection<Resource> resourcesInScope = new ArrayList<Resource>(); | |
// --Hummingbird20 Model | |
// Resource in root project | |
Resource hbResource20_D_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1, true), false); | |
assertNotNull(hbResource20_D_1); | |
IModelDescriptor hbModelDescriptor20D = ModelDescriptorRegistry.INSTANCE.getModel(hbResource20_D_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbModelDescriptor20D, false); | |
assertEquals(resource20FromHbProject20_D, resourcesInScope.size()); | |
Collection<String> resourceNameInScope20D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbModelDescriptor20D, true); | |
assertEquals(resource20FromHbProject20_D, resourcesInScope.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
// File in referencing project | |
Resource hbResource20_E_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1, true), false); | |
assertNotNull(hbResource20_E_1); | |
IModelDescriptor hbModelDescriptor20E = ModelDescriptorRegistry.INSTANCE.getModel(hbResource20_E_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbModelDescriptor20E, false); | |
assertEquals(resource20FromHbProject20_E, resourcesInScope.size()); | |
Collection<String> resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbModelDescriptor20E, true); | |
assertEquals(resource20FromHbProject20_E + resource20FromHbProject20_D, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
// ====================================== | |
// --Hummingbird10 Model | |
// resource in root project | |
Resource hbResource10_D_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1, true), false); | |
assertNotNull(hbResource10_D_1); | |
IModelDescriptor hbModelDescripor10D = ModelDescriptorRegistry.INSTANCE.getModel(hbResource10_D_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbModelDescripor10D, false); | |
assertEquals(resources10FromHbProject10_D, resourcesInScope.size()); | |
Collection<String> resourceNameInScope10D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbModelDescripor10D, true); | |
assertEquals(resources10FromHbProject10_D, resourcesInScope.size()); | |
resourceNameInScope10D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
// File in referencing project | |
Resource hbResource10_E_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1, true), false); | |
assertNotNull(hbResource10_E_1); | |
IModelDescriptor hbModelDescripor10E = ModelDescriptorRegistry.INSTANCE.getModel(hbResource10_E_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbModelDescripor10E, false); | |
assertEquals(resources10FromHbProject10_E, resourcesInScope.size()); | |
Collection<String> resourceNameInScope10E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertFalse(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbModelDescripor10E, true); | |
assertEquals(resources10FromHbProject10_E + resources10FromHbProject10_D, resourcesInScope.size()); | |
resourceNameInScope10E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
// ===================================================== | |
// --Uml model | |
// File in root project | |
Resource uml2Resource20_D_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1, true), false); | |
assertNotNull(uml2Resource20_D_1); | |
IModelDescriptor uml2ModelDescripor10D = ModelDescriptorRegistry.INSTANCE.getModel(uml2Resource20_D_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(uml2ModelDescripor10D, false); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInScope.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(uml2ModelDescripor10D, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInScope.size()); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
// File in referencing project | |
Resource uml2Resource20_E_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1, true), false); | |
assertNotNull(uml2Resource20_E_1); | |
IModelDescriptor uml2ModelDescripor20E = ModelDescriptorRegistry.INSTANCE.getModel(uml2Resource20_E_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(uml2ModelDescripor20E, false); | |
assertEquals(resourcesUml2FromHbProject20_E, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(uml2ModelDescripor20E, true); | |
assertEquals(resourcesUml2FromHbProject20_E + resourcesUml2FromHbProject20_D, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
// ================================================== | |
// Create Hummingbird10 Resource in EditingDomain20 | |
int resourcesInEditingDomain20Count = refWks.editingDomain20.getResourceSet().getResources().size(); | |
Application hbApplication10 = Hummingbird10Factory.eINSTANCE.createApplication(); | |
IPath newResourcePath = refWks.hbProject20_E.getFullPath().append("1.hummingbird"); | |
EcorePlatformUtil.addNewModelResource(refWks.editingDomain20, newResourcePath, Hummingbird10Package.eCONTENT_TYPE, hbApplication10, false, | |
null); | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourcesInEditingDomain20Count + 1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbModelDescriptor20E, true); | |
assertEquals(resource20FromHbProject20_E + resource20FromHbProject20_D, resourcesInScope.size()); | |
// -------------------------------------------------- | |
// Create UML2 resource in EditingDomain20 | |
Model model = UMLFactory.eINSTANCE.createModel(); | |
IPath newResourcePath2 = refWks.hbProject20_E.getFullPath().append("2.uml"); | |
EcorePlatformUtil.addNewModelResource(refWks.editingDomain20, newResourcePath2, UMLPackage.eCONTENT_TYPE, model, false, null); | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourcesInEditingDomain20Count + 2); | |
Resource newUml2Resource = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(newResourcePath2.toString(), true), false); | |
assertNotNull(newUml2Resource); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbModelDescriptor20E, true); | |
assertEquals(resource20FromHbProject20_E + 1 + resource20FromHbProject20_D, resourcesInScope.size()); | |
resourcesInScope.contains(newUml2Resource); | |
} | |
public void testGetResourceInScope_URI() { | |
Collection<Resource> resourcesInScope = new ArrayList<Resource>(); | |
// --Hummingbird20 Model | |
// Resource in root project | |
URI hbUri20D_1 = URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1, true); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbUri20D_1, false); | |
assertEquals(resource20FromHbProject20_D, resourcesInScope.size()); | |
Collection<String> resourceNameInScope20D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbUri20D_1, true); | |
assertEquals(resource20FromHbProject20_D, resourcesInScope.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
// File in referencing project | |
URI hbUri20E_1 = URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1, true); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbUri20E_1, false); | |
assertEquals(resource20FromHbProject20_E, resourcesInScope.size()); | |
Collection<String> resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbUri20E_1, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
// ====================================== | |
// --Hummingbird10 Model | |
// resource in root project | |
URI hbUri10D_1 = URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1, true); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbUri10D_1, false); | |
assertEquals(resources10FromHbProject10_D, resourcesInScope.size()); | |
Collection<String> resourceNameInScope10D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbUri10D_1, true); | |
assertEquals(resources10FromHbProject10_D, resourcesInScope.size()); | |
resourceNameInScope10D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
// File in referencing project | |
URI hbUri10E_1 = URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1, true); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbUri10E_1, false); | |
assertEquals(resources10FromHbProject10_E, resourcesInScope.size()); | |
Collection<String> resourceNameInScope10E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertFalse(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(hbUri10E_1, true); | |
assertEquals(resources10FromHbProject10_E + resources10FromHbProject10_D, resourcesInScope.size()); | |
resourceNameInScope10E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
// URI of EObject | |
IFile hbFile20E_1 = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, | |
DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1); | |
assertNotNull(hbFile20E_1); | |
Resource resource = EcorePlatformUtil.getResource(hbFile20E_1); | |
assertNotNull(resource); | |
assertFalse(resource.getContents().isEmpty()); | |
EObject contextObject = resource.getContents().get(0); | |
assertNotNull(contextObject); | |
URI testUri = EcoreUtil.getURI(contextObject); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(testUri, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
// ===================================================== | |
// --Uml model | |
// File in root project | |
URI uml2Uri20D_1 = URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1, true); | |
assertNotNull(uml2Uri20D_1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(uml2Uri20D_1, false); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInScope.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(uml2Uri20D_1, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInScope.size()); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
// File in referencing project | |
URI uml2Uri20E_1 = URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1, true); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(uml2Uri20E_1, false); | |
assertEquals(resourcesUml2FromHbProject20_E, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(uml2Uri20E_1, true); | |
assertEquals(resourcesUml2FromHbProject20_E + resourcesUml2FromHbProject20_D, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
} | |
public void testGetResourceInScope_EObject() { | |
Collection<Resource> resourcesInScope = new ArrayList<Resource>(); | |
EObject contextObject = null; | |
// --Hummingbird20 Model | |
// Resource in root project | |
Resource hbResource20_D_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1, true), false); | |
assertNotNull(hbResource20_D_1); | |
assertFalse(hbResource20_D_1.getContents().isEmpty()); | |
contextObject = hbResource20_D_1.getContents().get(0); | |
assertNotNull(contextObject); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(contextObject, false); | |
assertEquals(resource20FromHbProject20_D, resourcesInScope.size()); | |
Collection<String> resourceNameInScope20D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(contextObject, true); | |
assertEquals(resource20FromHbProject20_D, resourcesInScope.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
// File in referencing project | |
Resource hbResource20_E_1 = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1, true), false); | |
assertNotNull(hbResource20_E_1); | |
assertFalse(hbResource20_E_1.getContents().isEmpty()); | |
contextObject = hbResource20_E_1.getContents().get(0); | |
assertNotNull(contextObject); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(contextObject, false); | |
assertEquals(resource20FromHbProject20_E, resourcesInScope.size()); | |
Collection<String> resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(contextObject, true); | |
assertEquals(resource20FromHbProject20_D + resource20FromHbProject20_E, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
// ====================================== | |
// --Hummingbird10 Model | |
// resource in root project | |
Resource hbResource10_D_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_D + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1, true), false); | |
assertNotNull(hbResource10_D_1); | |
assertFalse(hbResource10_D_1.getContents().isEmpty()); | |
contextObject = hbResource10_D_1.getContents().get(0); | |
assertNotNull(contextObject); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(contextObject, false); | |
assertEquals(resources10FromHbProject10_D, resourcesInScope.size()); | |
Collection<String> resourceNameInScope10D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(contextObject, true); | |
assertEquals(resources10FromHbProject10_D, resourcesInScope.size()); | |
resourceNameInScope10D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
assertFalse(resourceNameInScope10D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
// File in referencing project | |
Resource hbResource10_E_1 = refWks.editingDomain10.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_10_E + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1, true), false); | |
assertNotNull(hbResource10_E_1); | |
assertFalse(hbResource10_E_1.getContents().isEmpty()); | |
contextObject = hbResource10_E_1.getContents().get(0); | |
assertNotNull(contextObject); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(contextObject, false); | |
assertEquals(resources10FromHbProject10_E, resourcesInScope.size()); | |
Collection<String> resourceNameInScope10E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertFalse(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(contextObject, true); | |
assertEquals(resources10FromHbProject10_E + resources10FromHbProject10_D, resourcesInScope.size()); | |
resourceNameInScope10E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10E_3)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_1)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_2)); | |
assertTrue(resourceNameInScope10E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_10_10D_3)); | |
// ===================================================== | |
// --Uml model | |
// File in root project | |
Resource uml2Resource20_D_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1, true), false); | |
assertNotNull(uml2Resource20_D_1); | |
assertFalse(uml2Resource20_D_1.getContents().isEmpty()); | |
contextObject = uml2Resource20_D_1.getContents().get(0); | |
assertNotNull(contextObject); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(contextObject, false); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInScope.size()); | |
resourceNameInScope20D = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(contextObject, true); | |
assertEquals(resourcesUml2FromHbProject20_D, resourcesInScope.size()); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertFalse(resourceNameInScope20D.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
// File in referencing project | |
Resource uml2Resource20_E_1 = refWks.editingDomainUml2.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E + "/" | |
+ DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1, true), false); | |
assertNotNull(uml2Resource20_E_1); | |
assertFalse(uml2Resource20_E_1.getContents().isEmpty()); | |
contextObject = uml2Resource20_E_1.getContents().get(0); | |
assertNotNull(contextObject); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(contextObject, false); | |
assertEquals(resourcesUml2FromHbProject20_E, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(contextObject, true); | |
assertEquals(resourcesUml2FromHbProject20_E + resourcesUml2FromHbProject20_D, resourcesInScope.size()); | |
resourceNameInScope20E = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20E_3)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_1)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_2)); | |
assertTrue(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.UML2_FILE_NAME_20D_3)); | |
assertFalse(resourceNameInScope20E.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
} | |
public void testGetResourceInScope_EObject_WithoutUnderlyingResource() { | |
Collection<Resource> resourcesInScope = new ArrayList<Resource>(); | |
// Context Object without resource | |
org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application testApplication = InstanceModel20Factory.eINSTANCE.createApplication(); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(testApplication, true); | |
assertEquals(0, resourcesInScope.size()); | |
// Context Object without underlying resource | |
// Create new resource | |
String newResourceName = "ResourceInMemoryOnly.instancemodel"; | |
IPath newResourcePath = refWks.hbProject20_E.getFullPath().append(newResourceName); | |
int resourceInEditingDomain20Count = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE); | |
// Add new resource to EditingDomain | |
EcorePlatformUtil.addNewModelResource(refWks.editingDomain20, newResourcePath, Hummingbird20MMDescriptor.INSTANCE.getDefaultContentTypeId(), | |
testApplication, false, null); | |
resourceInEditingDomain20Count++; | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourceInEditingDomain20Count); | |
// Verify that underlying file is not exist | |
IFile file = refWks.getReferenceFile(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_E, newResourceName); | |
assertNull(file); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(testApplication, false); | |
assertEquals(resource20FromHbProject20_E + 1, resourcesInScope.size()); | |
Collection<String> resourceNameInScope = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope.contains(newResourceName)); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(testApplication, true); | |
assertEquals(resource20FromHbProject20_E + resource20FromHbProject20_D + 1, resourcesInScope.size()); | |
resourceNameInScope = getResourceNames(resourcesInScope); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_1)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_2)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20E_3)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_1)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_2)); | |
assertTrue(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20D_3)); | |
assertTrue(resourceNameInScope.contains(newResourceName)); | |
} | |
public void testGetResourceInScope_EObject_InResource_WithoutResourceSet() { | |
Collection<Resource> resourcesInScope = new ArrayList<Resource>(); | |
// Resource without resourceSet but belong to a Model | |
int resourceInEditingDomain20Count = refWks.getInitialResourcesInReferenceEditingDomainCount(Hummingbird20MMDescriptor.INSTANCE); | |
Resource testResource = refWks.editingDomain20.getResourceSet().getResource( | |
URI.createPlatformResourceURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_A + "/" | |
+ DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_1, true), false); | |
assertNotNull(testResource); | |
ResourceSet testResourceSet = testResource.getResourceSet(); | |
testResourceSet.getResources().remove(testResource); | |
resourceInEditingDomain20Count--; | |
assertEditingDomainResourcesSizeEquals(refWks.editingDomain20, resourceInEditingDomain20Count); | |
assertNotNull(testResource); | |
assertNull(testResource.getResourceSet()); | |
EObject testEObject = testResource.getContents().get(0); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(testEObject, true); | |
assertNotNull(resourcesInScope); | |
assertEquals(1, resourcesInScope.size()); | |
Collection<String> resourceNameInScope = getResourceNames(resourcesInScope); | |
assertFalse(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_2)); | |
assertFalse(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_3)); | |
assertFalse(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_20_20A_4)); | |
assertFalse(resourceNameInScope.contains(DefaultTestReferenceWorkspace.HB_FILE_NAME_21_20A_4)); | |
} | |
public void testGetResourceInScope_EObject_InResourceSet_WithoutEditingDomain() { | |
Collection<Resource> resourcesInScope = new ArrayList<Resource>(); | |
// New resources in new ResourceSet | |
{ | |
ResourceSetImpl testResourceSet = new ScopingResourceSetImpl(); | |
org.eclipse.sphinx.examples.hummingbird20.instancemodel.Application testApplication20 = InstanceModel20Factory.eINSTANCE | |
.createApplication(); | |
Application testApplication10 = Hummingbird10Factory.eINSTANCE.createApplication(); | |
Platform testPlatform = TypeModel20Factory.eINSTANCE.createPlatform(); | |
Model umlModel = UMLFactory.eINSTANCE.createModel(); | |
URI newResourceUri1 = URI.createURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_A + "/1.instancemodel", true); | |
URI newResourceUri2 = URI.createURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_B + "/2.typemodel", true); | |
URI newResourceUri3 = URI.createURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_C + "/3.hummingbird", true); | |
URI newResourceUri4 = URI.createURI(DefaultTestReferenceWorkspace.HB_PROJECT_NAME_20_D + "/4.uml", true); | |
Resource newRes1 = testResourceSet.createResource(newResourceUri1); | |
Resource newRes2 = testResourceSet.createResource(newResourceUri2); | |
Resource newRes3 = testResourceSet.createResource(newResourceUri3); | |
Resource newRes4 = testResourceSet.createResource(newResourceUri4); | |
newRes1.getContents().add(testApplication20); | |
newRes2.getContents().add(testPlatform); | |
newRes3.getContents().add(testApplication10); | |
newRes4.getContents().add(umlModel); | |
EObject testEObject = newRes1.getContents().get(0); | |
// Resources in the ResourceSet were returned regardless its MetaModelDescriptor | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(testEObject, true); | |
assertEquals(4, resourcesInScope.size()); | |
assertTrue(resourcesInScope.contains(newRes1)); | |
assertTrue(resourcesInScope.contains(newRes2)); | |
assertTrue(resourcesInScope.contains(newRes3)); | |
assertTrue(resourcesInScope.contains(newRes4)); | |
testResourceSet.getResources().remove(newRes1); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(testEObject, true); | |
assertEquals(1, resourcesInScope.size()); | |
assertTrue(resourcesInScope.contains(newRes1)); | |
} | |
} | |
public void testGetResourceInScope_NullObject() { | |
Collection<Resource> resourcesInScope = new ArrayList<Resource>(); | |
Object nullObject = null; | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(nullObject, true); | |
assertTrue(resourcesInScope.isEmpty()); | |
} | |
public void testGetResourcesInScope_AnyObject() { | |
Collection<Resource> resourcesInScope = new ArrayList<Resource>(); | |
IProject contextProject = refWks.hbProject10_A; | |
assertNotNull(contextProject); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(contextProject, true); | |
assertTrue(resourcesInScope.isEmpty()); | |
IWorkspaceRoot wsRoot = EcorePlugin.getWorkspaceRoot(); | |
assertNotNull(wsRoot); | |
resourcesInScope = EcorePlatformUtil.getResourcesInScope(wsRoot, true); | |
assertTrue(resourcesInScope.isEmpty()); | |
} | |
protected Collection<String> getResourceNames(Collection<Resource> resources) { | |
Collection<String> resourceNames = new ArrayList<String>(); | |
for (Resource res : resources) { | |
resourceNames.add(res.getURI().lastSegment()); | |
} | |
return resourceNames; | |
} | |
} |